website/src/routes/admin/+page.svelte
bytedream 235dfe3094
All checks were successful
delpoy / build-and-deploy (push) Successful in 40s
add admin settings
2023-11-30 19:15:00 +01:00

52 lines
1.2 KiB
Svelte

<script lang="ts">
import type { PageData } from './$types';
import { env } from '$env/dynamic/public';
import { Cog6Tooth, Flag, UserGroup, Users } from 'svelte-heros-v2';
export let data: PageData;
let tabs = [
{
path: `${env.PUBLIC_BASE_PATH}/admin/users`,
icon: UserGroup,
name: 'Registrierte Nutzer',
enabled: data.userCount != null
},
{
path: `${env.PUBLIC_BASE_PATH}/admin/reports`,
icon: Flag,
name: 'Reports',
enabled: data.reportCount != null
},
{
path: `${env.PUBLIC_BASE_PATH}/admin/admin`,
icon: Users,
name: 'Website Admins',
enabled: data.adminCount != null
},
{
path: `${env.PUBLIC_BASE_PATH}/admin/settings`,
icon: Cog6Tooth,
name: 'Website Einstellungen',
enabled: data.settingsRead
}
];
</script>
<div class="flex justify-around items-center h-full">
{#each tabs as tab}
{#if tab.enabled}
<div class="flex flex-col gap-4 justify-center items-center">
<a
class="h-64 w-64 border flex justify-center items-center rounded-xl duration-100 hover:bg-base-200"
href={tab.path}
title={tab.name}
>
<svelte:component this={tab.icon} width="5rem" height="5rem" />
</a>
<span>{tab.name}</span>
</div>
{/if}
{/each}
</div>