diff --git a/web/src/lib/components/profile/organization/OrganizationChrome.svelte b/web/src/lib/components/profile/organization/OrganizationChrome.svelte
index e50b972ca..9f0f16861 100644
--- a/web/src/lib/components/profile/organization/OrganizationChrome.svelte
+++ b/web/src/lib/components/profile/organization/OrganizationChrome.svelte
@@ -125,6 +125,8 @@
{@render content()}
+ {:else if activeTab === "settings"}
+ {@render content()}
{:else}
{@render content()}
{/if}
diff --git a/web/src/routes/[handle]/+layout.svelte b/web/src/routes/[handle]/+layout.svelte
index 6e710d06a..37317005a 100644
--- a/web/src/routes/[handle]/+layout.svelte
+++ b/web/src/routes/[handle]/+layout.svelte
@@ -12,7 +12,10 @@
let { children, data } = $props();
- const tabParam = $derived(page.url.searchParams.get("tab") ?? "overview");
+ const settingsRoute = $derived(page.route.id?.startsWith("/[handle]/settings"));
+ const tabParam = $derived(
+ settingsRoute ? "settings" : (page.url.searchParams.get("tab") ?? "overview")
+ );
const activeTab = $derived(
[
"repos",
@@ -35,9 +38,7 @@
const viewerFollowRkey = $derived(data.viewerFollowRkey);
const notJoined = $derived(data.notJoined);
- const synchronousProfile = $derived(
- data.profile instanceof Promise ? null : data.profile
- );
+ const synchronousProfile = $derived(data.profile instanceof Promise ? null : data.profile);
let asyncProfile = $state(null);
$effect(() => {
let active = true;
@@ -52,9 +53,7 @@
});
const resolvedProfile = $derived(asyncProfile ?? synchronousProfile);
- const synchronousIdentity = $derived(
- data.identity instanceof Promise ? null : data.identity
- );
+ const synchronousIdentity = $derived(data.identity instanceof Promise ? null : data.identity);
let asyncIdentity = $state<{ did: string; handle: string } | null>(null);
$effect(() => {
let active = true;
@@ -72,7 +71,7 @@
const rawHandle = $derived(decodeURIComponent(page.params.handle ?? ""));
const handle = $derived(resolvedIdentity?.handle ?? rawHandle);
const displayName = $derived(
- (resolvedProfile as Record | null)?.displayName as string | undefined ||
+ ((resolvedProfile as Record | null)?.displayName as string | undefined) ||
resolvedProfile?.preferredHandle ||
handle
);
@@ -126,13 +125,17 @@
});
-
+{#if settingsRoute}
+
+{:else}
+
+{/if}
diff --git a/web/src/routes/[handle]/+layout.ts b/web/src/routes/[handle]/+layout.ts
index a5842a1ea..354c2e776 100644
--- a/web/src/routes/[handle]/+layout.ts
+++ b/web/src/routes/[handle]/+layout.ts
@@ -43,7 +43,6 @@ export const load: LayoutLoad = async (event) => {
fetch: event.fetch
});
const viewerDid = parent.auth?.did;
- const previewOrganization = event.url.searchParams.get("preview") === "organization";
// server awaits for 404s and redirects, client navigation streams for instant commit
const resolved = (async () => {
diff --git a/web/src/routes/[handle]/settings/+layout@.svelte b/web/src/routes/[handle]/settings/+layout.svelte
similarity index 73%
rename from web/src/routes/[handle]/settings/+layout@.svelte
rename to web/src/routes/[handle]/settings/+layout.svelte
index 9e2b8bc72..75c7f1ffc 100644
--- a/web/src/routes/[handle]/settings/+layout@.svelte
+++ b/web/src/routes/[handle]/settings/+layout.svelte
@@ -1,5 +1,4 @@
-
-
-
-
- {#if viewerIsOrganizationOwner}
-
- {@render children()}
-
- {:else}
-
- {/if}
-
-
+{#if viewerIsOrganizationOwner}
+
+ {@render children()}
+
+{:else}
+
+{/if}