diff --git a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/views/header.svelte b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/views/header.svelte index c5132723b..7edcfbe4d 100644 --- a/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/views/header.svelte +++ b/src/routes/(console)/project-[region]-[project]/databases/database-[database]/(entity)/views/header.svelte @@ -8,6 +8,9 @@ import { type Entity, useTerminology } from '$database/(entity)'; import { resolveRoute, withPath } from '$lib/stores/navigation'; + import { preferences } from '$lib/stores/preferences'; + import { expandTabs } from '$database/table-[table]/store'; + interface EntityTab { href: string; title: string; @@ -18,13 +21,11 @@ let { entity, parentHref, - tabs, - expanded = $bindable(true) + tabs }: { entity: Entity; parentHref: string; tabs: EntityTab[]; - expanded?: boolean; } = $props(); /** @@ -45,25 +46,38 @@ `${entityType}-${entityId}` ); }); + + const nonSheetPages = $derived.by(() => { + const endings = ['table-[table]', 'table-[table]/columns', 'table-[table]/indexes']; + const isSpreadsheetPage = endings.some((end) => page.route.id?.endsWith(end)); + return !isSpreadsheetPage; + }); + + $effect(() => { + if (nonSheetPages) expandTabs.set(true); + else { + expandTabs.set(preferences.getKey('tableHeaderExpanded', true)); + } + }); -{#if entity} - +
+ - - {entity.name} + + {entity?.name} - {#key entity.$id} - - {entity.$id} + {#key entity?.$id} + + {entity?.$id} {/key} -
+
{#each tabs as tab}
-{/if} +
+