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}