feat(ui): AI Tools modal, one-button lane tool picker, AgentHub settings in Overview, markdown preview
- AI Tools moves from a Settings section into a modal behind a button at the Settings tab bar's right edge (AiToolsModal, `actions` on PageTabs, /settings#ai-tools); rows get an enable switch, Default badge, and an Update button for every tool whose catalog names an updater (no version lookup on open); not-installed tools fold behind a disclosure, a finished job's log folds to one line; shared AiToolIcon - codex updates through its own `codex update`, openclaw/hermes gain `update --yes`; update-all runs every installed updater and skips an npm one only when npm does not manage the binary - Add-lane tool picker is one button showing the chosen tool that opens the enabled tools as buttons - Claude Code / Codex AgentHub sub-tab folded into Overview (home editor, hooks, pricing); the path list drops CLAUDE_HOME/CODEX_HOME; HomeDirSetting shows the saved value only while the field differs - Preview/Raw toggle for markdown files in the config FileViewer and the Changes panel's whole-file view (MarkdownPreview: react-markdown + remark-gfm, raw HTML never run, frontmatter as a code block) - docs and the CLAUDE.md marker updated
This commit is contained in:
@@ -24,8 +24,7 @@
|
||||
"hooks": "Hooks",
|
||||
"keybindings": "Keybindings",
|
||||
"settings": "Settings",
|
||||
"memory": "Memory",
|
||||
"agenthub": "AgentHub"
|
||||
"memory": "Memory"
|
||||
},
|
||||
"overview": {
|
||||
"rootsTitle": "Roots",
|
||||
@@ -51,7 +50,9 @@
|
||||
"modified": "Modified",
|
||||
"scopeLabel": "Scope",
|
||||
"noFrontmatter": "No frontmatter",
|
||||
"redactedNotice": "Values matching /token|secret|password|key|auth/i are redacted server-side."
|
||||
"redactedNotice": "Values matching /token|secret|password|key|auth/i are redacted server-side.",
|
||||
"preview": "Preview",
|
||||
"raw": "Raw"
|
||||
},
|
||||
"skills": {
|
||||
"name": "Name",
|
||||
|
||||
@@ -18,8 +18,7 @@
|
||||
"memory": "Memory",
|
||||
"config": "Config",
|
||||
"mcp": "MCP servers",
|
||||
"plugins": "Plugins",
|
||||
"agenthub": "AgentHub"
|
||||
"plugins": "Plugins"
|
||||
},
|
||||
"overview": {
|
||||
"rootsTitle": "Roots",
|
||||
|
||||
@@ -53,8 +53,7 @@
|
||||
"addLaneSetupTitle": "Setup",
|
||||
"addLaneTitleLabel": "Title",
|
||||
"addLaneTitlePlaceholder": "Optional",
|
||||
"addLaneToolDefault": "Default ({{tool}})",
|
||||
"addLaneToolOther": "Other…",
|
||||
"addLaneToolDefaultBadge": "Default",
|
||||
"addLaneNoTools": "No AI tool is installed and enabled.",
|
||||
"addLaneNoToolsLink": "Open Settings → AI Tools",
|
||||
"addLaneRouterNativeTool": "Native ({{tool}})",
|
||||
@@ -258,6 +257,8 @@
|
||||
"changes.save": "Save",
|
||||
"changes.cancelEdit": "Cancel",
|
||||
"changes.clickToEdit": "Click the text to edit",
|
||||
"changes.preview": "Preview",
|
||||
"changes.raw": "Raw",
|
||||
"changes.editorLabel": "Edit {{path}}",
|
||||
"changes.prevHunk": "Previous change",
|
||||
"changes.nextHunk": "Next change",
|
||||
|
||||
@@ -530,9 +530,7 @@
|
||||
"homepageOf": "{{tool}} homepage",
|
||||
"install": "Install",
|
||||
"update": "Update",
|
||||
"updateTools": "Update tools",
|
||||
"newVersion": "v{{version}} available",
|
||||
"outsideNpm": "Installed outside npm — update it the way you installed it",
|
||||
"updateAll": "Update all ({{count}})",
|
||||
"runScript": "Download {{url}} and run it with bash",
|
||||
"confirmInstall": "Install {{tool}}?",
|
||||
"confirmUpdate": "Update {{tool}}?",
|
||||
@@ -542,7 +540,9 @@
|
||||
"cancel": "Cancel",
|
||||
"jobRunning": "Running…",
|
||||
"jobOk": "Done",
|
||||
"jobFailed": "Failed (exit {{code}})"
|
||||
"jobFailed": "Failed (exit {{code}})",
|
||||
"showLog": "Show log",
|
||||
"hideLog": "Hide log"
|
||||
},
|
||||
"appearance": {
|
||||
"title": "Appearance",
|
||||
|
||||
Reference in New Issue
Block a user