enh: widescreen mode in shared chats

This commit is contained in:
Timothy Jaeryang Baek 2025-04-12 17:53:23 -07:00
parent 4ca6247496
commit 175919c787

View File

@ -13,7 +13,7 @@
import Messages from '$lib/components/chat/Messages.svelte'; import Messages from '$lib/components/chat/Messages.svelte';
import Navbar from '$lib/components/layout/Navbar.svelte'; import Navbar from '$lib/components/layout/Navbar.svelte';
import { getUserById } from '$lib/apis/users'; import { getUserById, getUserSettings } from '$lib/apis/users';
import { getModels } from '$lib/apis'; import { getModels } from '$lib/apis';
import { toast } from 'svelte-sonner'; import { toast } from 'svelte-sonner';
import localizedFormat from 'dayjs/plugin/localizedFormat'; import localizedFormat from 'dayjs/plugin/localizedFormat';
@ -61,6 +61,25 @@
////////////////////////// //////////////////////////
const loadSharedChat = async () => { const loadSharedChat = async () => {
const userSettings = await getUserSettings(localStorage.token).catch((error) => {
console.error(error);
return null;
});
if (userSettings) {
settings.set(userSettings.ui);
} else {
let localStorageSettings = {} as Parameters<(typeof settings)['set']>[0];
try {
localStorageSettings = JSON.parse(localStorage.getItem('settings') ?? '{}');
} catch (e: unknown) {
console.error('Failed to parse settings from localStorage', e);
}
settings.set(localStorageSettings);
}
await models.set( await models.set(
await getModels( await getModels(
localStorage.token, localStorage.token,
@ -137,7 +156,11 @@
> >
<div class="flex flex-col flex-auto justify-center relative"> <div class="flex flex-col flex-auto justify-center relative">
<div class=" flex flex-col w-full flex-auto overflow-auto h-0" id="messages-container"> <div class=" flex flex-col w-full flex-auto overflow-auto h-0" id="messages-container">
<div class="pt-5 px-2 w-full max-w-5xl mx-auto"> <div
class="pt-5 px-2 w-full {($settings?.widescreenMode ?? null)
? 'max-w-full'
: 'max-w-5xl'} mx-auto"
>
<div class="px-3"> <div class="px-3">
<div class=" text-2xl font-semibold line-clamp-1"> <div class=" text-2xl font-semibold line-clamp-1">
{title} {title}
@ -152,7 +175,7 @@
</div> </div>
<div class=" h-full w-full flex flex-col py-2"> <div class=" h-full w-full flex flex-col py-2">
<div class=""> <div class="w-full">
<Messages <Messages
className="h-full flex pt-4 pb-8 " className="h-full flex pt-4 pb-8 "
{user} {user}