diff --git a/backend/themes.py b/backend/themes.py index b468d99..32cd31b 100644 --- a/backend/themes.py +++ b/backend/themes.py @@ -49,7 +49,9 @@ def get_available_themes(themes_dir: str) -> List[Dict[str, str]]: "cobalt2": "🌊", "vs-blue": "🔷", "gruvbox-dark": "🟫", - "matcha-light": "🍵" + "matcha-light": "🍵", + "hacker": "🖥️", + "ubuntu": "🟠" } # Load all themes from themes folder diff --git a/themes/hacker.css b/themes/hacker.css new file mode 100644 index 0000000..67af953 --- /dev/null +++ b/themes/hacker.css @@ -0,0 +1,35 @@ +/* Hacker — phosphor terminal / CRT aesthetic */ +/* @theme-type: dark */ + +:root[data-theme="hacker"] { + /* Background colors — near-black with a green wash */ + --bg-primary: #0a0f0c; + --bg-secondary: #050806; + --bg-tertiary: #122018; + --bg-hover: #1a2e22; + --bg-active: #234030; + + /* Text — soft phosphor on dark */ + --text-primary: #c8f5c8; + --text-secondary: #8ecf8e; + --text-tertiary: #5a9c6a; + + /* Borders — dim terminal green */ + --border-primary: #1f4d33; + --border-secondary: #163828; + + /* Accent — bright matrix green for controls & links */ + --accent-primary: #39ff14; + --accent-hover: #5cff3d; + --accent-light: rgba(57, 255, 20, 0.18); + + /* Status colors — tuned for green UI */ + --success: #5ee984; + --error: #ff6b8a; + --warning: #ffd447; + + /* Shadows — heavy, like a dim room */ + --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.55); + --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.65); + --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.75); +} diff --git a/themes/ubuntu.css b/themes/ubuntu.css new file mode 100644 index 0000000..b7c627f --- /dev/null +++ b/themes/ubuntu.css @@ -0,0 +1,35 @@ +/* Ubuntu Color Theme — matches radu-matei.vscode-ubuntu-color-theme (VS Code) */ +/* @theme-type: dark */ + +:root[data-theme="ubuntu"] { + /* Backgrounds — editor #300a24, sidebar #2a091f, inputs #3d0d2d, activity #23071a */ + --bg-primary: #300a24; + --bg-secondary: #2a091f; + --bg-tertiary: #3d0d2d; + --bg-hover: #450e33; + --bg-active: #4a0f37; + + /* Text — editor.foreground & UI foreground */ + --text-primary: #f1f1e7; + --text-secondary: #c6c6bd; + --text-tertiary: #a5a59e; + + /* Borders — tab.border, dropdown.border */ + --border-primary: #4a0f37; + --border-secondary: #470f34; + + /* Accent — focusBorder / textLink / button (orange) */ + --accent-primary: #fa8d3e; + --accent-hover: #ffce6b; + --accent-light: rgba(250, 141, 62, 0.22); + + /* Status — errorForeground, list.warning, list.highlight (teal) */ + --success: #4cbf99; + --error: #f07171; + --warning: #ef7c2a; + + /* Shadows — widget.shadow */ + --shadow-sm: 0 1px 2px 0 rgba(6, 1, 4, 0.55); + --shadow-md: 0 4px 6px -1px rgba(6, 1, 4, 0.6); + --shadow-lg: 0 10px 15px -3px rgba(6, 1, 4, 0.65); +}