From 136a5c186c6c28d02daeb4f7b9b5912b79b70025 Mon Sep 17 00:00:00 2001 From: Julian Freeman Date: Fri, 3 Apr 2026 19:02:04 -0400 Subject: [PATCH] fix select ui --- src/components/ConversationView.vue | 90 ++++++++++++++++++++++++----- 1 file changed, 76 insertions(+), 14 deletions(-) diff --git a/src/components/ConversationView.vue b/src/components/ConversationView.vue index a235b55..843b528 100644 --- a/src/components/ConversationView.vue +++ b/src/components/ConversationView.vue @@ -33,6 +33,19 @@ const newSessionPartner = ref({ tone: 'Auto-detect' }); +// Custom Dropdown States for Modal +const meLangDropdownOpen = ref(false); +const meGenderDropdownOpen = ref(false); +const partnerLangDropdownOpen = ref(false); +const partnerGenderDropdownOpen = ref(false); + +const closeAllModalDropdowns = () => { + meLangDropdownOpen.value = false; + meGenderDropdownOpen.value = false; + partnerLangDropdownOpen.value = false; + partnerGenderDropdownOpen.value = false; +}; + // Current active session const activeSession = computed(() => settings.chatSessions.find(s => s.id === settings.activeSessionId) || null @@ -179,6 +192,7 @@ const translateMessage = async (sender: 'me' | 'partner') => { const handleGlobalClick = () => { myToneDropdownOpen.value = false; + closeAllModalDropdowns(); }; onMounted(() => window.addEventListener('click', handleGlobalClick)); @@ -464,8 +478,8 @@ onUnmounted(() => window.removeEventListener('click', handleGlobalClick)); leave-to-class="opacity-0 scale-95" >
-
-
+
+

创建新会话 @@ -486,17 +500,41 @@ onUnmounted(() => window.removeEventListener('click', handleGlobalClick));

- +
+ +
+ +
+
- +
+ +
+ +
+
@@ -511,17 +549,41 @@ onUnmounted(() => window.removeEventListener('click', handleGlobalClick));
- +
+ +
+ +
+
- +
+ +
+ +
+