fixed tests and Code edit and delete Name in TatortList
This commit is contained in:
@@ -26,11 +26,12 @@
|
||||
// add other properties as needed
|
||||
}
|
||||
|
||||
// 2) Lokaler, reaktiver State mit $state
|
||||
let crimesList = $state<ListItem[]>(data.crimesList);
|
||||
let vorgangName: string = data.vorgang.vorgangName;
|
||||
let crimesList: ListItem[] = $state(data.crimesList);
|
||||
const vorgangPIN: string = data.vorgang.vorgangPIN;
|
||||
let vorgangToken: string = data.vorgang.vorgangToken;
|
||||
let isEmptyList = $derived(crimesList && crimesList.length === 0);
|
||||
let isEmptyList = $derived(crimesList.length === 0);
|
||||
|
||||
//Variablen für Modal
|
||||
let open = $state(false);
|
||||
@@ -38,11 +39,12 @@
|
||||
let isError = $state(false);
|
||||
|
||||
//Variable um nur admin UI anzuzeigen
|
||||
let admin = data?.user?.admin;
|
||||
let admin = $state(data?.user?.admin);
|
||||
|
||||
async function handleSave(newName: string, oldName: string) {
|
||||
open = true;
|
||||
inProgress = true;
|
||||
isError = false;
|
||||
console.log('debug handleSave', newName, oldName);
|
||||
|
||||
try {
|
||||
@@ -54,20 +56,15 @@
|
||||
body: JSON.stringify({ vorgangToken, oldName, newName })
|
||||
});
|
||||
|
||||
if (res.ok) {
|
||||
inProgress = false;
|
||||
invalidateAll();
|
||||
data.crimesList = newName;
|
||||
open = false;
|
||||
} else {
|
||||
inProgress = false;
|
||||
isError = true;
|
||||
if (!res.ok) {
|
||||
throw new Error('Fehler beim Speichern');
|
||||
}
|
||||
await invalidateAll();
|
||||
open = false;
|
||||
} catch (err) {
|
||||
console.error('⚠️ Netzwerkfehler beim Speichern', err);
|
||||
isError = true;
|
||||
inProgress = false;
|
||||
console.error('⚠️ Netzwerkfehler:', err);
|
||||
} finally {
|
||||
inProgress = false;
|
||||
}
|
||||
}
|
||||
@@ -75,32 +72,31 @@
|
||||
async function handleDelete(tatort: string) {
|
||||
open = true;
|
||||
inProgress = true;
|
||||
let url = new URL(data.url);
|
||||
url.pathname += `/${tatort}`;
|
||||
isError = false;
|
||||
let path = new URL(data.url).pathname;
|
||||
path += `/${tatort}`;
|
||||
|
||||
try {
|
||||
const res = await fetch(`/api${url.pathname}`, {
|
||||
const res = await fetch(`/api${path}`, {
|
||||
method: 'DELETE',
|
||||
headers: {
|
||||
'Content-Type': 'application/json'
|
||||
},
|
||||
body: JSON.stringify({ vorgangToken, tatort })
|
||||
})
|
||||
.then(() => {
|
||||
inProgress = false;
|
||||
console.log('🗑️ Erfolgreich gelöscht:', url.pathname);
|
||||
invalidateAll();
|
||||
crimesList = data.crimesList;
|
||||
})
|
||||
.catch((err) => {
|
||||
isError = true;
|
||||
inProgress = false;
|
||||
console.error('ERROR', err);
|
||||
});
|
||||
});
|
||||
|
||||
if (!res.ok) {
|
||||
throw new Error('Fehler beim Löschen');
|
||||
}
|
||||
crimesList = crimesList.filter((i) => i.name !== tatort);
|
||||
await invalidateAll();
|
||||
console.log('🗑️ Erfolgreich gelöscht:', path);
|
||||
open = false;
|
||||
} catch (err) {
|
||||
console.error('⚠️ Netzwerkfehler beim Speichern', err);
|
||||
isError = true;
|
||||
} finally {
|
||||
inProgress = false;
|
||||
console.error('⚠️ Netzwerkfehler beim Löschen:', err);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -129,7 +125,7 @@ Mit freundlichen Grüßen,
|
||||
}
|
||||
</script>
|
||||
|
||||
{#if data.vorgang && data.crimesList}
|
||||
{#if data.vorgang && crimesList}
|
||||
<div class="-z-10 bg-white">
|
||||
<div class="flex flex-col items-center justify-center w-full">
|
||||
<h1 class="text-xl">Vorgang {vorgangName}</h1>
|
||||
@@ -146,7 +142,7 @@ Mit freundlichen Grüßen,
|
||||
{#if isEmptyList}
|
||||
<EmptyList></EmptyList>
|
||||
{:else}
|
||||
{#each data.crimesList as item}
|
||||
{#each crimesList as item (item.name)}
|
||||
<li data-testid="test-list-item">
|
||||
<div class=" flex gap-x-4">
|
||||
<a
|
||||
@@ -161,7 +157,7 @@ Mit freundlichen Grüßen,
|
||||
<div class="min-w-0 flex-auto">
|
||||
{#if admin}
|
||||
<NameItemEditor
|
||||
list={data.crimesList}
|
||||
list={crimesList}
|
||||
currentName={item.name}
|
||||
onSave={handleSave}
|
||||
onDelete={handleDelete}
|
||||
|
||||
Reference in New Issue
Block a user