summaryrefslogtreecommitdiffhomepage
path: root/packages/frontend/src/app.css
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-05-22 15:24:13 +0900
committerAdam Malczewski <[email protected]>2026-05-22 15:24:13 +0900
commit9ecaabd87c0e51b8a7408dabb0133a9344586859 (patch)
tree4b5809ab23948a5e3f558f3aa34c52d5038f4e19 /packages/frontend/src/app.css
parent8f1dd855f0c4c877bff8d3a4ba193432b268b1c2 (diff)
downloaddispatch-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.css61
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;