Placeholder.svelte 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <script lang="ts">
  2. import { onMount } from 'svelte';
  3. export let models = [];
  4. export let modelfiles = [];
  5. let modelfile = null;
  6. let selectedModelIdx = 0;
  7. $: modelfile =
  8. models[selectedModelIdx] in modelfiles ? modelfiles[models[selectedModelIdx]] : null;
  9. $: if (models.length > 0) {
  10. selectedModelIdx = models.length - 1;
  11. }
  12. </script>
  13. {#if models.length > 0}
  14. <div class="m-auto text-center max-w-md px-2">
  15. <div class="flex justify-center mt-8">
  16. <div class="flex -space-x-4 mb-1">
  17. {#each models as model, modelIdx}
  18. <button
  19. on:click={() => {
  20. selectedModelIdx = modelIdx;
  21. }}
  22. >
  23. {#if model in modelfiles}
  24. <img
  25. src={modelfiles[model]?.imageUrl ?? './favicon.png'}
  26. alt="modelfile"
  27. class=" w-14 rounded-full border-[1px] border-gray-200 dark:border-none"
  28. draggable="false"
  29. />
  30. {:else}
  31. <img
  32. src={models.length === 1 ? '/favicon.png' : '/favicon.png'}
  33. class=" w-14 rounded-full border-[1px] border-gray-200 dark:border-none"
  34. alt="logo"
  35. draggable="false"
  36. />
  37. {/if}
  38. </button>
  39. {/each}
  40. </div>
  41. </div>
  42. <div class=" mt-2 text-2xl text-gray-800 dark:text-gray-100 font-semibold">
  43. {#if modelfile}
  44. <span class=" capitalize">
  45. {modelfile.title}
  46. </span>
  47. <div class="mt-0.5 text-base font-normal text-gray-600 dark:text-gray-400">
  48. {modelfile.desc}
  49. </div>
  50. {#if modelfile.user}
  51. <div class="mt-0.5 text-sm font-normal text-gray-500 dark:text-gray-500">
  52. By <a href="https://openwebui.com/m/{modelfile.user.username}"
  53. >{modelfile.user.name ? modelfile.user.name : `@${modelfile.user.username}`}</a
  54. >
  55. </div>
  56. {/if}
  57. {:else}
  58. How can I help you today?
  59. {/if}
  60. </div>
  61. </div>
  62. {/if}