| <script lang="ts"> |
| import { PUBLIC_APP_NAME, PUBLIC_VERSION } from "$env/static/public"; |
| import { PUBLIC_ANNOUNCEMENT_BANNERS } from "$env/static/public"; |
| import Logo from "$lib/components/icons/Logo.svelte"; |
| import { createEventDispatcher } from "svelte"; |
| import IconChevron from "$lib/components/icons/IconChevron.svelte"; |
| import CarbonArrowUpRight from "~icons/carbon/arrow-up-right"; |
| import AnnouncementBanner from "../AnnouncementBanner.svelte"; |
| import ModelsModal from "../ModelsModal.svelte"; |
| import type { Model } from "$lib/types/Model"; |
| import ModelCardMetadata from "../ModelCardMetadata.svelte"; |
| import type { LayoutData } from "../../../routes/$types"; |
| import { findCurrentModel } from "$lib/utils/models"; |
|
|
| export let currentModel: Model; |
| export let settings: LayoutData["settings"]; |
| export let models: Model[]; |
|
|
| let isModelsModalOpen = false; |
|
|
| $: currentModelMetadata = findCurrentModel(models, settings.activeModel); |
|
|
| const announcementBanners = PUBLIC_ANNOUNCEMENT_BANNERS |
| ? JSON.parse(PUBLIC_ANNOUNCEMENT_BANNERS) |
| : []; |
|
|
| const dispatch = createEventDispatcher<{ message: string }>(); |
| </script> |
|
|
| <div class="my-auto grid gap-8 lg:grid-cols-3"> |
| |
| |
| {#if currentModelMetadata.promptExamples && currentModelMetadata.promptExamples.length > 0} |
| <div class="lg:col-span-3 lg:mt-6"> |
| <p class="mb-3 text-gray-600 dark:text-gray-300">Примеры запросов</p> |
| <div class="grid gap-3 lg:grid-cols-3 lg:gap-5"> |
| {#each currentModelMetadata.promptExamples as example} |
| <button |
| type="button" |
| class="rounded-xl border bg-gray-50 p-2.5 text-gray-600 hover:bg-gray-100 dark:border-gray-800 dark:bg-gray-800 dark:text-gray-300 dark:hover:bg-gray-700 sm:p-4" |
| on:click={() => dispatch("message", example.prompt)} |
| > |
| {example.title} |
| </button> |
| {/each} |
| </div> |
| </div>{/if} |
| </div> |
| |