|
1 | 1 | <script lang="ts"> |
2 | 2 | import { Plus } from '@lucide/svelte'; |
| 3 | + import { goto } from '$app/navigation'; |
| 4 | + import { page } from '$app/state'; |
3 | 5 | import type { BasicUserInfo } from '$lib/api/internal/v1'; |
4 | 6 | import { Button } from '$lib/components/ui/button'; |
5 | 7 | import * as Tabs from '$lib/components/ui/tabs/index.js'; |
6 | | - import { refreshOwnHubs } from '$lib/stores/HubsStore'; |
| 8 | + import { refreshOwnHubs } from '$lib/stores/HubsStore'; |
7 | 9 | import { type Snippet, onMount } from 'svelte'; |
8 | 10 | import { toast } from 'svelte-sonner'; |
9 | 11 | import DialogShareCodeCreate from './dialog-share-code-create.svelte'; |
10 | 12 | import DialogShareCodeCreated from './dialog-share-code-created.svelte'; |
11 | | - import { goto } from '$app/navigation'; |
12 | | - import { page } from '$app/state'; |
13 | 13 |
|
14 | 14 | let createDialogOpen = $state(false); |
15 | 15 |
|
16 | 16 | let createdCode = $state<string | null>(null); |
17 | 17 |
|
18 | | - let tab = $derived(page.url.pathname.includes('outstanding') ? 'outstanding' : 'shares'); |
| 18 | + let tab = $derived(() => { |
| 19 | + switch (page.url.pathname) { |
| 20 | + case '/shares/user/outgoing': |
| 21 | + return 'shares'; |
| 22 | + case '/shares/user/incoming': |
| 23 | + return 'incoming'; |
| 24 | + case '/shares/user/outstanding': |
| 25 | + return 'outstanding'; |
| 26 | + default: |
| 27 | + return 'shares'; |
| 28 | + } |
| 29 | + }); |
19 | 30 |
|
20 | 31 | let { children }: { children?: Snippet } = $props(); |
21 | 32 |
|
|
41 | 52 |
|
42 | 53 | <div class="h-full m-8 mt-4 flex flex-col gap-4"> |
43 | 54 | <div class="flex-none flex w-full"> |
44 | | - <Tabs.Root value={tab} class="w-[400px]"> |
| 55 | + <Tabs.Root value={tab()} class="w-[400px]"> |
45 | 56 | <Tabs.List> |
46 | 57 | <Tabs.Trigger value="shares" onclick={() => navigateTo('outgoing')}>Shares</Tabs.Trigger> |
47 | | - <Tabs.Trigger value="outstanding" onclick={() => navigateTo('outstanding')}>Outstanding Invites & Codes</Tabs.Trigger> |
48 | | - <Tabs.Trigger value="incoming" onclick={() => navigateTo('incoming')}>Shared with Me</Tabs.Trigger> |
| 58 | + <Tabs.Trigger value="outstanding" onclick={() => navigateTo('outstanding')} |
| 59 | + >Outstanding Invites & Codes</Tabs.Trigger |
| 60 | + > |
| 61 | + <Tabs.Trigger value="incoming" onclick={() => navigateTo('incoming')} |
| 62 | + >Shared with Me</Tabs.Trigger |
| 63 | + > |
49 | 64 | </Tabs.List> |
50 | 65 | </Tabs.Root> |
51 | 66 |
|
|
0 commit comments