Commit graph

152 commits

Author SHA1 Message Date
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
沈澄心 07d7a730b8
fix(core): prevent propagation of click event on .mw-editsection, .mw-editsection-like (#667)
* Update sections.js

* Update sections.js
2023-06-20 14:29:37 -04:00
Simon Stier a7b99d11f0
feat(core): add config var 'wgCitizenTableNowrapClasses' (#621)
* add config var 'wgCitizenTableNowrapClasses'
* refactor: load config via require
2023-05-18 13:53:58 -04:00
alistair3149 09ffed668d
fix(core): 🐛 ensure loading indicator is removed when script is loaded 2023-05-06 17:51:41 -04:00
alistair3149 cd93b3d679
feat(core): ignore cargo dynamic table for table wrapper 2023-05-02 01:09:54 -04:00
alistair3149 79daca474a
feat(core): ignore dataTable for table wrapper
It seems that dataTable collide with the wrapper for some reason.
Looking for help on this one if anyone knows.
2023-05-02 00:32:07 -04:00
alistair3149 661fbf0b8f
feat(core): do not wrap changelist tables 2023-05-01 23:34:18 -04:00
alistair3149 587cea1ee9
feat(core): check parent container for table nowrap class 2023-05-01 14:50:48 -04:00
alistair3149 3d14f9cf0b
feat(core): do not wrap nested tables 2023-05-01 14:45:08 -04:00
alistair3149 c10dd046c3
refactor(core): ♻️ minor variable name cleanup 2023-05-01 03:08:08 -04:00
github-actions 8d044aea95 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-05-01 06:38:27 +00:00
alistair3149 81affb88f1
feat(core): ignore infobox class for table wrapper 2023-05-01 02:37:32 -04:00
github-actions 8bd678a180 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-05-01 06:24:37 +00:00
alistair3149 d1d49e62d5
feat(core): inherit float classes to table wrapper
So that table would have the correct float style
2023-05-01 02:23:40 -04:00
github-actions ee90992a89 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-05-01 06:06:54 +00:00
alistair3149 b2eaf0a41a
feat(core): add HTML class to disable table wrapper
Adding the class `.citizen-table-nowrap` will stop Citizen from adding wrapper to the table
2023-05-01 02:05:58 -04:00
alistair3149 e45af9bbbe
feat(core): add scroll affordance to tables 2023-04-30 19:54:31 -04:00
alistair3149 ce9963467d
refactor(core): ♻️ load content scripts using wikipage.content hook 2023-04-30 18:01:53 -04:00