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}}
|