Files
website/src/app/admin/strikeReasons/SidebarActions.svelte
bytedream 55c0852b7e
All checks were successful
deploy / build-and-deploy (push) Successful in 16s
rewrite website
2025-10-13 18:09:48 +02:00

37 lines
1.0 KiB
Svelte

<script>
import Icon from '@iconify/svelte';
import CrudPopup from '@components/admin/popup/CrudPopup.svelte';
import { addStrikeReason, fetchStrikeReasons } from '@app/admin/strikeReasons/strikeReasons.js';
// states
let createPopupOpen = $state(false);
// lifecycle
$effect(() => {
fetchStrikeReasons();
});
</script>
<div>
<button class="btn btn-soft w-full" onclick={() => (createPopupOpen = true)}>
<Icon icon="heroicons:plus-16-solid" />
<span>Neuer Strikegrund</span>
</button>
</div>
<CrudPopup
texts={{
title: 'Strikegrund erstellen',
submitButtonTitle: 'Erstellen',
confirmPopupTitle: 'Strikegrund erstellen?',
confirmPopupMessage: 'Soll der Strikegrund erstellt werden?'
}}
target={null}
keys={[
[{ key: 'name', type: 'text', label: 'Name', options: { required: true, dynamicWidth: true } }],
[{ key: 'weight', type: 'number', label: 'Gewichtung', options: { required: true, dynamicWidth: true } }]
]}
onSubmit={addStrikeReason}
bind:open={createPopupOpen}
/>