replace sidebar with navbar on admin page
All checks were successful
delpoy / build-and-deploy (push) Successful in 32s

This commit is contained in:
bytedream 2023-11-03 19:43:51 +01:00
parent 81d97380ca
commit 981e1c3f9b

View File

@ -22,50 +22,58 @@
export let data: LayoutData; export let data: LayoutData;
if (data.reportCount) $reportCount = data.reportCount; if (data.reportCount) $reportCount = data.reportCount;
if (data.adminCount) $adminCount = data.adminCount; if (data.adminCount) $adminCount = data.adminCount;
let tabs = [
{
path: `${env.PUBLIC_BASE_PATH}/admin/users`,
icon: 'user-group-outline',
name: 'Registrierte Nutzer',
badge: data.userCount,
enabled: data.userCount != null
},
{
path: `${env.PUBLIC_BASE_PATH}/admin/reports`,
icon: 'flag-outline',
name: 'Reports',
badge: $reportCount,
enabled: data.reportCount != null
},
{
path: `${env.PUBLIC_BASE_PATH}/admin/admin`,
icon: 'users-outline',
name: 'Website Admins',
badge: $adminCount,
enabled: data.adminCount != null
}
];
</script> </script>
{#if $page.url.pathname !== `${env.PUBLIC_BASE_PATH}/admin/login`} {#if $page.url.pathname !== `${env.PUBLIC_BASE_PATH}/admin/login`}
<div class="flex h-screen w-screen"> <div class="h-12 relative bg-base-200 flex justify-center items-center">
<div class="h-full"> <ul class="menu menu-horizontal h-10 p-0 flex items-center bg-base-300 rounded-lg">
<ul class="menu p-4 w-max h-full bg-base-200 text-base-content"> {#each tabs as tab}
{#if data.userCount != null} <li>
<li> <a href={tab.path}>
<a href="{env.PUBLIC_BASE_PATH}/admin/users"> <IconOutline name={tab.icon} />
<IconOutline name="user-group-outline" /> <span class="mr-1" class:underline={$page.url.pathname === tab.path}>{tab.name}</span>
<span class="ml-1">Registrierte Nutzer</span> <div class="badge">{tab.badge}</div>
<div class="badge">{data.userCount}</div> </a>
</a> </li>
</li> {/each}
{/if} </ul>
{#if data.reportCount != null} <div class="absolute top-0 right-0 flex items-center h-full">
<li> <ul class="menu menu-vertical">
<a href="{env.PUBLIC_BASE_PATH}/admin/reports"> <li>
<IconOutline name="flag-outline" />
<span class="ml-1">Reports</span>
<div class="badge">{$reportCount}</div>
</a>
</li>
{/if}
{#if data.adminCount != null}
<li>
<a href="{env.PUBLIC_BASE_PATH}/admin/admin">
<IconOutline name="users-outline" />
<span class="ml-1">Website Admins</span>
<div class="badge">{$adminCount}</div>
</a>
</li>
{/if}
<li class="mt-auto">
<button on:click={(e) => buttonTriggeredRequest(e, logout())}> <button on:click={(e) => buttonTriggeredRequest(e, logout())}>
<IconOutline name="arrow-left-on-rectangle-outline" /> <IconOutline name="arrow-left-on-rectangle-outline" />
<span class="ml-1">Ausloggen</span> <span>Ausloggen</span>
</button> </button>
</li> </li>
</ul> </ul>
</div> </div>
<div class="h-full w-full overflow-y-scroll overflow-x-hidden"> </div>
<slot /> <div class="h-full w-full overflow-y-scroll overflow-x-hidden">
</div> <slot />
</div> </div>
{:else} {:else}
<div class="h-full w-full"> <div class="h-full w-full">