diff --git a/frontend/eslint.config.js b/frontend/eslint.config.js index da76ca7..30448e4 100644 --- a/frontend/eslint.config.js +++ b/frontend/eslint.config.js @@ -29,6 +29,12 @@ export default defineConfig( 'no-undef': 'off' } }, + { + // Generated shadcn components take href as a prop and cannot resolve it — + // that is the caller's job. Editing them here would be lost on regeneration. + files: ['src/lib/components/ui/**'], + rules: { 'svelte/no-navigation-without-resolve': 'off' } + }, { files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'], languageOptions: { diff --git a/frontend/src/lib/components/forms/books-upload.svelte b/frontend/src/lib/components/forms/books-upload.svelte index a27375e..b68f935 100644 --- a/frontend/src/lib/components/forms/books-upload.svelte +++ b/frontend/src/lib/components/forms/books-upload.svelte @@ -1,4 +1,5 @@ @@ -88,8 +92,10 @@ } // Update library book count - const count = uploadBooks.result.total - libraryState.libraries.find(lib => uploadBooks.fields.library_id.value() == lib.id.toString())!.total += count + const count = uploadBooks.result.total; + libraryState.libraries.find( + (lib) => uploadBooks.fields.library_id.value() == lib.id.toString() + )!.total += count; // Reset the files field uploadBooks.fields.files.set([]); diff --git a/frontend/src/lib/components/layout/app-sidebar.svelte b/frontend/src/lib/components/layout/app-sidebar.svelte index 096e989..4c16f19 100644 --- a/frontend/src/lib/components/layout/app-sidebar.svelte +++ b/frontend/src/lib/components/layout/app-sidebar.svelte @@ -1,4 +1,5 @@ @@ -40,6 +41,8 @@ --> {#snippet child({ props })} + + {header.title} diff --git a/frontend/src/lib/components/layout/nav-main.svelte b/frontend/src/lib/components/layout/nav-main.svelte index 71e101e..cd6098a 100644 --- a/frontend/src/lib/components/layout/nav-main.svelte +++ b/frontend/src/lib/components/layout/nav-main.svelte @@ -1,118 +1,137 @@ {#snippet shelvesTrigger(item: { title: string; icon: typeof House })} - - {item.title} - + + {item.title} + {/snippet} - - {#each items as item (item.title)} - {@const url = item.path(libraryState.activeLibrary?.id)} - {@const isActive = page.url.pathname === url} - {#if 'shelves' in item} - - {#snippet child({ props })} - - {#if sidebar.state === 'collapsed'} - - { - sidebar.setOpen(true); - shelvesOpen = true; - }} - > - {@render shelvesTrigger(item)} - - {:else} - - {#snippet child({ props })} - - {@render shelvesTrigger(item)} - - {/snippet} - - {/if} - - - {#each bookshelfState.getBookshelves(libraryState.activeLibrary!.id) ?? [] as shelf (shelf.id)} - - - {#snippet child({ props })} - - - {shelf.total} - - {shelf.title} - - - - {/snippet} - - - {/each} - - - - {/snippet} - - {:else} - - - {#snippet child({ props })} - - {#if item.icon} - - {/if} - {item.title} - - {/snippet} - - - {/if} - {/each} - - \ No newline at end of file + { + sidebar.setOpen(true); + shelvesOpen = true; + }} + > + {@render shelvesTrigger(item)} + + {:else} + + {#snippet child({ props })} + + {@render shelvesTrigger(item)} + + {/snippet} + + {/if} + + + {#each bookshelfState.getBookshelves(libraryState.activeLibrary!.id) ?? [] as shelf (shelf.id)} + + + {#snippet child({ props })} + + + {shelf.total} + + {shelf.title} + + {/snippet} + + + {/each} + + + + {/snippet} + + {:else} + + + {#snippet child({ props })} + + + + {#if item.icon} + + {/if} + {item.title} + + {/snippet} + + + {/if} + {/each} + + diff --git a/frontend/src/lib/components/layout/nav-user.svelte b/frontend/src/lib/components/layout/nav-user.svelte index c1ec24f..4a35a5f 100644 --- a/frontend/src/lib/components/layout/nav-user.svelte +++ b/frontend/src/lib/components/layout/nav-user.svelte @@ -1,4 +1,5 @@ + import { resolve } from '$app/paths'; import { page } from '$app/state'; import { Button, buttonVariants } from '$lib/components/ui/button/index.js'; import { Spinner } from '$lib/components/ui/spinner/index'; @@ -55,7 +56,7 @@
@@ -76,7 +77,10 @@ Try again - + Back to book diff --git a/frontend/src/routes/(root)/settings/+layout.svelte b/frontend/src/routes/(root)/settings/+layout.svelte index 1845d51..a87b0db 100644 --- a/frontend/src/routes/(root)/settings/+layout.svelte +++ b/frontend/src/routes/(root)/settings/+layout.svelte @@ -1,25 +1,19 @@
@@ -28,8 +22,9 @@