持久化(P1-c):新建 usePersistedRef composable,Tasks/AuditLog/ProjectDetail 等接入 localStorage
AuditLog(P1-d):后端 list_tool_executions 加 WHERE 筛选+返 {items,total,has_more},前端对接+长列折叠+筛选持久化
数据源解耦(P1-g):ProjectDetail projectTasks 按 project_id 独立加载 + ChatInput @项目联想独立加载(不读 store.tasks 当前页)
GitChanges(12a):后端 get_module_commits 加 git rev-list --count 返 total,前端显真实总数
原12大改:Dashboard 统计卡压底行(1)/Projects 列表卡片视图(2)/project_event 埋点排序(3)/TaskDetail 重设计(4)/IdeaDetail 重设计(5)/KnowledgeDetail 重设计(6)/界面持久化+侧栏Ctrl+B+审批数字键(7)/ProjectDetail 三栏改两栏(10)
P2打磨:文件浏览器(FileTree去重/FilePreview行号.md Diff/selectedFilePath归位)/settings反馈(假保存/端口校验)/AI会话(try-catch/scrollIntoView)/后端计数(move_queue事件/timeline total/workflow分页/import_batch分块)/杂项(TopBar/ConfirmDialog键盘/CIStatus i18n/ToolResultBody/ModuleNode/ApprovalDialog全选)
144 lines
4.2 KiB
TypeScript
144 lines
4.2 KiB
TypeScript
export default {
|
|
ideas: {
|
|
// Page header
|
|
title: '💡 Ideas',
|
|
refresh: '🔄 Refresh',
|
|
capture: '✨ Capture Idea',
|
|
|
|
// Filter bar
|
|
searchPlaceholder: 'Search ideas...',
|
|
filter: {
|
|
all: 'All',
|
|
hot: 'Hot',
|
|
pending: 'Pending',
|
|
promoted: 'Promoted',
|
|
},
|
|
|
|
// Empty state
|
|
emptyState: 'Select an idea to view details',
|
|
// List empty / async button placeholders
|
|
listEmpty: '📭 No ideas yet. Click "Capture Idea" at the top right to start.',
|
|
creating: 'Creating…',
|
|
deleting: 'Deleting…',
|
|
promoting: 'Promoting…',
|
|
|
|
// Errors
|
|
err: {
|
|
loadFailed: 'Failed to load ideas',
|
|
createFailed: 'Failed to create idea',
|
|
deleteFailed: 'Failed to delete idea',
|
|
relateFailed: 'Failed to update relations',
|
|
},
|
|
|
|
// Adversarial evaluation
|
|
adversarialTitle: '⚖️ Adversarial Evaluation',
|
|
evalModeHeuristic: 'Heuristic',
|
|
positive: '📈 Pro',
|
|
negative: '📉 Con',
|
|
confidence: '{n}% confidence',
|
|
analystTitle: '🧠 AI Analyst Conclusion',
|
|
finalScore: 'Overall score: {score}/10',
|
|
netSentiment: 'Overall sentiment: {tone} ({n})',
|
|
sentimentPositive: 'Positive',
|
|
sentimentNegative: 'Cautious',
|
|
sentimentNeutral: 'Neutral',
|
|
actionTitle: '💡 Action Items',
|
|
evaluating: '⏳ Evaluating…',
|
|
startEval: '🔍 Start Adversarial Eval',
|
|
retryEval: 'Retry',
|
|
evalModeLlm: 'LLM deep eval',
|
|
evalModeFallback: 'Heuristic fallback',
|
|
|
|
// Description editing
|
|
editDesc: 'Edit',
|
|
saveDesc: 'Save',
|
|
cancelEdit: 'Cancel',
|
|
|
|
// List sorting
|
|
sortByScore: 'By score',
|
|
sortByTime: 'By time',
|
|
|
|
// Assessment badges
|
|
assessment: {
|
|
'immediate action': '🚀 Act immediately',
|
|
soon: '📅 Act soon',
|
|
'with resources': '📦 Act with resources',
|
|
'research more': '🔍 Needs more research',
|
|
monitor: '👁️ Keep monitoring',
|
|
cancel: '❌ Cancel idea',
|
|
},
|
|
|
|
// Project detail "Source Idea" card (promote carries evaluation conclusion back)
|
|
sourceIdea: '💡 Source Idea',
|
|
sourceIdeaNotEvaluated: 'Idea not evaluated yet, click to view',
|
|
|
|
// Multi-dimensional score
|
|
multiScoreTitle: '📊 Multi-dim Score',
|
|
noEval: 'No evaluation yet',
|
|
|
|
// Evaluation history (version timeline)
|
|
historyTitle: '📜 Evaluation History',
|
|
historyVersion: 'Version',
|
|
historyLatest: 'Latest',
|
|
historyEmpty: 'No evaluation history',
|
|
historyLoading: 'Loading history…',
|
|
|
|
// Related ideas
|
|
relatedTitle: '🔗 Related Ideas',
|
|
relatedEmpty: 'No relations',
|
|
relatedManage: 'Manage relations',
|
|
relatedConfirm: 'Confirm',
|
|
relatedCancel: 'Cancel',
|
|
|
|
// Idea stats panel (used by IdeasPanel)
|
|
statsPending: 'Pending',
|
|
statsPromoted: 'Promoted',
|
|
statsAvgScore: 'Avg score',
|
|
|
|
// Tags
|
|
tagsTitle: '🏷️ Tags',
|
|
noTags: 'No tags yet',
|
|
|
|
// Status management
|
|
statusTitle: '📋 Status',
|
|
status: {
|
|
draft: '📝 Draft',
|
|
pending_review: '⏳ Pending',
|
|
approved: '✅ Approved',
|
|
promoted: '🚀 Promoted',
|
|
rejected: '❌ Rejected',
|
|
},
|
|
|
|
// Action buttons
|
|
promoteToProject: '🚀 Promote to Project',
|
|
deleteIdea: '🗑️ Delete Idea',
|
|
promotedProject: 'Promoted to project',
|
|
|
|
// Capture modal
|
|
captureTitle: '✨ Capture New Idea',
|
|
fieldTitle: 'Title',
|
|
fieldDesc: 'Description',
|
|
fieldTags: 'Tags',
|
|
fieldPriority: 'Priority',
|
|
fieldSource: 'Source',
|
|
titlePlaceholder: 'Describe your idea in one sentence...',
|
|
descPlaceholder: 'More details (optional)...',
|
|
tagsPlaceholder: 'Comma-separated, e.g. tools, efficiency, automation',
|
|
sourcePlaceholder: 'Source (optional, e.g. user feedback, competitor analysis)',
|
|
priorityCritical: 'Critical',
|
|
priorityHigh: 'High',
|
|
priorityMedium: 'Medium',
|
|
priorityLow: 'Low',
|
|
|
|
// Deep link not found
|
|
notFound: 'Idea not found or deleted',
|
|
|
|
// Native dialog text (confirm / alert)
|
|
confirmDelete: 'Delete idea "{title}"? This cannot be undone.',
|
|
// ⑥ Status change confirm (terminal promoted/rejected/archived or leaving approved)
|
|
confirmStatus: 'Change idea "{title}" status from {from} to {to}?',
|
|
promoteFailed: 'Promotion failed',
|
|
evalFailed: 'Evaluation failed',
|
|
},
|
|
}
|