Commit Graph
100 Commits
Author SHA1 Message Date
schroda e99ed3eec5 Add "has duplicate chapters" library filter
closes #777
2024-07-28 23:15:11 +02:00
schroda 81cb78a634 Prevent server updated info dialog from auto closing
In case the "dialog to inform about available server updates" was disabled, it also prevented the "dialog to inform that the server has been updated" from being visible.
2024-07-28 22:56:39 +02:00
schroda 792bbe4563 Add new FlareSolverr "response fallback" setting 2024-07-28 22:50:27 +02:00
schroda 3065e80b36 Properly sort chapters of same manga in updates
In case chapters of the same manga had been fetched at the same time, they were sorted by their source order ascending instead of descending, which caused the newest chapter of that manga to be farther down instead of being the first
2024-07-28 22:29:01 +02:00
schroda e1e2cbc679 Use new gql sort options 2024-07-28 22:21:11 +02:00
schroda cdcf69a3a2 Fetch manga chapter infos on chapter list refresh
In case an uninitialized manga was opened from the library, the manga and its chapter list got refreshed.
However, the chapter infos (e.g. unread, downloaded count, etc.) were not requested with the chapter list mutation, which resulted in this information to be missing
2024-07-26 13:45:17 +02:00
schroda 3fa96dfb8d Show continue read button only when chapters are available
Manga can be added to the library while they have not been initialized yet.
Thus, for these cases, the reader is broken in case it gets opened.
To prevent this, the continue read button should not be shown in the library
2024-07-26 13:44:02 +02:00
schroda bb8b9096ee Fix lint issue 2024-07-23 22:04:35 +02:00
schroda d2b80c2aea Properly update manga grid items width
After closing the Reader, the grid width changes weren't correctly detected and thus, the manga grid items shrank in size
2024-07-23 00:56:16 +02:00
schroda 01ab88af62 Add new languages to resources 2024-07-17 22:54:26 +02:00
schroda c770505021 Fix height calculation of app layout components
The height of the app bar was lost after opening and closing the reader because ref was already created but its current value changed.
However, the ResizeObserver was still observing the old element.

Updated other hook usages, which might cause the same issue, as well
2024-07-17 22:53:12 +02:00
schroda 77a7b8be4c Update dependencies 2024-07-17 22:53:11 +02:00
schroda 6e1a204c29 Include already detected duplicates for different title
Duplicates were ignored in case they were already detected before.
However, this did not work as intended and ignored valid duplicates in case they were already detected for a different title
2024-07-13 17:05:46 +02:00
schroda b9b105c236 List found duplicates by title first 2024-07-13 17:04:04 +02:00
schroda cc0a332f02 Improve duplicate detection by title
Some mangas might be the same but didn't get detected because they had different symbols (e.g. "'" instead of "`")
2024-07-13 15:54:43 +02:00
schroda d6ea0bbdf2 Remove fixed width of ReaderNavBar 2024-07-13 15:43:16 +02:00
schroda 847a5c68b2 Reset app bar height to 0 on unmount 2024-07-13 15:35:34 +02:00
schroda 5632c4584b Consider y-scrollbar when setting max-width
In case there was a y-scrollbar, the set max width caused the x-scrollbar to also appear
2024-07-13 13:01:33 +02:00
schroda fe8d87a536 Fix ExtensionCard on smaller screens
Due to the long repo urls which did not get broking down, the install/uninstall/... weren't visible depending on the screen size
2024-07-13 03:46:40 +02:00
schroda 40f4350cb8 Use new ResizeObserver hook 2024-07-13 03:46:39 +02:00
schroda f43b7af3cd Refactor base app layout 2024-07-13 03:46:37 +02:00
schroda 31837392b5 Remove default props usage 2024-07-11 18:13:51 +02:00
schroda 35ee359754 Remove "clientMutationId" 2024-07-11 18:09:47 +02:00
schroda 2f60b94a64 Get rid of some casts 2024-07-11 18:01:41 +02:00
schroda bc01a945db Fix download queue related TypeErrors
With the changes from df006bb348, the requested download queue data changed not matching the previously used type.
The unnecessary cast then hid the tsc issues during compilation
2024-07-11 18:01:39 +02:00
schroda f33b0d70ba Read only inLibrary manga property from cache
Changed to prevent same issue as in ab8cc918a7
2024-07-09 23:51:39 +02:00
schroda ab8cc918a7 Use correct fragment to read chapters from cache
The used fragment specified properties that were not in the cache, resulting in null being returned instead of the required chapter data
2024-07-09 23:50:51 +02:00
schroda 205c833b19 Add missing chapter fields to update subscription 2024-07-09 01:19:05 +02:00
schroda b70c404fb1 Move "Fragments" file into "fragments" folder 2024-07-09 00:41:14 +02:00
schroda c1e92b3256 Extract info gql fragments 2024-07-09 00:39:41 +02:00
schroda 50aae95700 Extract server settings gql fragments 2024-07-09 00:38:08 +02:00
schroda 3d21266f92 Reduce requested manga data in queries 2024-07-09 00:30:15 +02:00
schroda 4b30e9bc48 Reduce requested extension data in queries 2024-07-09 00:21:51 +02:00
schroda df006bb348 Reduce requested downloader data in queries 2024-07-09 00:21:51 +02:00
schroda cb978d9a0e Reduce requested updater data in queries 2024-07-09 00:21:50 +02:00
schroda 83be995fb8 Reduce requested tracker data in queries 2024-07-09 00:21:49 +02:00
schroda 7556ea9b38 Reduce requested source data in queries 2024-07-09 00:21:49 +02:00
schroda 2fa1de578c Reduce requested chapter data in queries 2024-07-09 00:21:46 +02:00
schroda 9b8ace003d Reduce requested category data in queries 2024-07-03 23:24:50 +02:00
schroda 03cfc9b80c Correctly detect multiple scanlators 2024-07-03 23:24:49 +02:00
schroda faf2bd2572 Uses correct extension gql key 2024-07-03 23:24:49 +02:00
schroda 149bc8ad0d Remove duplicated i18n strings 2024-07-03 23:24:48 +02:00
schroda ea102eceb6 Make chapter sort options typing more strict 2024-06-30 14:24:03 +02:00
schroda d1286c2779 Add more chapter list sort options
- by chapter number
- by upload date
2024-06-30 14:23:20 +02:00
schroda bff3c28730 Extract chapter sort into function 2024-06-30 14:22:50 +02:00
schroda 78c0efcd20 Sort chapter list by source order
Was incorrectly changed to chapter number with f52b634da1
2024-06-30 13:33:31 +02:00
schroda f52b634da1 Properly sort chapter list by chapter number
The sort order was switched and instead of ASC it was sorted DESC and vice versa.
This was caused because the server returned the list (most of the time) in ASC order by chapter number.

Additionally, the  list was overall never properly sorted by chapter number and only worked because the server (most of the time) returned it in the correct order by chapter number.
However, this is not guaranteed at all since the server sorts in ASC order by the chapter id by default
2024-06-28 11:19:17 +02:00
schroda dd6b0a1e44 Show error for chapter without pages 2024-06-27 15:10:10 +02:00
schroda c337ec09ea Optionally remove migrated manga from categories
In case the setting is enabled, the manga should be removed from all categories on migration
2024-06-26 14:18:38 +02:00
schroda 6224ad4596 Prevent empty chapter updates on migration
In case there were no chapters to migrate the read or bookmark status, a request with an empty list was sent to the server.
This caused an exception on the server which resulted in a request failure which at the end caused the migration to fail
2024-06-26 13:59:14 +02:00
schroda f9b1d2bae2 Add option to stop global update 2024-06-26 13:25:43 +02:00
schroda 3206944052 Optionally trigger update for specific category 2024-06-26 12:42:03 +02:00
schroda 17e2d7585d Handle unsupported dayjs locales
DayJs doesn't support all the locales returned by "navigator.language"
2024-06-25 17:21:50 +02:00
schroda 1e39619314 Update dependencies 2024-06-25 16:28:29 +02:00
schroda 017e080159 [SKIP CI][Tooling] Fix detection of existing translation changelog 2024-06-25 16:07:09 +02:00
schroda f2649bd693 [Release] Version 1.1.0 2024-06-14 20:22:37 +02:00
schroda 7d1f2dfe01 [Codegen] Fix gql schema url
Was unintentionally merged
2024-06-14 19:56:51 +02:00
schroda 36e943214c Remove "default back to" functionality
Caused an infinite loop, because in case the Reader was the initial opened page, got closed and the back button was pressed, the Reader just got opened again.

This happened because in case it was the initial opened page, closing the Reader did not use the browser back navigation and instead opened the Manga page, resulting in it to be pushed in the history stack with the Reader being the previous page
2024-06-14 15:17:05 +02:00
schroda 87eb5eaf53 Include location search in history stack 2024-06-14 15:17:05 +02:00
schroda 7337c18c7b Use global navigation history stack
The readers history stack was different to the one from the rest of the app, resulting in an infinite loop when using the closing the reader and using the back button in the manga page, since the back button just opened the reader again.

Regression introduced with 4bb458778e
2024-06-14 15:17:05 +02:00
schroda 7266270075 [IssueModerator] Improve unremoved acknowledgment section detection 2024-06-13 20:22:48 +02:00
schroda 6344c21261 Clear library selection after action 2024-06-13 12:17:02 +02:00
schroda 403f657945 Enable ripple effect for nav buttons 2024-06-07 14:48:23 +02:00
schroda 29d54384f5 Remove most "useSetDefaultBackTo" usage
In case the "depth" of the initial opened app page was greater than 2 it was possible to get stuck in a loop of using the back button twice from the initial page to the previous page and back to the initial page...

Instead, in case a page with a greater depth than 0 is opened, the library should just be opened when using the back button.

This way the back button actually behaves like it's intended, as an app back button and not like the browsers back button
2024-06-06 00:00:38 +02:00
schroda 4bb458778e Exclude initial page form history stack
In case the initial opened page had a "depth" of 2 or more, using the back button twice lead to the initial page to get opened again instead of decreasing the depth of the url.

E.g. in case the reader was opened as the initial app page, closing the reader and then clicking the back button caused the reader to get opened again instead of going "back" to the library.
2024-06-05 22:48:00 +02:00
schroda 19e326c8ad Allow partial response for Reader chapter update
It's possible that the "trackProgress" mutation of the "updateChapters" mutation fails, which then would lead to the "mark as read" and "delete chapter" mutation data to be omitted, thus, preventing the cache from being updated with the received mutation data response
2024-06-03 03:09:59 +02:00
schroda fdf78145f0 [VersionMapping] Update to latest server gql schema changes
Server now supports partial mutation responses.
2024-06-03 03:09:58 +02:00
schroda 44166acb4b [Tooling] Improve typing 2024-05-28 14:24:13 +02:00
schroda f815d1e1b0 [Tooling] Add requirements for translation contributors as options to script 2024-05-28 14:04:15 +02:00
schroda 74c7bfdfac Update dependencies 2024-05-25 23:27:46 +02:00
schroda 230acc23d5 Prevent scrollbar from shortly disappearing on library category change
Due to the MangaGrid getting unmounted when changing the category, the "y overflow" value got reset to "auto" which caused the scrollbar from disappearing and immediately reappearing again.
This caused the site content to slightly "jump" due to the increase and immediate decrease in is width.

Related commit 871908eba9
2024-05-24 17:31:49 +02:00
schroda 3492c103a7 Fix tsc issue of incorrect translation key 2024-05-24 14:04:19 +02:00
schroda fee93c22eb Reduce padding of DownloadQueue items 2024-05-23 14:03:59 +02:00
schroda bbe8a56779 Cleanup rendering of bookmark icon of ChapterCards
Gets rid of "position" and "top" usage
2024-05-23 13:54:32 +02:00
schroda af9e77524b Prevent ChapterCard height change on selection
Due to the Checkbox being smaller than the vertical menu icon the ChapterCard was reduced in height, which caused the chapters in the list to jump up sightly.

This issue was introduced by 0ab6549a20 due to changing the line height of the chapter name
2024-05-23 13:52:45 +02:00
schroda 1b408c8065 Remove margin from virtuoso list item
margin breaks virtuosos height calculation
2024-05-23 13:50:54 +02:00
schroda cf996d67bb Add "isMobileWidth" util function 2024-05-23 02:37:40 +02:00
schroda 809e8a32bd Remove "react-device-detect" dependency 2024-05-23 02:31:59 +02:00
schroda 297ec2580b Copy manga title on long press 2024-05-23 02:28:43 +02:00
schroda f64320ad05 Remove missed static string 2024-05-23 01:22:13 +02:00
schroda 64c1ad6de3 Fix i18n type checking 2024-05-23 01:22:12 +02:00
schroda 43d05df78e Set Metadata title color to "secondary text"
The important information is the "value" instead of the "title", thus, the "value" should stand out more
2024-05-23 01:22:10 +02:00
schroda c9cf516473 Use Typography in MangaDetails 2024-05-23 00:40:20 +02:00
schroda 0ab6549a20 Limit lines of chapter names of ChapterCard 2024-05-22 23:28:56 +02:00
schroda 5cfa6d8445 Limit lines of chapter name of update cards 2024-05-22 23:28:56 +02:00
schroda 857b0204d3 Limit lines of manga title of update cards 2024-05-22 23:28:54 +02:00
schroda ea6eac5066 Consider tracker logged out if token is expired
Server returns logged in state for a tracker even while the token has expired
2024-05-22 23:24:05 +02:00
schroda 871908eba9 Always show vertical scrollbar on "body" instead of "html" element
Due to setting the html elements "y overflow" to "auto" after a manga grid got unmounted (d21521625b), MUIs "scroll lock" of "modals" was broken in the reader.

For some reason the scrollbar does not get locked and instead, due to the added padding, the pages jumped slightly upward.

MUI uses the "body" element to lock the scrollbar, and thus, using this element as well instead of "html" fixes this problem, since the manually set "overflow" value gets overwritten by MUI and thus, won't mess with its logic.
2024-05-22 23:06:17 +02:00
schroda e9ee43b9b4 Use "DayJs" instead of "Date" 2024-05-21 22:22:12 +02:00
schroda 09ee5e6862 Extract dayjs setup into file 2024-05-21 20:45:13 +02:00
schroda d889be558e Remove unnecessary "??" operator usage 2024-05-20 17:44:27 +02:00
schroda d21521625b Always show vertical scrollbar while manga grid is rendered
To prevent jittering (https://github.com/Suwayomi/Suwayomi-WebUI/issues/758) caused by react-virtuoso
2024-05-20 17:44:27 +02:00
schroda b207639445 Change scrollbar styling 2024-05-20 16:59:10 +02:00
schroda 37a371863f Set css color scheme via MUI 2024-05-20 16:23:11 +02:00
schroda c6b99478f3 Fix missing flaresolverr link
The spaces are important so that i18n correctly converts the translation to the actual text.

Regression introduced with 3a7c93ea06
2024-05-20 15:00:04 +02:00
schroda 2b2686d323 Always include scanlator in case multiple scanlators exist
Makes more sense compared to the previous logic - to only show the scanlator in case "skip dupe chapters" setting was disabled and duplicated chapters existed - which was also not properly implemented, to be always able to tell if chapters of different scanlators might be viewed
2024-05-14 23:06:36 +02:00
schroda a65ca228fe Keep initial opened chapter as duplicate reference
In case "skip duplicated chapters" is enabled and the next chapter is from a different scanlator, the initial opened chapter should still be used to remove duplicated chapters.

Otherwise, the original scanlator would get lost and the scanlator of the next chapter would get used, which was only a fallback chapter, because the initial chapters scanlator did not have a next chapter.
2024-05-13 04:04:41 +02:00
schroda ca747b383e Show chapter title in Reader chapter select 2024-05-13 03:40:45 +02:00
schroda d726793e3d Sanitize tracker summaries
The summaries can include invalid html tags which caused issues when trying to render them since these tags do not exist.

Known issue:
The invalid tags will get escaped, however, when they include a space (e.g. "<Author's Notes>" everything after the space is missing (e.g. will be "<Author's>")
2024-05-13 03:28:46 +02:00
schroda c5d8b20528 Always allow clearing download queue
It's possible that the queue only contains a failed invalid (does not exist anymore in the database) chapter which then causes graphql errors.
In this case the queue was considered empty which prevented it from getting cleared.
Without being able to clear it, the error could not be fixed.
2024-05-13 01:38:29 +02:00