Lets each user pick the site's style and color scheme, and applies the choice to the document. A signed-in user's choice is one of their settings, so it follows them across browsers; a visitor's stays in this browser. Until either picks a style, the instance's default applies. App mounts it inside AuthProvider, whose session holds the settings.

Functions

f
ThemeProvider(unnamed 0: ThemeProviderProps): React.JSX.Element

Provides ThemeContext. Each half of the theme goes through useThemeChoice, which sets it on the root element as data-style or data-color-scheme and mirrors it to localStorage, where an inline script in index.html applies it before the first paint, so the page doesn't flash another theme. The two must agree. When an account has no choice yet and this browser has one, it is saved to the account, once per session.

Interfaces