{"version":3,"file":"27.BbX2jbub.js","sources":["../../../../../../src/routes/s/[id]/+page.svelte"],"sourcesContent":["<script lang=\"ts\">\n\timport { onMount, tick, getContext } from 'svelte';\n\timport { goto } from '$app/navigation';\n\timport { page } from '$app/stores';\n\n\timport dayjs from 'dayjs';\n\n\timport { settings, chatId, WEBUI_NAME, models } from '$lib/stores';\n\timport { convertMessagesToHistory } from '$lib/utils';\n\n\timport { getChatByShareId } from '$lib/apis/chats';\n\n\timport Messages from '$lib/components/chat/Messages.svelte';\n\timport Navbar from '$lib/components/layout/Navbar.svelte';\n\timport { getUserById } from '$lib/apis/users';\n\timport { error } from '@sveltejs/kit';\n\timport { getModels } from '$lib/apis';\n\n\tconst i18n = getContext('i18n');\n\n\tlet loaded = false;\n\n\tlet autoScroll = true;\n\tlet processing = '';\n\tlet messagesContainerElement: HTMLDivElement;\n\n\t// let chatId = $page.params.id;\n\tlet showModelSelector = false;\n\tlet selectedModels = [''];\n\n\tlet chat = null;\n\tlet user = null;\n\n\tlet title = '';\n\tlet files = [];\n\n\tlet messages = [];\n\tlet history = {\n\t\tmessages: {},\n\t\tcurrentId: null\n\t};\n\n\t$: if (history.currentId !== null) {\n\t\tlet _messages = [];\n\n\t\tlet currentMessage = history.messages[history.currentId];\n\t\twhile (currentMessage !== null) {\n\t\t\t_messages.unshift({ ...currentMessage });\n\t\t\tcurrentMessage =\n\t\t\t\tcurrentMessage.parentId !== null ? history.messages[currentMessage.parentId] : null;\n\t\t}\n\t\tmessages = _messages;\n\t} else {\n\t\tmessages = [];\n\t}\n\n\t$: if ($page.params.id) {\n\t\t(async () => {\n\t\t\tif (await loadSharedChat()) {\n\t\t\t\tawait tick();\n\t\t\t\tloaded = true;\n\t\t\t} else {\n\t\t\t\tawait goto('/');\n\t\t\t}\n\t\t})();\n\t}\n\n\t//////////////////////////\n\t// Web functions\n\t//////////////////////////\n\n\tconst loadSharedChat = async () => {\n\t\tawait models.set(await getModels(localStorage.token));\n\t\tawait chatId.set($page.params.id);\n\t\tchat = await getChatByShareId(localStorage.token, $chatId).catch(async (error) => {\n\t\t\tawait goto('/');\n\t\t\treturn null;\n\t\t});\n\n\t\tif (chat) {\n\t\t\tuser = await getUserById(localStorage.token, chat.user_id).catch((error) => {\n\t\t\t\tconsole.error(error);\n\t\t\t\treturn null;\n\t\t\t});\n\n\t\t\tconst chatContent = chat.chat;\n\n\t\t\tif (chatContent) {\n\t\t\t\tconsole.log(chatContent);\n\n\t\t\t\tselectedModels =\n\t\t\t\t\t(chatContent?.models ?? undefined) !== undefined\n\t\t\t\t\t\t? chatContent.models\n\t\t\t\t\t\t: [chatContent.models ?? ''];\n\t\t\t\thistory =\n\t\t\t\t\t(chatContent?.history ?? undefined) !== undefined\n\t\t\t\t\t\t? chatContent.history\n\t\t\t\t\t\t: convertMessagesToHistory(chatContent.messages);\n\t\t\t\ttitle = chatContent.title;\n\n\t\t\t\tautoScroll = true;\n\t\t\t\tawait tick();\n\n\t\t\t\tif (messages.length > 0) {\n\t\t\t\t\thistory.messages[messages.at(-1).id].done = true;\n\t\t\t\t}\n\t\t\t\tawait tick();\n\n\t\t\t\treturn true;\n\t\t\t} else {\n\t\t\t\treturn null;\n\t\t\t}\n\t\t}\n\t};\n</script>\n\n<svelte:head>\n\t<title>\n\t\t{title\n\t\t\t? `${title.length > 30 ? `${title.slice(0, 30)}...` : title} | ${$WEBUI_NAME}`\n\t\t\t: `${$WEBUI_NAME}`}\n\t</title>\n</svelte:head>\n\n{#if loaded}\n\t<div\n\t\tclass=\"min-h-screen max-h-screen w-full flex flex-col text-gray-700 dark:text-gray-100 bg-white dark:bg-gray-900\"\n\t>\n\t\t<div class=\"flex flex-col flex-auto justify-center py-8\">\n\t\t\t<div class=\"px-3 w-full max-w-5xl mx-auto\">\n\t\t\t\t<div>\n\t\t\t\t\t<div class=\" text-3xl font-semibold line-clamp-1\">\n\t\t\t\t\t\t{title}\n\t\t\t\t\t</div>\n\n\t\t\t\t\t<div class=\" mt-1 text-gray-400\">\n\t\t\t\t\t\t{dayjs(chat.chat.timestamp).format($i18n.t('MMMM DD, YYYY'))}\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\n\t\t\t\t<hr class=\" dark:border-gray-800 mt-6 mb-2\" />\n\t\t\t</div>\n\n\t\t\t<div class=\" flex flex-col w-full flex-auto overflow-auto h-0\" id=\"messages-container\">\n\t\t\t\t<div class=\" h-full w-full flex flex-col py-4\">\n\t\t\t\t\t<div class=\"py-2\">\n\t\t\t\t\t\t<Messages\n\t\t\t\t\t\t\t{user}\n\t\t\t\t\t\t\tchatId={$chatId}\n\t\t\t\t\t\t\treadOnly={true}\n\t\t\t\t\t\t\t{selectedModels}\n\t\t\t\t\t\t\t{processing}\n\t\t\t\t\t\t\tbind:history\n\t\t\t\t\t\t\tbind:messages\n\t\t\t\t\t\t\tbind:autoScroll\n\t\t\t\t\t\t\tbottomPadding={files.length > 0}\n\t\t\t\t\t\t\tsendPrompt={() => {}}\n\t\t\t\t\t\t\tcontinueResponse={() => {}}\n\t\t\t\t\t\t\tregenerateResponse={() => {}}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n{/if}\n"],"names":["t2_value","dayjs","ctx","insert_hydration","target","div8","anchor","append_hydration","div7","div3","div2","div0","div1","hr","div6","div5","div4","current","dirty","set_data","t2","title_value","create_if_block","processing","i18n","getContext","loaded","autoScroll","selectedModels","chat","user","title","files","messages","history","loadSharedChat","models","getModels","chatId","$page","$$invalidate","getChatByShareId","$chatId","error","goto","getUserById","chatContent","convertMessagesToHistory","tick","_messages","currentMessage"],"mappings":"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"} |