refactor(chat): split screen orchestration
Docker Image / Build and Push Docker Image (push) Successful in 14m9s

This commit is contained in:
2026-07-08 15:33:24 +08:00
parent 18aa69bdd9
commit 21b6d346bd
15 changed files with 522 additions and 179 deletions
+13
View File
@@ -1,6 +1,7 @@
"use client";
import type { LoginStatus } from "@/data/dto/auth";
import type { ChatUpgradeReason } from "@/stores/chat/chat-state";
import { AppEnvUtil, BrowserDetector } from "@/utils";
export interface ExternalBrowserPromptState {
@@ -18,10 +19,22 @@ export interface InsufficientCreditsMessageLimitView {
action: InsufficientCreditsAction;
}
export interface MessageLimitBannerState {
upgradePromptVisible: boolean;
upgradeReason: ChatUpgradeReason | null;
}
export function deriveIsGuest(loginStatus: LoginStatus): boolean {
return loginStatus === "guest";
}
export function shouldShowMessageLimitBanner({
upgradePromptVisible,
upgradeReason,
}: MessageLimitBannerState): boolean {
return upgradePromptVisible && upgradeReason === "insufficient_credits";
}
export function getInsufficientCreditsMessageLimitView(
loginStatus: LoginStatus,
): InsufficientCreditsMessageLimitView {