mindnet_obsidian/styles.css
Lars 0a346d3886
Some checks failed
Node.js build / build (20.x) (push) Has been cancelled
Node.js build / build (22.x) (push) Has been cancelled
Enhance profile selection and interview wizard functionality
- Introduced preferred note types in ProfileSelectionModal to prioritize user selections, improving the user experience during profile selection.
- Updated InterviewWizardModal to accept initial pending edge assignments, allowing for better state management and user feedback.
- Added a new action, `create_section_in_note`, to the todo generation process, expanding the capabilities of the interview workflow.
- Enhanced the startWizardAfterCreate function to support initial pending edge assignments, streamlining the wizard initiation process.
- Improved CSS styles for preferred profiles, enhancing visual distinction in the profile selection interface.
2026-02-07 21:22:35 +01:00

751 lines
14 KiB
CSS

/*
This CSS file will be included with your plugin, and
available in the app when your plugin is enabled.
If your plugin does not need CSS, delete this file.
*/
/* Profile selection visual feedback */
.profile-selected {
background-color: var(--interactive-hover);
border-left: 3px solid var(--interactive-accent);
padding-left: calc(var(--size-4-2) - 3px);
}
.profile-selected .setting-item-name {
font-weight: 600;
}
.profile-preferred {
background-color: var(--background-modifier-hover);
border-left: 2px solid var(--text-accent);
padding-left: calc(var(--size-4-2) - 2px);
}
.profile-preferred .setting-item-name {
font-weight: 500;
}
/* Interview wizard styles */
.interview-prompt {
color: var(--text-muted);
font-style: italic;
margin-bottom: 1em;
}
.interview-warning {
background-color: var(--background-modifier-error);
color: var(--text-error);
padding: 0.5em;
border-radius: 4px;
margin: 1em 0;
}
.interview-note {
color: var(--text-muted);
font-size: 0.9em;
margin-top: 0.5em;
}
.loop-items-list {
margin: 1em 0;
padding: 1em;
background-color: var(--background-secondary);
border-radius: 4px;
}
.loop-items-list ul {
margin: 0.5em 0;
padding-left: 1.5em;
}
.loop-items-list li {
margin: 0.25em 0;
}
/* TextArea improvements */
.setting-item textarea {
width: 100% !important;
min-height: 150px;
resize: vertical;
}
/* Interview Wizard Modal Layout */
.mindnet-wizard-modal.modal {
width: clamp(720px, 88vw, 1100px) !important;
height: clamp(640px, 86vh, 920px) !important;
max-width: 90vw !important;
max-height: 90vh !important;
}
.mindnet-wizard-modal .modal-container {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.mindnet-wizard-modal .modal-content {
display: flex;
flex-direction: column;
flex: 1;
min-height: 0;
overflow: hidden;
}
.mindnet-wizard-modal .modal-content-header {
flex-shrink: 0;
padding: 1em;
border-bottom: 1px solid var(--background-modifier-border);
}
.mindnet-wizard-modal .modal-content-body {
flex: 1;
overflow-y: auto;
overflow-x: hidden;
padding: 1.5em;
min-height: 0; /* Important for flex scrolling */
}
.mindnet-wizard-modal .modal-content-footer {
flex-shrink: 0;
padding: 1em;
border-top: 1px solid var(--background-modifier-border);
background-color: var(--background-primary);
position: sticky;
bottom: 0;
z-index: 10;
}
/* Full-width inputs in wizard */
.mindnet-wizard-modal .setting-item {
width: 100%;
}
.mindnet-wizard-modal .setting-item-control {
width: 100%;
}
.mindnet-wizard-modal .setting-item-control textarea {
width: 100% !important;
min-height: 240px;
flex-grow: 1;
resize: vertical;
box-sizing: border-box;
}
.mindnet-wizard-modal .setting-item-control input[type="text"] {
width: 100% !important;
box-sizing: border-box;
}
/* Single column layout for step content */
.mindnet-wizard-modal .step-content {
display: flex;
flex-direction: column;
width: 100%;
gap: 1em;
}
.mindnet-wizard-modal .step-content .setting-item {
width: 100%;
margin: 0.5em 0;
}
/* Navigation buttons layout */
.mindnet-wizard-modal .interview-navigation {
display: flex;
gap: 0.5em;
justify-content: flex-end;
flex-wrap: wrap;
}
.mindnet-wizard-modal .interview-navigation .setting-item {
margin: 0;
flex: 0 0 auto;
}
/* Markdown toolbar styles */
.markdown-toolbar {
display: flex;
gap: 0.25em;
padding: 0.5em;
border-bottom: 1px solid var(--background-modifier-border);
flex-wrap: wrap;
align-items: center;
background-color: var(--background-secondary);
border-radius: 4px 4px 0 0;
}
.markdown-toolbar-button {
padding: 0.25em 0.5em;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-primary);
cursor: pointer;
font-size: 0.9em;
min-width: 2em;
transition: background-color 0.1s;
}
.markdown-toolbar-button:hover {
background: var(--interactive-hover);
}
.markdown-toolbar-button:active {
background: var(--interactive-active);
}
/* Markdown editor container */
.markdown-editor-container {
width: 100%;
position: relative;
}
.markdown-editor-wrapper {
width: 100%;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
overflow: hidden;
}
.markdown-preview-container {
width: 100%;
min-height: 240px;
padding: 1em;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-primary);
overflow-y: auto;
}
.markdown-preview-container .markdown-preview-view {
width: 100%;
}
/* Ensure textarea in editor wrapper takes full width */
.markdown-editor-wrapper .setting-item {
width: 100%;
margin: 0;
border: none;
}
.markdown-editor-wrapper .setting-item-control {
width: 100%;
}
.markdown-editor-wrapper textarea {
border: none !important;
border-radius: 0 !important;
padding: 1em !important;
}
/* Field container with vertical layout */
.mindnet-field {
display: flex;
flex-direction: column;
gap: 8px;
margin: 14px 0 18px;
width: 100%;
}
.mindnet-field__label {
font-weight: 600;
font-size: 16px;
line-height: 1.2;
display: block;
width: 100%;
}
.mindnet-field__desc {
font-size: 13px;
opacity: 0.85;
line-height: 1.35;
white-space: normal;
overflow: visible;
text-overflow: clip;
display: block;
width: 100%;
word-wrap: break-word;
overflow-wrap: break-word;
}
.mindnet-field__input {
width: 100%;
display: block;
}
.mindnet-field textarea,
.mindnet-field input[type="text"] {
width: 100% !important;
box-sizing: border-box;
}
/* Ensure no truncation in field descriptions */
.mindnet-field__desc,
.mindnet-field__label {
white-space: normal !important;
overflow: visible !important;
text-overflow: clip !important;
}
/* Remove any truncation from Setting component labels when inside mindnet-field */
.mindnet-field .setting-item-name {
white-space: normal !important;
overflow: visible !important;
text-overflow: clip !important;
}
/* Chain Workbench Modal - Wide two-column layout */
.chain-workbench-modal.modal {
width: clamp(1200px, 95vw, 1600px) !important;
height: clamp(700px, 90vh, 1000px) !important;
max-width: 95vw !important;
max-height: 95vh !important;
}
.chain-workbench-modal .modal-container {
width: 100%;
height: 100%;
display: flex;
flex-direction: column;
}
.chain-workbench-modal .modal-content {
display: flex;
flex-direction: column;
flex: 1;
min-height: 0;
overflow: hidden;
padding: 1em;
}
/* Workbench Header */
.workbench-header {
flex-shrink: 0;
padding-bottom: 1em;
border-bottom: 1px solid var(--background-modifier-border);
margin-bottom: 1em;
}
.workbench-header h2 {
margin: 0 0 0.5em 0;
}
.workbench-header .context-info {
color: var(--text-muted);
font-size: 0.9em;
}
/* Workbench Filters */
.workbench-filters {
display: flex;
gap: 1em;
align-items: center;
flex-wrap: wrap;
margin-bottom: 1em;
padding: 0.5em;
background-color: var(--background-secondary);
border-radius: 4px;
}
.workbench-filters label {
font-weight: 500;
}
.workbench-filters select,
.workbench-filters input {
padding: 0.25em 0.5em;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-primary);
}
/* Workbench Main Container - Two Column Layout */
.workbench-main {
display: flex;
flex: 1;
gap: 1.5em;
min-height: 0;
overflow: hidden;
}
/* Left Column: Tree View */
.workbench-tree {
flex: 0 0 400px;
display: flex;
flex-direction: column;
border-right: 1px solid var(--background-modifier-border);
padding-right: 1em;
overflow-y: auto;
overflow-x: hidden;
}
.workbench-tree h3 {
margin-top: 0;
margin-bottom: 0.5em;
font-size: 1.1em;
}
/* Template Tree */
.template-tree {
margin-bottom: 1.5em;
}
.template-tree-item {
margin-bottom: 0.5em;
}
.template-tree-header {
display: flex;
align-items: center;
gap: 0.5em;
padding: 0.5em;
cursor: pointer;
border-radius: 4px;
user-select: none;
}
.template-tree-header:hover {
background-color: var(--background-modifier-hover);
}
.template-tree-header.expanded {
background-color: var(--background-modifier-active);
}
.template-tree-toggle {
width: 1em;
text-align: center;
font-weight: bold;
}
.template-tree-name {
flex: 1;
font-weight: 500;
}
.template-tree-count {
color: var(--text-muted);
font-size: 0.9em;
}
.template-tree-chains {
margin-left: 1.5em;
margin-top: 0.25em;
display: none;
}
.template-tree-item.expanded .template-tree-chains {
display: block;
}
.chain-item {
padding: 0.5em;
margin: 0.25em 0;
border-radius: 4px;
cursor: pointer;
border: 1px solid transparent;
transition: all 0.15s;
}
.chain-item:hover {
background-color: var(--background-modifier-hover);
border-color: var(--background-modifier-border);
}
.chain-item.selected {
background-color: var(--interactive-hover);
border-color: var(--interactive-accent);
border-width: 2px;
}
.chain-item-header {
display: flex;
align-items: center;
gap: 0.5em;
margin-bottom: 0.25em;
}
.chain-status-icon {
font-weight: bold;
}
.chain-item-info {
font-size: 0.85em;
color: var(--text-muted);
margin-top: 0.25em;
}
.chain-item-notes {
font-size: 0.8em;
color: var(--text-muted);
margin-top: 0.25em;
font-style: italic;
}
/* Right Column: Details View */
.workbench-details {
flex: 1;
display: flex;
flex-direction: column;
overflow-y: auto;
overflow-x: hidden;
min-width: 0;
}
.workbench-details h3 {
margin-top: 0;
margin-bottom: 1em;
font-size: 1.2em;
}
.workbench-details-placeholder {
color: var(--text-muted);
font-style: italic;
text-align: center;
padding: 2em;
}
/* Chain Visualization */
.chain-visualization {
margin-bottom: 2em;
}
.chain-visualization-header {
margin-bottom: 1em;
}
.chain-visualization-header h4 {
margin: 0 0 0.5em 0;
}
.chain-visualization-header .chain-meta {
color: var(--text-muted);
font-size: 0.9em;
}
/* Chain Flow Table */
.chain-flow-table {
width: 100%;
border-collapse: collapse;
margin-bottom: 1em;
}
.chain-flow-table th,
.chain-flow-table td {
padding: 0.75em;
text-align: left;
border-bottom: 1px solid var(--background-modifier-border);
}
.chain-flow-table th {
background-color: var(--background-secondary);
font-weight: 600;
position: sticky;
top: 0;
z-index: 1;
}
.chain-flow-table tr:hover {
background-color: var(--background-modifier-hover);
}
.chain-flow-table .slot-cell {
font-weight: 500;
color: var(--text-accent);
}
.chain-flow-table .edge-cell {
text-align: center;
font-style: italic;
color: var(--text-muted);
}
.chain-flow-table .node-cell {
font-family: var(--font-monospace);
font-size: 0.9em;
}
.chain-flow-table .missing {
color: var(--text-error);
font-style: italic;
}
/* Mermaid Graph Container */
.chain-mermaid-container {
margin: 1em 0;
padding: 1em;
background-color: var(--background-secondary);
border-radius: 4px;
overflow-x: auto;
}
.chain-mermaid-container .mermaid {
text-align: center;
}
/* Edge Detection Details */
.edge-detection-details {
margin-top: 2em;
padding-top: 2em;
border-top: 2px solid var(--background-modifier-border);
}
.edge-detection-details h4 {
margin-top: 0;
margin-bottom: 1em;
}
.edge-detection-list {
display: flex;
flex-direction: column;
gap: 1em;
}
.edge-detection-item {
padding: 1em;
background-color: var(--background-secondary);
border-radius: 4px;
border-left: 3px solid var(--background-modifier-border);
}
.edge-detection-item.matched {
border-left-color: var(--interactive-success);
}
.edge-detection-item.not-matched {
border-left-color: var(--text-error);
}
.edge-detection-item-header {
display: flex;
align-items: center;
gap: 0.5em;
margin-bottom: 0.5em;
font-weight: 500;
}
.edge-detection-status {
padding: 0.25em 0.5em;
border-radius: 4px;
font-size: 0.85em;
font-weight: 600;
}
.edge-detection-status.matched {
background-color: var(--interactive-success);
color: var(--text-on-accent);
}
.edge-detection-status.not-matched {
background-color: var(--text-error);
color: var(--text-on-accent);
}
.edge-detection-info {
font-size: 0.9em;
color: var(--text-muted);
margin-top: 0.5em;
}
.edge-detection-info .info-row {
display: flex;
gap: 1em;
margin: 0.25em 0;
}
.edge-detection-info .info-label {
font-weight: 500;
min-width: 120px;
}
/* Todos Section */
.workbench-todos-section {
margin-top: 2em;
padding-top: 2em;
border-top: 2px solid var(--background-modifier-border);
}
.workbench-todos-section h4 {
margin-top: 0;
margin-bottom: 1em;
}
.todos-list {
display: flex;
flex-direction: column;
gap: 0.75em;
}
.todo-item {
padding: 1em;
background-color: var(--background-secondary);
border-radius: 4px;
border-left: 3px solid var(--background-modifier-border);
}
.todo-item.high {
border-left-color: var(--text-error);
}
.todo-item.medium {
border-left-color: var(--text-warning);
}
.todo-item.low {
border-left-color: var(--text-muted);
}
.todo-description {
font-weight: 500;
margin-bottom: 0.5em;
}
.todo-priority {
font-size: 0.85em;
color: var(--text-muted);
margin-bottom: 0.5em;
}
.todo-actions {
display: flex;
gap: 0.5em;
flex-wrap: wrap;
margin-top: 0.5em;
}
.todo-actions button {
padding: 0.4em 0.8em;
border: 1px solid var(--background-modifier-border);
border-radius: 4px;
background: var(--background-primary);
cursor: pointer;
font-size: 0.9em;
transition: background-color 0.15s;
}
.todo-actions button:hover {
background: var(--interactive-hover);
}
.todo-actions button:active {
background: var(--interactive-active);
}
/* Node type badge */
.node-type-badge {
font-size: 0.8em;
color: var(--text-muted);
font-style: italic;
margin-left: 0.5em;
}
/* Info text */
.info-text {
color: var(--text-muted);
font-style: italic;
}