<!--
  -   This file is a part of the SteamWar software.
  -
  -   Copyright (C) 2025 SteamWar.de-Serverteam
  -
  -   This program is free software: you can redistribute it and/or modify
  -   it under the terms of the GNU Affero General Public License as published by
  -   the Free Software Foundation, either version 3 of the License, or
  -   (at your option) any later version.
  -
  -   This program is distributed in the hope that it will be useful,
  -   but WITHOUT ANY WARRANTY; without even the implied warranty of
  -   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  -   GNU Affero General Public License for more details.
  -
  -   You should have received a copy of the GNU Affero General Public License
  -   along with this program.  If not, see <https://www.gnu.org/licenses/>.
  -->

<script lang="ts">
    import type { RouteDefinition } from "svelte-spa-router";
    import Router from "svelte-spa-router";
    import NavLinks from "@components/moderator/layout/NavLinks.svelte";
    import { Switch } from "@components/ui/switch";
    import { Label } from "@components/ui/label";
    import { navigate } from "astro:transitions/client";
    import Players from "@components/moderator/pages/players/Players.svelte";
    import Events from "@components/moderator/pages/events/Events.svelte";
    import Dashboard from "@components/moderator/pages/dashboard/Dashboard.svelte";
    import Event from "@components/moderator/pages/event/Event.svelte";
    import Pages from "@components/moderator/pages/pages/Pages.svelte";

    const routes: RouteDefinition = {
        "/": Dashboard,
        "/events": Events,
        "/players": Players,
        "/event/:id": Event,
        "/pages": Pages,
    };
</script>

<div class="flex flex-col bg-background min-w-full min-h-screen">
    <div class="border-b">
        <div class="flex h-16 items-center px-4">
            <a href="/" class="text-sm font-bold transition-colors text-primary"> SteamWar </a>
            <NavLinks />
            <div class="ml-auto flex items-center space-x-4">
                <Switch id="new-ui-switch" checked={true} onclick={() => navigate("/admin")} />
                <Label for="new-ui-switch">New UI!</Label>
            </div>
        </div>
    </div>
    <Router {routes} />
</div>
