Angular Dynamic Theming Demo
November 23, 2020 ยท View on GitHub
This project was generated with Angular CLI version 11.0.1.
Quick notes
This application creates the theme colors dynamically from a given configuration.
The configuration for this project has been defined in src/app/default-theme.ts. You can change the values there and play around with the colors.
In the AppModule we provide an APP_INITIALIZER DI Token, and load some theme configuration. We can load the theme from HTTP, storage, in-memory. We then set up the theme variables and attach them to the <html> tag of the application.
The variable set up is done in src/app/theming.service.ts.
We then use SCSS variables to capture these CSS variables and we use the variables everywhere we need to.
By defining primary/accent/warn colors, we also update the material design theme, and the material design color is generated dynamically.
Development server
Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.