feat(chat): implement external browser prompt logic and update tests
This commit is contained in:
@@ -14,7 +14,6 @@ import { useEffect, useState } from "react";
|
||||
import { ExternalLink } from "lucide-react";
|
||||
|
||||
import { openChatInExternalBrowser } from "@/lib/chat/chat_external_browser";
|
||||
import { BrowserDetector } from "@/utils";
|
||||
|
||||
import styles from "./browser-hint-overlay.module.css";
|
||||
|
||||
@@ -39,13 +38,11 @@ export function BrowserHintOverlay({
|
||||
forceShow = false,
|
||||
autoCollapseDelayMs = DEFAULT_AUTO_COLLAPSE_DELAY_MS,
|
||||
}: BrowserHintOverlayProps) {
|
||||
// lazy initializer:首次渲染即计算(避免 useEffect 中调 setState 的 lint 错)
|
||||
const [isInAppBrowser] = useState(BrowserDetector.isInAppBrowser);
|
||||
const [isExpanded, setIsExpanded] = useState(true);
|
||||
const [hasAutoCollapsed, setHasAutoCollapsed] = useState(false);
|
||||
|
||||
// 开发模式或应用内浏览器才显示
|
||||
const shouldShow = forceShow || isInAppBrowser;
|
||||
// 展示条件由调用方控制;forceShow 保留给开发/测试入口。
|
||||
const shouldShow = forceShow;
|
||||
|
||||
useEffect(() => {
|
||||
if (!shouldShow || hasAutoCollapsed || autoCollapseDelayMs <= 0) return;
|
||||
|
||||
Reference in New Issue
Block a user