summaryrefslogtreecommitdiff
path: root/internal/ui/static/js (follow)
AgeCommit message (Collapse)AuthorFilesLines
2024-04-26add seek and speed controls to media playerGravatar Ztec 2-5/+59
When listening to podcast, it is usual to want to speed up the playback. https://github.com/miniflux/v2/pull/2521 was addressing the need globally, this PR allow to address it for just the current open enclosure media. (no save) Some Browser already include this control directly, but firefox does not (directly anyway). Also, it is often useful to be able to skip chunk of a podcast, to skip commercials for example, or get back a bit because we couldn't hear the last part. I added rudimentary seek controls with the usual +/-10 and 30 seconds chuck size. This is pretty handy when podcast are very long and using the seek bar is way too tricky to just skip 30s. As always, I'm French and could only provide English and French translation for the few text I added in the locale/translations files. Any help is welcome. Tested mostly on Firefox (121.0) and quickly on Vivaldi(6.5.3206.53), chrome based. Fixes: #1845 #1846
2024-04-09Fix clicking unread counterGravatar Michael Kuhn 1-1/+2
When clicking the unread counter, the following exception occurs: ``` Uncaught TypeError: Cannot read properties of null (reading 'getAttribute') ``` This is due to `onClickMainMenuListItem` not working correctly for the unread counter `span`s, which return `null` when using `querySelector`.
2024-03-20Enable trusted-typesGravatar jvoisin 3-2/+17
This commit adds a policy, and make use of it in the Content-Security-Policy. I've tested it the best I could, both on a modern browser supporting trusted-types (Chrome) and on one that doesn't (firefox). Thanks to @lweichselbaum for giving me a hand to wrap this up!
2024-03-20Replace a bunch of `let` with `const`Gravatar jvoisin 6-44/+41
According to https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/const > Many style guides (including MDN's) recommend using const over let whenever a variable is not reassigned in its scope. This makes the intent clear that a variable's type (or value, in the case of a primitive) can never change.
2024-03-19Add keyboard shortcuts for scrolling to top/bottom of the item listGravatar Matt Behrens 2-6/+33
2024-03-17feat: Media player: Conrol playback speedGravatar Romain de Laage 1-2/+10
fix #1845
2024-03-15Fix regressions introduced by PR #2476Gravatar Frédéric Guillot 1-4/+4
'Toast' messages are broken and v hotkey opens in the same tab Commit d25c032171e47799da40a155bd172308fbfb036f
2024-03-15Fix download button loading labelGravatar Frédéric Guillot 1-27/+29
2024-03-14More trusted-types compatibilityGravatar jvoisin 1-5/+5
2024-03-13Fix JavaScript error on the login pageGravatar Frédéric Guillot 1-2/+4
2024-03-13More progress towards trusted-typesGravatar jvoisin 1-7/+21
Create a new function `addIcon` and use it to add icons, instead of operating on raw html.
2024-03-13Simplify bootstrap.jsGravatar jvoisin 1-30/+26
- Don't use lambdas to return a function, use directly the function instead. - Remove a hack for "Chrome 67 and earlier" since it was released in 2018.
2024-03-11Small refactor of app.jsGravatar jvoisin 1-104/+76
- replace a lot of `let` with `const` - inline some `querySelectorAll` calls - reduce the scope of some variables - use some ternaries where it makes sense - inline one-line functions
2024-03-11Simplify DomHelper.getVisibleElementsGravatar jvoisin 1-10/+2
Use a `filter` instead of a loop with an index.
2024-03-10GitHub Actions: Add basic ESLinter checksGravatar Frédéric Guillot 2-12/+21
2024-03-10Fix JavaScript linter path in GitHub ActionsGravatar Frédéric Guillot 3-32/+33
2024-03-10First steps towards trusted-types supportGravatar jvoisin 1-4/+5
Refactor away some trival usages of `.innerHTML`. Unfortunately, there is no way to enabled trusted-types in report-only mode via `<meta>` tags, see https://github.com/w3c/webappsec-csp/issues/277
2024-03-10Replace DomHelper.findParent with .closestGravatar jvoisin 3-12/+2
See https://developer.mozilla.org/en-US/docs/Web/API/Element/closest
2024-03-10Use a `Set` instead of an array in a KeyboardHandler's memberGravatar jvoisin 1-3/+3
The variable `triggers` is only used to check if in contains a particular value. Given that the number of keyboard shortcuts is starting to be significant, let's future-proof the performances and use a `Set` instead of an `Array` instead.
2024-03-01Move search form to a dedicated pageGravatar Frédéric Guillot 3-16/+2
2024-02-21Add 'Enter' key as a hotkey to open selected itemGravatar Robert Lützner 2-1/+6
There are a few things that need to be done, to make this work. First, we need to register `Enter` as another hotkey that opens the selected item. However, by default the `KeyboardHandler` will override all default actions. That might make sense for any other key, but for the `Enter` key, we want to keep the default behavior (i.e. follow a selected link or press a button). So for this single key event, we do not call `preventDefault()`. I see this as unproblematic for the following reasons. 1. With the changes from #2348, when we're in a list of items (articles, categories, feeds), there is no link selected. This is what made the `Enter` key work _implicitly_ in the past. With nothing selected, the `Enter` key will do nothing by default. 2. If we have **any** link selected (including when we are in a view with a list of selectable items), we'll get the default action of `Enter` (i.e. follow a link), which is exactly what we had before. Lastly, we need to update the list of keyboard shortcuts displayed when pressing `?`. This fixes #2366.
2024-02-14fix macOS VoiceOver didn't announce details and summary expandGravatar krvpb024 2-0/+23
2024-02-11fix wrong label on saveGravatar knrdl 1-2/+1
when saving an entry the label was reset on complete so the desired done label was never shown
2024-02-09Replace link has button role with button tagGravatar Tân Î-sîn 2-26/+24
# Change HTML tag to button Replace the link tag with an HTML button to prevent some screen readers from having confusing announcements. By using the HTML button, users can use the Enter and Space keys to activate actions by default, instead of implementing them in JavaScript. # Differentiate links and buttons visually When activating the link element, the user may expect the web page to navigate to the URL and the page will refresh; when activating the button element, the user may expect the web page to still be on the same page, so that their current state, such as: input value, won't disappear. Links and buttons should have different styles visually, so that users can't expect what will happen when they activate a link or a button. I added the underline to the links, because that is the common pattern. Buttons have border and background color in a common pattern. But I think that will change the current layout drastically. So I added the focus, hover and active classes to the buttons instead.
2024-02-09change focus target on items when using keyboard navigationGravatar krvpb024 1-2/+2
2024-02-07add keyboard shortcut and aria attribute to menu buttonGravatar krvpb024 2-12/+46
2024-02-05Restore menu toggle when clicking on the logoGravatar Frédéric Guillot 1-1/+7
The caret icon is too small on smartphone to expand/collapse the menu
2024-02-04remove code for debug and commentGravatar krvpb024 1-18/+1
2024-02-04fix search and star functionGravatar krvpb024 2-4/+10
2024-02-04fix menu responsive layoutGravatar krvpb024 2-4/+6
2024-02-04add search landmark and disclosure pattern to menuGravatar krvpb024 2-8/+3
2024-01-23Revert "touch_handler: Fix scroll up behavior on Firefox Android"Gravatar Andrew Gunnerson 1-1/+1
This reverts commit 344a237af87e07c51ca73e3b6f1c23598613996d. The previous behavior is more correct due to the use of preventDefault() and the commit was introduced only as a workaround. As of [1], the underlying issue in Firefox has been fixed and downward swipes to scroll up are no longer ignored every other attempt. [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1847305 [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1853075 [3] https://bugzilla.mozilla.org/show_bug.cgi?id=1724755 Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2023-11-06Refactor WebAuthn Javascript codeGravatar Frédéric Guillot 5-211/+224
2023-11-05Add WebAuthn / Passkey integrationGravatar Florian Rüchel 1-0/+196
This is a rebase of #1618 in which @dave-atx added WebAuthn support. Closes #1618
2023-10-18Add new page for background feeds refreshGravatar Frédéric Guillot 1-7/+3
2023-10-06Fix Javascript error when reading time option is disabledGravatar Frédéric Guillot 1-1/+4
2023-09-08touch_handler: Fix scroll up behavior on Firefox AndroidGravatar Andrew Gunnerson 1-1/+1
When the touchmove listener is registered with passive: false, scrolling up on Firefox Android only works every other attempt. When scrolling breaks, the touchmove callback is never invoked. The passive flag was originally set to false as part of a fix to prevent vertical scrolling while swiping: 3f3174491103fc5a96b36918d8eada778f5b7210. Setting passive to true doesn't seem to negatively affect that in both Firefox and Chrome, but fixes the scoll up behavior on Firefox. Fixes: #2053 Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2023-08-10Move internal packages to an internal folderGravatar Frédéric Guillot 9-0/+1338
For reference: https://go.dev/doc/go1.4#internalpackages