// @ts-nocheck
import { ICONS, TOOL_CATEGORY_ICON_MAP } from '../utils/icons';

export function dataState() {
    return {
        // 路由相关
        initialRouteResolved: false,
        dropToolEvents: false,

        // 轮询模式标志（禁用 WebSocket 事件处理）
        usePollingMode: true,

        // 工具状态跟踪
        preparingTools: new Map(),
        activeTools: new Map(),
        toolActionIndex: new Map(),
        toolStacks: new Map(),
        // 当前任务是否仍在进行中（用于保持输入区的"停止"状态）
        taskInProgress: false,
        // 记录上一次成功加载历史的对话ID，防止初始化阶段重复加载导致动画播放两次
        lastHistoryLoadedConversationId: null,

        // ==========================================
        // 对话管理相关状态
        // ==========================================

        // 搜索功能
        // ==========================================
        searchRequestSeq: 0,
        searchActiveQuery: '',
        searchResultIdSet: new Set(),
        searchPreviewCache: {},

        // Token统计相关状态（修复版）
        // ==========================================

        // 对话压缩状态
        compressing: false,
        skipConversationLoadedEvent: false,
        skipConversationHistoryReload: false,
        _scrollListenerReady: false,
        historyLoading: false,
        historyLoadingFor: null,
        historyLoadSeq: 0,
        blankHeroActive: false,
        blankHeroExiting: false,
        blankWelcomeText: '',
        lastBlankConversationId: null,
        // 对话标题打字效果
        titleTypingText: '',
        titleTypingTarget: '',
        titleTypingTimer: null,
        titleReady: false,
        suppressTitleTyping: false,
        headerMenuOpen: false,
        blankWelcomePool: [
            '有什么可以帮忙的？',
            '想了解些热点吗？',
            '要我帮你完成作业吗？',
            '整点代码？',
            '随便聊点什么？',
            '想让我帮你整理一下思路吗？',
            '要不要我帮你写个小工具？',
            '发我一句话，我来接着做。'
        ],
        mobileViewportQuery: null,
        modeMenuOpen: false,
        modelMenuOpen: false,
        imageEntries: [],
        imageLoading: false,
        videoEntries: [],
        videoLoading: false,
        conversationHasImages: false,
        conversationHasVideos: false,
        conversationListRequestSeq: 0,
        conversationListRefreshToken: 0,

        // 工具控制菜单
        icons: ICONS,
        toolCategoryIcons: TOOL_CATEGORY_ICON_MAP,

        // 对话回顾
        reviewDialogOpen: false,
        reviewSelectedConversationId: null,
        reviewSubmitting: false,
        reviewPreviewLines: [],
        reviewPreviewLoading: false,
        reviewPreviewError: null,
        reviewPreviewLimit: 20,
        reviewSendToModel: true,
        reviewGeneratedPath: null
    };
}
