From b63110c72eb7b8853e7e38ee6d3fb4c942e311d5 Mon Sep 17 00:00:00 2001 From: pdamianik <39028343+pdamianik@users.noreply.github.com> Date: Fri, 22 Mar 2024 11:34:02 +0100 Subject: [PATCH 01/15] fix: cannot switch route from index Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com> --- app/src/routes/+page.svelte | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/app/src/routes/+page.svelte b/app/src/routes/+page.svelte index 7ec3628..24f4564 100644 --- a/app/src/routes/+page.svelte +++ b/app/src/routes/+page.svelte @@ -14,7 +14,9 @@ onMount(() => { return () => { cancel_changes.forEach((cancel) => { - cancel(); + if (cancel) { + cancel(); + } }); }; }); From b346b6234497c8fcaec9598e7c381fefd4e60ab1 Mon Sep 17 00:00:00 2001 From: jproksch Date: Fri, 15 Mar 2024 11:29:46 +0100 Subject: [PATCH 02/15] =?UTF-8?q?feat:=20Eingabefeld=20f=C3=BCr=20Synchron?= =?UTF-8?q?isation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/routes/settings/+page.svelte | 34 +++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/app/src/routes/settings/+page.svelte b/app/src/routes/settings/+page.svelte index abc22d1..62edd17 100644 --- a/app/src/routes/settings/+page.svelte +++ b/app/src/routes/settings/+page.svelte @@ -1,3 +1,35 @@ + + - Settings - G'schäft'lhaberer + Settings - G'schäft'lhaberer + + +
+
+ + isValidLink = validateLink(link)} + placeholder="https://example.com" + invalid={!isValidLink && link !== ''} + aria-label="Link eingeben" + class={isValidLink ? 'valid-input' : link !== '' ? 'invalid-input' : ''} + /> + + +
+
From 05901a86889213ab45452591afbf42e0ea266686 Mon Sep 17 00:00:00 2001 From: jproksch Date: Fri, 22 Mar 2024 10:12:25 +0100 Subject: [PATCH 03/15] Synch PouchDB to remote CouchDB --- app/src/routes/settings/+page.svelte | 24 ++++++++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/app/src/routes/settings/+page.svelte b/app/src/routes/settings/+page.svelte index 62edd17..8a178d6 100644 --- a/app/src/routes/settings/+page.svelte +++ b/app/src/routes/settings/+page.svelte @@ -1,7 +1,9 @@ Settings - G'schäft'lhaberer - -
+
- + isValidLink = validateLink(link)} @@ -28,8 +41,11 @@ class={isValidLink ? 'valid-input' : link !== '' ? 'invalid-input' : ''} /> - + {#if replicationError} +

{replicationError}

+ {/if}
From 2093e87f50e6ffcdf7b439c6d49a634aa00b0d8a Mon Sep 17 00:00:00 2001 From: jproksch Date: Fri, 22 Mar 2024 11:37:20 +0100 Subject: [PATCH 04/15] db synch und Synchhandeling --- app/src/routes/settings/+page.svelte | 54 ++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 15 deletions(-) diff --git a/app/src/routes/settings/+page.svelte b/app/src/routes/settings/+page.svelte index 8a178d6..a4eb324 100644 --- a/app/src/routes/settings/+page.svelte +++ b/app/src/routes/settings/+page.svelte @@ -1,8 +1,8 @@ @@ -30,11 +51,11 @@
-
- + Settings +
+ isValidLink = validateLink(link)} + bind:value={link} placeholder="https://example.com" invalid={!isValidLink && link !== ''} aria-label="Link eingeben" @@ -45,7 +66,10 @@ Bestätigen {#if replicationError} -

{replicationError}

+

{replicationError}

+ {/if} + {#if request_success} +

Einmalige Replikation abgeschlossen. Kontinuierliche Synchronisation gestartet.

{/if}
From 31792269e7551fde67d6d6870147ceaafb84ea0f Mon Sep 17 00:00:00 2001 From: jdoppelhofer Date: Fri, 5 Apr 2024 10:33:55 +0200 Subject: [PATCH 05/15] =?UTF-8?q?F=C3=BCge=20L=C3=B6schfunktion=20f=C3=BCr?= =?UTF-8?q?=20Einkaufslisten=20hinzu=20und=20erstelle=20Button=20zum=20Ers?= =?UTF-8?q?tellen=20einer=20neuen=20Liste?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/lib/components/ProductList.svelte | 30 +++++++++++++++++++- app/src/routes/+page.svelte | 9 ++++++ app/src/routes/createlist/+page.svelte | 4 ++- app/src/routes/listen/+page.svelte | 0 app/src/routes/listen/erstellen/+page.svelte | 0 5 files changed, 41 insertions(+), 2 deletions(-) delete mode 100644 app/src/routes/listen/+page.svelte delete mode 100644 app/src/routes/listen/erstellen/+page.svelte diff --git a/app/src/lib/components/ProductList.svelte b/app/src/lib/components/ProductList.svelte index d7489eb..7c42ca4 100644 --- a/app/src/lib/components/ProductList.svelte +++ b/app/src/lib/components/ProductList.svelte @@ -3,8 +3,36 @@ import { Card, Heading } from 'flowbite-svelte'; export let productlist: ExistingDocument; + + import { db as DB } from '$lib/db'; + import { get } from 'svelte/store'; + + async function deleteList(id: string) { + const db = get(DB); + const list = await db.get(id); + await db.remove(list); + } + + + + - {productlist.name} +
+ {productlist.name} + +
diff --git a/app/src/routes/+page.svelte b/app/src/routes/+page.svelte index a7a0b2f..46c536d 100644 --- a/app/src/routes/+page.svelte +++ b/app/src/routes/+page.svelte @@ -62,4 +62,13 @@ {:catch error} Ein Fehler ist aufgetreten: {error.message} {/await} + + + + + Neue Liste erstellen +
diff --git a/app/src/routes/createlist/+page.svelte b/app/src/routes/createlist/+page.svelte index c3356c0..70bbfef 100644 --- a/app/src/routes/createlist/+page.svelte +++ b/app/src/routes/createlist/+page.svelte @@ -2,6 +2,7 @@ import { db as DB } from '$lib/db'; import { get } from 'svelte/store'; import { Button, Input, Label } from 'flowbite-svelte'; + import { goto } from '$app/navigation'; let name = ''; @@ -14,11 +15,12 @@ version: '' }); name = ''; + goto('/'); } } -
+

Neue Einkaufsliste erstellen

Date: Fri, 5 Apr 2024 10:34:47 +0200 Subject: [PATCH 06/15] =?UTF-8?q?F=C3=BCge=20ListeErstellenForm-Komponente?= =?UTF-8?q?=20hinzu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lib/components/ListeErstellenForm.svelte | 49 ------------------- 1 file changed, 49 deletions(-) delete mode 100644 app/src/lib/components/ListeErstellenForm.svelte diff --git a/app/src/lib/components/ListeErstellenForm.svelte b/app/src/lib/components/ListeErstellenForm.svelte deleted file mode 100644 index 1dc25ab..0000000 --- a/app/src/lib/components/ListeErstellenForm.svelte +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - {#if artikel.length > 0} -
    - {#each artikel as item} -
  • {item.name} - {item.menge} - {item.geschäft}
  • - {/each} -
- {/if} - - -
From a3bf1fb5afaeade3adb4f85a8efd72a60c90c21d Mon Sep 17 00:00:00 2001 From: pdamianik <39028343+pdamianik@users.noreply.github.com> Date: Thu, 11 Apr 2024 13:20:11 +0200 Subject: [PATCH 07/15] Add product view Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com> --- app/src/lib/components/Product.svelte | 13 ++++++ app/src/lib/db.ts | 9 +++- app/src/routes/+page.svelte | 6 +-- app/src/routes/items/[id]/+page.svelte | 64 ++++++++++++++++++++++++++ app/src/routes/items/[id]/+page.ts | 30 ++++++++++++ 5 files changed, 117 insertions(+), 5 deletions(-) create mode 100644 app/src/lib/components/Product.svelte create mode 100644 app/src/routes/items/[id]/+page.svelte create mode 100644 app/src/routes/items/[id]/+page.ts diff --git a/app/src/lib/components/Product.svelte b/app/src/lib/components/Product.svelte new file mode 100644 index 0000000..c54c940 --- /dev/null +++ b/app/src/lib/components/Product.svelte @@ -0,0 +1,13 @@ + + + + {product.name} + {product.count}Stück + diff --git a/app/src/lib/db.ts b/app/src/lib/db.ts index 30e79c6..05bb489 100644 --- a/app/src/lib/db.ts +++ b/app/src/lib/db.ts @@ -20,4 +20,11 @@ export interface ProductList { name: string; } -export const db = writable(new PouchDB('shopping')); +export interface Product { + type: 'product'; + list: string; + name: string; + count: number; +} + +export const db = writable(new PouchDB('shopping')); diff --git a/app/src/routes/+page.svelte b/app/src/routes/+page.svelte index a7a0b2f..2ce48f1 100644 --- a/app/src/routes/+page.svelte +++ b/app/src/routes/+page.svelte @@ -10,7 +10,7 @@ export let lists: ExistingDocument[] = []; data.lists.then((result) => { - lists = result.docs; + lists = result.docs as never[] | ExistingDocument[]; if (browser) { $db .changes({ @@ -18,17 +18,15 @@ live: true, include_docs: true, filter: (doc) => { - console.log(doc); return doc.type === 'list' || doc._deleted; } }) .on('change', (change) => { - console.log('change', change); if (change.deleted) { lists = lists.filter((list) => list._id !== change.id); } else { const index = lists.findIndex((list) => list._id === change.id); - if (change.doc) { + if (change.doc && change.doc.type === 'list') { if (index === -1) { lists = [...lists, change.doc]; } else { diff --git a/app/src/routes/items/[id]/+page.svelte b/app/src/routes/items/[id]/+page.svelte new file mode 100644 index 0000000..55963fa --- /dev/null +++ b/app/src/routes/items/[id]/+page.svelte @@ -0,0 +1,64 @@ + + + + G'schäft'lhaberer + + +G'schäft'lHaberer + +
+ {#await data.products} + + {:then} + {#each products as product} + + {:else} +

Keine Produkte vorhanden

+ {/each} + {:catch error} + Ein Fehler ist aufgetreten: {error.message} + {/await} +
diff --git a/app/src/routes/items/[id]/+page.ts b/app/src/routes/items/[id]/+page.ts new file mode 100644 index 0000000..bbf75b3 --- /dev/null +++ b/app/src/routes/items/[id]/+page.ts @@ -0,0 +1,30 @@ +import { browser } from '$app/environment'; +import { db as DB } from '$lib/db'; +import { get } from 'svelte/store'; +import type { PageLoad } from './$types'; + +export const load: PageLoad = async ({ params: { id } }) => { + if (!browser) { + return { + products: Promise.resolve({ docs: [] }) + }; + } + + const db = get(DB); + const products = db + .createIndex({ + index: { fields: ['type', 'list'] } + }) + .then(async () => { + const query = { + selector: { + type: 'product', + list: id + } + }; + return await db.find(query); + }); + return { + products + }; +}; From 739e93e0751810cd4f75e1ec890dd2331139edab Mon Sep 17 00:00:00 2001 From: jdoppelhofer Date: Thu, 11 Apr 2024 13:45:42 +0200 Subject: [PATCH 08/15] =?UTF-8?q?F=C3=BCge=20L=C3=B6schfunktion=20f=C3=BCr?= =?UTF-8?q?=20Produkte=20hinzu=20und=20erstelle=20Button=20zum=20L=C3=B6sc?= =?UTF-8?q?hen=20eines=20Produkts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/lib/components/Product.svelte | 36 ++++++++++++++++--- app/src/routes/items/[id]/+page.svelte | 49 ++++++++++++++++++++++++++ app/src/routes/items/[id]/+page.ts | 6 ++-- 3 files changed, 84 insertions(+), 7 deletions(-) diff --git a/app/src/lib/components/Product.svelte b/app/src/lib/components/Product.svelte index c54c940..05f8c20 100644 --- a/app/src/lib/components/Product.svelte +++ b/app/src/lib/components/Product.svelte @@ -1,13 +1,39 @@ - {product.name} - {product.count}Stück +
+ {product.name} +
+
+ {product.count} + Stück +
+
diff --git a/app/src/routes/items/[id]/+page.svelte b/app/src/routes/items/[id]/+page.svelte index 55963fa..e7a8373 100644 --- a/app/src/routes/items/[id]/+page.svelte +++ b/app/src/routes/items/[id]/+page.svelte @@ -41,6 +41,31 @@ } return result; }); + + import { db as DB } from '$lib/db'; + import { get } from 'svelte/store'; + import { Button, Card, Input } from 'flowbite-svelte'; + + let showPopup = false; + let productName = ''; + let productCount = 1; + + async function createProduct() { + if (productName.trim() !== '') { + console.log(`Produkt erstellt: ${productName}`); + const db = get(DB); + await db.put({ + _id: `${data.id}:${productName}`, + type: 'product', + list: data.id, + name: productName, + count: productCount + }); + productName = ''; + productCount = 1; + showPopup = false; + } + } @@ -62,3 +87,27 @@ Ein Fehler ist aufgetreten: {error.message} {/await}
+ +
+ +
+ +{#if showPopup} +
+ +

Produkt erstellen

+ + +
+ + +
+
+
+{/if} diff --git a/app/src/routes/items/[id]/+page.ts b/app/src/routes/items/[id]/+page.ts index bbf75b3..979fb47 100644 --- a/app/src/routes/items/[id]/+page.ts +++ b/app/src/routes/items/[id]/+page.ts @@ -6,7 +6,8 @@ import type { PageLoad } from './$types'; export const load: PageLoad = async ({ params: { id } }) => { if (!browser) { return { - products: Promise.resolve({ docs: [] }) + products: Promise.resolve({ docs: [] }), + id }; } @@ -25,6 +26,7 @@ export const load: PageLoad = async ({ params: { id } }) => { return await db.find(query); }); return { - products + products, + id }; }; From b1d870649cb9f1eca3f5bdc1b91350eada6fde07 Mon Sep 17 00:00:00 2001 From: jdoppelhofer Date: Thu, 11 Apr 2024 14:21:25 +0200 Subject: [PATCH 09/15] =?UTF-8?q?F=C3=BCge=20onMount-Import=20hinzu=20in?= =?UTF-8?q?=20+page.svelte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/routes/+page.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/app/src/routes/+page.svelte b/app/src/routes/+page.svelte index ea45076..c1adf08 100644 --- a/app/src/routes/+page.svelte +++ b/app/src/routes/+page.svelte @@ -4,6 +4,7 @@ import { db, type ExistingDocument, type ProductList as PL } from '$lib/db'; import ProductList from '$lib/components/ProductList.svelte'; import { browser } from '$app/environment'; + import { onMount } from 'svelte'; export let data: PageData; From 5bb19c5493f084782336217c670a46e41bfd22b5 Mon Sep 17 00:00:00 2001 From: jdoppelhofer Date: Thu, 11 Apr 2024 14:24:44 +0200 Subject: [PATCH 10/15] =?UTF-8?q?F=C3=BCge=20Link-Synchronisierungsfunktio?= =?UTF-8?q?n=20hinzu=20in=20+page.svelte?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/routes/settings/+page.svelte | 127 ++++++++++++++------------- 1 file changed, 66 insertions(+), 61 deletions(-) diff --git a/app/src/routes/settings/+page.svelte b/app/src/routes/settings/+page.svelte index a4eb324..d8db0b5 100644 --- a/app/src/routes/settings/+page.svelte +++ b/app/src/routes/settings/+page.svelte @@ -1,75 +1,80 @@ - Settings - G'schäft'lhaberer + Settings - G'schäft'lhaberer
- Settings -
- - - - - {#if replicationError} -

{replicationError}

- {/if} - {#if request_success} -

Einmalige Replikation abgeschlossen. Kontinuierliche Synchronisation gestartet.

- {/if} -
+ Settings +
+ + + + {#if storedLink} +
+

Gespeicherter Link: {storedLink}

+ +
+ {/if} +
From e01f381350eb283f4661d1be2ee82f23fadc2a6a Mon Sep 17 00:00:00 2001 From: pdamianik <39028343+pdamianik@users.noreply.github.com> Date: Fri, 12 Apr 2024 09:24:48 +0200 Subject: [PATCH 11/15] Fix list creation Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com> --- app/package.json | 6 ++- app/pnpm-lock.yaml | 17 ++++++++ app/src/lib/components/ListenItem.svelte | 15 ------- app/src/lib/components/ProductList.svelte | 46 +++++++++++++-------- app/src/lib/index.ts | 1 + app/src/routes/+page.svelte | 50 ++++++++++++++++++++--- app/src/routes/createlist/+page.svelte | 37 ----------------- 7 files changed, 95 insertions(+), 77 deletions(-) delete mode 100644 app/src/lib/components/ListenItem.svelte delete mode 100644 app/src/routes/createlist/+page.svelte diff --git a/app/package.json b/app/package.json index 616a6f1..4af4732 100644 --- a/app/package.json +++ b/app/package.json @@ -51,5 +51,9 @@ "vitest": "^1.2.0", "yaml": "^2.4.1" }, - "type": "module" + "type": "module", + "dependencies": { + "@types/speakingurl": "^13.0.6", + "speakingurl": "^14.0.1" + } } diff --git a/app/pnpm-lock.yaml b/app/pnpm-lock.yaml index 6df9455..db7fc4b 100644 --- a/app/pnpm-lock.yaml +++ b/app/pnpm-lock.yaml @@ -4,6 +4,14 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false +dependencies: + '@types/speakingurl': + specifier: ^13.0.6 + version: 13.0.6 + speakingurl: + specifier: ^14.0.1 + version: 14.0.1 + devDependencies: '@iconify-json/flowbite': specifier: ^1.1.2 @@ -904,6 +912,10 @@ packages: resolution: {integrity: sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==} dev: true + /@types/speakingurl@13.0.6: + resolution: {integrity: sha512-ywkRHNHBwq0mFs/2HRgW6TEBAzH66G8f2Txzh1aGR0UC9ZoAUHfHxLZGDhwMpck4BpSnB61eNFIFmlV+TJ+KUA==} + dev: false + /@typescript-eslint/eslint-plugin@7.0.2(@typescript-eslint/parser@7.0.2)(eslint@8.56.0)(typescript@5.3.3): resolution: {integrity: sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==} engines: {node: ^16.0.0 || >=18.0.0} @@ -3205,6 +3217,11 @@ packages: resolution: {integrity: sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw==} dev: true + /speakingurl@14.0.1: + resolution: {integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==} + engines: {node: '>=0.10.0'} + dev: false + /stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} dev: true diff --git a/app/src/lib/components/ListenItem.svelte b/app/src/lib/components/ListenItem.svelte deleted file mode 100644 index 77b23c0..0000000 --- a/app/src/lib/components/ListenItem.svelte +++ /dev/null @@ -1,15 +0,0 @@ - - -
-

{liste.titel}

-
    - {#each liste.artikel as artikel} -
  • {artikel.name} ({artikel.menge}) - {artikel.geschäft}
  • - {/each} -
- // Buttons für Bearbeiten und Löschen hier einfügen -
diff --git a/app/src/lib/components/ProductList.svelte b/app/src/lib/components/ProductList.svelte index 7c42ca4..d8fd2d1 100644 --- a/app/src/lib/components/ProductList.svelte +++ b/app/src/lib/components/ProductList.svelte @@ -1,38 +1,48 @@ - - - + let deleteModal = false; + let deleteModalId = ''; +
{productlist.name} - + +
+ + +
+ +

+ Sicher, dass sie dieses Produkt löschen möchten? +

+ + +
+
diff --git a/app/src/lib/index.ts b/app/src/lib/index.ts index 856f2b6..cfe6c83 100644 --- a/app/src/lib/index.ts +++ b/app/src/lib/index.ts @@ -1 +1,2 @@ // place files you want to import through the `$lib` alias in this folder. +export { default as getSlug } from 'speakingurl'; diff --git a/app/src/routes/+page.svelte b/app/src/routes/+page.svelte index c1adf08..14adb0e 100644 --- a/app/src/routes/+page.svelte +++ b/app/src/routes/+page.svelte @@ -1,10 +1,13 @@ @@ -74,11 +93,30 @@ {/await} - (createModal = true)} + class="mt-5 flex flex-row items-center justify-center gap-2" > - + Neue Liste erstellen - +
+ + +
+ Neue Einkaufsliste erstellen + + + +
+
diff --git a/app/src/routes/createlist/+page.svelte b/app/src/routes/createlist/+page.svelte deleted file mode 100644 index 70bbfef..0000000 --- a/app/src/routes/createlist/+page.svelte +++ /dev/null @@ -1,37 +0,0 @@ - - -
-

Neue Einkaufsliste erstellen

- -
-
- - -
- - -
-
From d0bd1930f5ce1bc29f4dda001843a7e08f81475f Mon Sep 17 00:00:00 2001 From: pdamianik <39028343+pdamianik@users.noreply.github.com> Date: Fri, 12 Apr 2024 10:35:47 +0200 Subject: [PATCH 12/15] Add list creation and deletion tests Signed-off-by: pdamianik <39028343+pdamianik@users.noreply.github.com> --- app/.gitignore | 1 + app/playwright.config.ts | 3 +- app/src/routes/items/[id]/+layout.ts | 2 ++ app/src/routes/settings/+page.svelte | 5 +-- app/tests/create-lists.test.ts | 11 ------ app/tests/lists.test.ts | 51 +++++++++++++++++++++++----- 6 files changed, 51 insertions(+), 22 deletions(-) create mode 100644 app/src/routes/items/[id]/+layout.ts delete mode 100644 app/tests/create-lists.test.ts diff --git a/app/.gitignore b/app/.gitignore index e3471e4..38b6f41 100644 --- a/app/.gitignore +++ b/app/.gitignore @@ -10,3 +10,4 @@ vite.config.js.timestamp-* vite.config.ts.timestamp-* couchdb shopping +test-results diff --git a/app/playwright.config.ts b/app/playwright.config.ts index 3cf8326..94a4675 100644 --- a/app/playwright.config.ts +++ b/app/playwright.config.ts @@ -3,7 +3,8 @@ import type { PlaywrightTestConfig } from '@playwright/test'; const config: PlaywrightTestConfig = { webServer: { command: 'pnpm run build && pnpm run preview', - port: 4173 + port: 4173, + reuseExistingServer: true }, testDir: 'tests', testMatch: /(.+\.)?(test|spec)\.[jt]s/ diff --git a/app/src/routes/items/[id]/+layout.ts b/app/src/routes/items/[id]/+layout.ts new file mode 100644 index 0000000..ae88a27 --- /dev/null +++ b/app/src/routes/items/[id]/+layout.ts @@ -0,0 +1,2 @@ +export const prerender = false; +export const ssr = false; diff --git a/app/src/routes/settings/+page.svelte b/app/src/routes/settings/+page.svelte index d8db0b5..400fabd 100644 --- a/app/src/routes/settings/+page.svelte +++ b/app/src/routes/settings/+page.svelte @@ -1,10 +1,11 @@ - -
- {#each listen as liste} - - {/each} -
diff --git a/app/src/lib/components/Product.svelte b/app/src/lib/components/Product.svelte index 05f8c20..4f47108 100644 --- a/app/src/lib/components/Product.svelte +++ b/app/src/lib/components/Product.svelte @@ -1,8 +1,8 @@