Files
varo-website/src/app/admin/blockedUsers/SidebarActions.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}
/>