Sfoglia il codice sorgente

feat(i18n): add new translation entries and update toolbar logic

1. 新增粘贴代码、修改网页的多语言翻译
2. 优化折叠工具栏的按钮文本切换逻辑
3. 调整上传区域的硬编码文本为多语言适配
4. 修复上传按钮的条件判断逻辑
5. 优化悬浮和激活状态的样式细节
lsc 1 mese fa
parent
commit
db8fc5f6c4

+ 19 - 10
src/components/CollapsibleToolbar/index2.vue

@@ -502,7 +502,7 @@
               <circle cx="12" cy="12" r="10" stroke-dasharray="32" stroke-dashoffset="12"></circle>
             </svg>
           </div>
-          <span class="submenu-label">{{ create_app_loading ? lang.ssCreating : lang.ssNewWebpage }}</span>
+          <span class="submenu-label">{{ isExistingWebElement ? lang.ssEditWebpage : create_app_loading ? lang.ssCreating : lang.ssNewWebpage }}</span>
         </div>
         <div class="submenu-item" @click="handleToolClick('uploadCode')">
           <div class="submenu-icon">
@@ -581,9 +581,9 @@
         <div class="upload-box">
           <div class="upload-tabs">
             <button class="upload-tab" :class="{ active: uploadTab === 'file' }"
-              @click="switchUploadTab('file')">上传文件</button>
+              @click="switchUploadTab('file')">{{ lang.ssUploadFile }}</button>
             <button class="upload-tab" :class="{ active: uploadTab === 'code' }"
-              @click="switchUploadTab('code')">粘贴代码</button>
+              @click="switchUploadTab('code')">{{ lang.ssPasteCode }}</button>
           </div>
           <div class="uploadFilePanel" v-if="uploadTab === 'file'">
             <div class="form-group">
@@ -620,7 +620,7 @@
             :class="{ 'loading': isLoading, 'disabled': !codeInput || isLoading }"
             :disabled="!codeInput || isLoading" @click="handleUploadCode"
             v-else-if="uploadTab === 'code'">
-            {{ isLoading ? lang.ssUploading : !codeInput ? lang.ssWaitingForInput2 : lang.ssStartUpload }}
+            {{ isLoading ? lang.ssUploading : !codeInput ? lang.ssStartUpload : lang.ssStartUpload }}
           </button>
         </div>
       </div>
@@ -713,7 +713,7 @@
 </template>
 
 <script lang="ts" setup>
-import { ref, watch } from 'vue'
+import { ref, watch, computed } from 'vue'
 import { storeToRefs } from 'pinia'
 import useCreateElement from '@/hooks/useCreateElement'
 import useSlideHandler from '@/hooks/useSlideHandler'
@@ -1356,6 +1356,15 @@ const handleUploadCode = async () => {
   isLoading.value = false
 }
 
+const isExistingWebElement = computed(() => {
+  const elements = currentSlide.value?.elements || []
+  const existingWebElement = elements.find((el: any) => el.toolType === 73 && el.webId && el.type === 'frame')
+  return existingWebElement && existingWebElement.webId
+})
+
+
+
+
 // AI Web 相关状态
 const create_app_loading = ref(false)
 const webId = ref('')
@@ -1476,15 +1485,15 @@ const addAiWeb = async (code: string) => {
   box-shadow: 0 8px 18px rgba(15, 23, 42, 0.05);
 
   &:hover {
-    background: #fff2df !important;
-    border-color: rgba(247, 139, 34, 0.4) !important;
-    box-shadow: 0 14px 28px rgba(247, 139, 34, 0.18) !important;
+    box-shadow: #f78b221f 0px 12px 24px !important;
+    background: #fff8ef !important;
+    border-color: #f78b2252 !important;
   }
 
   &.active {
+    box-shadow: #f78b222e 0px 14px 28px !important;
     background: #fff2df !important;
-    border-color: rgba(247, 139, 34, 0.4) !important;
-    box-shadow: 0 14px 28px rgba(247, 139, 34, 0.18) !important;
+    border-color: #f78b2266 !important;
   }
 }
 

+ 3 - 1
src/views/lang/cn.json

@@ -918,5 +918,7 @@
   "ssAnonymousUser": "匿名用户",
   "ssAiChat": "AI对话",
   "ssCastScreen": "投屏",
-  "ssExitCastScreen": "退出投屏"
+  "ssExitCastScreen": "退出投屏",
+  "ssPasteCode": "粘贴代码",
+  "ssEditWebpage": "修改网页"
 }

+ 3 - 1
src/views/lang/en.json

@@ -918,5 +918,7 @@
   "ssAnonymousUser": "Anonymous User",
   "ssAiChat": "AI Chat",
   "ssCastScreen": "Cast Screen",
-  "ssExitCastScreen": "Exit Cast Screen"
+  "ssExitCastScreen": "Exit Cast Screen",
+  "ssPasteCode": "Paste Code",
+  "ssEditWebpage": "Edit Webpage"
 }

+ 3 - 1
src/views/lang/hk.json

@@ -918,5 +918,7 @@
   "ssAnonymousUser": "匿名用戶",
   "ssAiChat": "AI對話",
   "ssCastScreen": "投屏",
-  "ssExitCastScreen": "退出投屏"
+  "ssExitCastScreen": "退出投屏",
+  "ssPasteCode": "粘貼代碼",
+  "ssEditWebpage": "修改網頁"
 }