Navbar.svelte 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. <script lang="ts">
  2. import { v4 as uuidv4 } from 'uuid';
  3. import { goto } from '$app/navigation';
  4. import { chatId } from '$lib/stores';
  5. export let title: string = 'Ollama Web UI';
  6. </script>
  7. <div
  8. class=" fixed top-0 flex flex-row justify-center bg-white/95 dark:bg-gray-800/90 dark:text-gray-200 backdrop-blur-xl w-full z-30"
  9. >
  10. <div class="basis-full">
  11. <nav class="py-3" id="nav">
  12. <div class=" flex max-w-3xl mx-auto px-3">
  13. <div class="flex w-full max-w-full overflow-hidden text-ellipsis whitespace-nowrap">
  14. <div class="pr-2">
  15. <button
  16. class=" cursor-pointer p-1 flex dark:hover:bg-gray-700 rounded-lg transition"
  17. on:click={async () => {
  18. console.log('newChat');
  19. goto('/');
  20. await chatId.set(uuidv4());
  21. }}
  22. >
  23. <div class=" m-auto self-center">
  24. <svg
  25. xmlns="http://www.w3.org/2000/svg"
  26. viewBox="0 0 20 20"
  27. fill="currentColor"
  28. class="w-5 h-5"
  29. >
  30. <path
  31. d="M5.433 13.917l1.262-3.155A4 4 0 017.58 9.42l6.92-6.918a2.121 2.121 0 013 3l-6.92 6.918c-.383.383-.84.685-1.343.886l-3.154 1.262a.5.5 0 01-.65-.65z"
  32. />
  33. <path
  34. d="M3.5 5.75c0-.69.56-1.25 1.25-1.25H10A.75.75 0 0010 3H4.75A2.75 2.75 0 002 5.75v9.5A2.75 2.75 0 004.75 18h9.5A2.75 2.75 0 0017 15.25V10a.75.75 0 00-1.5 0v5.25c0 .69-.56 1.25-1.25 1.25h-9.5c-.69 0-1.25-.56-1.25-1.25v-9.5z"
  35. />
  36. </svg>
  37. </div>
  38. </button>
  39. </div>
  40. <div
  41. class=" flex-1 self-center font-medium overflow-hidden text-ellipsis whitespace-nowrap w-[80vw] pr-4"
  42. >
  43. {title != '' ? title : 'Ollama Web UI'}
  44. </div>
  45. </div>
  46. </div>
  47. </nav>
  48. </div>
  49. </div>