<script>
  import { logout_user } from '$/client/api.js';
  import Icon from '$/client/components/Icon.svelte';
  import {link} from 'svelte-spa-router';
  import { user } from "$/client/stores.js";
  import Darkmode from '$/client/components/Darkmode.svelte';
  import { Hydrate } from '@jamcart/7ty/components';
  import { register_enabled } from "$/client/config.js";

  export let fixed = false;
</script>

<style>
  #logo {
    font-family: fancy;
    font-size: 2em;
  }

  header {
    background-color: var(--value0);
  }

  header a {
    color: var(--value7);
  }

  nav {
    background-color: var(--value0);
    color: var(--value7);
  }

  nav * {
    color: var(--value7);
  }

  @media only screen and (max-width: 600px) {
    #logo {
      font-size: 1.5em;
    }
  }

  @media only screen and (max-width: 390px) {
    #logo {
      font-size: 1.4em;
    }
  }

</style>

<header class:fixed>
  <nav>
      {#if $user.authenticated}
        <a href="/" use:link id="logo">The Bandolier</a>
        <ul>
          <li><a href="/" on:click|preventDefault={ logout_user } data-testid="logout-link"><Icon color="var(--value7)" name="log-out" tooltip="Log out."/></a></li>
          <li><a data-testid="user-profile-button" href="/profile/" use:link><Icon color="var(--value7)" name="settings" tooltip="Settings."/></a></li>
          <li><a href="/feed.rss"><Icon color="var(--value7)" name="rss" tooltip="RSS Feed." tip_position="bottom-left" /></a></li>
          {#if $user.admin }
            <li><a href="/admin/#/"><Icon color="var(--value7)" name="keyboard" tooltip="Admin database."/></a></li>
          {/if}
      </ul>
      {:else}
        <!-- don't use:link because we want them to go to the landing page if they aren't logged in. -->
        <a href="/" use:link id="logo">The Bandolier</a>
        <ul>
          {#if register_enabled}
            <li><a id="register-button" href="/client/#/register/">
              <span class="mobile">
                <Icon color="var(--value7)" name="dollar-sign" tooltip="Register."/>
              </span>

              <span class="mobile-hide">
                <button type="button" class="inverted">Register</button>
              </span>
              </a>
            </li>
          {/if}
          <li><a href="/client/#/login/"><Icon color="var(--value7)" name="log-in" tooltip="Log in." /></a></li>
          <li><a href="/blog/"><Icon color="var(--value7)" name="book" tooltip="Blog." /></a></li>
          <li><a href="/client/#/live/"><Icon color="var(--value7)" name="video" tooltip="Livestreams." tip_position="bottom-left" /></a></li>
          <li><Hydrate
            component={ Darkmode }
            props={{
                   light_icon_color: "var(--color-text-header)",
                   dark_icon_color: "var(--color-text-header)"}}/></li>
        </ul>
      {/if}
  </nav>
</header>
