Page MenuHomePhabricator

Add client-side skin preferences drop-down
Closed, DuplicatePublic

Description

For an example see Wikiwand gear (cog) menu in the top-right corner.

It is a recurring request to allow users (logged-in and anonymous) to customize their viewing experience with the following options:

  • theme -- light / dark theme / color inversion (theme implementation is not a concern of this task)
    • custom theme chooser submenu
  • content width -- ex. 960px - 1160px - 100%-margin
  • font-size -- ex. 12px - 14px (Vector) - 16px (Minerva) - 18px - XXL (custom for a11y)
  • serif / sans-serif font (inherently subjective choice)
  • font chooser submenu for sans, serif, article, wikieditor (monospace), code blocks, diff viewer:
    • a modern webfont with wide language support (Noto) / WikimediaUI Base's system font stack (used by Minerva) / browser font setting / user selected (web)font

The common solution is to provide a pop-up menu, similar to echo's pop-up, its icon also placed next to the user menu, see Wikiwand for an example.

These settings can be stored in LocalSettings for anon users, server-side for registered users and loaded before the first paint (the javascript is loaded synchronously or included in the html; the logged-in settings are included in the html).

This task is universal to all skins, but might be implemented as part of the Desktop Improvements project.

Event Timeline

@Demian Hi. Briefly: (1) Please don't assign tasks to other people yourself! Thank you. (2) This task is a duplicate of T91201. I will merge it in, next.

This task is a duplicate of T91201. I will merge it in, next.

Thank you! I couldn't find that task.

Reopening as a subtask, as this ticket has a different focus than the parent and mixing the two would mess up the great work done on T91201.

[Resetting assignee due to inactive user account]