diff --git a/package.json b/package.json index 414069727..2b87c7c24 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "diff": "^5.1.0", "idb-keyval": "^6.2.0", "mm-jsr": "^3.0.2", + "nanoid": "^4.0.0", "tauri-plugin-fs-watch-api": "github:tauri-apps/tauri-plugin-fs-watch", "yjs": "^13.5.45" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 50e44ab65..ebc69a342 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,6 +10,7 @@ specifiers: diff: ^5.1.0 idb-keyval: ^6.2.0 mm-jsr: ^3.0.2 + nanoid: ^4.0.0 postcss: ^8.4.14 postcss-load-config: ^4.0.1 svelte: ^3.54.0 @@ -27,6 +28,7 @@ dependencies: diff: 5.1.0 idb-keyval: 6.2.0 mm-jsr: 3.0.2 + nanoid: 4.0.0 tauri-plugin-fs-watch-api: github.com/tauri-apps/tauri-plugin-fs-watch/7d63ad9dfd72ae6c2bb05c148f344adb0521ec3a yjs: 13.5.45 @@ -948,6 +950,12 @@ packages: hasBin: true dev: true + /nanoid/4.0.0: + resolution: {integrity: sha512-IgBP8piMxe/gf73RTQx7hmnhwz0aaEXYakvqZyE302IXW3HyVNhdNGC+O2MwMAVhLEnvXlvKtGbtJf6wvHihCg==} + engines: {node: ^14 || ^16 || >=18} + hasBin: true + dev: false + /node-releases/2.0.9: resolution: {integrity: sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==} dev: true diff --git a/src/lib/projects.ts b/src/lib/projects.ts index f99326a88..b167ffbb6 100644 --- a/src/lib/projects.ts +++ b/src/lib/projects.ts @@ -3,6 +3,7 @@ import { writable } from "svelte/store"; export type Project = { id: string; + title: string; path: string; }; diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 57f1ec486..abdf39942 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -1,8 +1,60 @@ - -
-
+
+ +
+ +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index f8d634cc7..7b1ee2dc8 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,108 +1 @@ - - -
- - -
- - +overview page diff --git a/src/routes/projects/[id]/+page.svelte b/src/routes/projects/[id]/+page.svelte new file mode 100644 index 000000000..8a2c77f59 --- /dev/null +++ b/src/routes/projects/[id]/+page.svelte @@ -0,0 +1,92 @@ + + + diff --git a/src/routes/projects/[id]/+page.ts b/src/routes/projects/[id]/+page.ts new file mode 100644 index 000000000..23711a89d --- /dev/null +++ b/src/routes/projects/[id]/+page.ts @@ -0,0 +1,11 @@ +import { derived } from "svelte/store"; +import type { PageLoad } from "./$types"; + +export const load: PageLoad = async ({ parent, params }) => { + const { projects } = await parent(); + return { + project: derived(projects, (projects) => + projects.find((project) => project.id === params.id) + ), + }; +};