Implement LotusGuild TDS v1.2 terminal mode

- Rewrite lotus-terminal.css.ts: TDS-exact dot-grid bg, scanlines, vignette,
  glitch keyframes, orange caret, cyan scrollbars, all --lt-* CSS vars
- Fix lotusTerminalTheme in colors.css.ts: full TDS color palette
  (Orange primary, Cyan secondary, Green success, Amber warning, Red critical)
- Add lotus-boot.ts: matrix boot sequence at 65ms intervals, green phosphor glow
- Update ThemeManager.tsx: call runLotusBootSequence on terminal mode activate,
  UnAuthRouteThemeManager now supports lotusTerminal setting
- Update index.html: add JetBrains Mono + VT323 from Google Fonts
This commit is contained in:
root
2026-05-13 22:36:48 -04:00
parent f3ec49fe88
commit db57cc202e
5 changed files with 300 additions and 87 deletions
+9 -4
View File
@@ -12,20 +12,24 @@ import {
import { lotusTerminalBodyClass } from '../../lotus-terminal.css';
import { useSetting } from '../state/hooks/settings';
import { settingsAtom } from '../state/settings';
import { runLotusBootSequence } from '../../lotus-boot';
export function UnAuthRouteThemeManager() {
const systemThemeKind = useSystemThemeKind();
const [lotusTerminal] = useSetting(settingsAtom, 'lotusTerminal');
useEffect(() => {
document.body.className = '';
document.body.classList.add(configClass, varsClass);
if (systemThemeKind === ThemeKind.Dark) {
if (lotusTerminal) {
document.body.classList.add(...LotusTerminalTheme.classNames);
document.body.classList.add(lotusTerminalBodyClass);
} else if (systemThemeKind === ThemeKind.Dark) {
document.body.classList.add(...DarkTheme.classNames);
}
if (systemThemeKind === ThemeKind.Light) {
} else {
document.body.classList.add(...LightTheme.classNames);
}
}, [systemThemeKind]);
}, [systemThemeKind, lotusTerminal]);
return null;
}
@@ -43,6 +47,7 @@ export function AuthRouteThemeManager({ children }: { children: ReactNode }) {
document.body.classList.add(...effectiveTheme.classNames);
if (lotusTerminal) {
document.body.classList.add(lotusTerminalBodyClass);
runLotusBootSequence();
}
if (monochromeMode && !lotusTerminal) {
document.body.style.filter = 'grayscale(1)';