Frédéric Guillot
bbe3c2ea71
refactor(js): simplify some functions using modern JavaScript
2025-08-02 14:06:18 -07:00
Frédéric Guillot
b116da85a9
refactor(js): remove bootstrap.js
2025-08-02 13:41:40 -07:00
Frédéric Guillot
07246e2b59
refactor(js): improve menu handlers
2025-08-02 13:09:57 -07:00
Frédéric Guillot
62410659d5
refactor(js): code cleanup and add jshint comments
2025-08-02 12:38:29 -07:00
Frédéric Guillot
3e1a7e411c
feat(js): register the service worker as JavaScript module
2025-08-02 11:26:43 -07:00
Frédéric Guillot
bfbc1c88c3
feat(js): load app.js
using JavaScript module
...
- The JS bundle has its own isolated scope
- There is no need to use IIFEs anymore (Immediately Invoked Function Expressions)
- Modules are executed after the HTML document is fully parsed, similar to `defer` attribute
- There is no need to use `DOMContentLoaded` anymore
- Module scripts inherently run in strict mode (no need to define `use strict` anymore)
2025-08-02 11:07:27 -07:00
Frédéric Guillot
50197c2be3
refactor(js): reorder functions and add comments
2025-08-01 21:56:25 -07:00
Frédéric Guillot
7a25cf5037
fix(js): handle multiple buttons in a single form when showing loading state
2025-08-01 20:53:59 -07:00
Frédéric Guillot
1ec90e34f5
refactor(js): simplify CSRF token retrieval from the document
2025-08-01 20:44:40 -07:00
Frédéric Guillot
5e07278e87
feat(ui): refresh the page when marking as read the last visible entry
2025-08-01 20:16:45 -07:00
Frédéric Guillot
bfd8cb3d22
feat(ui): add icons to main menu
2025-07-30 19:12:50 -07:00
jvoisin
32fbb4e882
fix(ui): improve margins consistency wrt. header/footer
2025-07-08 19:30:13 -07:00
jvoisin
93b17af78b
refactor(appjs): no need to check if always present elements are always present
2025-06-20 13:16:57 -07:00
Frédéric Guillot
b0a10f02fd
feat(css): add margin-bottom to input for consistent spacing
2025-06-19 16:35:17 -07:00
Frédéric Guillot
70b513b8db
feat(ui): display external URL in single entry view
...
Display the article's external URL directly in the single entry view.
Rationale: On mobile devices, users couldn't see where a link pointed before tapping it.
Previously, the only way to view the external URL was by hovering - an action not available on touch devices.
2025-06-09 21:14:55 -07:00
Frédéric Guillot
a8bb7a48d7
feat(ui): avoid showing an excessive number of tags
2025-06-08 15:29:09 -07:00
Frédéric Guillot
764212f37c
refactor(js): replace DomHelper
methods with standalone functions
2025-04-17 18:15:08 -07:00
Tali Auster
e02b65d4bc
fix: deal with navigator.share exceptions
...
Navigator.share returns a promise that's executed in the background, but
unless we await it explicitly, we won't get the exceptions in the
try/catch block.
2025-04-17 17:07:38 -07:00
Frédéric Guillot
969efd2af7
fix(ui): update share feature to correctly select title element and handle empty title
2025-03-28 15:36:43 -07:00
Frédéric Guillot
87fccfee3a
fix(ui): remove touch-action style because it could cause horizontal scrolling issue
2025-03-28 15:20:31 -07:00
Frédéric Guillot
991c54150d
fix(css): avoid aside overflow on the pagination menu
2025-02-15 17:15:52 -08:00
Frédéric Guillot
0c74497ef7
fix(js): regression introduced in commit ffe1be5
...
The default argument should be set to false.
2025-01-24 17:52:58 -08:00
jvoisin
ffe1be59ea
Use a default parameter for goToPage as isn't ~always called with a single one
2025-01-23 19:20:13 -08:00
jvoisin
2318e9011d
Use proper types in app.js
2025-01-23 19:20:13 -08:00
jvoisin
67df305ac2
Use shortcuts to declare padding
2025-01-23 19:20:13 -08:00
jvoisin
71c7845c42
Anchor =
removal in webauthn_handler.js
...
Since we're base64-encoding, `=` can only happen at the end, so no need to
traverse the whole payload.
2025-01-23 19:20:13 -08:00
jvoisin
aa56d23551
Replace the deprecated window.pageYOffset with window.scollY
...
See https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollY
2025-01-23 19:20:13 -08:00
jvoisin
3cd448099d
Remove a useless return
2025-01-23 19:20:13 -08:00
Frédéric Guillot
47ccefba4e
fix(css): --entry-content-aside-border-color
is missing from
...
`system.css`
2025-01-22 21:00:50 -08:00
Frédéric Guillot
e74d875d95
feat(css): improve aside element position on smartphone
2025-01-22 20:24:33 -08:00
Frédéric Guillot
c9c422b135
feat: bump linter and minifier from ECMAScript 2017 to 2020 (ES11)
2025-01-18 11:32:50 -08:00
Julien Voisin
91f9a7650e
refactor(js): add jshint check for strict comparison
2025-01-16 17:50:09 -08:00
jvoisin
605eeb4525
Fix a mistake introduced in f67d2e230b
...
Spotted by @michaelkuhn
2025-01-16 17:37:54 -08:00
Julien Voisin
eb6991ae49
tests(js): improve .jshintrc
2025-01-15 18:43:03 -08:00
Julien Voisin
6af0cd5b5c
refactor(js): simplify a bit keyboard_handler.js
...
- Mark two methods as static
- Use a `switch-case` construct instead of an Object and a loop.
2025-01-14 20:50:21 -08:00
Julien Voisin
fccca0ce1e
refactor(js): minor refactoring of touch_handler.js
...
- Mark a method as `static`
- use `Math.sqrt` instead of `Math.pow(…, 0.5)`
- Use `Math.sign` instead of a condition on the sign
- Inline some used-once variables
- Reduce the scope of some variables
2025-01-14 20:47:30 -08:00
Julien Voisin
8c3a9184ac
refactor(js): remove an outdated check for {passive: true}
...
According to https://caniuse.com/?search=passive ,
all browsers released after 2016 do support passive event listeners,
so no need to check for its presence.
2025-01-14 20:18:11 -08:00
Julien Voisin
1e54a073d3
refactor(js): minor improvements in app.js
...
- Use `….classList.toggle` instead of `….classList.add`/`….classList.remove` in a condition
- Replace a `function()` with a `() =>`
- Use `Math.min` instead of a handwritten condition
2025-01-12 12:54:08 -08:00
jvoisin
a06657b74d
Factorise a line in internal/ui/static/js/app.js
2024-12-15 20:54:17 -08:00
jvoisin
14a6e8ed3a
Factorise .pagination-next and .pagination-last together
2024-12-15 17:03:09 -08:00
jvoisin
c3e842eba6
Remove -webkit-clip-path
...
https://caniuse.com/?search=clip-path says that `clip-path`
is supported since Safari 13.1
2024-12-15 17:03:09 -08:00
jvoisin
fd9cfd757a
Replace -ms-text-size-adjust with text-size-adjust
...
https://caniuse.com/?search=text-size-adjust says that
`ms-text-size-adjust` is supported in Edge.
2024-12-15 17:03:09 -08:00
Frédéric Guillot
51030ef1a8
feat(webauthn): show help message regarding username and non-discoverable credentials
...
The username is required for non-resident keys, but it's not necessary for discoverable credentials like Passkeys.
2024-10-26 21:49:23 -07:00
Frédéric Guillot
e555e442fb
feat: add new settings option to allow external fonts
2024-10-05 21:21:12 -07:00
Loïc Doubinine
4f55361f5f
feat: mark media as read when playback reaches 90%
2024-07-28 12:29:45 -07:00
Frédéric Guillot
92f3dc26e4
feat: add support for aside HTML element in entry content
2024-07-25 21:11:37 -07:00
Frédéric Guillot
11cafec863
fix: align pagination correctly on small screens with non-English text
2024-07-19 18:32:37 -07:00
Paul Esch-Laurent
2fbe2df086
fix: <img>
aspect ratio w/ height: auto
...
Complement with `max-width: 100%` with a `height: auto` to preserve `<img>` aspect ratios, particularly when it's not wrapped in a block parent e.g. `<p>` or `<figure>` most commonly.
Related: https://www.smashingmagazine.com/2020/03/setting-height-width-images-important-again/
2024-07-08 17:13:20 -07:00
Wojtek
a46e702536
Add navigation to last/first page
2024-06-28 20:19:38 -07:00
Ztec
07f6d397d4
Fix Playback speed indicator precision
...
The original idea was to have two digit precision at all time
in order to ensure the length of the string is always the same.
This prevents the UI button to move when pressed.
I completely missed the first press as the precision was not right
upon first click.
2024-06-13 20:13:07 -07:00