style(ext/vault): replace sidebar emoji nav with monochrome glyphs

▦ trash · ⌬ devices · ⚙ settings · ⏻ lock — all imported from the new
shared/glyphs module so popup and fullscreen stay in sync. Regression
test scans the source for the old escape-coded emoji to prevent
backsliding.

Plan 2026-04-30 fullscreen UX phase 1 task 5.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
adlee-was-taken
2026-04-30 20:53:50 -04:00
parent a634b6c745
commit e2260e9df4
2 changed files with 34 additions and 4 deletions

View File

@@ -0,0 +1,29 @@
import { describe, it, expect } from 'vitest';
import * as fs from 'fs';
import * as path from 'path';
describe('vault sidebar glyphs', () => {
const vaultSrc = fs.readFileSync(
path.resolve(__dirname, '../vault.ts'),
'utf-8',
);
it('uses GLYPH_TRASH instead of the trash emoji', () => {
expect(vaultSrc).not.toMatch(/\u{1F5D1}/u);
expect(vaultSrc).toContain('GLYPH_TRASH');
});
it('uses GLYPH_DEVICES instead of the devices emoji', () => {
expect(vaultSrc).not.toMatch(/\u{1F4F1}/u);
expect(vaultSrc).toContain('GLYPH_DEVICES');
});
it('uses GLYPH_LOCK instead of the lock emoji', () => {
expect(vaultSrc).not.toMatch(/\u{1F512}/u);
expect(vaultSrc).toContain('GLYPH_LOCK');
});
it('uses GLYPH_SETTINGS for the settings nav', () => {
expect(vaultSrc).toContain('GLYPH_SETTINGS');
});
});