diff --git a/apps/web/app/(org)/dashboard/_components/Navbar/Items.tsx b/apps/web/app/(org)/dashboard/_components/Navbar/Items.tsx index a7ad288067..fadb2c3282 100644 --- a/apps/web/app/(org)/dashboard/_components/Navbar/Items.tsx +++ b/apps/web/app/(org)/dashboard/_components/Navbar/Items.tsx @@ -411,7 +411,7 @@ const NavItem = ({ onMouseLeave={() => { iconRef.current?.stopAnimation(); }} - prefetch={false} + prefetch={true} passHref className={classNames( "relative border border-transparent transition z-3", diff --git a/apps/web/app/(org)/dashboard/_components/Navbar/SpacesList.tsx b/apps/web/app/(org)/dashboard/_components/Navbar/SpacesList.tsx index 7fddb1a685..2da198cbec 100644 --- a/apps/web/app/(org)/dashboard/_components/Navbar/SpacesList.tsx +++ b/apps/web/app/(org)/dashboard/_components/Navbar/SpacesList.tsx @@ -173,7 +173,7 @@ const SpacesList = ({ toggleMobileNav }: { toggleMobileNav?: () => void }) => { toggleMobileNav?.()} - prefetch={false} + prefetch={true} onMouseEnter={() => layersIconRef.current?.startAnimation()} onMouseLeave={() => layersIconRef.current?.stopAnimation()} href="/dashboard/spaces/browse" diff --git a/apps/web/app/(org)/dashboard/_components/Navbar/Top.tsx b/apps/web/app/(org)/dashboard/_components/Navbar/Top.tsx index d166e0f857..3884e96c21 100644 --- a/apps/web/app/(org)/dashboard/_components/Navbar/Top.tsx +++ b/apps/web/app/(org)/dashboard/_components/Navbar/Top.tsx @@ -326,6 +326,7 @@ const MenuItem = memo(({ icon, name, href, onClick, iconClassName }: Props) => {
diff --git a/apps/web/app/(org)/dashboard/settings/organization/components/DeleteOrgDialog.tsx b/apps/web/app/(org)/dashboard/settings/organization/components/DeleteOrgDialog.tsx index 2c287bf361..ea25fa1af3 100644 --- a/apps/web/app/(org)/dashboard/settings/organization/components/DeleteOrgDialog.tsx +++ b/apps/web/app/(org)/dashboard/settings/organization/components/DeleteOrgDialog.tsx @@ -7,7 +7,6 @@ import { DialogTitle, Input, } from "@cap/ui"; -import type { Organisation } from "@cap/web-domain"; import { faTrashCan } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { Effect } from "effect"; @@ -28,10 +27,10 @@ const DeleteOrgDialog = ({ open, onOpenChange }: DeleteOrgDialogProps) => { const rpc = useRpcClient(); const inputId = useId(); const router = useRouter(); - const deleteOrg = useEffectMutation({ + const softDeleteOrg = useEffectMutation({ mutationFn: Effect.fn(function* () { if (!activeOrganization) return; - yield* rpc.OrganisationDelete({ + yield* rpc.OrganisationSoftDelete({ id: activeOrganization.organization.id, }); }), @@ -73,15 +72,15 @@ const DeleteOrgDialog = ({ open, onOpenChange }: DeleteOrgDialogProps) => { diff --git a/packages/web-backend/src/Organisations/OrganisationsRpcs.ts b/packages/web-backend/src/Organisations/OrganisationsRpcs.ts index 611a60a883..899139e26c 100644 --- a/packages/web-backend/src/Organisations/OrganisationsRpcs.ts +++ b/packages/web-backend/src/Organisations/OrganisationsRpcs.ts @@ -14,8 +14,8 @@ export const OrganisationsRpcsLive = Organisation.OrganisationRpcs.toLayer( S3Error: () => new InternalError({ type: "s3" }), }), ), - OrganisationDelete: (data) => - orgs.deleteOrg(data.id).pipe( + OrganisationSoftDelete: (data) => + orgs.softDelete(data.id).pipe( Effect.catchTags({ DatabaseError: () => new InternalError({ type: "database" }), }), diff --git a/packages/web-backend/src/Organisations/index.ts b/packages/web-backend/src/Organisations/index.ts index fb7490e484..0e6c22bc20 100644 --- a/packages/web-backend/src/Organisations/index.ts +++ b/packages/web-backend/src/Organisations/index.ts @@ -48,7 +48,7 @@ export class Organisations extends Effect.Service()( } }); - const deleteOrg = Effect.fn("Organisations.deleteOrg")(function* ( + const softDelete = Effect.fn("Organisations.softDelete")(function* ( id: Organisation.OrganisationId, ) { const user = yield* CurrentUser; @@ -89,7 +89,7 @@ export class Organisations extends Effect.Service()( }), ); }); - return { update, deleteOrg }; + return { update, softDelete }; }), dependencies: [ ImageUploads.Default, diff --git a/packages/web-domain/src/Organisation.ts b/packages/web-domain/src/Organisation.ts index bc6dd0a185..8dcbebba18 100644 --- a/packages/web-domain/src/Organisation.ts +++ b/packages/web-domain/src/Organisation.ts @@ -23,11 +23,6 @@ export class Organisation extends Schema.Class("Organisation")({ name: Schema.String, }) {} -export const OrganisationDelete = Schema.Struct({ - id: OrganisationId, -}); -export type OrganisationDelete = Schema.Schema.Type; - export const OrganisationUpdate = Schema.Struct({ id: OrganisationId, image: Schema.optional(ImageUpdatePayload), @@ -39,8 +34,10 @@ export class OrganisationRpcs extends RpcGroup.make( payload: OrganisationUpdate, error: Schema.Union(InternalError, PolicyDeniedError, NotFoundError), }).middleware(RpcAuthMiddleware), - Rpc.make("OrganisationDelete", { - payload: OrganisationDelete, + Rpc.make("OrganisationSoftDelete", { + payload: Schema.Struct({ + id: OrganisationId, + }), error: Schema.Union(InternalError, PolicyDeniedError, NotFoundError), }).middleware(RpcAuthMiddleware), ) {}