- {localizedFinalJudgment || aiForecast.streamText}
+
+
+ {aiForecast.status === "loading" ? (
+ <>
+
+ {aiReadInProgressText}
- ) : null}
-
+ {localizedFinalJudgment || aiForecast.streamText ? (
+
+ {localizedFinalJudgment || aiForecast.streamText}
+
+ ) : null}
+
+ {isEn
+ ? isHkoObservation
+ ? "Rule evidence is shown first; the full HKO AI read will merge automatically."
+ : "Rule evidence is shown first; the full airport AI read will merge automatically."
+ : isHkoObservation
+ ? "先展示规则证据,完整香港天文台 AI 解读返回后会自动合并。"
+ : "先展示规则证据,完整机场 AI 解读返回后会自动合并。"}
+
+ >
+ ) : aiForecast.status === "ready" && aiCityForecast ? (
+ <>
+
+ {aiRuleEvidenceMode ? aiRuleEvidenceText : aiReadCompleteText}
+
+
+ {[
+ localizedFinalJudgment,
+ ...aiBullets,
+ ].filter((line) => String(line || "").trim()).map((line, index) => (
+ - {line}
+ ))}
+
+
+ {rawObservationText}
+
+ >
+ ) : aiForecast.status === "ready" ? (
+ <>
+
+ {aiRuleEvidenceText}
+
+
+ {fallbackAiReason ? - {fallbackAiReason}
: null}
+ - {localModelSupportNote}
+ - {rawObservationText}
+
+ >
+ ) : aiForecast.status === "failed" ? (
+ <>
+
+ {aiRuleEvidenceText}
+
+
+ {aiForecast.error ? - {aiForecast.error}
: null}
+ - {localModelSupportNote}
+ - {rawObservationText}
+
+ >
+ ) : (
+
{isEn
? isHkoObservation
- ? "Rule evidence is shown first; the full HKO AI read will merge automatically."
- : "Rule evidence is shown first; the full airport AI read will merge automatically."
+ ? "Waiting for AI to read the latest HKO observation."
+ : "Waiting for AI to read the latest airport bulletin."
: isHkoObservation
- ? "先展示规则证据,完整香港天文台 AI 解读返回后会自动合并。"
- : "先展示规则证据,完整机场 AI 解读返回后会自动合并。"}
+ ? "等待 AI 解读最新香港天文台观测。"
+ : "等待 AI 解读最新机场报文。"}
- >
- ) : aiForecast.status === "ready" && aiCityForecast ? (
- <>
-
- {aiRuleEvidenceMode ? aiRuleEvidenceText : aiReadCompleteText}
-
-
- {[
- localizedFinalJudgment,
- ...aiBullets,
- ].filter((line) => String(line || "").trim()).map((line, index) => (
- - {line}
- ))}
-
-
- {rawObservationText}
-
- >
- ) : aiForecast.status === "ready" ? (
- <>
-
- {aiRuleEvidenceText}
-
-
- {fallbackAiReason ? - {fallbackAiReason}
: null}
- - {localModelSupportNote}
- - {rawObservationText}
-
- >
- ) : aiForecast.status === "failed" ? (
- <>
-
- {aiRuleEvidenceText}
-
-
- {aiForecast.error ? - {aiForecast.error}
: null}
- - {localModelSupportNote}
- - {rawObservationText}
-
- >
- ) : (
-
- {isEn
- ? isHkoObservation
- ? "Waiting for AI to read the latest HKO observation."
- : "Waiting for AI to read the latest airport bulletin."
- : isHkoObservation
- ? "等待 AI 解读最新香港天文台观测。"
- : "等待 AI 解读最新机场报文。"}
-
- )}
-
+ )}
+
+