Files
obsidian_ollama/styles.css
T
fegger 5350df92dd Add in-app debug log panel and rich vault search
- Add listener/history API to Logger for live log streaming
- Add toggle button and styled log panel to chat view
- Enhance ToolExecutor to use VaultIndexer for rich search results
- Instruct all agent modes to emit tool calls immediately instead of describing intent
2026-05-21 09:37:46 +02:00

384 lines
8.6 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
:root {
--ollama-user-bg: var(--background-modifier-form-field);
--ollama-assistant-bg: var(--background-primary-alt);
--ollama-border: var(--background-modifier-border);
--ollama-radius: var(--radius-m);
--ollama-gap: var(--size-4-2);
--ollama-log-debug: var(--text-muted);
--ollama-log-info: var(--text-accent);
--ollama-log-warn: var(--text-warning);
--ollama-log-error: var(--text-error);
--ollama-log-bg: var(--background-primary-alt);
}
.ollama-chat-container {
display: flex;
flex-direction: column;
gap: var(--ollama-gap);
padding: var(--size-4-2);
overflow-y: auto;
flex: 1;
}
.ollama-message {
display: flex;
flex-direction: column;
gap: var(--size-4-1);
padding: var(--size-4-2);
border-radius: var(--ollama-radius);
border: 1px solid var(--ollama-border);
max-width: 90%;
}
.ollama-message-user {
align-self: flex-end;
background-color: var(--ollama-user-bg);
}
.ollama-message-assistant {
align-self: flex-start;
background-color: var(--ollama-assistant-bg);
}
.ollama-message-header {
display: flex;
align-items: center;
gap: var(--size-4-1);
font-size: var(--font-smallest);
font-weight: var(--font-semibold);
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--text-muted);
}
.ollama-message-role::before {
display: inline-block;
width: 1em;
height: 1em;
margin-right: var(--size-4-1);
vertical-align: middle;
}
.ollama-message-user .ollama-message-role::before {
content: '👤';
}
.ollama-message-assistant .ollama-message-role::before {
content: '🤖';
}
.ollama-message-content {
line-height: var(--line-height-normal);
white-space: pre-wrap;
word-break: break-word;
}
.ollama-new-chat-container {
display: flex;
justify-content: flex-end;
padding: var(--size-4-1) var(--size-4-2);
}
.ollama-new-chat-button {
display: inline-flex;
align-items: center;
gap: var(--size-4-1);
padding: var(--size-4-1) var(--size-4-2);
font-size: var(--font-smallest);
border-radius: var(--ollama-radius);
border: 1px solid var(--ollama-border);
background-color: var(--background-modifier-form-field);
color: var(--text-normal);
cursor: pointer;
transition: background-color 0.15s ease;
}
.ollama-new-chat-button:hover {
background-color: var(--background-modifier-hover);
}
.ollama-new-chat-button::before {
content: '';
}
.ollama-input-container {
display: flex;
gap: var(--size-4-1);
padding: var(--size-4-2);
border-top: 1px solid var(--ollama-border);
background-color: var(--background-primary);
align-items: flex-end;
}
.ollama-input {
flex: 1;
min-height: 2.5rem;
max-height: 8rem;
padding: var(--size-4-1) var(--size-4-2);
border-radius: var(--ollama-radius);
border: 1px solid var(--ollama-border);
background-color: var(--background-modifier-form-field);
color: var(--text-normal);
resize: vertical;
font-family: inherit;
font-size: var(--font-ui-small);
line-height: var(--line-height-normal);
}
.ollama-input:focus {
outline: none;
border-color: var(--interactive-accent);
box-shadow: 0 0 0 2px var(--interactive-accent-translucent);
}
.ollama-send-button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: var(--size-4-1) var(--size-4-3);
border-radius: var(--ollama-radius);
border: none;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
font-weight: var(--font-semibold);
font-size: var(--font-ui-small);
cursor: pointer;
transition: filter 0.15s ease;
white-space: nowrap;
}
.ollama-send-button:hover {
filter: brightness(1.1);
}
.ollama-send-button:active {
filter: brightness(0.95);
}
/* Thinking indicator */
.ollama-thinking-indicator {
display: inline-flex;
align-items: center;
gap: var(--size-4-1);
font-style: italic;
color: var(--text-muted);
}
.ollama-thinking-indicator::before {
content: '';
display: inline-block;
width: 0.9em;
height: 0.9em;
border: 2px solid var(--text-muted);
border-top-color: transparent;
border-radius: 50%;
animation: ollama-spin 1s linear infinite;
}
@keyframes ollama-spin {
to {
transform: rotate(360deg);
}
}
/* Proposed Actions Preview */
.ollama-proposed-actions {
margin-top: var(--size-4-2);
padding: var(--size-4-2);
border: 1px solid var(--ollama-border);
border-radius: var(--ollama-radius);
background-color: var(--background-primary);
}
.ollama-proposed-actions-header {
font-weight: var(--font-semibold);
font-size: var(--font-ui-small);
margin-bottom: var(--size-4-2);
color: var(--text-normal);
}
.ollama-proposed-action {
margin-bottom: var(--size-4-2);
padding: var(--size-4-1);
border: 1px solid var(--ollama-border);
border-radius: var(--ollama-radius);
background-color: var(--background-primary-alt);
}
.ollama-action-description {
font-weight: var(--font-medium);
font-size: var(--font-ui-small);
margin-bottom: var(--size-4-1);
color: var(--text-normal);
}
.ollama-action-diff {
display: flex;
flex-direction: column;
gap: var(--size-4-1);
}
.ollama-diff-before,
.ollama-diff-after {
margin: 0;
padding: var(--size-4-1);
border-radius: var(--ollama-radius);
font-size: var(--font-smallest);
font-family: var(--font-monospace);
white-space: pre-wrap;
word-break: break-word;
max-height: 8rem;
overflow-y: auto;
}
.ollama-diff-before {
background-color: var(--background-modifier-error);
color: var(--text-normal);
}
.ollama-diff-after {
background-color: var(--background-modifier-success);
color: var(--text-normal);
}
.ollama-action-buttons {
display: flex;
gap: var(--size-4-1);
margin-top: var(--size-4-2);
}
.ollama-apply-button {
padding: var(--size-4-1) var(--size-4-2);
border-radius: var(--ollama-radius);
border: none;
background-color: var(--interactive-accent);
color: var(--text-on-accent);
font-weight: var(--font-semibold);
font-size: var(--font-ui-small);
cursor: pointer;
transition: filter 0.15s ease;
}
.ollama-apply-button:hover {
filter: brightness(1.1);
}
.ollama-cancel-button {
padding: var(--size-4-1) var(--size-4-2);
border-radius: var(--ollama-radius);
border: 1px solid var(--ollama-border);
background-color: var(--background-modifier-form-field);
color: var(--text-normal);
font-weight: var(--font-semibold);
font-size: var(--font-ui-small);
cursor: pointer;
transition: background-color 0.15s ease;
}
.ollama-cancel-button:hover {
background-color: var(--background-modifier-hover);
}
/* Agent Mode Selector */
.ollama-new-chat-container {
display: flex;
justify-content: flex-end;
align-items: center;
gap: var(--size-4-1);
padding: var(--size-4-1) var(--size-4-2);
}
.ollama-mode-selector {
padding: var(--size-4-1) var(--size-4-2);
border-radius: var(--ollama-radius);
border: 1px solid var(--ollama-border);
background-color: var(--background-modifier-form-field);
color: var(--text-normal);
font-size: var(--font-ui-small);
cursor: pointer;
}
.ollama-mode-selector:focus {
outline: none;
border-color: var(--interactive-accent);
}
/* Show Logs Button */
.ollama-show-logs-button {
display: inline-flex;
align-items: center;
gap: var(--size-4-1);
padding: var(--size-4-1) var(--size-4-2);
font-size: var(--font-smallest);
border-radius: var(--ollama-radius);
border: 1px solid var(--ollama-border);
background-color: var(--background-modifier-form-field);
color: var(--text-normal);
cursor: pointer;
transition: background-color 0.15s ease;
}
.ollama-show-logs-button:hover {
background-color: var(--background-modifier-hover);
}
/* Logs Panel */
.ollama-logs-container {
display: flex;
flex-direction: column;
gap: 2px;
padding: var(--size-4-1) var(--size-4-2);
max-height: 12rem;
overflow-y: auto;
background-color: var(--ollama-log-bg);
border-top: 1px solid var(--ollama-border);
border-bottom: 1px solid var(--ollama-border);
font-family: var(--font-monospace);
font-size: var(--font-smallest);
}
.ollama-log-row {
display: flex;
gap: var(--size-4-1);
align-items: baseline;
line-height: var(--line-height-tight);
}
.ollama-log-time {
color: var(--text-faint);
flex-shrink: 0;
}
.ollama-log-level {
flex-shrink: 0;
font-weight: var(--font-semibold);
text-transform: uppercase;
min-width: 3em;
}
.ollama-log-level-debug {
color: var(--ollama-log-debug);
}
.ollama-log-level-info {
color: var(--ollama-log-info);
}
.ollama-log-level-warn {
color: var(--ollama-log-warn);
}
.ollama-log-level-error {
color: var(--ollama-log-error);
}
.ollama-log-category {
color: var(--text-muted);
flex-shrink: 0;
}
.ollama-log-message {
color: var(--text-normal);
word-break: break-word;
}