feat(FN-3528): add line-number gutter toggle to FileEditor and Files modal

This merge adds a line-number toggle to the Files modal with persisted preference, introduces an AgentAvatar component with server-side avatar storage routes, and adds documentation for both the toggle and avatar storage. It also includes a regression test for runtime plugin alias behavior and updat

Fusion-Task-Id: FN-3528
This commit is contained in:
Fusion
2026-05-05 16:21:25 -07:00
committed by gsxdsm
parent dfbaee1e93
commit c5039eb52f
8 changed files with 239 additions and 12 deletions

View File

@@ -417,6 +417,35 @@
padding: var(--space-lg);
}
.file-editor-textarea-shell {
flex: 1;
min-height: 0;
display: flex;
}
.file-editor-textarea-shell--line-numbers {
background: var(--surface);
}
.file-editor-line-numbers {
width: calc(var(--space-xl) * 2);
padding: var(--space-lg) var(--space-sm);
border-right: 1px solid var(--border);
color: var(--text-dim);
background: var(--surface);
font-family: var(--font-mono);
font-size: 14px;
line-height: 1.5;
text-align: right;
overflow: hidden;
user-select: none;
flex-shrink: 0;
}
.file-editor-line-number {
min-height: calc(var(--space-xl) - var(--space-xs));
}
/* Textarea-based file editor */
.file-editor-textarea {
flex: 1;
@@ -627,6 +656,12 @@
gap: var(--space-md);
}
.file-browser-line-numbers-toggle {
display: inline-flex;
align-items: center;
gap: var(--space-xs);
}
.file-browser-modal-header .modal-close {
position: static;
}
@@ -918,6 +953,12 @@
/* Mobile responsive */
@media (max-width: 768px) {
.file-editor-line-numbers {
width: calc(var(--space-xl) * 1.75);
padding-left: var(--space-xs);
padding-right: var(--space-xs);
}
/* On mobile the file browser is presented as a full-screen sheet — drop
the overlay's default top padding so the modal actually fills the
viewport instead of being pushed below it. */
@@ -967,6 +1008,11 @@
.file-browser-header-actions {
flex-shrink: 0;
justify-content: flex-end;
flex-wrap: wrap;
}
.file-browser-line-numbers-toggle {
min-height: var(--mobile-nav-height);
}
.file-browser-modal-header .modal-close {