varo-website/src/app/admin/reports/SidebarActions.svelte
bytedream 60f3f8a096
Some checks failed
deploy / build-and-deploy (push) Failing after 21s
initial commit
2025-05-18 13:16:20 +02:00

35 lines
1.2 KiB
Svelte

<script lang="ts">
import Icon from '@iconify/svelte';
import Input from '@components/input/Input.svelte';
import { addReport, fetchReports } from '@app/admin/reports/actions.ts';
import CreatePopup from '@app/admin/reports/CreatePopup.svelte';
// states
let reporterUsernameFilter = $state<string | null>(null);
let reportedUsernameFilter = $state<string | null>(null);
let newReportPopupOpen = $state(false);
// lifecycle
$effect(() => {
fetchReports(reporterUsernameFilter, reportedUsernameFilter);
});
</script>
<div>
<fieldset class="fieldset border border-base-content/50 rounded-box p-2">
<legend class="fieldset-legend">Filter</legend>
<Input bind:value={reporterUsernameFilter} label="Reporter Ersteller" />
<Input bind:value={reportedUsernameFilter} label="Reporteter Spieler" />
</fieldset>
<div class="divider my-1"></div>
<button class="btn btn-soft w-full" onclick={() => (newReportPopupOpen = true)}>
<Icon icon="heroicons:plus-16-solid" />
<span>Neuer Report</span>
</button>
</div>
{#key newReportPopupOpen}
<CreatePopup open={newReportPopupOpen} onSubmit={addReport} onClose={() => (newReportPopupOpen = false)} />
{/key}