mirror of
https://github.com/zulip/zulip.git
synced 2026-07-03 21:10:12 +08:00
This commit introduces a theme switcher feature within the personal
menu popover. The implementation begins with the development of a
tab picker, which has the following features:
* Utilization of radio buttons to emulate the tab picker.
Radio input buttons provides the native way in HTML to select one
value out of a set.
* Support for both horizontal (default) and vertical orientations.
Vertical orientation can be achieved by appending the
`.tab-picker-vertical` class.
* Respects the `prefers-reduced-motion` option set by the user.
Disables the sliding tab animation to improve accessibility.
Additionally, the theme switcher component incorporates error handling
mechanisms. In the event of a server/network error, the tab slider
reverts to the previous theme option after a delay of 500ms. This
behavior visually communicates the occurrence of an error to the user,
improving the UX.
Fixes: #22803.
|
||
|---|---|---|
| .. | ||
| e2e-tests | ||
| generated | ||
| html | ||
| images | ||
| server | ||
| shared | ||
| src | ||
| styles | ||
| templates | ||
| tests | ||
| third | ||
| .browserslistrc | ||
| .gitignore | ||
| babel.config.js | ||
| debug-require-webpack-plugin.ts | ||
| debug-require.js | ||
| postcss.config.js | ||
| webpack.assets.json | ||
| webpack.config.ts | ||
| webpack.dev-assets.json | ||