mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-12 02:37:45 +08:00
- Introduced styles for the help view including tab transitions, accordion animations, search highlighting, and responsive design. - Implemented core memory styles with modal base styles, memory card designs, and knowledge graph visualization. - Enhanced dark mode support across various components. - Added loading states and empty state designs for better user experience.
242 lines
4.9 KiB
CSS
242 lines
4.9 KiB
CSS
/* ========================================
|
|
* Resume Session Styles
|
|
* ======================================== */
|
|
|
|
/* Resume Badge */
|
|
.history-resume-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
padding: 0.1875rem 0.375rem;
|
|
background: hsl(var(--primary) / 0.12);
|
|
color: hsl(var(--primary));
|
|
border-radius: 0.25rem;
|
|
font-size: 0.625rem;
|
|
}
|
|
|
|
/* Resume Item Highlight */
|
|
.history-item-resume {
|
|
border-left: 3px solid hsl(var(--primary) / 0.5);
|
|
}
|
|
|
|
.history-item-resume:hover {
|
|
border-left-color: hsl(var(--primary));
|
|
}
|
|
|
|
/* History ID Display */
|
|
.history-id {
|
|
font-family: 'SF Mono', 'Consolas', 'Liberation Mono', monospace;
|
|
font-size: 0.625rem;
|
|
color: hsl(var(--muted-foreground) / 0.7);
|
|
}
|
|
|
|
/* Resume Button */
|
|
.btn-resume {
|
|
color: hsl(var(--primary));
|
|
}
|
|
|
|
.btn-resume:hover {
|
|
background: hsl(var(--primary) / 0.1);
|
|
color: hsl(var(--primary));
|
|
}
|
|
|
|
/* Resume Modal */
|
|
.resume-modal p {
|
|
font-size: 0.875rem;
|
|
color: hsl(var(--muted-foreground));
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.resume-prompt-input {
|
|
width: 100%;
|
|
padding: 0.75rem;
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: 0.5rem;
|
|
background: hsl(var(--background));
|
|
color: hsl(var(--foreground));
|
|
font-size: 0.875rem;
|
|
font-family: inherit;
|
|
resize: vertical;
|
|
min-height: 80px;
|
|
transition: all 0.2s ease;
|
|
}
|
|
|
|
.resume-prompt-input:focus {
|
|
outline: none;
|
|
border-color: hsl(var(--primary));
|
|
box-shadow: 0 0 0 2px hsl(var(--primary) / 0.15);
|
|
}
|
|
|
|
.resume-prompt-input::placeholder {
|
|
color: hsl(var(--muted-foreground) / 0.7);
|
|
}
|
|
|
|
.resume-modal-actions {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
gap: 0.5rem;
|
|
margin-top: 1rem;
|
|
padding-top: 1rem;
|
|
border-top: 1px solid hsl(var(--border));
|
|
}
|
|
|
|
/* ========================================
|
|
* Batch Delete & Multi-Select Styles
|
|
* ======================================== */
|
|
|
|
/* Delete Dropdown */
|
|
.history-delete-dropdown {
|
|
position: relative;
|
|
display: inline-block;
|
|
}
|
|
|
|
.delete-dropdown-menu {
|
|
display: none;
|
|
position: absolute;
|
|
top: 100%;
|
|
right: 0;
|
|
z-index: 50;
|
|
min-width: 180px;
|
|
padding: 0.375rem;
|
|
background: hsl(var(--card));
|
|
border: 1px solid hsl(var(--border));
|
|
border-radius: 0.5rem;
|
|
box-shadow: 0 4px 16px hsl(var(--foreground) / 0.1);
|
|
margin-top: 0.25rem;
|
|
}
|
|
|
|
.delete-dropdown-menu.show {
|
|
display: block;
|
|
}
|
|
|
|
.delete-dropdown-menu button {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.5rem;
|
|
width: 100%;
|
|
padding: 0.5rem 0.625rem;
|
|
border: none;
|
|
background: transparent;
|
|
color: hsl(var(--foreground));
|
|
font-size: 0.75rem;
|
|
text-align: left;
|
|
cursor: pointer;
|
|
border-radius: 0.375rem;
|
|
transition: all 0.15s ease;
|
|
}
|
|
|
|
.delete-dropdown-menu button:hover {
|
|
background: hsl(var(--hover));
|
|
}
|
|
|
|
.delete-dropdown-menu button i {
|
|
color: hsl(var(--muted-foreground));
|
|
}
|
|
|
|
.delete-dropdown-menu .delete-all-btn {
|
|
color: hsl(var(--destructive));
|
|
}
|
|
|
|
.delete-dropdown-menu .delete-all-btn i {
|
|
color: hsl(var(--destructive));
|
|
}
|
|
|
|
.delete-dropdown-menu .delete-all-btn:hover {
|
|
background: hsl(var(--destructive) / 0.1);
|
|
}
|
|
|
|
.dropdown-divider {
|
|
height: 1px;
|
|
margin: 0.375rem 0;
|
|
background: hsl(var(--border));
|
|
}
|
|
|
|
/* Batch Actions Bar */
|
|
.history-batch-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 0.625rem;
|
|
padding: 0.75rem 1rem;
|
|
background: hsl(var(--primary) / 0.08);
|
|
border: 1px solid hsl(var(--primary) / 0.2);
|
|
border-radius: 0.5rem;
|
|
margin-bottom: 1rem;
|
|
}
|
|
|
|
.batch-select-count {
|
|
font-size: 0.8125rem;
|
|
font-weight: 600;
|
|
color: hsl(var(--primary));
|
|
margin-right: auto;
|
|
}
|
|
|
|
.btn-danger {
|
|
background: hsl(var(--destructive));
|
|
color: hsl(var(--destructive-foreground));
|
|
border-color: hsl(var(--destructive));
|
|
}
|
|
|
|
.btn-danger:hover:not(:disabled) {
|
|
opacity: 0.9;
|
|
}
|
|
|
|
.btn-danger:disabled {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
/* Override for icon-style danger buttons (subtle, not solid red) */
|
|
.btn-icon.btn-danger,
|
|
.history-item-actions .btn-danger,
|
|
.cli-history-actions .btn-danger {
|
|
background: transparent;
|
|
color: hsl(var(--muted-foreground));
|
|
border: none;
|
|
}
|
|
|
|
.btn-icon.btn-danger:hover,
|
|
.history-item-actions .btn-danger:hover,
|
|
.cli-history-actions .btn-danger:hover {
|
|
background: hsl(var(--destructive) / 0.1);
|
|
color: hsl(var(--destructive));
|
|
opacity: 1;
|
|
}
|
|
|
|
/* Multi-Select Checkbox */
|
|
.history-checkbox-wrapper {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
width: 2rem;
|
|
height: 2rem;
|
|
margin-right: 0.75rem;
|
|
flex-shrink: 0;
|
|
}
|
|
|
|
.history-checkbox {
|
|
width: 1.125rem;
|
|
height: 1.125rem;
|
|
cursor: pointer;
|
|
accent-color: hsl(var(--primary));
|
|
}
|
|
|
|
/* Selected Item State */
|
|
.history-item-selected {
|
|
background: hsl(var(--primary) / 0.08) !important;
|
|
border-color: hsl(var(--primary) / 0.3) !important;
|
|
}
|
|
|
|
/* Turn Badge for History List */
|
|
.history-turn-badge {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
gap: 0.25rem;
|
|
font-size: 0.625rem;
|
|
font-weight: 600;
|
|
padding: 0.1875rem 0.5rem;
|
|
background: hsl(var(--primary) / 0.12);
|
|
color: hsl(var(--primary));
|
|
border-radius: 9999px;
|
|
}
|
|
|