Skip to content

Theme schema#640

Merged
Rigidity merged 58 commits into
xch-dev:mainfrom
dkackman:themes
Sep 10, 2025
Merged

Theme schema#640
Rigidity merged 58 commits into
xch-dev:mainfrom
dkackman:themes

Conversation

@dkackman

@dkackman dkackman commented Aug 31, 2025

Copy link
Copy Markdown
Collaborator

This PR begins the finalization of the theme implementation

  • Add theme json schema
  • sets the theme schema version to 1
  • validates user themes against the schema at startup
  • built-in themes are validated in DEV environments
  • add background image positioning form @Koba42Corp
  • add background filter support from @Koba42Corp

dkackman and others added 23 commits August 26, 2025 12:21
- Add backdrop-filter CSS variables for cards, popovers, surfaces, inputs, and tables
- Include WebKit-prefixed variants for cross-browser compatibility
- Extend Theme interface to support backdrop-filter properties in all button variants
- Add backdrop-filter processing logic to applyTheme function
- Create utility CSS classes for backdrop-filter effects
- Auto-apply backdrop-filters to existing UI components (.bg-card, .bg-popover, inputs)
- Add backdrop-filter variables to cleanup array for proper theme switching
- Support backdrop-filter in table headers and footers
- Enable glass-dark theme's blur effects to work properly

This allows themes like glass-dark to use advanced backdrop-filter properties
for modern frosted glass UI effects while maintaining backward compatibility
with existing themes.
- Increase blur intensity and saturation for better foggy glass effect
- Change all text to pure white for maximum contrast and legibility
- Add subtle blue neon edge glows to all borders and shadows
- Enhance glass transparency layers for premium feel
- Optimize colors for cyberpunk aesthetic with blue accent theme
    Add Dracattus theme
    Add Glass Light theme
    Add background images for themes
    Add backdrop filter support for themes
    Add sidebar background support for themes
    Add sidebar border support for themes
    Add sidebar backdrop filter support for themes
    Add sidebar backdrop filter webkit support for themes
@dkackman dkackman requested a review from Copilot August 31, 2025 13:51

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces a comprehensive theme schema system and various theme-related improvements. The main purpose is to add validation, better type safety, caching optimizations, and enhanced theme functionality.

  • Introduces theme schema validation with JSON Schema to ensure theme consistency
  • Refactors theme loading with caching and improved type definitions
  • Adds new theme features like backdrop filters, sidebar styling, and switch theming

Reviewed Changes

Copilot reviewed 24 out of 26 changed files in this pull request and generated 6 comments.

Show a summary per file
File Description
src/themes/schema.json Defines comprehensive JSON schema for theme validation
src/lib/theme.type.ts New TypeScript interface definitions for theme structure
src/lib/theme-schema-validation.ts Theme validation utilities using AJV
src/lib/themes.ts Adds theme caching and invalidation functionality
src/lib/theme.ts Major refactor with improved theme application and isolation
src/lib/color-utils.ts Adds makeColorOpaque function and improves cleanup
src/hooks/useOpaqueColor.ts New hook for creating opaque color versions
src/index.css Extensive CSS variable additions for new theme features
multiple theme files Adds schemaVersion field to all theme configurations
UI components Various accessibility and theme-related improvements
Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Comment thread src/lib/theme-schema-validation.ts Outdated
Comment thread src/lib/utils.ts Outdated
Comment thread src/pages/Nft.tsx
Comment thread src/pages/Nft.tsx
Comment thread src/contexts/PriceContext.tsx
@Rigidity Rigidity merged commit c392743 into xch-dev:main Sep 10, 2025
0 of 8 checks passed
@dkackman dkackman deleted the themes branch September 14, 2025 01:58
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.

4 participants