Commit Graph

2464 Commits

Author SHA1 Message Date
schroda
791ccf1f6a Handle server version changes
Server version now contains the "revision" as the "patch" number
2025-04-07 00:01:54 +02:00
schroda
ddababf716 [SKIP CI] Remove "preview tag" from listed feature in README.md 2025-04-05 16:35:12 +02:00
schroda
a96a14844c Update feature list in README.md 2025-04-05 16:28:19 +02:00
schroda
11679a9901 [Release] Version 1.5.0 2025-04-05 16:10:51 +02:00
schroda
01cdbd90b8 Show "nav bar item" as active for child routes 2025-04-05 15:41:12 +02:00
schroda
0b97e8bb8d Move "About" outside "Settings" in regard to routing
Is already not part of the settings anymore, however, the route was never updated
2025-04-05 15:41:11 +02:00
schroda
8cbc8c5099 Disable "more" route on desktop 2025-04-05 15:38:41 +02:00
schroda
dcf1b5b1c2 Only show hidden nav bar items in "More" page 2025-04-05 15:38:40 +02:00
schroda
dbf06a54b9 Update available languages 2025-04-05 13:08:48 +02:00
Hosted Weblate
dbd973398d Translations update from Hosted Weblate
Co-authored-by: Constantin Piber <cp.piber@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Infy's Tagalog Translations <ced.paltep10@gmail.com>
Co-authored-by: Leonardo de Macedo Sartorello <leo.sartorello98@gmail.com>
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com>
Co-authored-by: SDN2 SENYIUR <sdn2senyiur17878@gmail.com>
Co-authored-by: UnknownSkyrimPasserby <f7022961@opayq.com>
Co-authored-by: plum7x <plumgift@hotmail.com>
Co-authored-by: 清水汐音 <chenzhongjie19940725@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/de/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/fil/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/id/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/pl/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/vi/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hant/
Translation: Suwayomi/Suwayomi-WebUI
2025-04-05 13:03:39 +02:00
schroda
e6a105c766 Fix increase/decrease of auto scroll speed
Hotkeys were switched and did the opposite of their intended action
2025-04-05 13:01:40 +02:00
schroda
d89fbf9cf5 Cleanup "useReaderPreserveScrollPosition" 2025-04-05 12:56:44 +02:00
schroda
da34c77f03 Only observe "ReaderChapterViewer" resize events for scroll position preservation
It's not necessary to observe all elements, since "ReaderChapterViewer" is the parent and thus increases/decreases in size in case its children change.
2025-04-05 12:50:14 +02:00
schroda
b37ff532f5 Fix reverted code after merge
For some reason github didn't show a merge conflict on the pr
2025-04-05 12:48:36 +02:00
Constantin Piber
4423dee14e Fix preserving scroll position on infinite scroll previous chapter load (#913)
When scrolling to the previous chapter, which has not been preloaded, the scroll position got lost due to the resulting layout shift

* Update scroll preserve by tracking cursor

* Clean up interface

* Observe just the wrappers instead of individual images

* Switch to `IntersectionObserver` for tracking active element

* Clean up adding of observations

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>

---------

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
2025-04-05 12:45:52 +02:00
schroda
b3860e4351 Preserve current position on "reading direction" change 2025-04-05 01:06:59 +02:00
schroda
e1895b21e3 Use "ReaderChapterViewer" as "root" for "IntersectionObserver" for "infinite scroll"
Using the actual "document element" as the "intersection observer root" causes issues in case the available reader width is less than the viewport.
In these cases sometimes the previous/next chapter never loaded because the necessary intersection never fired.
2025-04-05 01:05:54 +02:00
schroda
0f49115b23 Keep rendered chapters on infinite scroll chapter change
The changes from 642708b8b3 didn't consider the case were the chapter change was triggered due to scrolling to the unloaded previous/next chapter with infinite scroll
2025-04-02 02:45:22 +02:00
schroda
642708b8b3 Immediately open previous/next chapter on reader nav bar button click
The logic didn't handle cases were the next/previous chapter wasn't loaded yet, which lead to the load happening in the background without any user feedback.
2025-04-02 02:27:01 +02:00
schroda
7a7a0dfa9c Fix tsc error 2025-04-02 01:25:20 +02:00
schroda
9ad1af4846 Prevent mui card ripple on child element click 2025-04-02 01:25:17 +02:00
schroda
517610ac6d Fix manga list option menu on mobile 2025-04-02 01:24:50 +02:00
schroda
c81dce8efe Remove margin between icons in "extensions actions" 2025-03-28 19:06:08 +01:00
schroda
e3934545b0 Change "large" IconButtons to default size 2025-03-28 19:05:21 +01:00
schroda
99f14e2f27 Internationalize ErrorBoundary 2025-03-28 18:47:29 +01:00
schroda
07a44ed02b Fix hidden manga track dialog error 2025-03-28 18:23:33 +01:00
schroda
7145c33fbb Preserve current page on reader width change only when necessary
The pages only change in size with specific "page scale modes".
Thus, if these modes are not active, the scroll position will not be lost.

There are different cases were even with these modes active, the scroll position won't get lost (e.g. "fit width" while no page is larger than the available width), but handling these would be too cumbersome.

Ideally the relative scroll position would be preserved, however, from testing a little that seems to not work too well
2025-03-27 19:49:53 +01:00
schroda
a9bdf076c1 Prevent confirmation dialog from shifting layout in reader 2025-03-27 19:49:52 +01:00
schroda
3c1cb539ad Add spacing to confirmation dialog buttons 2025-03-27 19:49:51 +01:00
schroda
62bd4fdfb2 Require library entry removal confirmation in reader 2025-03-27 19:49:50 +01:00
schroda
72fb053971 Add "scroll amount" setting 2025-03-27 19:49:49 +01:00
schroda
b93c2d95e5 Add hotkey to close reader 2025-03-27 19:49:44 +01:00
Constantin Piber
9322ed2b8e Make category setting subheading translatable (#911)
The `.toLocalLowerCase` is english-specific, this should be handled via
a dedicated translation like everywhere else, `global.value` is being
abused here
2025-03-27 19:48:57 +01:00
schroda
d3f973e95b Improve dynamic theme color performance for large images 2025-03-25 23:45:39 +01:00
schroda
a23f6d02bf Fix lint issue 2025-03-25 21:01:31 +01:00
schroda
5c770ffa62 Update available languages 2025-03-25 21:00:11 +01:00
Hosted Weblate
6be384f859 Translations update from Hosted Weblate
Co-authored-by: Anonymous <noreply@weblate.org>
Co-authored-by: Constantin Piber <cp.piber@gmail.com>
Co-authored-by: Hosted Weblate <hosted@weblate.org>
Co-authored-by: Joshua Astray <ykxkykx@gmail.com>
Co-authored-by: Leonardo de Macedo Sartorello <leo.sartorello98@gmail.com>
Co-authored-by: MK <raroger1975@gmail.com>
Co-authored-by: Nguyễn Trung Đức <vaicato16@gmail.com>
Co-authored-by: Tycoon3819 <Tycoon3819@protonmail.com>
Co-authored-by: dasf <taokai1190769@hotmail.com>
Co-authored-by: plum7x <plumgift@hotmail.com>
Co-authored-by: 清水汐音 <chenzhongjie19940725@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/ar/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/bn/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/da/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/de/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/es/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/fil/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/fr/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/id/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/it/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/ja/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/ko/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/nl/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/pt/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/pt_BR/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/ru/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/sv/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/ta/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/th/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/tr/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/uk/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/vi/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/suwayomi/suwayomi-webui/zh_Hant/
Translation: Suwayomi/Suwayomi-WebUI
2025-03-25 20:55:50 +01:00
schroda
15c11ded34 Tweak dynamic theme dominant color detection
Currently, a lot of manga have the same whit/black-ish background color, which results of the thumbnails containing a lot of white/black colors.
These changes improve this a little

- reduce impact of white and black colors
- use "precision" mode of algorithm
2025-03-25 02:37:00 +01:00
schroda
6f8d5bb9dc Remove unnecessary styling II
Missed in 157a549cc7
2025-03-25 00:04:12 +01:00
schroda
157a549cc7 Remove unnecessary styling 2025-03-24 23:46:57 +01:00
schroda
2120390e93 Align card list styling with rest of lists 2025-03-24 23:45:48 +01:00
Constantin Piber
541eeb0445 Reader preserve current page on window resize (#905)
* Reader: Reset bounds on window size change

19f2d993 introduced a `minWidth` to make sure sizes are consistent over
chapter changes (or when images load later), but when the window itself
changes, this makes the reader incorrectly sized

* Reader: Update size on navbar width change

This happens mostly when the bar is pinned; same effect as previous
commit

* Reader: Attempt to set the page on resize

It's not perfect, but not changing position at all seems impossible due
to how resizes are handled by the browser (since we adjust our content
to the window size)

* Simplify and abstract reader size reset

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>

* fix: Reader page full width was not properly calculated for static navbar

Only relevant for Fit Content, this did not properly consider the navbar
when the user clamps the content to a custom width

* Refactor: Put reader min sizes to reader itself instead of chapter

This allows some logic simplification.
The `ResizeObserver` can needs to be on an element without restrictions;
previously, the observer would not see the chapter elements get smaller,
since the `min-width` prevented it from shrinking. By applying to the
outer element, we still preserve the centering (since `margin: auto` is
also applied here), but allow the chapter itself to be smaller.

* Reader: Only scroll in continuous reading modes

* Reader: clean up size tracking

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>

* Fixup previous commit stupidness

* Reader: move `minWidth`/`minHeight` back to chapter wrapper

* Apply suggestions from code review

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>

* Also revert `fullWidth` calculation

* Simplify `chapterViewerSize`

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>

* Move size logic entirely to hook

---------

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
2025-03-24 23:45:06 +01:00
Constantin Piber
c9c1b8625a Reader preserve current page on reader mode change (#906)
* Reader: Re-scroll on reader mode change

* Simplify reading mode restore

https://github.com/Suwayomi/Suwayomi-WebUI/pull/906#discussion_r2009147119

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>

* Move effect as per suggestion

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>

---------

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
2025-03-24 23:24:36 +01:00
Constantin Piber
8079cadae5 Basic modal for switching extension settings (#907)
* Basic modal for switching extension settings

* Improve network usage by including field in query directly

Requesting individually is stupid, when it's a field that is already
available on the server

* Improve extension slider usability

- Always render the element, fixes animations
- Store the selected item in state, allows the back-button to re-open
  dialog

* Update src/modules/extension/components/ExtensionOptions.tsx

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>

* Update src/modules/extension/components/ExtensionOptions.tsx

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>

* Fix suggestions

* Use dialog instead of optionsPanel

* Extension options remove redundant NSFW info

* Apply suggestions from code review

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>

* Use proper dialog title and content for settings dialog

* Use `string | undefined` instead of `string | null` to satisfy `tsc`

---------

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
2025-03-24 23:24:12 +01:00
Constantin Piber
1fd7624e98 Fixes places inreader where navbar width was not considered (#908)
* Fixes two places where navbar was not considered

When set to static, the navbar consumes space, so `vw` units are not
enough.
On small screens, the `left`+`transform` approach does not work nicely,
so just use standard flex alignment, the container is already a flexbox.

* Change card also consider wide viewports

* Update src/modules/reader/components/viewer/ReaderTransitionPage.tsx

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>

* Reader: Apply new alignment code also to horizontal scroll mode

---------

Co-authored-by: schroda <50052685+schroda@users.noreply.github.com>
2025-03-24 23:23:50 +01:00
schroda
dc88b42191 Fix preloading of reader pages
There were different issues with the direction the pages got preloaded.

- when resuming a chapter with an initial page > 1, it incorrectly preloaded leading pages instead of trailing ones.
- when going to the previous/next rendered chapter no pages got preloaded at all
2025-03-23 16:40:49 +01:00
schroda
ae29904ed2 Make "hideHistory" settings global 2025-03-23 04:04:09 +01:00
schroda
b673047517 Update to server gql library update changes 2025-03-23 04:04:08 +01:00
schroda
072c71c116 Handle graphql exception errors
Extract stack trace from error message and show it as an information that is collapsed by default
2025-03-22 20:37:43 +01:00
schroda
8fac3ce352 Handle white spaces in error messages 2025-03-22 03:21:09 +01:00