add live statistics
All checks were successful
deploy / build-and-deploy (push) Successful in 22s

This commit is contained in:
2025-11-11 01:53:56 +01:00
parent dfc1425c6b
commit 5ce2db9040
26 changed files with 1168 additions and 817 deletions

View File

@@ -1,5 +1,4 @@
<script lang="ts">
import Icon from '@iconify/svelte';
import CrudPopup from '@components/admin/popup/CrudPopup.svelte';
import { addAdmin, fetchAdmins } from '@app/admin/admins/admins.ts';
import { Permissions } from '@util/permissions.ts';
@@ -15,7 +14,7 @@
<div>
<button class="btn btn-soft w-full" onclick={() => (createPopupOpen = true)}>
<Icon icon="heroicons:plus-16-solid" />
<span class="iconify iconify-[heroicons--plus-16-solid]"></span>
<span>Neuer Admin</span>
</button>
</div>

View File

@@ -1,5 +1,4 @@
<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';
@@ -14,7 +13,7 @@
<div>
<button class="btn btn-soft w-full" onclick={() => (createPopupOpen = true)}>
<Icon icon="heroicons:plus-16-solid" />
<span class="iconify iconify-[heroicons--plus-16-solid]"></span>
<span>Neuer blockierter Nutzer</span>
</button>
</div>

View File

@@ -1,5 +1,4 @@
<script lang="ts">
import Icon from '@iconify/svelte';
import CrudPopup from '@components/admin/popup/CrudPopup.svelte';
import { addDirectInvitation, fetchDirectInvitations } from '@app/admin/directInvitations/directInvitations.ts';
@@ -14,7 +13,7 @@
<div>
<button class="btn btn-soft w-full" onclick={() => (createPopupOpen = true)}>
<Icon icon="heroicons:plus-16-solid" />
<span class="iconify iconify-[heroicons--plus-16-solid]"></span>
<span>Neue direkte Einladung</span>
</button>
</div>

View File

@@ -5,7 +5,6 @@
import Select from '@components/input/Select.svelte';
import { editReportStatus, getReportStatus } from '@app/admin/reports/reports.ts';
import { confirmPopupState } from '@components/popup/ConfirmPopup.ts';
import Icon from '@iconify/svelte';
import UserSearch from '@components/admin/search/UserSearch.svelte';
// html bindings
@@ -90,7 +89,9 @@
>
<div class="absolute right-2 top-2">
<div class="dropdown dropdown-end">
<div tabindex="0" role="button" class="btn btn-sm btn-circle btn-ghost"><Icon icon="heroicons:share" /></div>
<div tabindex="0" role="button" class="btn btn-sm btn-circle btn-ghost">
<span class="iconify iconify-[heroicons--share]"></span>
</div>
<!-- svelte-ignore a11y_no_noninteractive_tabindex -->
<ul tabindex="0" class="menu dropdown-content bg-base-100 rounded-box z-1 p-2 shadow-sm w-max">
<li><button onclick={() => onCopyPublicLink(report?.urlHash)}>Öffentlichen Report Link kopieren</button></li>

View File

@@ -1,5 +1,4 @@
<script lang="ts">
import Icon from '@iconify/svelte';
import Input from '@components/input/Input.svelte';
import CrudPopup from '@components/admin/popup/CrudPopup.svelte';
import { addReport, fetchReports } from '@app/admin/reports/reports.ts';
@@ -27,7 +26,7 @@
</fieldset>
<div class="divider my-1"></div>
<button class="btn btn-soft w-full" onclick={() => (createPopupOpen = true)}>
<Icon icon="heroicons:plus-16-solid" />
<span class="iconify iconify-[heroicons--plus-16-solid]"></span>
<span>Neuer Report</span>
</button>
</div>

View File

@@ -1,5 +1,4 @@
<script>
import Icon from '@iconify/svelte';
import CrudPopup from '@components/admin/popup/CrudPopup.svelte';
import { addStrikeReason, fetchStrikeReasons } from '@app/admin/strikeReasons/strikeReasons.js';
@@ -14,7 +13,7 @@
<div>
<button class="btn btn-soft w-full" onclick={() => (createPopupOpen = true)}>
<Icon icon="heroicons:plus-16-solid" />
<span class="iconify iconify-[heroicons--plus-16-solid]"></span>
<span>Neuer Strikegrund</span>
</button>
</div>

View File

@@ -1,5 +1,4 @@
<script lang="ts">
import Icon from '@iconify/svelte';
import Input from '@components/input/Input.svelte';
import CrudPopup from '@components/admin/popup/CrudPopup.svelte';
import { addUser, fetchUsers } from '@app/admin/users/users.ts';
@@ -22,7 +21,7 @@
</fieldset>
<div class="divider my-1"></div>
<button class="btn btn-soft w-full" onclick={() => (createPopupOpen = true)}>
<Icon icon="heroicons:plus-16-solid" />
<span class="iconify iconify-[heroicons--plus-16-solid]"></span>
<span>Neuer Nutzer</span>
</button>
</div>