Explorar el Código

refactor(speaking): drop dead state-finalizing layer in DialogueChatView

The control-zone finalizing strip is now unreachable — root-level v-if
on reportFetchInflight replaces the entire view first. Remove the
'finalizing' literal from the state union and delete the dead DOM.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
jimmylee hace 2 meses
padre
commit
187787aae8
Se han modificado 1 ficheros con 3 adiciones y 11 borrados
  1. 3 11
      src/views/Editor/EnglishSpeaking/preview/DialogueChatView.vue

+ 3 - 11
src/views/Editor/EnglishSpeaking/preview/DialogueChatView.vue

@@ -445,14 +445,6 @@
             >{{ retryButtonLabel(lastErroredMessage) }}</button>
           </div>
 
-          <!-- finalizing -->
-          <div class="state-layer state-center" :style="stateStyle('finalizing')">
-            <svg class="spinner" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor"
-              stroke-width="2" stroke-linecap="round">
-              <path d="M21 12a9 9 0 1 1-6.219-8.56" />
-            </svg>
-            <span class="center-text">正在生成你的本次对话报告...</span>
-          </div>
         </div>
       </div>
 
@@ -662,13 +654,13 @@ let badgeTimer: ReturnType<typeof setTimeout> | null = null
 
 const currentRound = computed(() => engine.currentRound.value)
 
-// 状态机:starting → recording → stt → ai_thinking → idle / error / finalizing / done
+// 状态机:starting → recording → stt → ai_thinking → idle / error / done
 const state = computed<
-  'idle' | 'starting' | 'recording' | 'stt' | 'ai_thinking' | 'finalizing' | 'error' | 'done'
+  'idle' | 'starting' | 'recording' | 'stt' | 'ai_thinking' | 'error' | 'done'
 >(() => {
   if (isStarting.value) return 'starting'
   if (recorder.isRecording.value) return 'recording'
-  if (engine.isComplete.value) return reportFetchInflight.value ? 'finalizing' : 'done'
+  if (engine.isComplete.value) return 'done'
 
   const msgs = engine.messages.value
   const last = msgs[msgs.length - 1]