Priority/frontend/src/routes/surfers/+page.svelte

96 lines
2 KiB
Svelte
Raw Normal View History

2023-12-26 22:00:53 +00:00
<script>
2023-12-30 15:36:11 +00:00
import { onMount } from 'svelte';
2023-12-29 12:07:49 +00:00
import Header from '$lib/header-setup.svelte';
import Button from '$lib/button.svelte';
import Select from '$lib/select.svelte';
import Input from '$lib/input.svelte';
import { categories } from '$lib/stores/categories.js';
2023-12-26 22:00:53 +00:00
2023-12-30 10:39:53 +00:00
$: surfers = [];
2023-12-30 15:36:11 +00:00
let surfer = {};
2023-12-26 22:00:53 +00:00
2023-12-29 12:07:49 +00:00
$: value = '';
2023-12-26 22:00:53 +00:00
2023-12-30 15:36:11 +00:00
function resetSurfer() {
surfer = {
firstname: '',
lastname: '',
2023-12-30 19:25:11 +00:00
name: '',
2023-12-30 15:36:11 +00:00
category: ''
};
}
2023-12-30 10:39:53 +00:00
async function loadSurfers() {
const res = await fetch(`/api/loadsurfers`);
const data = await res.json();
for (let i in data) {
2023-12-30 19:25:11 +00:00
const flname = data[i].name.split(" ");
data[i].firstname = flname[0];
data[i].lastname = flname[1];
2023-12-30 10:39:53 +00:00
surfers[i] = data[i];
2023-12-30 19:25:11 +00:00
2023-12-30 10:39:53 +00:00
console.log(`${i} retval: ${JSON.stringify(data[i])}`);
}
}
2023-12-30 15:36:11 +00:00
async function save() {
if (surfer.firstname === '') {
alert('Must have a name');
return;
}
2023-12-30 10:39:53 +00:00
2023-12-30 15:36:11 +00:00
if (surfer.lastname === '') {
alert('Must have a name');
return;
}
if (surfer.category === '') {
alert('Must have a category');
return;
}
2023-12-30 19:25:11 +00:00
surfer.name = `${surfer.firstname} ${surfer.lastname}`
2023-12-30 15:36:11 +00:00
const res = await fetch(`/api/savesurfer`, {
method: 'POST',
body: JSON.stringify(surfer),
headers: {
'Content-Type': 'application/json'
}
});
console.log(`retval: ${JSON.stringify(res)}`);
console.log(JSON.stringify(surfer));
resetSurfer();
loadSurfers();
2023-12-30 10:39:53 +00:00
}
2023-12-30 15:36:11 +00:00
onMount(() => {
resetSurfer();
loadSurfers();
});
2023-12-26 22:50:38 +00:00
</script>
<Header title="Surfer Edit" />
<div class="form">
2023-12-29 12:07:49 +00:00
<Input label="Firstame" id="firstname" bind:value={surfer.firstname} />
<Input label="Lastname" id="lastname" bind:value={surfer.lastname} />
<Select label="category" id="category" options={$categories} bind:value={surfer.category} />
</div>
2023-12-30 15:36:11 +00:00
<Button handleClick={save} label="SAVE"></Button>
<Button handleClick={resetSurfer} label="Reset"></Button>
2023-12-29 12:07:49 +00:00
<hr />
<label for="surfer">{JSON.stringify(surfer)}</label>
2023-12-30 10:39:53 +00:00
<hr />
{#each surfers as s}
2023-12-30 15:36:11 +00:00
<label for={s}>{s.firstname} {s.lastname} - {s.category}</label><br />
2023-12-30 10:39:53 +00:00
{/each}}