diff --git a/src/lib/layout/breadcrumbs.svelte b/src/lib/layout/breadcrumbs.svelte index b1845a831..63b6c801b 100644 --- a/src/lib/layout/breadcrumbs.svelte +++ b/src/lib/layout/breadcrumbs.svelte @@ -1,53 +1,24 @@ + + - {#each truncate(breadcrumbs) as breadcrumb, i} + {#each breadcrumbs as breadcrumb} - {#if breadcrumb.value.href} - 4 ? i + breadcrumbs.length - 4 : i)} - title={breadcrumb.value.title}> - {breadcrumb.value.title} + {#if breadcrumb.href} + + {breadcrumb.title} {:else} - {breadcrumb.value.title} + {breadcrumb.title} {/if} {/each} diff --git a/src/lib/layout/header.svelte b/src/lib/layout/header.svelte index 10e026c8f..abc740fe1 100644 --- a/src/lib/layout/header.svelte +++ b/src/lib/layout/header.svelte @@ -1,16 +1,16 @@ diff --git a/src/routes/console/_createOrganization.svelte b/src/routes/console/_createOrganization.svelte index 8024dff5b..152e74c56 100644 --- a/src/routes/console/_createOrganization.svelte +++ b/src/routes/console/_createOrganization.svelte @@ -6,7 +6,6 @@ import { sdkForConsole } from '$lib/stores/sdk'; import { createEventDispatcher } from 'svelte'; import { organization, organizationList } from '$lib/stores/organization'; - import { titleDropdown } from '$lib/stores/layout'; import { goto } from '$app/navigation'; export let show = false; @@ -23,7 +22,6 @@ const team = await sdkForConsole.teams.create(id ?? 'unique()', name); dispatch('created'); await organizationList.load(); - titleDropdown.set($organizationList.teams); organization.set(team); await goto(`/console/organization-${$organization.$id}`); addNotification({ diff --git a/src/routes/console/organization-[organization]/+layout.svelte b/src/routes/console/organization-[organization]/+layout.svelte index b3e21afb1..e53ef2c41 100644 --- a/src/routes/console/organization-[organization]/+layout.svelte +++ b/src/routes/console/organization-[organization]/+layout.svelte @@ -3,7 +3,6 @@ import { onMount } from 'svelte'; import { afterNavigate } from '$app/navigation'; import { - organizationList, organization, memberList, newOrgModal, @@ -13,14 +12,15 @@ import Create from '../_createOrganization.svelte'; import { page } from '$app/stores'; import { Query } from '@aw-labs/appwrite-console'; + import Header from './header.svelte'; + import Breadcrumbs from './breadcrumbs.svelte'; $: organizationId = $page.params.organization; - $: path = `console/organization-${organizationId}`; onMount(handle); afterNavigate(handle); - async function handle(event = null) { + async function handle() { const promises = Promise.all([ organization.load(organizationId), memberList.load(organizationId, [Query.limit($pageLimit)]) @@ -31,29 +31,8 @@ } updateLayout({ - navigate: event, - title: $organization?.name, - titleDropdown: $organizationList.teams, - level: 0, - customBase: '', - breadcrumbs: { - title: `${$organization.name}`, - href: path - }, - tabs: [ - { - href: path, - title: 'Projects' - }, - { - href: `${path}/members`, - title: 'Members' - }, - { - href: `${path}/settings`, - title: 'Settings' - } - ] + header: Header, + breadcrumb: Breadcrumbs }); } diff --git a/src/routes/console/organization-[organization]/breadcrumbs.svelte b/src/routes/console/organization-[organization]/breadcrumbs.svelte new file mode 100644 index 000000000..62b3a6f20 --- /dev/null +++ b/src/routes/console/organization-[organization]/breadcrumbs.svelte @@ -0,0 +1,13 @@ + + + diff --git a/src/routes/console/organization-[organization]/header.svelte b/src/routes/console/organization-[organization]/header.svelte new file mode 100644 index 000000000..7f2e796c0 --- /dev/null +++ b/src/routes/console/organization-[organization]/header.svelte @@ -0,0 +1,104 @@ + + + + + + (showDropdown = !showDropdown)}> + + {$organization.name} + + + + + + {#each $organizationList.teams as org} + { + showDropdown = false; + }}> + {org.name} + + {/each} + + + + + { + showDropdown = false; + newOrgModal.set(true); + }}>New Organization + + + + + + + newMemberModal.set(true)}> + + Invite + + + + + + {#each tabs as tab} + + {tab.title} + + {/each} + + diff --git a/src/routes/console/organization-[organization]/settings/+page.svelte b/src/routes/console/organization-[organization]/settings/+page.svelte index b7a159bdc..f53a4665a 100644 --- a/src/routes/console/organization-[organization]/settings/+page.svelte +++ b/src/routes/console/organization-[organization]/settings/+page.svelte @@ -5,7 +5,6 @@ import { addNotification } from '$lib/stores/notifications'; import { sdkForConsole } from '$lib/stores/sdk'; import { organization, memberList } from '$lib/stores/organization'; - import { title, breadcrumbs } from '$lib/stores/layout'; import Delete from '../_deleteOrganization.svelte'; let name: string = $organization.name; @@ -15,10 +14,6 @@ try { await sdkForConsole.teams.update($organization.$id, name); $organization.name = name; - title.set(name); - const breadcrumb = $breadcrumbs.get(0); - breadcrumb.title = name; - $breadcrumbs = $breadcrumbs.set($breadcrumbs.size, breadcrumb); addNotification({ message: 'Name has been updated', type: 'success' diff --git a/src/routes/console/project-[project]/+layout.svelte b/src/routes/console/project-[project]/+layout.svelte index 23b445c4e..a5c524d4c 100644 --- a/src/routes/console/project-[project]/+layout.svelte +++ b/src/routes/console/project-[project]/+layout.svelte @@ -8,7 +8,6 @@ import { organization } from '$lib/stores/organization'; import { onMount } from 'svelte'; import { afterNavigate } from '$app/navigation'; - import { updateLayout } from '$lib/stores/layout'; import type { Models } from '@aw-labs/appwrite-console'; type Attributes = @@ -48,7 +47,7 @@ afterNavigate(handle); let loaded = false; - async function handle(event = null) { + async function handle() { if (sdkForProject.client.config.project !== projectId) { setProject(projectId); } @@ -62,23 +61,6 @@ await promiseOrganization; } } - - updateLayout({ - navigate: event, - title: $project.name, - level: 1, - breadcrumbs: [ - { - href: 'console', - title: $organization.name, - level: 0 - }, - { - href: `project-${$project.$id}`, - title: $project.name - } - ] - }); loaded = true; } diff --git a/src/routes/console/project-[project]/authentication/+layout.svelte b/src/routes/console/project-[project]/authentication/+layout.svelte index 16b0c10d1..3c9702374 100644 --- a/src/routes/console/project-[project]/authentication/+layout.svelte +++ b/src/routes/console/project-[project]/authentication/+layout.svelte @@ -2,48 +2,17 @@ import { afterNavigate } from '$app/navigation'; import { updateLayout } from '$lib/stores/layout'; import { onMount } from 'svelte'; - - const path = 'authentication'; + import Breadcrumbs from './breadcrumbs.svelte'; + import Header from './header.svelte'; onMount(handle); afterNavigate(handle); - let loaded = false; - - function handle(event = null) { + function handle() { updateLayout({ - navigate: event, - title: 'Authentication', - level: 3, - breadcrumbs: { - title: 'Authentication', - href: path - }, - tabs: [ - { - href: path, - title: 'Users' - }, - { - href: `${path}/teams`, - title: 'Teams' - }, - { - href: `${path}/usage`, - title: 'Usage' - }, - { - href: `${path}/security`, - title: 'Security' - }, - { - href: `${path}/settings`, - title: 'Settings' - } - ] + header: Header, + breadcrumb: Breadcrumbs }); - - loaded = true; } @@ -51,6 +20,4 @@ Appwrite - Users -{#if loaded} - -{/if} + diff --git a/src/routes/console/project-[project]/authentication/breadcrumbs.svelte b/src/routes/console/project-[project]/authentication/breadcrumbs.svelte new file mode 100644 index 000000000..e7c4585c7 --- /dev/null +++ b/src/routes/console/project-[project]/authentication/breadcrumbs.svelte @@ -0,0 +1,22 @@ + + + diff --git a/src/routes/console/project-[project]/authentication/header.svelte b/src/routes/console/project-[project]/authentication/header.svelte new file mode 100644 index 000000000..553fabfb6 --- /dev/null +++ b/src/routes/console/project-[project]/authentication/header.svelte @@ -0,0 +1,46 @@ + + + + + + Authentication + + + + + {#each tabs as tab} + + {tab.title} + + {/each} + + diff --git a/src/routes/console/project-[project]/authentication/teams/[team]/+layout.svelte b/src/routes/console/project-[project]/authentication/teams/[team]/+layout.svelte index 8a02e2b20..227328010 100644 --- a/src/routes/console/project-[project]/authentication/teams/[team]/+layout.svelte +++ b/src/routes/console/project-[project]/authentication/teams/[team]/+layout.svelte @@ -1,18 +1,18 @@ diff --git a/src/routes/console/project-[project]/authentication/teams/[team]/+page.svelte b/src/routes/console/project-[project]/authentication/teams/[team]/+page.svelte index 1aa5cfaeb..2a2999ac0 100644 --- a/src/routes/console/project-[project]/authentication/teams/[team]/+page.svelte +++ b/src/routes/console/project-[project]/authentication/teams/[team]/+page.svelte @@ -1,4 +1,5 @@ + + diff --git a/src/routes/console/project-[project]/authentication/teams/[team]/header.svelte b/src/routes/console/project-[project]/authentication/teams/[team]/header.svelte new file mode 100644 index 000000000..80a00e18b --- /dev/null +++ b/src/routes/console/project-[project]/authentication/teams/[team]/header.svelte @@ -0,0 +1,53 @@ + + + + + + + + + {$team.name} + + + + + Team ID + + + + + + {#each tabs as tab} + + {tab.title} + + {/each} + + diff --git a/src/routes/console/project-[project]/authentication/user/[user]/+layout.svelte b/src/routes/console/project-[project]/authentication/user/[user]/+layout.svelte index b5d5fc24d..68b81ed28 100644 --- a/src/routes/console/project-[project]/authentication/user/[user]/+layout.svelte +++ b/src/routes/console/project-[project]/authentication/user/[user]/+layout.svelte @@ -1,18 +1,18 @@ diff --git a/src/routes/console/project-[project]/authentication/user/[user]/+page.svelte b/src/routes/console/project-[project]/authentication/user/[user]/+page.svelte index 6d293e8d1..ad2b695f3 100644 --- a/src/routes/console/project-[project]/authentication/user/[user]/+page.svelte +++ b/src/routes/console/project-[project]/authentication/user/[user]/+page.svelte @@ -17,7 +17,6 @@ import DeleteUser from './_deleteUser.svelte'; import { user } from './store'; import { onMount } from 'svelte'; - import { title, breadcrumbs } from '$lib/stores/layout'; $: if (prefs) { if (JSON.stringify(prefs) !== JSON.stringify(Object.entries($user.prefs))) { @@ -108,10 +107,6 @@ try { await sdkForProject.users.updateName($user.$id, userName); $user.name = userName; - title.set(userName); - const breadcrumb = $breadcrumbs.get($breadcrumbs.size); - breadcrumb.title = userName; - $breadcrumbs = $breadcrumbs.set($breadcrumbs.size, breadcrumb); addNotification({ message: 'Name has been updated', type: 'success' diff --git a/src/routes/console/project-[project]/authentication/user/[user]/breadcrumbs.svelte b/src/routes/console/project-[project]/authentication/user/[user]/breadcrumbs.svelte new file mode 100644 index 000000000..9cc20db48 --- /dev/null +++ b/src/routes/console/project-[project]/authentication/user/[user]/breadcrumbs.svelte @@ -0,0 +1,27 @@ + + + diff --git a/src/routes/console/project-[project]/authentication/user/[user]/header.svelte b/src/routes/console/project-[project]/authentication/user/[user]/header.svelte new file mode 100644 index 000000000..901e7acc8 --- /dev/null +++ b/src/routes/console/project-[project]/authentication/user/[user]/header.svelte @@ -0,0 +1,57 @@ + + + + + + + + + {$user.name} + + + + + User ID + + + + + + {#each tabs as tab} + + {tab.title} + + {/each} + + diff --git a/src/routes/console/project-[project]/databases/+layout.svelte b/src/routes/console/project-[project]/databases/+layout.svelte index 6011243d3..d4d2d4190 100644 --- a/src/routes/console/project-[project]/databases/+layout.svelte +++ b/src/routes/console/project-[project]/databases/+layout.svelte @@ -2,33 +2,17 @@ import { afterNavigate } from '$app/navigation'; import { updateLayout } from '$lib/stores/layout'; import { onMount } from 'svelte'; - - const path = 'databases'; + import Breadcrumbs from './breadcrumbs.svelte'; + import Header from './header.svelte'; onMount(handle); afterNavigate(handle); let loaded = false; - - function handle(event = null) { + function handle() { updateLayout({ - navigate: event, - title: 'Databases', - tabs: [ - { - href: path, - title: 'Databases' - }, - { - href: `${path}/usage`, - title: 'Usage' - } - ], - level: 3, - breadcrumbs: { - href: 'databases', - title: 'Databases' - } + header: Header, + breadcrumb: Breadcrumbs }); loaded = true; } diff --git a/src/routes/console/project-[project]/databases/breadcrumbs.svelte b/src/routes/console/project-[project]/databases/breadcrumbs.svelte new file mode 100644 index 000000000..cbd1db386 --- /dev/null +++ b/src/routes/console/project-[project]/databases/breadcrumbs.svelte @@ -0,0 +1,22 @@ + + + diff --git a/src/routes/console/project-[project]/databases/database/[database]/+layout.svelte b/src/routes/console/project-[project]/databases/database/[database]/+layout.svelte index a2d5fc4e5..4f86f17e0 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/+layout.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/+layout.svelte @@ -1,19 +1,19 @@ + + diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+layout.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+layout.svelte index c21d4def9..55b38bfdf 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+layout.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/+layout.svelte @@ -1,62 +1,28 @@ diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/breadcrumbs.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/breadcrumbs.svelte new file mode 100644 index 000000000..3c2869348 --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/breadcrumbs.svelte @@ -0,0 +1,26 @@ + + + diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/document/[document]/+layout.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/document/[document]/+layout.svelte index 9fb424459..59b64eda7 100644 --- a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/document/[document]/+layout.svelte +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/document/[document]/+layout.svelte @@ -4,42 +4,25 @@ import { doc } from './store'; import { onMount } from 'svelte'; import { afterNavigate } from '$app/navigation'; - import { base } from '$app/paths'; + import Header from './header.svelte'; + import Breadcrumbs from './breadcrumbs.svelte'; const databaseId = $page.params.database; const collectionId = $page.params.collection; const documentId = $page.params.document; - const path = `databases/database/${databaseId}/collection/${collectionId}/document/${documentId}`; onMount(handle); afterNavigate(handle); - async function handle(event = null) { + async function handle() { const promise = doc.load(databaseId, collectionId, documentId); if ($doc?.$id !== documentId) { await promise; } updateLayout({ - navigate: event, - title: 'Document', - copy: { text: 'Document ID', value: $doc.$id }, - back: `${base}/console/project-${$page.params.project}/databases/database/${databaseId}/collection/${collectionId}`, - level: 6, - breadcrumbs: { - title: $doc.$id, - href: `document/${documentId}` - }, - tabs: [ - { - href: path, - title: 'Overview' - }, - { - href: `${path}/activity`, - title: 'Activity' - } - ] + header: Header, + breadcrumb: Breadcrumbs }); } diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/document/[document]/breadcrumbs.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/document/[document]/breadcrumbs.svelte new file mode 100644 index 000000000..a350da0c2 --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/document/[document]/breadcrumbs.svelte @@ -0,0 +1,27 @@ + + + diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/document/[document]/header.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/document/[document]/header.svelte new file mode 100644 index 000000000..c40d3295d --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/document/[document]/header.svelte @@ -0,0 +1,51 @@ + + + + + + + + + {$doc.$id} + + + + + Document ID + + + + + + {#each tabs as tab} + + {tab.title} + + {/each} + + diff --git a/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/header.svelte b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/header.svelte new file mode 100644 index 000000000..72e1d2c0d --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/collection/[collection]/header.svelte @@ -0,0 +1,62 @@ + + + + + + + + + {$collection.name} + + + + + Collection ID + + + + + + {#each tabs as tab} + + {tab.title} + + {/each} + + diff --git a/src/routes/console/project-[project]/databases/database/[database]/header.svelte b/src/routes/console/project-[project]/databases/database/[database]/header.svelte new file mode 100644 index 000000000..d487258c0 --- /dev/null +++ b/src/routes/console/project-[project]/databases/database/[database]/header.svelte @@ -0,0 +1,53 @@ + + + + + + + + + {$database.name} + + + + + Database ID + + + + + + {#each tabs as tab} + + {tab.title} + + {/each} + + diff --git a/src/routes/console/project-[project]/databases/header.svelte b/src/routes/console/project-[project]/databases/header.svelte new file mode 100644 index 000000000..97b1b7098 --- /dev/null +++ b/src/routes/console/project-[project]/databases/header.svelte @@ -0,0 +1,34 @@ + + + + + + Databases + + + + + {#each tabs as tab} + + {tab.title} + + {/each} + + diff --git a/src/routes/console/project-[project]/overview/+layout.svelte b/src/routes/console/project-[project]/overview/+layout.svelte index 00972707c..3ad2ec39c 100644 --- a/src/routes/console/project-[project]/overview/+layout.svelte +++ b/src/routes/console/project-[project]/overview/+layout.svelte @@ -3,7 +3,6 @@ import { Container, type UsagePeriods } from '$lib/layout'; import { page } from '$app/stores'; import { browser } from '$app/environment'; - import { tabs, title, backButton, copyData } from '$lib/stores/layout'; import { sdkForConsole } from '$lib/stores/sdk'; import { project } from '../store'; import { usage } from './store'; @@ -12,6 +11,9 @@ import { DropList, DropListItem } from '$lib/components'; import { BarChart, LineChart } from '$lib/charts'; import { humanFileSize } from '$lib/helpers/sizeConvertion'; + import { updateLayout } from '$lib/stores/layout'; + import Header from './header.svelte'; + import Breadcrumbs from './breadcrumbs.svelte'; $: projectId = $page.params.project; $: path = `/console/project-${projectId}/overview`; @@ -29,14 +31,9 @@ if ($usage) { await promise; } - - title.set($project.name); - tabs.set([]); - backButton.set(''); - - copyData.set({ - text: 'Project ID', - value: $project.$id + updateLayout({ + header: Header, + breadcrumb: Breadcrumbs }); } diff --git a/src/routes/console/project-[project]/overview/breadcrumbs.svelte b/src/routes/console/project-[project]/overview/breadcrumbs.svelte new file mode 100644 index 000000000..d679cf74e --- /dev/null +++ b/src/routes/console/project-[project]/overview/breadcrumbs.svelte @@ -0,0 +1,18 @@ + + + diff --git a/src/routes/console/project-[project]/overview/header.svelte b/src/routes/console/project-[project]/overview/header.svelte new file mode 100644 index 000000000..40589b702 --- /dev/null +++ b/src/routes/console/project-[project]/overview/header.svelte @@ -0,0 +1,20 @@ + + + + + + {$project.name} + + + + + Project ID + + + + diff --git a/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte b/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte index 29b8e2f59..0979f22d0 100644 --- a/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte +++ b/src/routes/console/project-[project]/overview/keys/[key]/+page@project-[project].svelte @@ -1,6 +1,5 @@ + + diff --git a/src/routes/console/project-[project]/overview/keys/[key]/header.svelte b/src/routes/console/project-[project]/overview/keys/[key]/header.svelte new file mode 100644 index 000000000..6ca38f613 --- /dev/null +++ b/src/routes/console/project-[project]/overview/keys/[key]/header.svelte @@ -0,0 +1,29 @@ + + + + + + + + + {$key.name} + + + + + API Key Secret + + + + diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/+page@project-[project].svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/+page@project-[project].svelte index d90fa15e4..b19521b3e 100644 --- a/src/routes/console/project-[project]/overview/platforms/[platform]/+page@project-[project].svelte +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/+page@project-[project].svelte @@ -1,6 +1,5 @@ + + diff --git a/src/routes/console/project-[project]/overview/platforms/[platform]/header.svelte b/src/routes/console/project-[project]/overview/platforms/[platform]/header.svelte new file mode 100644 index 000000000..cfccf8fa5 --- /dev/null +++ b/src/routes/console/project-[project]/overview/platforms/[platform]/header.svelte @@ -0,0 +1,21 @@ + + + + + + + + + {$platform.name} + + + diff --git a/src/routes/console/project-[project]/settings/+layout.svelte b/src/routes/console/project-[project]/settings/+layout.svelte index 133d65fbc..3e3ff23bf 100644 --- a/src/routes/console/project-[project]/settings/+layout.svelte +++ b/src/routes/console/project-[project]/settings/+layout.svelte @@ -2,6 +2,8 @@ import { afterNavigate } from '$app/navigation'; import { updateLayout } from '$lib/stores/layout'; import { onMount } from 'svelte'; + import Breadcrumbs from './breadcrumbs.svelte'; + import Header from './header.svelte'; const path = 'settings'; @@ -10,27 +12,8 @@ function handle(event = null) { updateLayout({ - navigate: event, - title: 'Settings', - level: 3, - breadcrumbs: { - title: 'Settings', - href: 'settings' - }, - tabs: [ - { - href: path, - title: 'Overview' - }, - { - href: `${path}/services`, - title: 'Services' - }, - { - href: `${path}/domains`, - title: 'Custom Domains' - } - ] + header: Header, + breadcrumb: Breadcrumbs }); } diff --git a/src/routes/console/project-[project]/settings/breadcrumbs.svelte b/src/routes/console/project-[project]/settings/breadcrumbs.svelte new file mode 100644 index 000000000..c15a0e819 --- /dev/null +++ b/src/routes/console/project-[project]/settings/breadcrumbs.svelte @@ -0,0 +1,22 @@ + + + diff --git a/src/routes/console/project-[project]/settings/header.svelte b/src/routes/console/project-[project]/settings/header.svelte new file mode 100644 index 000000000..4562364ca --- /dev/null +++ b/src/routes/console/project-[project]/settings/header.svelte @@ -0,0 +1,38 @@ + + + + + + Settings + + + + + {#each tabs as tab} + + {tab.title} + + {/each} + + diff --git a/src/routes/console/project-[project]/storage/+layout.svelte b/src/routes/console/project-[project]/storage/+layout.svelte index c822db463..140497dcd 100644 --- a/src/routes/console/project-[project]/storage/+layout.svelte +++ b/src/routes/console/project-[project]/storage/+layout.svelte @@ -2,33 +2,18 @@ import { afterNavigate } from '$app/navigation'; import { updateLayout } from '$lib/stores/layout'; import { onMount } from 'svelte'; - - const path = 'storage'; + import Breadcrumbs from './breadcrumbs.svelte'; + import Header from './header.svelte'; onMount(handle); afterNavigate(handle); let loaded = false; - async function handle(event = null) { + async function handle() { updateLayout({ - navigate: event, - title: 'Storage', - level: 3, - breadcrumbs: { - title: 'Storage', - href: 'storage' - }, - tabs: [ - { - href: path, - title: 'Buckets' - }, - { - href: `${path}/usage`, - title: 'Usage' - } - ] + header: Header, + breadcrumb: Breadcrumbs }); loaded = true; } diff --git a/src/routes/console/project-[project]/storage/breadcrumbs.svelte b/src/routes/console/project-[project]/storage/breadcrumbs.svelte new file mode 100644 index 000000000..67dd8a078 --- /dev/null +++ b/src/routes/console/project-[project]/storage/breadcrumbs.svelte @@ -0,0 +1,22 @@ + + + diff --git a/src/routes/console/project-[project]/storage/bucket/[bucket]/+layout.svelte b/src/routes/console/project-[project]/storage/bucket/[bucket]/+layout.svelte index a099a45a9..e6157d213 100644 --- a/src/routes/console/project-[project]/storage/bucket/[bucket]/+layout.svelte +++ b/src/routes/console/project-[project]/storage/bucket/[bucket]/+layout.svelte @@ -1,55 +1,30 @@ diff --git a/src/routes/console/project-[project]/storage/bucket/[bucket]/breadcrumbs.svelte b/src/routes/console/project-[project]/storage/bucket/[bucket]/breadcrumbs.svelte new file mode 100644 index 000000000..5034fa02a --- /dev/null +++ b/src/routes/console/project-[project]/storage/bucket/[bucket]/breadcrumbs.svelte @@ -0,0 +1,27 @@ + + + diff --git a/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/+layout.svelte b/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/+layout.svelte index 51a0c1cc3..c99faa133 100644 --- a/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/+layout.svelte +++ b/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/+layout.svelte @@ -1,10 +1,11 @@ diff --git a/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/breadcrumbs.svelte b/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/breadcrumbs.svelte new file mode 100644 index 000000000..6e4121f3d --- /dev/null +++ b/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/breadcrumbs.svelte @@ -0,0 +1,26 @@ + + + diff --git a/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/header.svelte b/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/header.svelte new file mode 100644 index 000000000..e9bbac489 --- /dev/null +++ b/src/routes/console/project-[project]/storage/bucket/[bucket]/file/[file]/header.svelte @@ -0,0 +1,30 @@ + + + + + + + + + {$file.name} + + + + + File ID + + + + diff --git a/src/routes/console/project-[project]/storage/bucket/[bucket]/header.svelte b/src/routes/console/project-[project]/storage/bucket/[bucket]/header.svelte new file mode 100644 index 000000000..0522b5c75 --- /dev/null +++ b/src/routes/console/project-[project]/storage/bucket/[bucket]/header.svelte @@ -0,0 +1,53 @@ + + + + + + + + + {$bucket.name} + + + + + Bucket ID + + + + + + {#each tabs as tab} + + {tab.title} + + {/each} + + diff --git a/src/routes/console/project-[project]/storage/header.svelte b/src/routes/console/project-[project]/storage/header.svelte new file mode 100644 index 000000000..b58651102 --- /dev/null +++ b/src/routes/console/project-[project]/storage/header.svelte @@ -0,0 +1,34 @@ + + + + + + Storage + + + + + {#each tabs as tab} + + {tab.title} + + {/each} + +