diff --git a/src/App.vue b/src/App.vue index 9552aff..3c66534 100644 --- a/src/App.vue +++ b/src/App.vue @@ -45,7 +45,7 @@ useKeyboard()
@@ -64,7 +64,7 @@ useKeyboard() .app-layout { display: flex; - height: 100vh; + height: calc(100 * var(--vh)); width: 100vw; overflow: hidden; @@ -79,7 +79,7 @@ useKeyboard() background-color: $bg-primary; .no-sidebar & { - height: 100vh; + height: calc(100 * var(--vh)); } } diff --git a/src/components/chat/ChatInput.vue b/src/components/chat/ChatInput.vue index a3a5a88..56482b4 100644 --- a/src/components/chat/ChatInput.vue +++ b/src/components/chat/ChatInput.vue @@ -379,6 +379,9 @@ function isImage(type: string): boolean { &::placeholder { color: $text-muted; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; } } diff --git a/src/components/chat/ChatPanel.vue b/src/components/chat/ChatPanel.vue index 6149f58..c64750c 100644 --- a/src/components/chat/ChatPanel.vue +++ b/src/components/chat/ChatPanel.vue @@ -14,6 +14,11 @@ const { t } = useI18n() const showSessions = ref(true) let mobileQuery: MediaQueryList | null = null +function handleSessionClick(sessionId: string) { + chatStore.switchSession(sessionId) + if (mobileQuery?.matches) showSessions.value = false +} + function handleMobileChange(e: MediaQueryListEvent | MediaQueryList) { if (e.matches && showSessions.value) { showSessions.value = false @@ -265,14 +270,20 @@ async function handleRenameConfirm() {