diff options
| author | Adam Malczewski <[email protected]> | 2026-05-22 15:24:13 +0900 |
|---|---|---|
| committer | Adam Malczewski <[email protected]> | 2026-05-22 15:24:13 +0900 |
| commit | 9ecaabd87c0e51b8a7408dabb0133a9344586859 (patch) | |
| tree | 4b5809ab23948a5e3f558f3aa34c52d5038f4e19 /packages/frontend/src/app.css | |
| parent | 8f1dd855f0c4c877bff8d3a4ba193432b268b1c2 (diff) | |
| download | dispatch-9ecaabd87c0e51b8a7408dabb0133a9344586859.tar.gz dispatch-9ecaabd87c0e51b8a7408dabb0133a9344586859.zip | |
feat: agent builder, CWD support, auto-save, UI polish, unavailable tool handling
- Agent Builder: full CRUD with card grid, drag-and-drop model reorder, edit/delete
- Auto-save on edit with 600ms debounce, AbortController for concurrency, fieldset disabled until name entered
- Agent definitions stored as TOML with cwd field, loaded from global/project dirs
- Working directory: per-tab CWD override in Chat Settings, agent default CWD, auto-create on first message
- CWD validation: check-dir endpoint with ~ expansion, real-time validity indicator
- Subagent CWD validated against parent's effective CWD using path.relative
- Unavailable tool calls: caught gracefully, shown as tool call with error badge, model retries
- UI: tab bar border radius, sidebar border removed, chat input ghost style, scroll-to-bottom rectangle
- Skills dir collapse uses CSS rotation, Model Choice renamed to Chat Settings, System Prompt view removed
- Reusable SkillsBrowser/ToolPermissions with external mode for Agent Builder
- ModelSelector: Agent/Manual toggle, agent list, Agent Settings link
- Page router, skills recursive scanning, bin/up gopass removed, docker volume mounts
Diffstat (limited to 'packages/frontend/src/app.css')
| -rw-r--r-- | packages/frontend/src/app.css | 61 |
1 files changed, 46 insertions, 15 deletions
diff --git a/packages/frontend/src/app.css b/packages/frontend/src/app.css index a9ee1b6..169f7e4 100644 --- a/packages/frontend/src/app.css +++ b/packages/frontend/src/app.css @@ -1,31 +1,57 @@ @import "tailwindcss"; @import "highlight.js/styles/atom-one-dark.min.css"; @plugin "daisyui" { - themes: light, dark, dracula, night, nord, sunset, cyberpunk, forest, cmyk, coffee, caramellatte, garden, luxury; + themes: + light, dark, dracula, night, nord, sunset, cyberpunk, forest, cmyk, coffee, caramellatte, + garden, luxury; } .markdown-body { & p { margin-block: 0.5em; - &:first-child { margin-block-start: 0; } - &:last-child { margin-block-end: 0; } + &:first-child { + margin-block-start: 0; + } + &:last-child { + margin-block-end: 0; + } } - & h1, & h2, & h3, & h4, & h5, & h6 { + & h1, + & h2, + & h3, + & h4, + & h5, + & h6 { font-weight: 600; line-height: 1.25; margin-block: 0.75em 0.25em; - &:first-child { margin-block-start: 0; } + &:first-child { + margin-block-start: 0; + } } - & h1 { font-size: 1.4em; } - & h2 { font-size: 1.2em; } - & h3 { font-size: 1.1em; } - & ul, & ol { + & h1 { + font-size: 1.4em; + } + & h2 { + font-size: 1.2em; + } + & h3 { + font-size: 1.1em; + } + & ul, + & ol { padding-inline-start: 1.5em; margin-block: 0.5em; } - & ul { list-style-type: disc; } - & ol { list-style-type: decimal; } - & li { margin-block: 0.15em; } + & ul { + list-style-type: disc; + } + & ol { + list-style-type: decimal; + } + & li { + margin-block: 0.15em; + } & pre { overflow-x: auto; border-radius: var(--radius-box); @@ -54,16 +80,21 @@ & a { color: oklch(var(--color-primary)); text-decoration: underline; - &:hover { opacity: 0.8; } + &:hover { + opacity: 0.8; + } + } + & strong { + font-weight: 600; } - & strong { font-weight: 600; } & table { width: 100%; border-collapse: collapse; margin-block: 0.5em; font-size: 0.875em; } - & th, & td { + & th, + & td { border: 1px solid oklch(var(--color-base-content) / 0.15); padding: 0.4em 0.75em; text-align: start; |
