38 lines
1.1 KiB
Svelte
38 lines
1.1 KiB
Svelte
<script lang="ts">
|
|
import Icon from '@iconify/svelte';
|
|
import CrudPopup from '@components/admin/popup/CrudPopup.svelte';
|
|
import { fetchBlockedUsers, addBlockedUser } from '@app/admin/blockedUsers/blockedUsers.ts';
|
|
|
|
// states
|
|
let createPopupOpen = $state(false);
|
|
|
|
// lifecycle
|
|
$effect(() => {
|
|
fetchBlockedUsers();
|
|
});
|
|
</script>
|
|
|
|
<div>
|
|
<button class="btn btn-soft w-full" onclick={() => (createPopupOpen = true)}>
|
|
<Icon icon="heroicons:plus-16-solid" />
|
|
<span>Neuer blockierter Nutzer</span>
|
|
</button>
|
|
</div>
|
|
|
|
<CrudPopup
|
|
texts={{
|
|
title: 'Blockierten Nutzer erstellen',
|
|
submitButtonTitle: 'Erstellen',
|
|
confirmPopupTitle: 'Nutzer blockieren',
|
|
confirmPopupMessage:
|
|
'Bist du sicher, dass der Nutzer blockiert werden soll?\nEin blockierter Nutzer kann sich nicht mehr registrieren.'
|
|
}}
|
|
target={null}
|
|
keys={[
|
|
[{ key: 'uuid', type: 'text', label: 'UUID', options: { required: true, dynamicWidth: true } }],
|
|
[{ key: 'comment', type: 'textarea', label: 'Kommentar', default: null, options: { dynamicWidth: true } }]
|
|
]}
|
|
onSubmit={addBlockedUser}
|
|
bind:open={createPopupOpen}
|
|
/>
|