Commit graph

7 commits

Author SHA1 Message Date
Ostrzyciel edd0a7d949 Move the warning outside sitenotice, tidy up code
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
2021-02-01 11:23:53 +01:00
Jesús Martínez Novo 37c6d7d217 Check also the dismissed cookie on client-side
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
2018-04-12 22:46:16 +02:00
Fomafix 1416dc5465 Switch from jshint/jscs to eslint
Change-Id: I278905a67c42d268bb4a891c9df34b0fdbf4307d
2018-03-29 22:03:15 +02:00
Fomafix fc3d0012c7 Use saveOption from module 'mediawiki.api.options'
The module 'mediawiki.api.options' is present since MediaWiki 1.25.

Change-Id: I986afad78f8054596e0efe89aa9e663c6c123f03
2018-03-22 22:12:34 +01:00
Florian 97c134e397 Improve documentation of code and add test features (npm, composer)
Also: Add license (MIT).

Change-Id: Ia184b396b648ecb4ef30b40d13618e2ecf72294a
2016-01-10 19:31:07 +01:00
Florian bc100e294d Show CookieWarning for mobile users and save setting to user
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
2015-08-16 11:49:05 +02:00
Florian b60d6e857a Initial commit
Change-Id: I75ba290d33d981c1c3789868f4ac21916faabde0
2015-07-27 19:19:29 +02:00