Skip to content

Refactor settings UI with CSS variables and reorganize tabs#1

Closed
Jkaotlic wants to merge 1 commit intomainfrom
claude/improve-timer-ui-design-Vufe9
Closed

Refactor settings UI with CSS variables and reorganize tabs#1
Jkaotlic wants to merge 1 commit intomainfrom
claude/improve-timer-ui-design-Vufe9

Conversation

@Jkaotlic
Copy link
Copy Markdown
Owner

@Jkaotlic Jkaotlic commented Apr 3, 2026

Summary

This PR modernizes the settings interface by introducing a comprehensive CSS variable system for consistent theming, reorganizing the settings tabs for better UX, and enhancing visual components with improved styling.

Key Changes

Design System

  • Added CSS custom properties (:root variables) for colors, spacing, and border radius
  • Implemented a cohesive color palette with primary, secondary, success, danger, and warning states
  • Standardized spacing and border radius values across the application

Settings UI Refactoring

  • Tab reorganization: Restructured settings tabs from [Timer, Clock, Display, Help] to [Timer, Theme, Sound, Display, Help]
    • Moved clock settings into the Timer tab
    • Extracted theme selection into dedicated Theme tab
    • Extracted sound settings into dedicated Sound tab
  • Styled select elements: Created .settings-select class replacing inline styles with consistent appearance and hover/focus states
  • Theme card redesign: Replaced .theme-btn with new .theme-card component featuring:
    • Color swatch preview
    • Theme name display
    • Improved hover and active states
    • Grid layout with 4 columns

Visual Enhancements

  • Timer progress bar: Added animated progress indicator with gradient backgrounds and state-based styling (success, warning, danger)
  • Settings dividers: Introduced .settings-divider for visual section separation
  • Improved form controls: Enhanced select dropdowns with custom SVG arrows and better visual feedback

Code Quality

  • Removed redundant inline styles in favor of CSS classes
  • Improved clock style change handler to properly disable sync when manually changed
  • Optimized theme button selection to only remove active class from previous button (BUG-023 fix)
  • Cleaned up display select initialization by removing unnecessary inline styles

Accessibility

  • Added proper focus states with box-shadow indicators
  • Maintained semantic HTML structure
  • Improved visual hierarchy with consistent spacing

https://claude.ai/code/session_01Lp415PqrY2c9nhnTwxm1Sr

- Add CSS custom properties for consistent theming
- Restructure settings tabs from 3 to 4: Таймер, Тема, Звук, Дисплей
  - Timer tab: style/scale settings + clock widget settings (merged from Clock tab)
  - Theme tab: bigger theme cards with gradient swatches and names (4-col grid)
  - Sound tab: dedicated tab for all sound settings (was overloading Timer tab)
  - Display tab: monitor, time blocks, background (unchanged)
- Add timer progress bar below the header display
- Replace dark inline-styled selects with light .settings-select class
- Theme cards now show gradient swatches with labels instead of tiny 20px buttons

https://claude.ai/code/session_01Lp415PqrY2c9nhnTwxm1Sr
@Jkaotlic Jkaotlic closed this Apr 7, 2026
@Jkaotlic Jkaotlic deleted the claude/improve-timer-ui-design-Vufe9 branch April 7, 2026 18:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants