{"version":3,"file":"20.CO5SGqdT.js","sources":["../../../../../../src/routes/(app)/workspace/prompts/create/+page.svelte"],"sourcesContent":["<script>\n\timport { toast } from 'svelte-sonner';\n\n\timport { goto } from '$app/navigation';\n\timport { prompts } from '$lib/stores';\n\timport { onMount, tick, getContext } from 'svelte';\n\n\timport { createNewPrompt, getPrompts } from '$lib/apis/prompts';\n\n\tconst i18n = getContext('i18n');\n\n\tlet loading = false;\n\n\t// ///////////\n\t// Prompt\n\t// ///////////\n\n\tlet title = '';\n\tlet command = '';\n\tlet content = '';\n\n\t$: command = title !== '' ? `${title.replace(/\\s+/g, '-').toLowerCase()}` : '';\n\n\tconst submitHandler = async () => {\n\t\tloading = true;\n\n\t\tif (validateCommandString(command)) {\n\t\t\tconst prompt = await createNewPrompt(localStorage.token, command, title, content).catch(\n\t\t\t\t(error) => {\n\t\t\t\t\ttoast.error(error);\n\n\t\t\t\t\treturn null;\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif (prompt) {\n\t\t\t\tawait prompts.set(await getPrompts(localStorage.token));\n\t\t\t\tawait goto('/workspace/prompts');\n\t\t\t}\n\t\t} else {\n\t\t\ttoast.error(\n\t\t\t\t$i18n.t('Only alphanumeric characters and hyphens are allowed in the command string.')\n\t\t\t);\n\t\t}\n\n\t\tloading = false;\n\t};\n\n\tconst validateCommandString = (inputString) => {\n\t\t// Regular expression to match only alphanumeric characters and hyphen\n\t\tconst regex = /^[a-zA-Z0-9-]+$/;\n\n\t\t// Test the input string against the regular expression\n\t\treturn regex.test(inputString);\n\t};\n\n\tonMount(async () => {\n\t\twindow.addEventListener('message', async (event) => {\n\t\t\tif (\n\t\t\t\t!['https://openwebui.com', 'https://www.openwebui.com', 'http://localhost:5173'].includes(\n\t\t\t\t\tevent.origin\n\t\t\t\t)\n\t\t\t)\n\t\t\t\treturn;\n\t\t\tconst prompt = JSON.parse(event.data);\n\t\t\tconsole.log(prompt);\n\n\t\t\ttitle = prompt.title;\n\t\t\tawait tick();\n\t\t\tcontent = prompt.content;\n\t\t\tcommand = prompt.command;\n\t\t});\n\n\t\tif (window.opener ?? false) {\n\t\t\twindow.opener.postMessage('loaded', '*');\n\t\t}\n\n\t\tif (sessionStorage.prompt) {\n\t\t\tconst prompt = JSON.parse(sessionStorage.prompt);\n\n\t\t\tconsole.log(prompt);\n\t\t\ttitle = prompt.title;\n\t\t\tawait tick();\n\t\t\tcontent = prompt.content;\n\t\t\tcommand = prompt.command.at(0) === '/' ? prompt.command.slice(1) : prompt.command;\n\n\t\t\tsessionStorage.removeItem('prompt');\n\t\t}\n\t});\n</script>\n\n<div class=\"w-full max-h-full\">\n\t<button\n\t\tclass=\"flex space-x-1\"\n\t\ton:click={() => {\n\t\t\thistory.back();\n\t\t}}\n\t>\n\t\t<div class=\" self-center\">\n\t\t\t<svg\n\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\tviewBox=\"0 0 20 20\"\n\t\t\t\tfill=\"currentColor\"\n\t\t\t\tclass=\"w-4 h-4\"\n\t\t\t>\n\t\t\t\t<path\n\t\t\t\t\tfill-rule=\"evenodd\"\n\t\t\t\t\td=\"M17 10a.75.75 0 01-.75.75H5.612l4.158 3.96a.75.75 0 11-1.04 1.08l-5.5-5.25a.75.75 0 010-1.08l5.5-5.25a.75.75 0 111.04 1.08L5.612 9.25H16.25A.75.75 0 0117 10z\"\n\t\t\t\t\tclip-rule=\"evenodd\"\n\t\t\t\t/>\n\t\t\t</svg>\n\t\t</div>\n\t\t<div class=\" self-center font-medium text-sm\">{$i18n.t('Back')}</div>\n\t</button>\n\n\t<form\n\t\tclass=\"flex flex-col max-w-2xl mx-auto mt-4 mb-10\"\n\t\ton:submit|preventDefault={() => {\n\t\t\tsubmitHandler();\n\t\t}}\n\t>\n\t\t<div class=\"my-2\">\n\t\t\t<div class=\" text-sm font-semibold mb-2\">{$i18n.t('Title')}*</div>\n\n\t\t\t<div>\n\t\t\t\t<input\n\t\t\t\t\tclass=\"px-3 py-1.5 text-sm w-full bg-transparent border dark:border-gray-600 outline-none rounded-lg\"\n\t\t\t\t\tplaceholder={$i18n.t('Add a short title for this prompt')}\n\t\t\t\t\tbind:value={title}\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"my-2\">\n\t\t\t<div class=\" text-sm font-semibold mb-2\">{$i18n.t('Command')}*</div>\n\n\t\t\t<div class=\"flex items-center mb-1\">\n\t\t\t\t<div\n\t\t\t\t\tclass=\"bg-gray-200 dark:bg-gray-600 font-semibold px-3 py-1 border border-r-0 dark:border-gray-600 rounded-l-lg\"\n\t\t\t\t>\n\t\t\t\t\t/\n\t\t\t\t</div>\n\t\t\t\t<input\n\t\t\t\t\tclass=\"px-3 py-1.5 text-sm w-full bg-transparent border dark:border-gray-600 outline-none rounded-r-lg\"\n\t\t\t\t\tplaceholder={$i18n.t('short-summary')}\n\t\t\t\t\tbind:value={command}\n\t\t\t\t\trequired\n\t\t\t\t/>\n\t\t\t</div>\n\n\t\t\t<div class=\"text-xs text-gray-400 dark:text-gray-500\">\n\t\t\t\t{$i18n.t('Only')}\n\t\t\t\t<span class=\" text-gray-600 dark:text-gray-300 font-medium\"\n\t\t\t\t\t>{$i18n.t('alphanumeric characters and hyphens')}</span\n\t\t\t\t>\n\t\t\t\t{$i18n.t('are allowed - Activate this command by typing')} \"<span\n\t\t\t\t\tclass=\" text-gray-600 dark:text-gray-300 font-medium\"\n\t\t\t\t>\n\t\t\t\t\t/{command}\n\t\t\t\t</span>\" \n\t\t\t\t{$i18n.t('to chat input.')}\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"my-2\">\n\t\t\t<div class=\"flex w-full justify-between\">\n\t\t\t\t<div class=\" self-center text-sm font-semibold\">{$i18n.t('Prompt Content')}*</div>\n\t\t\t</div>\n\n\t\t\t<div class=\"mt-2\">\n\t\t\t\t<div>\n\t\t\t\t\t<textarea\n\t\t\t\t\t\tclass=\"px-3 py-1.5 text-sm w-full bg-transparent border dark:border-gray-600 outline-none rounded-lg\"\n\t\t\t\t\t\tplaceholder={$i18n.t('Write a summary in 50 words that summarizes [topic or keyword].')}\n\t\t\t\t\t\trows=\"6\"\n\t\t\t\t\t\tbind:value={content}\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"text-xs text-gray-400 dark:text-gray-500\">\n\t\t\t\t\tⓘ {$i18n.t('Format your variables using square brackets like this:')} <span\n\t\t\t\t\t\tclass=\" text-gray-600 dark:text-gray-300 font-medium\">[{$i18n.t('variable')}]</span\n\t\t\t\t\t>.\n\t\t\t\t\t{$i18n.t('Make sure to enclose them with')}\n\t\t\t\t\t<span class=\" text-gray-600 dark:text-gray-300 font-medium\">'['</span>\n\t\t\t\t\t{$i18n.t('and')}\n\t\t\t\t\t<span class=\" text-gray-600 dark:text-gray-300 font-medium\">']'</span>.\n\t\t\t\t</div>\n\n\t\t\t\t<div class=\"text-xs text-gray-400 dark:text-gray-500\">\n\t\t\t\t\t{$i18n.t('Utilize')}<span class=\" text-gray-600 dark:text-gray-300 font-medium\">\n\t\t\t\t\t\t{` {{CLIPBOARD}}`}</span\n\t\t\t\t\t>\n\t\t\t\t\t{$i18n.t('variable to have them replaced with clipboard content.')}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\n\t\t<div class=\"my-2 flex justify-end\">\n\t\t\t<button\n\t\t\t\tclass=\" text-sm px-3 py-2 transition rounded-xl {loading\n\t\t\t\t\t? ' cursor-not-allowed bg-gray-100 dark:bg-gray-800'\n\t\t\t\t\t: ' bg-gray-50 hover:bg-gray-100 dark:bg-gray-700 dark:hover:bg-gray-800'} flex\"\n\t\t\t\ttype=\"submit\"\n\t\t\t\tdisabled={loading}\n\t\t\t>\n\t\t\t\t<div class=\" self-center font-medium\">{$i18n.t('Save & Create')}</div>\n\n\t\t\t\t{#if loading}\n\t\t\t\t\t<div class=\"ml-1.5 self-center\">\n\t\t\t\t\t\t<svg\n\t\t\t\t\t\t\tclass=\" w-4 h-4\"\n\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\tfill=\"currentColor\"\n\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t><style>\n\t\t\t\t\t\t\t\t.spinner_ajPY {\n\t\t\t\t\t\t\t\t\ttransform-origin: center;\n\t\t\t\t\t\t\t\t\tanimation: spinner_AtaB 0.75s infinite linear;\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t@keyframes spinner_AtaB {\n\t\t\t\t\t\t\t\t\t100% {\n\t\t\t\t\t\t\t\t\t\ttransform: rotate(360deg);\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t</style><path\n\t\t\t\t\t\t\t\td=\"M12,1A11,11,0,1,0,23,12,11,11,0,0,0,12,1Zm0,19a8,8,0,1,1,8-8A8,8,0,0,1,12,20Z\"\n\t\t\t\t\t\t\t\topacity=\".25\"\n\t\t\t\t\t\t\t/><path\n\t\t\t\t\t\t\t\td=\"M10.14,1.16a11,11,0,0,0-9,8.92A1.59,1.59,0,0,0,2.46,12,1.52,1.52,0,0,0,4.11,10.7a8,8,0,0,1,6.66-6.61A1.42,1.42,0,0,0,12,2.69h0A1.57,1.57,0,0,0,10.14,1.16Z\"\n\t\t\t\t\t\t\t\tclass=\"spinner_ajPY\"\n\t\t\t\t\t\t\t/></svg\n\t\t\t\t\t\t>\n\t\t\t\t\t</div>\n\t\t\t\t{/if}\n\t\t\t</button>\n\t\t</div>\n\t</form>\n</div>\n"],"names":["insert_hydration","target","div","anchor","ctx","create_if_block","attr","button1","button1_class_value","div19","append_hydration","button0","div0","div1","form","div4","div2","div3","input0","div9","div5","div7","div6","input1","div8","span0","span1","div16","div11","div10","div15","div12","textarea","div13","span2","span3","span4","div14","span5","div18","div17","set_data","t1","t1_value","t3","t3_value","t7","t7_value","t13","t13_value","t15","t15_value","t17","t17_value","t23","t23_value","t25","t25_value","t30","t30_value","t33","t33_value","t36","t36_value","t40","t40_value","t45","t45_value","t48","t48_value","t50","t50_value","dirty","i18n","getContext","loading","title","command","content","submitHandler","$$invalidate","validateCommandString","createNewPrompt","error","toast","prompts","getPrompts","goto","$i18n","inputString","onMount","event","prompt","tick"],"mappings":"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"} |