# Themes

## Server-side

- There are two themes embedded in the application:
  - `light`, located in `src\public\stylesheets\theme-light.css`
  - `dark`, located in `src\public\stylesheets\theme-dark.css`
- The default theme is set only once, when the database is created and is managed by `options_init#initNotSyncedOptions`.
  - On Electron, the choice between `light` and `dark` is done based on the OS preference.
  - Otherwise, the theme is always `dark`.
- The theme is served via `src\routes\index.ts`, in the `getThemeCssUrl` method.

## Client-side

- The two predefined themes are hard-coded in the client in `src\public\app\widgets\type_widgets\options\appearance\theme.js`.
- The user-defined themes are obtained via a call to the server: `options/user-themes`.
- The theme retrieval is done via a request