UI: font size cycle button (Aa / A+ / A−)
Cycles normal (16px) → large (18px) → small (14px) on the root element so all rem-based text scales together. Persisted in localStorage, applied before first paint to avoid flash. Also include today's session log. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,12 +5,15 @@
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Cortex — Inara</title>
|
||||
<link rel="icon" href="data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><text y='.9em' font-size='90'>✨</text></svg>">
|
||||
<!-- Apply saved theme before first paint to avoid flash -->
|
||||
<!-- Apply saved theme + font size before first paint to avoid flash -->
|
||||
<script>
|
||||
(function(){
|
||||
var t = localStorage.getItem('theme');
|
||||
if (!t) t = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
|
||||
document.documentElement.setAttribute('data-theme', t);
|
||||
var sizes = { normal: '16px', large: '18px', small: '14px' };
|
||||
var fs = localStorage.getItem('font-size') || 'normal';
|
||||
document.documentElement.style.fontSize = sizes[fs] || '16px';
|
||||
})();
|
||||
</script>
|
||||
<script src="/static/marked.min.js"></script>
|
||||
@@ -784,8 +787,9 @@
|
||||
#ctx-distill-status.show { opacity: 1; }
|
||||
#ctx-distill-status.err { color: var(--error-text); }
|
||||
|
||||
/* Theme toggle */
|
||||
#theme-btn { font-size: 0.85rem; padding: 5px 8px; }
|
||||
/* Theme toggle + font size */
|
||||
#theme-btn { font-size: 0.85rem; padding: 5px 8px; }
|
||||
#font-size-btn { min-width: 32px; text-align: center; }
|
||||
|
||||
/* Ctx header button — shows current tier as a dim superscript */
|
||||
#ctx-open-btn .tier-badge {
|
||||
@@ -807,6 +811,7 @@
|
||||
<button id="files-btn" class="hdr-btn">Files</button>
|
||||
<button id="ctx-open-btn" class="hdr-btn" title="Context & memory settings">⚙<span class="tier-badge">2</span></button>
|
||||
<button id="backend-toggle" class="hdr-btn" title="Click to switch primary backend">claude</button>
|
||||
<button id="font-size-btn" class="hdr-btn" title="Cycle font size">Aa</button>
|
||||
<button id="theme-btn" class="hdr-btn" title="Toggle light/dark mode">☾</button>
|
||||
|
||||
<div id="sessions-panel"></div>
|
||||
@@ -1653,6 +1658,30 @@
|
||||
applyTheme(next);
|
||||
});
|
||||
|
||||
// ── Font size cycle ───────────────────────────────────────────
|
||||
const fontSizeBtn = document.getElementById('font-size-btn');
|
||||
const fontSizes = ['normal', 'large', 'small'];
|
||||
const fontSizePx = { normal: '16px', large: '18px', small: '14px' };
|
||||
const fontSizeLbl = { normal: 'Aa', large: 'A+', small: 'A−' };
|
||||
|
||||
function applyFontSize(size) {
|
||||
document.documentElement.style.fontSize = fontSizePx[size];
|
||||
fontSizeBtn.textContent = fontSizeLbl[size];
|
||||
fontSizeBtn.title = `Font: ${size} — click to cycle`;
|
||||
}
|
||||
|
||||
{
|
||||
const saved = localStorage.getItem('font-size') || 'normal';
|
||||
applyFontSize(saved);
|
||||
}
|
||||
|
||||
fontSizeBtn.addEventListener('click', () => {
|
||||
const current = localStorage.getItem('font-size') || 'normal';
|
||||
const next = fontSizes[(fontSizes.indexOf(current) + 1) % fontSizes.length];
|
||||
localStorage.setItem('font-size', next);
|
||||
applyFontSize(next);
|
||||
});
|
||||
|
||||
// ── Context panel — tier + memory toggles + distill ───────────
|
||||
const ctxOpenBtn = document.getElementById('ctx-open-btn');
|
||||
const ctxPanel = document.getElementById('ctx-panel');
|
||||
|
||||
6
inara/sessions/2026-03-17.md
Normal file
6
inara/sessions/2026-03-17.md
Normal file
@@ -0,0 +1,6 @@
|
||||
# Session Log — 2026-03-17
|
||||
|
||||
### [21:38] `lark-field`
|
||||
**Scott:** Another test
|
||||
|
||||
**Inara:** Still here. All systems nominal. ✨
|
||||
Reference in New Issue
Block a user