diff --git a/bun.lock b/bun.lock index 979b130..b36186e 100644 --- a/bun.lock +++ b/bun.lock @@ -11,7 +11,6 @@ "@dnd-kit/abstract": "^0.2.4", "@dnd-kit/helpers": "^0.2.4", "@tanstack/match-sorter-utils": "^8.19.4", - "@types/semver": "^7.7.1", "@xterm/xterm": "^5.5.0", "@yume-chan/adb": "^2.6.0", "@yume-chan/adb-credential-web": "^2.1.0", @@ -23,7 +22,6 @@ "firebase": "^12.14.0", "idb": "^8.0.3", "mode-watcher": "^1.1.0", - "semver": "^7.8.4", "usb": "^2.17.0", "uuid": "^13.0.0", "xterm-addon-fit": "^0.8.0", @@ -56,7 +54,7 @@ "prettier-plugin-svelte": "^3.5.1", "prettier-plugin-tailwindcss": "^0.7.2", "storybook": "^10.3.5", - "svelte": "^5.56.3", + "svelte": "^5.55.2", "svelte-adapter-bun": "^1.0.1", "svelte-check": "^4.4.6", "svelte-sonner": "^1.1.0", @@ -506,8 +504,6 @@ "@types/resolve": ["@types/resolve@1.20.2", "", {}, "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q=="], - "@types/semver": ["@types/semver@7.7.1", "", {}, "sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA=="], - "@types/trusted-types": ["@types/trusted-types@2.0.7", "", {}, "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw=="], "@types/w3c-web-usb": ["@types/w3c-web-usb@1.0.14", "", {}, "sha512-Qu3Nn6JFuF4+sHKYl+IcX9vYiI40ogleXzFFSxoE1W94rG98o/kXs8uJ0QSfFzuwBCZWlGfUGpPkgwuuX4PchA=="], @@ -838,7 +834,7 @@ "scule": ["scule@1.3.0", "", {}, "sha512-6FtHJEvt+pVMIB9IBY+IcCJ6Z5f1iQnytgyfKMhDKgmzYG+TeH/wx1y3l27rshSbLiSanrR9ffZDrEsmjlQF2g=="], - "semver": ["semver@7.8.5", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA=="], + "semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], "set-cookie-parser": ["set-cookie-parser@3.1.0", "", {}, "sha512-kjnC1DXBHcxaOaOXBHBeRtltsDG2nUiUni+jP92M9gYdW12rsmx92UsfpH7o5tDRs7I1ZZPSQJQGv3UaRfCiuw=="], @@ -866,7 +862,7 @@ "supports-preserve-symlinks-flag": ["supports-preserve-symlinks-flag@1.0.0", "", {}, "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w=="], - "svelte": ["svelte@5.56.4", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.10", "@types/estree": "^1.0.5", "@types/trusted-types": "^2.0.7", "acorn": "^8.12.1", "aria-query": "5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "devalue": "^5.8.1", "esm-env": "^1.2.1", "esrap": "^2.2.12", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-/d0QHehmRuJW8gVz395MTkPcPozxzdjBMBE8oEYGz8O3b9KTMzzQ9ZHJQLuFKOHOPQbU6kx/X4iid/EBBzH7iw=="], + "svelte": ["svelte@5.55.5", "", { "dependencies": { "@jridgewell/remapping": "^2.3.4", "@jridgewell/sourcemap-codec": "^1.5.0", "@sveltejs/acorn-typescript": "^1.0.5", "@types/estree": "^1.0.5", "@types/trusted-types": "^2.0.7", "acorn": "^8.12.1", "aria-query": "5.3.1", "axobject-query": "^4.1.0", "clsx": "^2.1.1", "devalue": "^5.6.4", "esm-env": "^1.2.1", "esrap": "^2.2.4", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", "zimmerframe": "^1.1.2" } }, "sha512-2uCs/LZ9us+AktdzYJM8OcxQ8qnPS1kpaO7syGT/MgO+6Qr1Ybl+TqPq+97u7PHqmmMlye5ZkoyXONy5mjjAbw=="], "svelte-adapter-bun": ["svelte-adapter-bun@1.0.1", "", { "dependencies": { "rolldown": "^1.0.0-beta.38" }, "peerDependencies": { "@sveltejs/kit": "^2.4.0", "typescript": "^5" } }, "sha512-tNOvfm8BGgG+rmEA7hkmqtq07v7zoo4skLQc+hIoQ79J+1fkEMpJEA2RzCIe3aPc8JdrsMJkv3mpiZPMsgahjA=="], @@ -1044,15 +1040,9 @@ "rollup/fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], - "storybook/semver": ["semver@7.7.4", "", { "bin": { "semver": "bin/semver.js" } }, "sha512-vFKC2IEtQnVhpT78h1Yp8wzwrf8CM+MzKMHGJZfBtzhZNycRFnXsHk6E5TxIkkMsgNS7mdX3AGB7x2QM2di4lA=="], - "string-width/strip-ansi": ["strip-ansi@6.0.1", "", { "dependencies": { "ansi-regex": "^5.0.1" } }, "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A=="], - "svelte/@sveltejs/acorn-typescript": ["@sveltejs/acorn-typescript@1.0.10", "", { "peerDependencies": { "acorn": "^8.9.0" } }, "sha512-4WfKk68eTih+MiJD4fSbxN7E8kVBmTMPWHUPYjvl2N0rMs53YLTT8/YjKU5Dtnz5LqDjl7LEw4U7lXR2W3J5WA=="], - - "svelte/devalue": ["devalue@5.8.1", "", {}, "sha512-4CXDYRBGqN+57wVJkuXBYmpAVUSg3L6JAQa/DFqm238G73E1wuyc/JhGQJzN7vUf/CMphYau2zXbfWzDR5aTEw=="], - - "svelte/esrap": ["esrap@2.2.13", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, "peerDependencies": { "@typescript-eslint/types": "^8.2.0" }, "optionalPeers": ["@typescript-eslint/types"] }, "sha512-m8jH5hZgJE2RRUK/jjkGPcJEDAV+dYnZYFkosQaPTcE+Yw4xynXHOo6FUdwaWBtdR3b1MMa7wEDTSHeR2VWsGA=="], + "svelte/esrap": ["esrap@2.2.6", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, "peerDependencies": { "@typescript-eslint/types": "^8.2.0" }, "optionalPeers": ["@typescript-eslint/types"] }, "sha512-WN0clHt0a4mzC780UBVVBpsj4vSSjOFNRd2WjYtduB9HeKxm1sjHMNUwLEHVjI3FdCQD/Hurgz9ftbKEzP79Ow=="], "svelte-ast-print/esrap": ["esrap@1.2.2", "", { "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15", "@types/estree": "^1.0.1" } }, "sha512-F2pSJklxx1BlQIQgooczXCPHmcWpn6EsP5oo73LQfonG9fIlIENQ8vMmfGXeojP9MrkzUNAfyU5vdFlR9shHAw=="], diff --git a/bun.lockb b/bun.lockb index 73c25fe..9851d42 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index 570a1ee..eb20ce4 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "prettier-plugin-svelte": "^3.5.1", "prettier-plugin-tailwindcss": "^0.7.2", "storybook": "^10.3.5", - "svelte": "^5.56.3", + "svelte": "^5.55.2", "svelte-adapter-bun": "^1.0.1", "svelte-check": "^4.4.6", "svelte-sonner": "^1.1.0", @@ -66,7 +66,6 @@ "@dnd-kit/abstract": "^0.2.4", "@dnd-kit/helpers": "^0.2.4", "@tanstack/match-sorter-utils": "^8.19.4", - "@types/semver": "^7.7.1", "@xterm/xterm": "^5.5.0", "@yume-chan/adb": "^2.6.0", "@yume-chan/adb-credential-web": "^2.1.0", @@ -78,7 +77,6 @@ "firebase": "^12.14.0", "idb": "^8.0.3", "mode-watcher": "^1.1.0", - "semver": "^7.8.4", "usb": "^2.17.0", "uuid": "^13.0.0", "xterm-addon-fit": "^0.8.0", diff --git a/src/lib/components/AnnouncementDialog.svelte b/src/lib/components/AnnouncementDialog.svelte deleted file mode 100644 index 691cfca..0000000 --- a/src/lib/components/AnnouncementDialog.svelte +++ /dev/null @@ -1,174 +0,0 @@ - - -{#if visible} - - -
-
- Recipe Source -
-
- - - -
+
+
- - - - Load Recipe From Server - Select a country to load material data from server. - - -
- {#each serverCountries as country} - - {/each} -
- -
- -
-
-
- - - - - Machine Not Connected - - Connect to the machine with ADB/WebUSB before loading recipe data from Machine. - - - -
- -
-
-
-
@@ -1051,60 +499,31 @@ - {isEditingMaterial ? 'Edit Material' : 'Add Material'} + {existingMaterial ? 'Edit Material' : 'Add Material'} - Create or update one MaterialSetting entry. Server-loaded data is read-only until - ADB is connected. + Create or update one MaterialSetting entry. The JSON preview shows the payload + before saving to Android.
- {isEditingMaterial ? 'Edit Material' : 'Add Material'} + {existingMaterial ? 'Edit Material' : 'Add Material'} - {#if duplicateMaterialOnCreate} -
- Material ID {form.id} already exists. Choose another ID before creating. -
- {:else if isEditingMaterial && Number(form.id) !== Number(editingMaterialId) && existingMaterial} -
- Material ID {form.id} already exists. Choose another ID before saving. -
- {:else if isEditingMaterial} + {#if existingMaterial}
- Editing Material ID {editingMaterialId}. + Material ID {form.id} already exists. Saving will update this MaterialSetting.
{/if} -
- - -
-
- -

- Generated from the highest existing ID in this type + 1. -

+
@@ -1127,11 +546,11 @@
- +
@@ -1163,7 +582,23 @@
-
+
+
+ + +
@@ -1183,6 +618,21 @@

+
+
+ + +
+
+ + +
+
+
@@ -1236,18 +686,12 @@
- (showMaterialForm = false)} disabled={saving} + >Cancel -
@@ -1269,46 +713,14 @@ - - - - Select Material Type - - Choose the type for the new material. Material ID will be generated from existing IDs in - that type + 1. - - - -
- {#each selectableMaterialTypeOptions as option} - - {/each} -
- - - - -
-
-
Existing Materials - + + Use Edit to update a material, or Delete to remove it after confirmation. +
- Loading materials... + Loading materials from Android...
{:else if !devRecipe} -
Load recipe first.
+
Connect and load recipe first.
{:else if filteredMaterials.length === 0}
No materials found.
{:else}
- - - - Load Recipe From Server - Select a country to load topping data from server. - - -
- {#each serverCountries as country} - - {/each} -
- -
- -
-
-
- - - - - Machine Not Connected - - Connect to the machine with ADB/WebUSB before loading recipe data from Machine. - - - -
- -
-
-
-
@@ -887,23 +591,23 @@
{activeTab === 'list' ? 'Topping List' : 'Topping Group'} - + + Switch between list items and groups. Edit/Delete actions are explicit per row. +
- +
@@ -911,14 +615,12 @@
{#if activeTab === 'list'} - Add Topping {:else} - Add Group {/if}
@@ -927,19 +629,19 @@ {#if loading}
- Loading toppings... + Loading toppings from Android...
{:else if !devRecipe} -
Load recipe first.
+
Connect and load recipe first.
{:else if activeTab === 'list'} {#if filteredToppingList.length === 0}
No topping list items found.
{:else}