+layout.svelte 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <script lang="ts">
  2. import { browser } from "$app/environment";
  3. import { goto } from "$app/navigation";
  4. import { t } from '$lib/translations';
  5. import { onMount } from "svelte";
  6. let path: string = "";
  7. function navBookings() {
  8. path = "bookings";
  9. goto("/user/bookings");
  10. }
  11. function navEvents() {
  12. path = "events";
  13. goto("/user/events");
  14. }
  15. function navCreator() {
  16. path = "creator";
  17. goto("/user/creator");
  18. }
  19. $: {
  20. if (browser) {
  21. path = window.location.pathname.substring(window.location.pathname.lastIndexOf('/') + 1);
  22. }
  23. }
  24. onMount(() => {
  25. console.log($t("common.bookings"));
  26. })
  27. </script>
  28. <nav>
  29. <h5 class="max center-align">{$t("common.app-title")}</h5>
  30. </nav>
  31. <slot />
  32. <nav class="bottom no-space large">
  33. <button on:click={navBookings} class="{path === "bookings" ? "" : "border"} left-round max vertical">
  34. <i>event_note</i>
  35. <span>{$t("common.bookings")}</span>
  36. </button>
  37. <button on:click={navEvents} class="{path === "events" ? "" : "border"} no-round max vertical">
  38. <i>list</i>
  39. <span>{$t("common.appointments")}</span>
  40. </button>
  41. <button on:click={navCreator} class="{path === "creator" ? "" : "border"} right-round max vertical">
  42. <i>library_add</i>
  43. <span>{$t("common.create-appointment")}</span>
  44. </button>
  45. </nav>