feat(ui): add tinycard theme
- New [data-theme="tinycard"] token block with purple accent palette - Theme toggle cycles dark → paper → tinycard - Load Inter font for tinycard sans stack
This commit is contained in:
+7
-3
@@ -1590,16 +1590,20 @@
|
||||
|
||||
// ========== Theme ==========
|
||||
|
||||
const THEMES = ['dark', 'paper', 'tinycard'];
|
||||
const THEME_ICONS = { dark: '◑', paper: '◐', tinycard: '◈' };
|
||||
|
||||
const themeToggle = $('#theme-toggle');
|
||||
let nibTheme = localStorage.getItem('nib:theme') || 'dark';
|
||||
if (!THEMES.includes(nibTheme)) nibTheme = 'dark';
|
||||
document.documentElement.setAttribute('data-theme', nibTheme);
|
||||
themeToggle.textContent = nibTheme === 'paper' ? '◐' : '◑';
|
||||
themeToggle.textContent = THEME_ICONS[nibTheme];
|
||||
|
||||
themeToggle.addEventListener('click', () => {
|
||||
nibTheme = nibTheme === 'dark' ? 'paper' : 'dark';
|
||||
nibTheme = THEMES[(THEMES.indexOf(nibTheme) + 1) % THEMES.length];
|
||||
document.documentElement.setAttribute('data-theme', nibTheme);
|
||||
localStorage.setItem('nib:theme', nibTheme);
|
||||
themeToggle.textContent = nibTheme === 'paper' ? '◐' : '◑';
|
||||
themeToggle.textContent = THEME_ICONS[nibTheme];
|
||||
});
|
||||
|
||||
// ========== Init ==========
|
||||
|
||||
Reference in New Issue
Block a user