fix(dashboard): 添加路径选择弹窗样式

- 修复 path-modal 样式丢失问题
- 添加完整的弹窗样式定义

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
catlog22
2025-12-08 09:59:15 +08:00
parent a80953527b
commit 06983a35ad
3 changed files with 186 additions and 27 deletions

View File

@@ -7929,3 +7929,186 @@ code.ctx-meta-chip-value {
width: 16px;
border-radius: 3px;
}
/* ===================================
Path Selection Modal
=================================== */
.path-modal-overlay {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
justify-content: center;
z-index: 1000;
backdrop-filter: blur(2px);
}
.path-modal {
background: hsl(var(--card));
border: 1px solid hsl(var(--border));
border-radius: 0.75rem;
width: 90%;
max-width: 480px;
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
animation: modal-enter 0.2s ease-out;
}
@keyframes modal-enter {
from {
opacity: 0;
transform: scale(0.95) translateY(-10px);
}
to {
opacity: 1;
transform: scale(1) translateY(0);
}
}
.path-modal-header {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 1.25rem 1.5rem;
border-bottom: 1px solid hsl(var(--border));
}
.path-modal-icon {
font-size: 1.5rem;
color: hsl(var(--primary));
}
.path-modal-header h3 {
margin: 0;
font-size: 1.1rem;
font-weight: 600;
color: hsl(var(--foreground));
}
.path-modal-body {
padding: 1.5rem;
}
.path-modal-body p {
margin: 0 0 1rem;
color: hsl(var(--muted-foreground));
font-size: 0.9rem;
line-height: 1.5;
}
.path-modal-command {
display: flex;
align-items: center;
gap: 0.75rem;
background: hsl(var(--muted));
padding: 0.75rem 1rem;
border-radius: 0.5rem;
font-family: var(--font-mono);
}
.path-modal-command code {
flex: 1;
font-size: 0.85rem;
color: hsl(var(--foreground));
word-break: break-all;
}
.path-modal-command .copy-btn {
display: flex;
align-items: center;
gap: 0.375rem;
padding: 0.375rem 0.75rem;
background: hsl(var(--primary));
color: white;
border: none;
border-radius: 0.375rem;
font-size: 0.8rem;
cursor: pointer;
transition: all 0.15s;
white-space: nowrap;
}
.path-modal-command .copy-btn:hover {
background: hsl(var(--primary) / 0.9);
}
.path-modal-note {
font-size: 0.85rem !important;
color: hsl(var(--muted-foreground)) !important;
}
.path-modal-note code {
background: hsl(var(--muted));
padding: 0.125rem 0.375rem;
border-radius: 0.25rem;
font-size: 0.8rem;
}
.path-modal-input {
width: 100%;
padding: 0.75rem 1rem;
background: hsl(var(--background));
border: 1px solid hsl(var(--border));
border-radius: 0.5rem;
font-size: 0.9rem;
color: hsl(var(--foreground));
outline: none;
transition: border-color 0.15s;
}
.path-modal-input:focus {
border-color: hsl(var(--primary));
}
.path-modal-input::placeholder {
color: hsl(var(--muted-foreground));
}
.path-modal-footer {
display: flex;
justify-content: flex-end;
gap: 0.75rem;
padding: 1rem 1.5rem;
border-top: 1px solid hsl(var(--border));
background: hsl(var(--muted) / 0.3);
border-radius: 0 0 0.75rem 0.75rem;
}
.path-modal-close {
padding: 0.5rem 1.25rem;
background: hsl(var(--muted));
color: hsl(var(--foreground));
border: none;
border-radius: 0.375rem;
font-size: 0.875rem;
cursor: pointer;
transition: all 0.15s;
}
.path-modal-close:hover {
background: hsl(var(--hover));
}
.path-modal-confirm {
padding: 0.5rem 1.25rem;
background: hsl(var(--primary));
color: white;
border: none;
border-radius: 0.375rem;
font-size: 0.875rem;
cursor: pointer;
transition: all 0.15s;
}
.path-modal-confirm:hover {
background: hsl(var(--primary) / 0.9);
}
.path-modal-confirm:disabled {
opacity: 0.5;
cursor: not-allowed;
}

28
package-lock.json generated
View File

@@ -1,17 +1,16 @@
{
"name": "claude-code-workflow",
"version": "6.0.0",
"version": "6.0.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "claude-code-workflow",
"version": "6.0.0",
"version": "6.0.3",
"license": "MIT",
"dependencies": {
"boxen": "^7.1.0",
"chalk": "^5.3.0",
"claude-code-workflow": "^6.0.0",
"commander": "^11.0.0",
"figlet": "^1.7.0",
"glob": "^10.3.0",
@@ -352,29 +351,6 @@
"integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==",
"license": "MIT"
},
"node_modules/claude-code-workflow": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/claude-code-workflow/-/claude-code-workflow-6.0.0.tgz",
"integrity": "sha512-YcYOplsnHqB/IcHIQgCrXPR1TK/Cbb5zFaFwrMNFzTEPU6oHRcGUc4RK9xtd/3LhfOGitZXSvANVooYPnNScVA==",
"license": "MIT",
"dependencies": {
"boxen": "^7.1.0",
"chalk": "^5.3.0",
"commander": "^11.0.0",
"figlet": "^1.7.0",
"glob": "^10.3.0",
"gradient-string": "^2.0.2",
"inquirer": "^9.2.0",
"open": "^9.1.0",
"ora": "^7.0.0"
},
"bin": {
"ccw": "ccw/bin/ccw.js"
},
"engines": {
"node": ">=16.0.0"
}
},
"node_modules/cli-boxes": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz",

View File

@@ -1,6 +1,6 @@
{
"name": "claude-code-workflow",
"version": "6.0.3",
"version": "6.0.4",
"description": "JSON-driven multi-agent development framework with intelligent CLI orchestration (Gemini/Qwen/Codex), context-first architecture, and automated workflow execution",
"type": "module",
"main": "ccw/src/index.js",