There's a lot of things going on here, so a quick summary:
* Moved the warning outside sitenotice to avoid reflows and all
kinds of other issues, including those with dismissable notices.
* Placed the warning on the bottom of the page, on all skins, for
consistency and to avoid obstructing vital UI elements such as
site name, user tools, search box.
* Changed the UI to use OOUI for, again, consistency and to avoid
reinventing the wheel with button styling.
* Removed the cookie emoji as it was only taking up valuable space
on mobile and making designing a sensible layout much harder.
* Merged the mobile and desktop RL modules into a single, responsive
one. The warning will work correctly for any skin and screen width.
* The integration tests are truly horrible, I tried to at least
make them work. They deserve a proper rewrite, but that should be
done after the extension switches to the new hook system.
I will post screenshots of this in action in the first of the linked
tasks.
Bug: T271047
Bug: T173335
Change-Id: I6e2a3d7aeccc0d4df1b3238e52c67e72099d27d8
Removed old csslint package and added grunt-stylelint and stylelint
config for Wikimedia. Fixed the violations caused by this change.
Bug: T206506
Change-Id: Ieb1f087de859f5321c4f1fe65c0e3bf7b655ca15
* Instead of repeating CSS already in Minerva instead use an element
"banner-container" already in use by CentralNotice (given this is also a banner)
This removes the need for positioning styles at Minerva is delegated to handle that.
* Rewrite existing rules using mediawiki ui variables to make clearer line-height
relates to iconography
Bug: T140807
Change-Id: I1bd3fb164bbb7866e5d32367c66afae5c1933bcb
If geolocation is done at client-side, it was displaying the warning without
checking the dismissed cookie. Now the main module will remove it if the cookie
exists, and the geolocation service won't display it again.
The idea of doing geolocation at client side rather than server side is to
allow more pages cached at varnish/squid, but it still required to let the
dismissed cookie break the cache. With this change, the dismissed cookie can
be blocked at the varnish/squid level, all pages will contain the cookie
warning notice, but it will be left hidden by the client-side script instead
of displaying it.
In addition, the click handler for .mw-cookiewarning-dismiss has been put
inside a DOMready handler to prevent this code fire before the element becomes
available.
Bug: T183657
Change-Id: I5f7505dbd650867155485d17fff58fb92800581b
This commit change sthe "OK"-link to dismiss the cookiewarning bar
from a link to a POST-based form, so that non-JS users are able to
click it, too. If clicked, the dismiss is saved int he user prefs
(if the user is logged in) or in a cookie.
The JS version still works without reloading the page.
Bug: T145647
Change-Id: I711413abcbc131aaba34e8b285630ef1a1c9bda1
de i18n message now represents the en translation. The mobile opacity
is now 1, instead of 0.85 from desktop (it covers text in mobile, which
makes it harder to read with the opacity).
The URL isn't hardcoded anymore, it now can be configured with a config
option.
Change-Id: I9a4e3eb40675496e9467ecee4307298d0542633e
Enable the CookieWarning to be visible on a mobile device (bottom, instead of top).
Instead of only rely on cookies to save, that a user accepted that we use cookies,
save it as a user preference, too.
Change-Id: Ib03d5eafd4392d14315115c158b547b9e26a173c