awslabs / awslabs/loom

Update frontend aesthetics

Open
#37 0 comments 0 reactions 1 assignee Claimed by @heeki View on GitHub
enhancement
Dominant language
Python
Stars
183
Forks
41
Avg merge
8h 6m
Merged PRs (30d)
2

Description

## Overview

Loom's frontend currently ships with ten selectable color themes (`ThemeContext.tsx`: Ayu Light/Dark, Catppuccin Latte/Mocha, Dracula, Everforest Light, Nord, Rosé Pine Dawn, Solarized Light, Tokyo Night), most of which are unused in practice and add unnecessary maintenance and decision surface for users. The overall visual design is also basic and dated. This issue tracks simplifying the theme system down to a single light and single dark theme, and refreshing the visual design to feel modern and polished — comparable to the aesthetic of Claude's own product design (clean typography, generous whitespace, subtle depth/borders, restrained accent color use).

## Requirements

- R1: Modern visual design — Refresh the frontend's visual design (typography, spacing, color usage, component styling for cards/buttons/nav/tables/forms) so the UI reads as modern and polished, rather than using ad hoc styling left over from the current multi-theme setup.
- R2: Two-theme system — Reduce the theme system to exactly two options, one light theme and one dark theme, replacing the current ten-theme (`Theme` type, `THEME_LABELS`, `THEME_CLASSES`) setup in `frontend/src/contexts/ThemeContext.tsx`.

## Notes / Scope

- This includes removing unused theme CSS/tokens tied to the retired themes (ayu, dracula, everforest, ayudark, nord, rosepine, solarized, tokyonight, latte) once the two surviving themes (light + dark) are chosen and finalized.
- Any theme picker UI (e.g. in settings) should be updated to reflect only the two remaining options.
- Persisted theme preference (`localStorage` key `loom-theme`) and `isLightTheme` helper should continue to work correctly with the reduced theme set.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.