diff --git a/src/lib/components/ItemForm.svelte b/src/lib/components/ItemForm.svelte index b346d03..fa96e57 100644 --- a/src/lib/components/ItemForm.svelte +++ b/src/lib/components/ItemForm.svelte @@ -73,7 +73,7 @@ } -
+ { e.preventDefault(); handleSubmit(); }} class="space-y-4 p-4">
diff --git a/src/lib/components/LocationTree.svelte b/src/lib/components/LocationTree.svelte index 8b3fe99..d88866d 100644 --- a/src/lib/components/LocationTree.svelte +++ b/src/lib/components/LocationTree.svelte @@ -55,7 +55,7 @@ {#if hasChildren(location.id)} + +
+ + {:else} + + {/if} + {:else} +
+

Check In

+
+ + +
+ +
+ {/if} + + +
+ + {#if !confirmDelete} + + {:else} + + {/if} +
+ + +
+

{item.barcodeUri}

+
+ +{/if} diff --git a/src/routes/items/new/+page.svelte b/src/routes/items/new/+page.svelte index 9764867..26da338 100644 --- a/src/routes/items/new/+page.svelte +++ b/src/routes/items/new/+page.svelte @@ -1,7 +1,50 @@

New Item

-

Add a new item to your inventory.

+ goto('/items')} />
diff --git a/src/routes/labels/+page.svelte b/src/routes/labels/+page.svelte index aef585f..e0752c6 100644 --- a/src/routes/labels/+page.svelte +++ b/src/routes/labels/+page.svelte @@ -1,7 +1,134 @@ -
-

Labels

-

Generate and print barcode label sheets.

+
+

Labels

+ + {#if error} +
+ {error} +
+ {/if} + + +
+
+
{unassigned.length}
+
Available IDs
+
+
+
{inventory.items.length}
+
Assigned Items
+
+
+ + +
+

Generate ID Batch

+

+ Pre-generate IDs for label printing. IDs can be assigned to items later when scanned. +

+
+
+ + +
+ +
+
+ + +
+

Print Label Sheet

+

+ Generate a PDF with QR code stickers for all unassigned IDs ({unassigned.length} labels). +

+ +
+ + + {#if unassigned.length > 0} +
+

Unassigned IDs

+
+ {#each unassigned as entry} + {entry.id} + {/each} +
+
+ {/if}
diff --git a/src/routes/locations/+page.svelte b/src/routes/locations/+page.svelte index 2f60ed3..d00662f 100644 --- a/src/routes/locations/+page.svelte +++ b/src/routes/locations/+page.svelte @@ -1,7 +1,54 @@ -
-

Places

-

Manage your locations and rooms.

+
+

Places

+ +
+ +
+ +
+ + + {#if selectedLocation} +
+
+

{selectedLocation.name}

+ {itemsAtLocation.length} items +
+ + {#if selectedLocation.description} +

{selectedLocation.description}

+ {/if} + +
+ {#each itemsAtLocation as item} + goto(`/items/${item.shortId}`)} /> + {:else} +

No items here

+ {/each} +
+
+ {:else} +
+ Select a location to view items +
+ {/if} +
diff --git a/src/routes/scan/+page.svelte b/src/routes/scan/+page.svelte index 90f3016..ed84c99 100644 --- a/src/routes/scan/+page.svelte +++ b/src/routes/scan/+page.svelte @@ -1,7 +1,192 @@ -
-

Scan

-

Scan a barcode to look up or check in/out an item.

+
+

Scan

+ + {#if !scannedItem} + + + {#if scanError} +
+

{scanError}

+ + Create New Item + +
+ {/if} + {:else} + +
+ goto(`/items/${scannedItem!.shortId}`)} /> + + {#if scannedItem.custodyState === 'checked-in'} + + {#if !showCheckOut} +
+ + +
+ {:else} +
+

Check Out

+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+
+ {/if} + {:else} + +
+

Check In

+

+ Currently {scannedItem.checkedOutReason ?? 'out'} + {#if scannedItem.checkedOutFrom} + from {inventory.locations.find((l) => l.id === scannedItem!.checkedOutFrom)?.name ?? scannedItem.checkedOutFrom} + {/if} +

+ +
+ + +
+ +
+ + +
+
+ {/if} +
+ {/if}
diff --git a/src/routes/settings/+page.svelte b/src/routes/settings/+page.svelte index 51a0e87..a3033ab 100644 --- a/src/routes/settings/+page.svelte +++ b/src/routes/settings/+page.svelte @@ -1,7 +1,42 @@ -
-

Settings

-

App configuration and sync settings.

+
+

Settings

+ + +
+

Database

+
+ Items + {itemCount} +
+
+ Locations + {locationCount} +
+
+ + +
+

Sync

+

+ Automerge CRDT sync and Solid Pod integration will be available in a future update. +

+
+ + +
+

About

+

+ SolidHaus v0.1.0 — Local-first household inventory +

+

+ Data is stored locally in IndexedDB. No data leaves your device. +

+