Shared style resources
The application currently publishes these frontend resources:
The Tailwind and DaisyUI resources provide a quick way to start a plugin
frontend. A plugin may instead compile its own CSS and JavaScript. Such a
frontend only needs to remain compatible with
/assets/css/scheme.css and the
theme states it defines.
Theme scheme
The shared theme scheme is available at/assets/css/scheme.css. It defines variables for
body.light and body.dark. The variables are the visual contract between
the application and plugin pages.
Theme switching
The selected theme is shared through browser storage under the keyarupa.theme. The value is light or dark; the effective default is
light. Storage carries the application-wide choice, while each plugin page
reflects that choice through its own body.light or body.dark state.
Changing the stored value is the application-wide theme switch. Plugin pages
must follow the change so that all visible pages use the same theme. The
web-sdk plugin provides a convenience API for reading, writing, and
observing this storage value, but the storage convention is independent of the
SDK.