| <script lang="ts"> | |
| import Modal from "./Modal.svelte"; | |
| import CarbonClose from "~icons/carbon/close"; | |
| import CarbonBlockchain from "~icons/carbon/blockchain"; | |
| export let preprompt: string; | |
| let isOpen = false; | |
| </script> | |
| <button | |
| type="button" | |
| class="mx-auto flex items-center gap-1.5 rounded-full border border-gray-100 bg-gray-50 px-3 py-1 text-xs text-gray-500 hover:bg-gray-100 dark:border-gray-800 dark:bg-gray-800 dark:text-gray-400 dark:hover:bg-gray-700" | |
| on:click={() => (isOpen = !isOpen)} | |
| on:keypress={(e) => e.key === "Enter" && (isOpen = !isOpen)} | |
| > | |
| <CarbonBlockchain class="text-xxs" /> Using Custom System Prompt | |
| </button> | |
| {#if isOpen} | |
| <Modal on:close={() => (isOpen = false)} width="w-full max-w-2xl"> | |
| <div class="flex w-full flex-col gap-5 p-6"> | |
| <div class="flex items-start justify-between text-xl font-semibold text-gray-800"> | |
| <h2>System Prompt</h2> | |
| <button type="button" class="group" on:click={() => (isOpen = false)}> | |
| <CarbonClose class="mt-auto text-gray-900 group-hover:text-gray-500" /> | |
| </button> | |
| </div> | |
| <textarea | |
| disabled | |
| value={preprompt} | |
| class="min-h-[420px] w-full resize-none rounded-lg border bg-gray-50 p-2.5 text-gray-600 max-sm:text-sm" | |
| /> | |
| </div> | |
| </Modal> | |
| {/if} | |