Commit graph

68 commits

Author SHA1 Message Date
alistair3149 316798dd57
feat(prefs): change theme toggle to 3 col 2024-04-25 16:24:18 -04:00
github-actions d24a8d60e2 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2024-04-25 19:50:36 +00:00
alistair3149 5768ccc25b
feat(core): add pure black mode for dark theme 2024-04-25 15:45:24 -04:00
alistair3149 173f093a07
docs: 📚️ add documentation on modifications on clientPreferences.js 2024-04-25 14:47:47 -04:00
github-actions 53ba8747ad ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2024-04-25 18:22:19 +00:00
alistair3149 07aedfea91
refactor(core): ♻️ do not use 'skin-theme-' message keys
It causes issues with translatewiki because of a conflict with Vector.
And those messages are not stable (T359983, T361157)
2024-04-25 14:21:56 -04:00
alistair3149 b929c2b7eb
feat(prefs): add hover state to theme buttons 2024-04-24 20:31:16 -04:00
alistair3149 a741639085
feat(core): move theme preferences to clientPrefs
Since clientPrefs and other related features are not avaliable until MW 1.42,
many of them are backported as polyfill. Instead of using cookies, the polyfill
are using localStorage only like Citizen in the past.

There are many changes behind the scene, but the most important one being that
`skin-citizen-*` theme classes are now soft-deprecated, and replaced by the
standardized `skin-theme-clientpref-*` classes. There will be sufficient
time before the hard deprecation.

Related: #780
2024-04-24 20:23:54 -04:00
alistair3149 3093510fae
refactor(preferences): ♻️ use mw.storage instead of localStorage 2024-04-24 00:25:09 -04:00
alistair3149 ed226a400e
feat(preferences): implement a localStorage version of mw.user.clientPrefs
This is the first step of migrating to the clientPrefs library when it is avaliable.
Currently only themes are using it and the standard classes are added to the HTML element.

Related: #780
2024-04-24 00:21:36 -04:00
alistair3149 54ca25fa27
feat(core): implement new light theme
Now that we have a comfortable coverage for extensions.
It is time to start tweaking light theme color.
2024-03-19 15:48:53 -04:00
alistair3149 c9f665ef78
feat(core): use CSS variables for small font sizes 2024-02-26 17:16:07 -05:00
alistair3149 3162e19a2c
feat(core): use CSS variables for x-small font sizes 2024-02-26 17:14:19 -05:00
alistair3149 ba5bea704e
style: 🎨 apply recess order to styles 2023-07-27 21:19:27 -04:00
alistair3149 6cddf85131
feat(search): add clear button to search box 2023-07-10 16:23:48 -04:00
alistair3149 4ef5376cab
refactor(core): ♻️ clean up various eslint errors 2023-07-07 18:00:14 -04:00
alistair3149 c7e45177cd
feat(core): update menu transition styles and implementation
Same as the previous commit, the transition is now accessible as a CSS variable (transition-menu)
2023-07-07 17:02:27 -04:00
alistair3149 462d1dd4ac
feat(core): use consistent spacing for menu elements 2023-07-06 00:55:42 -04:00
github-actions 00f252ae26 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-07-03 12:49:36 +00:00
沈澄心 2891d042cc
fix(core): skin preference support for Safari on iOS < 12.2 (#680)
* Update skins.citizen.preferences.js

* Update skins.citizen.preferences.js

* Update inline.js

* Update SkinHooks.php

* Update skins.citizen.preferences.less

* Update variables.less

* Update theme.less

* Update theme.less

* Update skins.citizen.preferences.js

* Update skins.citizen.preferences.js

* Update skins.citizen.preferences.js

* Update skin.js
2023-07-03 08:48:41 -04:00
沈澄心 a61746bf8e
fix(core): header icon position in older browsers (#670)
* Update Header.less

* Update skins.citizen.preferences.less

* Update Header.less

* Update Header.less
2023-06-22 13:49:26 -04:00
沈澄心 89a9957cd4
refactor(core): avoid using ES2020+ methods (#669)
Replace ??, ?., and replaceChildren() for better compatibility; hide pref panel in unsupported browsers 

* Update mixins.less

* Update Sections.less

* Update TableOfContents.less

* Update interface-edit-section-links.less

* Update mixins.less

* Update Sections.less

* Update TableOfContents.less

* Update interface-edit-section-links.less

* Update sections.js

* Update tableOfContents.js

* Update mwRestApi.js

* Update mwRestApi.js

* Update skins.citizen.preferences.js

* Update mwActionApi.js

* Update typeahead.js
2023-06-21 14:30:45 -04:00
github-actions 5ad7e34c25 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-05-23 16:26:20 +00:00
沈澄心 b43da4d81e
fix(preferences): incorrect preferences icon position on Chrome 81 2023-05-23 12:25:14 -04:00
alistair3149 68313123e9
feat(core): apply box-sizing: border-box by default 2023-03-01 16:08:07 -05:00
github-actions 9e15415835 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-02-28 21:59:36 +00:00
alistair3149 3414d59643
feat(core): dynamic dark theme color based on primary hue 2022-12-14 14:06:06 -05:00
alistair3149 5e14891088
feat(typography): add label styles 2022-11-23 20:52:44 -05:00
alistair3149 2d014694a6
feat(core): migrate misc icons to use RIL icon module 2022-11-21 17:43:03 -05:00
alistair3149 6ce7247616
feat(core): use relative spacing for caption styles 2022-11-21 17:42:37 -05:00
alistair3149 969cd787d6
feat(core): use different font weight in different themes
The same font weight do not provide the same contrast in different themes.
We should be able to change the scaling
2022-11-21 17:42:26 -05:00
alistair3149 eadaef7a0a
refactor(core): ♻️ clean up header card mixins and var 2022-09-30 16:52:13 -04:00
alistair3149 6de95d4fec
feat(core): redesign site header (#521)
Change header into vertical header for large screen and bottom header for small screen.
2022-09-29 19:12:56 -04:00
github-actions 0d63257e86 ci: lint code to MediaWiki standards
Check commit and GitHub actions for more details
2022-09-28 21:02:56 +00:00
alistair3149 e53afa51dc
fix(core): config CitizenThemeDefault should set theme correctly
Previously the config did set the theme correctly but get overridden by the inline
script to auto, this will fix it.

Closes: #418
2022-06-29 15:29:44 -04:00
alistair3149 215e043f54
style(core): minor cleanup for the preference module 2022-05-25 16:38:39 -04:00
alistair3149 ea875234be
feat(core): use keywords for transform origin
This would allow CSSJanus to flip the styles correctly for RTL
2022-05-20 16:07:44 -04:00
alistair3149 b02948837c
refactor(core): do not use h3 for preference card header 2022-05-18 21:37:27 -04:00
alistair3149 23795e05e3
chore(ci): disable mediawiki/class-doc 2022-05-13 00:20:05 -04:00
alistair3149 895d7c2398
feat(core): add missing title text to preferences button 2022-05-11 18:47:02 -04:00
alistair3149 d39deb157c
feat(core): make range indicator text smaller 2022-05-10 22:22:31 -04:00
alistair3149 1186bdf102
feat(core): update preferences menu behavior
* Adjust font size slider range, it starts at 80% and ends at 180%
* Font size is always shown in percentage now
* Better handling of initial font size, it should now detect browser or site default correctly
* Use relative units
* Tweak styles
2022-05-10 21:45:30 -04:00
alistair3149 9a28bccd64
refactor(core): partial cleanup of header preferences
This is a part of the header refactor
* Use styles provided by header
* Clean up header-related HTML classes
2022-05-10 13:39:58 -04:00
alistair3149 105d1b9006 refactor(core): clean up inner header implementation
This is a part of the header refactor
* Add hover and active state for title button
* Clean up DOM structure
* Clean up unnessecary styles
* Clean up HTML class names
2022-05-10 10:52:36 -04:00
alistair3149 ca59b097ba
refactor(core): merge duplicating mixins together 2022-05-01 22:53:41 -04:00
alistair3149 e6a9bd38f1
feat(core): add animation to preferences menu 2022-05-01 22:36:14 -04:00
alistair3149 56a869b3d9
refactor(core): clean up transition variable names 2022-05-01 19:14:17 -04:00
alistair3149 c74f1685d6
feat(core): add aria-label for preferences button 2022-04-30 18:01:38 -04:00
alistair3149 d22f562816
fix: uncaught value when no theme value is saved
Users are unable to open the preference panel when there are no theme option saved in localStorage.
It is because prefValue.theme will return null which will stop the script from executing.
Now when prefValue.theme is null, it will default to auto.
2022-04-27 16:44:53 -04:00
alistair3149 96013bb126
feat: deprecate --background-color-dp-XX in favor of --color-surface-X
--background-color-dp-XX is now fully deprecated in favor of a simpler 4 color surface system. It can be accessed through the --color-surface-X CSS var.
2022-04-25 22:27:52 -04:00