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
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 Piberandschroda 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
+1 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 Piberandschroda 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 Piberandschroda 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 Piberandschroda 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 Piberandschroda 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