Commit graph

169 commits

Author SHA1 Message Date
alistair3149 4ed68a924d
feat(core): wrap any elements tagged with the class citizen-overflow 2024-05-27 18:01:09 -04:00
alistair3149 7b32aeec7d
fix(core): 🐛 always reset overflow state 2024-05-27 17:58:04 -04:00
alistair3149 974e6b2750
feat(core): add config to change overflow inherited classes 2024-05-27 17:16:23 -04:00
alistair3149 c9210bd0dd
refactor(core): ♻️ separate inherited class function 2024-05-27 17:10:04 -04:00
alistair3149 523140f62f
perf(core): ️ only toggle class when the element is overflowing 2024-05-27 17:04:28 -04:00
alistair3149 bc356f915d
fix(core): 🐛 fix incorrect overflow wrapper class name 2024-05-27 16:12:09 -04:00
alistair3149 cb1cfde785
fix(core): 🐛 remove table border expansion before the JS is loaded 2024-05-27 16:10:25 -04:00
alistair3149 c17aeab3fd
feat(core): rename wgCitizenTableNowrapClasses to wgCitizenOverflowNowrapClasses
Allow this config to use for more generic elements in the future
2024-05-27 15:54:34 -04:00
alistair3149 7a4d43392d
perf(core): ️ remove scroll eventListener and resizeObserver on tables when not needed
Also started to refactor the table script to be more generic for overflow elements.
2024-05-27 15:47:53 -04:00
alistair3149 d34fb7b6f9
refactor(core): ♻️ clean up responsive table code 2024-05-26 00:37:54 -04:00
alistair3149 8ba6b55770
refactor(core): ♻️ clean up section functions 2024-05-25 23:51:50 -04:00
alistair3149 e9289b149a
perf(core): ️ further improvements to scroll and section observers 2024-05-25 23:18:18 -04:00
alistair3149 af3d72ad75
fix(core): 🐛 incorrect sticky header class assignment 2024-05-25 19:53:17 -04:00
alistair3149 27bca0fc66
feat: improve scrolling performance 2024-05-25 19:26:38 -04:00
alistair3149 ae6d207fb4
fix(core): 🐛 escape double quotes for toc selector 2024-05-25 06:57:02 -04:00
alistair3149 685901cce3
fix(core): 🐛 incorrect section selector 2024-05-21 23:15:53 -04:00
alistair3149 593c6406fb
refactor(core): ♻️ simplify section handling 2024-05-21 18:46:19 -04:00
alistair3149 a405d64616
refactor(core): ♻️ various performance and style improvements 2024-05-21 18:08:28 -04:00
alistair3149 1270d4edd1
refactor(core): ♻️ add error handling to lastModified.js 2024-05-21 15:00:03 -04:00
alistair3149 03da361b97
feat(components): rewrite template data partials into CitizenComponent components (#846)
- Refactor existing template data-related partials into CitizenComponent components
- Re-implement user menu header as UserInfo
- Add description text for anon and temp user in UserMenu
---------

Co-authored-by: github-actions <github-actions@users.noreply.github.com>
2024-05-15 01:24:43 -04:00
alistair3149 f2393a74b8
feat(core): use relative time for sidebar last mod
Closes: #700
2024-05-08 16:39:47 -04:00
alistair3149 9cd0cc45f3
fix(toc): 🐛 CSS escape ID
When the heading contains an amprehend, it will throw an exception.
2024-04-25 23:33:22 -04:00
alistair3149 241dc96cfe
feat(prefs): move page width to clientPrefs
Now all of the existing prefs are migrated to clientPrefs,
we can discard the code from the old system.
2024-04-25 17:41:22 -04:00
alistair3149 964a4a534d
feat(prefs): remove line-height customization for now
Will be re-implemented later
2024-04-25 17:22:27 -04:00
alistair3149 0d52046523
feat(prefs): migrate font size to client preferences 2024-04-25 17:06:09 -04:00
alistair3149 c2aa796b68
fix(core): 🐛 remove leftover console log 2024-04-25 16:19:17 -04:00
alistair3149 4aefd74429
fix(core): 🐛 incorrect delimiter in inline script
Commas are not encoded in localStorage
2024-04-25 15:59:07 -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 30ee7c1dd1
refactor(core): ♻️ use ResourceLoader to minify inline JS 2024-04-24 17:47:33 -04:00
alistair3149 d9675ebd60
fix(core): 🐛 round scrollLeft to integer
Fractional pixels from scrollLeft prevent Citizen from detecting overflow state properly.
2024-04-24 16:19:29 -04:00
alistair3149 cd21fd05f3
fix(core): 🐛 make ToC tracking work for non-content pages
Since MW 1.40, ToC has been enabled on all pages including non-content page.
By generating a list of elements to track through the ToC instead of targeting
specific classes, it should be more resilient and will work for non-content pages.
2024-04-20 01:32:37 -04:00
alistair3149 21ce85a320
fix(core): 🐛 remove loading indicator when page is unloaded
Closes: #811
2024-03-19 18:49:35 -04:00
github-actions 96171236d7 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2024-01-27 02:51:04 +00:00
alistair3149 22addebe77
refactor(search): ♻️ start cleaning up search suggestion functions 2024-01-26 21:50:21 -05:00
github-actions dc3ca54d43 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-12-13 22:10:24 +00:00
alistair3149 eee044d145
feat(core): use CSS variable for language-specific fonts 2023-12-13 17:09:57 -05:00
alistair3149 201a38f93f
fix(core): 🐛 hide loading indicator when user clicks back button on browser
Closes: #718
2023-10-26 17:41:21 -04:00
alistair3149 2f40541bc4
feat(core): prefix citizen section classes 2023-09-10 19:00:52 -04:00
alistair3149 325f22f0dd
fix(core): 🐛 fire input event when search query is cleared 2023-08-28 18:36:51 -07:00
alistair3149 29d0f4b1ff
fix(core): 🐛 incorrect value for aria-controls 2023-08-04 17:31:11 -04:00
alistair3149 e866edc3a5
fix(toc): 🐛 add null check for link 2023-07-30 19:44:34 -04:00
alistair3149 739fa8504c
fix(core): 🐛 enter key should not clear search input
Use span instead of button element. As button element will make
enter key triggering the clear button.
2023-07-16 16:48:14 -04:00
alistair3149 1aba52b870
fix(core): 🐛 inconsistent search focus behavior 2023-07-16 03:50:43 -04:00
alistair3149 aef94e31cb
fix(toc): 🐛 init observer only when there are headlines 2023-07-11 22:01:04 -04:00
alistair3149 0b65a05556
refactor(core): ♻️ break down main function in skin.js 2023-07-11 21:44:34 -04:00
alistair3149 6cddf85131
feat(search): add clear button to search box 2023-07-10 16:23:48 -04: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
H. C. Kruse a1139e7797
fix(Tables): Check if element.parentNode is null (#681)
Happened on the recent changes table. While the added line in TableNowrapClasses also fixes this, I've left it in as a safeguard.
2023-07-03 08:48:15 -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 14db25faac ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-06-20 18:30:08 +00:00