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),
) {}