mistercrunch opened a new pull request, #34182:
URL: https://github.com/apache/superset/pull/34182
NOTE: this was mostly vibe coded (with lots of TLC on my side) with Claude
Code, CHECK IT OUT IF YOU HAVEN'T!
## Summary
Introduces a complete Theme CRUD interface for Apache Superset, enabling
organizational theme management and enhancing the theme development workflow.
## Key Features
### 🎨 **Theme CRUD Interface**
- Full CRUD operations for themes with export/import support
- Added to Settings → Manage menu under CSS Templates
- Live theme preview with "Apply" button (paint brush icon)
- Bulk operations and standard Superset list view patterns
### 🛠️ **Enhanced Development Workflow**
- **Apply**: Preview themes temporarily without saving
- **Clear Local Settings**: Remove dev overrides to see production state
- **Permission-based UI**: Different features for developers vs users
- **Quick Apply**: Apply themes directly from list view
### 🏗️ **Architecture**
- Extended ThemeController with CRUD integration
- Enhanced ThemeProvider with new React context methods
- Theme priority: Dev overrides → CRUD themes → Default themes
- Follows standard Superset CRUD patterns
## Implementation
**Backend**: Complete REST API with Theme model, commands, DAOs, and
proper error handling
**Frontend**: React CRUD interface with TypeScript safety and enhanced
theme modal
**Integration**: Seamless integration with existing theme system
## Cleanup
- Removed deprecated `THEME_ALLOW_THEME_EDITOR_BETA` feature flag
- Simplified default theme to empty JSON object
- Fixed TypeScript errors and improved button styling
Provides organizational theme management while maintaining backward
compatibility and following established Superset conventions.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]