diff --git a/package-lock.json b/package-lock.json index 6e85f6d42..18386ca48 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.1", "dependencies": { "@analytics/google-analytics": "^1.0.5", - "@appwrite.io/pink": "^0.0.4", + "@appwrite.io/pink": "0.0.6-rc.2", "@aw-labs/appwrite-console": "^13.1.0", "@popperjs/core": "^2.11.6", "@sentry/svelte": "^7.44.2", @@ -148,9 +148,9 @@ "integrity": "sha512-1Yw7u/COtxx06BfwlI+kVhsa/upKYzmCNrT4c8QDeCY2KMYlnijkUjtHiPU08HxyTIVB5j6d75O0YWVIHwQS8g==" }, "node_modules/@appwrite.io/pink": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/@appwrite.io/pink/-/pink-0.0.4.tgz", - "integrity": "sha512-pCXxBqSikG5PpBb2y84tTRH6cAMUYbROlQN8LuGoY2J+vTWMT+HQ7+RAAwRWU1Dlle4FgOFFCKmqU95g6X2a6g==", + "version": "0.0.6-rc.2", + "resolved": "https://registry.npmjs.org/@appwrite.io/pink/-/pink-0.0.6-rc.2.tgz", + "integrity": "sha512-PR2TVhLgRwXfdrB+0w9pZv7X2n6WOawArSJXq8jsRF58EzWcl4nf8XkjTsJ9BSU+in9fkmhxNIBywM707jqUcg==", "dependencies": { "@appwrite.io/pink-icons": "*", "normalize.css": "^8.0.1", @@ -4521,23 +4521,6 @@ "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", "dev": true }, - "node_modules/happy-dom": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/happy-dom/-/happy-dom-8.9.0.tgz", - "integrity": "sha512-JZwJuGdR7ko8L61136YzmrLv7LgTh5b8XaEM3P709mLjyQuXJ3zHTDXvUtBBahRjGlcYW0zGjIiEWizoTUGKfA==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "css.escape": "^1.5.1", - "he": "^1.2.0", - "iconv-lite": "^0.6.3", - "node-fetch": "^2.x.x", - "webidl-conversions": "^7.0.0", - "whatwg-encoding": "^2.0.0", - "whatwg-mimetype": "^3.0.0" - } - }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -4607,17 +4590,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/he": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", - "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", - "dev": true, - "optional": true, - "peer": true, - "bin": { - "he": "bin/he" - } - }, "node_modules/html-encoding-sniffer": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", diff --git a/package.json b/package.json index 4a88bce0c..03e8982b0 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ }, "dependencies": { "@analytics/google-analytics": "^1.0.5", - "@appwrite.io/pink": "^0.0.4", + "@appwrite.io/pink": "0.0.6-rc.2", "@aw-labs/appwrite-console": "^13.1.0", "@popperjs/core": "^2.11.6", "@sentry/svelte": "^7.44.2", diff --git a/src/lib/components/permissions/roles.svelte b/src/lib/components/permissions/roles.svelte index 1f8ebaf03..7f2b32454 100644 --- a/src/lib/components/permissions/roles.svelte +++ b/src/lib/components/permissions/roles.svelte @@ -104,7 +104,7 @@ -
+
+ {/if} +
+ + {#if subNavigation} +
+
+ +
{/if}
diff --git a/src/lib/layout/shell.svelte b/src/lib/layout/shell.svelte index a0c589970..059b320e2 100644 --- a/src/lib/layout/shell.svelte +++ b/src/lib/layout/shell.svelte @@ -87,6 +87,11 @@ top: 4.5rem; } } + @media (min-width: 1199px) { + .grid-with-side { + grid-template-columns: auto 1fr !important; + } + } .main-content { overflow: hidden; diff --git a/src/routes/console/project-[project]/databases/+layout.ts b/src/routes/console/project-[project]/databases/+layout.ts index 7db345058..3cccf8185 100644 --- a/src/routes/console/project-[project]/databases/+layout.ts +++ b/src/routes/console/project-[project]/databases/+layout.ts @@ -1,6 +1,6 @@ +import type { LayoutLoad } from './$types'; import Breadcrumbs from './breadcrumbs.svelte'; import Header from './header.svelte'; -import type { LayoutLoad } from './$types'; export const load: LayoutLoad = async () => { return { 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 766790be1..730daa660 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/+layout.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/+layout.svelte @@ -1,5 +1,28 @@ + + Database - Appwrite + + diff --git a/src/routes/console/project-[project]/databases/database-[database]/+layout.ts b/src/routes/console/project-[project]/databases/database-[database]/+layout.ts index b6cbd509f..5ee2dffce 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/+layout.ts +++ b/src/routes/console/project-[project]/databases/database-[database]/+layout.ts @@ -1,9 +1,9 @@ import { sdk } from '$lib/stores/sdk'; import { Dependencies } from '$lib/constants'; +import { error } from '@sveltejs/kit'; import type { LayoutLoad } from './$types'; import Breadcrumbs from './breadcrumbs.svelte'; import Header from './header.svelte'; -import { error } from '@sveltejs/kit'; export const load: LayoutLoad = async ({ params, depends }) => { depends(Dependencies.DATABASE); diff --git a/src/routes/console/project-[project]/databases/database-[database]/[[page]]/+page.svelte b/src/routes/console/project-[project]/databases/database-[database]/[[page]]/+page.svelte index 7a33759a6..a4636dfa1 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/[[page]]/+page.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/[[page]]/+page.svelte @@ -1,38 +1,28 @@
Collections - @@ -43,7 +33,7 @@ event="collection" total={data.collections.total} offset={$offset} - on:click={() => (showCreate = true)}> + on:click={() => ($showCreate = true)}> {#each data.collections.collections as collection} @@ -76,8 +66,6 @@ single href="https://appwrite.io/docs/databases#collection" target="collection" - on:click={() => (showCreate = true)} /> + on:click={() => ($showCreate = true)} /> {/if} - - diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+layout.ts b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+layout.ts index 7f69c29ff..93d275019 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+layout.ts +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/+layout.ts @@ -4,6 +4,8 @@ import type { LayoutLoad } from './$types'; import Breadcrumbs from './breadcrumbs.svelte'; import Header from './header.svelte'; import { error } from '@sveltejs/kit'; +import SubNavigation from './subNavigation.svelte'; +import { Query } from '@aw-labs/appwrite-console'; export const load: LayoutLoad = async ({ params, depends }) => { depends(Dependencies.COLLECTION); @@ -14,7 +16,11 @@ export const load: LayoutLoad = async ({ params, depends }) => { collection: await sdk.forProject.databases.getCollection( params.database, params.collection - ) + ), + subNavigation: SubNavigation, + allCollections: await sdk.forProject.databases.listCollections(params.database, [ + Query.orderDesc('$createdAt') + ]) }; } catch (e) { throw error(e.code, e.message); 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 index 2965b7e45..ed39eaf71 100644 --- 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 @@ -6,11 +6,11 @@ import { Cover, CoverTitle } from '$lib/layout'; import { collection } from './store'; - const projectId = $page.params.project; - const databaseId = $page.params.database; - const collectionId = $page.params.collection; - const path = `/console/project-${projectId}/databases/database-${databaseId}/collection-${collectionId}`; - const tabs = [ + $: projectId = $page.params.project; + $: databaseId = $page.params.database; + $: collectionId = $page.params.collection; + $: path = `/console/project-${projectId}/databases/database-${databaseId}/collection-${collectionId}`; + $: tabs = [ { href: path, title: 'Documents', diff --git a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/createIndex.svelte b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/createIndex.svelte index c1c21e6d1..5528ddee2 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/createIndex.svelte +++ b/src/routes/console/project-[project]/databases/database-[database]/collection-[collection]/indexes/createIndex.svelte @@ -133,6 +133,7 @@
+ {#if data?.allCollections?.total} +
    + {#each sortedCollections as collection} + {@const href = `${base}/console/project-${project}/databases/database-${databaseId}/collection-${collection.$id}/documents`} + {@const isSelected = collectionId === collection.$id} +
  • + + {collection.name} + +
  • + {/each} +
+ {/if} + diff --git a/src/routes/console/project-[project]/databases/database-[database]/create.svelte b/src/routes/console/project-[project]/databases/database-[database]/createCollection.svelte similarity index 100% rename from src/routes/console/project-[project]/databases/database-[database]/create.svelte rename to src/routes/console/project-[project]/databases/database-[database]/createCollection.svelte diff --git a/src/routes/console/project-[project]/databases/database-[database]/store.ts b/src/routes/console/project-[project]/databases/database-[database]/store.ts index 37fc82784..eb072c653 100644 --- a/src/routes/console/project-[project]/databases/database-[database]/store.ts +++ b/src/routes/console/project-[project]/databases/database-[database]/store.ts @@ -1,5 +1,6 @@ -import { derived } from 'svelte/store'; import { page } from '$app/stores'; import type { Models } from '@aw-labs/appwrite-console'; +import { derived, writable } from 'svelte/store'; export const database = derived(page, ($page) => $page.data.database as Models.Database); +export const showCreate = writable(false);