Commit Graph

84 Commits

Author SHA1 Message Date
schroda
4157611d83 Feature/improve typing of metadata related logic (#268)
* Improve metadata typing

* Rename types

Still included the "I" prefix for interfaces

* Improve typing in setting util files
2023-04-22 11:34:19 +02:00
schroda
0a56a2f6d4 Extensions cleanup (#257)
* [Cleanup] Add enums and types

* Extract "default languages" from ISOLanguages

The "default languages" will also be translated depending on which language the user selected
2023-04-21 00:27:42 +02:00
schroda
d51150b784 Feature/reader skip duplicate chapters (#262)
* Skip duplicate chapters in the Reader

* Debounce "end of page" handling in the reader

* Update keyboard event listener

In case the "go" function changed, the listeners have to be updated
2023-04-05 13:37:12 +02:00
schroda
d58bd6cd92 add translation keys (#246)
* Fix i18n tsc issue

"t" can return null by default.
This was already disabled in the config, but it had no effect on tsc.

* Fix translation in "DefaultNavBar"

key was missing and since this is a constant the translation wouldn't update in case the language got changed after first load.

* Enable typing for i18n translation keys

* Add translation keys
2023-03-23 16:29:32 +03:30
akabhirav
a67370be62 Introduce override filters while searching setting (#242)
* Introduced override filters while searching setting

* update branch; change strings and method names

* fix eslint issue

* code review changes

* moved search setting types into its own type

---------

Co-authored-by: akxer <>
2023-03-04 20:21:24 +03:30
Daniel
96fd1cf73b remove manually created typing d ts file (#249)
* Rename file

".d.ts" files are files that are automatically generated during compilation (in case option is set) and shouldn't be created manually.

* Export types and interfaces

* Add missing imports
2023-02-24 19:10:37 +03:30
Daniel
cd1d24ada7 Add logic to migrate metadata values (#227)
Makes it possible to rename or fix values of already saved metadata without the user losing his data
2023-02-17 15:40:44 +03:30
Daniel
2c11708c92 increase prettier line length to 120 (#233)
* [Prettier] Increase max line length to 120

100 is quite low, especially on modern monitors.
The length is also reached quite quickly with 4 spaces per tab depending on the indentation depth

* [Prettier] Increase max line length to 120 - Fix formatting
2023-02-08 20:49:26 +03:30
Daniel
4e0a860dfd add prettier for auto formatting (#231)
* [Prettier] Add "prettier"

Makes the formatting of the code consistent.
By using the eslint-plugin-prettier formatting issues will be highlighted as a lint error.
These errors will be auto fixed by running "lint --fix" (which can be done automatically on file save)

* [Prettier] Add "prettier" - Fix formatting
2023-02-06 12:36:33 +03:30
Daniel
2eeea41a45 force absolute import path (#223)
* Add "no-relative-import-paths" eslint plugin

* Add "no-relative-import-paths" eslint plugin - Fix imports
2023-02-05 18:45:20 +03:30
Daniel
fc9dc35b60 show more detailed upload dates for today and yesterday (#222)
* Always show month and day of the chapters release date with 2 digits

In case the month or date is one digit a leading 0 will be added

* Show more detailed upload date information for chapter uploads from today or yesterday

In case the upload date is from today or yesterday the shown upload date will be e.g. "Today at 02:50", otherwise, just the date will be shown e.g. "04.01.2023"
2023-01-07 19:16:07 +03:30
Daniel
9702728771 add logic for metadata migration (#218)
* [#215] Handle metadata migration

Makes it possible to change "metadata keys" and the "app metadata key prefix" without losing data

* [#215] Fix checking and handling missing reader settings in metadata

With the new migration logic missing reader settings couldn't be detected anymore in case the metadata included outdated app metadata keys for the reader settings.

* [#215] Fix name of "IReaderSettings" property
2023-01-06 20:49:45 +03:30
Daniel
dca968fdb7 make default reader settings changeable (#217)
* [#214] Move "reader settings" util functions into new file

* [#214] Extract "options" of "ReaderSettings" to new component

* [#214] Add component for changing the default reader settings

* [#214] Add default "ReaderSettings" to "Settings"

* [#214] Use default "ReaderSettings" stored on the server

Wait for both "manga" and "defaultSettings" to be loaded.
Otherwise, by the time the "manga" response was received, the "defaultSettings" might be still loading and thus, the local fallback "default" settings will get used as the "default settings"

* [#214] Save and update "ReaderSettings" options in case they are missing

- Manga gets read the first time => save settings in metadata
- Default settings get opened the first time => save settings in global metadata
2023-01-06 20:04:16 +03:30
Daniel
46ac5d5531 Save reader settings per manga in Meta (#216)
* [#213] Add missing "meta" property

- IManga
- IMangaCard (optional)
- IChapter
- ICategory

* [#213] Add util functions for handling metadata

- global server
- manga
- chapter
- category

* [#213] Use "ReaderSettings" from the manga metadata

- get ReaderSettings from manga metadata
- remove unnecessary check "make sure settings has all the keys"
    in case the stored settings in the metadata are outdated they will be filled with default values

* [#213] Reload manga only in case "mangaId" changed

In case the chapter is still from the same manga, a reload is unnecessary

* [#213] Only update the changed reader setting

Otherwise the app has to send patch requests to the server for every setting even if it didn't change

* [#213] Hide "openButton" on first render in case "navBar" is shown

The "openButton" was always set to be visible event in case the navBar was shown on the first render

* [#213] Open the "ReaderNavBar" if needed after receiving new settings

Otherwise, the drawer won't open in case the "navBar" was hidden on the first render since the default state in that case was set to false

* [#213] Update "ReaderSettings" after receiving the manga response

Otherwise, the default settings aren't getting removed

* [#213] Hide/Show "OpenButton" when opening/closing the drawer

Otherwise, the button stays hidden until it gets updated due to scrolling

* [#213] Keep "ReaderNavBar" state when opening prev/next chapter

In case the navBar wasn't sticky but opened, it got closed when the prev/next chapter got opened

* [#213] Prevent "ReaderNavBar" from closing when changing "staticNav" setting
2023-01-06 19:45:29 +03:30
Valter Martinek
3972d7757f Fix navbar back button behavior (#195)
* Enable passing backLink through location state. Explicitly handle cases for BACK

* Allow pages to override default backLink. Fix manga page back link

* Cleanup
2022-11-21 04:03:45 +03:30
Valter Martinek
14265164a4 Feature/swr for simple queries (#187)
* Refactor simple queries with useSWR hook

* Fix plus button in Extensions screen

* Add type to categories query

* Add useQuery abstraction which adds loading attribute

* Reload categories even if reorder fails
2022-11-03 00:18:22 +03:30
Valter Martinek
6f8755fa05 Feature/swr for library screens (#186)
* Wrap data fetching in library and manga screen with swr for better dev and user experience. Refactor some API calls and data handling. Add manual refresh to manga detail.

* Fix manga card layout

* Fix refresh button position on small screens

* Revert "Fix manga card layout"

This reverts commit d85da3d8385e1ef64feed1789e4cd4591c8bd563.

* Fix manga not setting title

* Move chapters loading to Manga component, join data fetching, add auto online fetch if fetched data is old

* Revert some changes
2022-11-02 13:12:02 +03:30
amr
13e6456190 unified library options (#168)
* Unified the way options are being handled. now everything uses the LibraryOptionsContext, removed the no-longer used useLibraryOptions hook

* removed query from library options. since it doesn't make sense for this to be cached

* fixed a bug in the useLocalStorage implementation
2022-04-07 15:23:14 +04:30
robo
964186ce42 Source filters, move search to SourceMangas (#142)
* source genre filter

much the same as the library version

* undo

* base

base + SelectFilter + CheckBoxFilter
haven't done useQueryParam yet

* gui done

left to do:
1.saving the input data (so it don't disappear when closing the drawer)
2.post to update
3.reload list after drawer close

* done ish

* done im tired

* ok, actually done now

worked out the breaking that was happening in the last commit

im probably using useState for more than is nessessary, only really needed to do triggerUpdate and Data

* key error/warning fix

* issues all done

* remove junk

* jank back button fix

i re-used the query querystring

* reove single search

* boi was that a pain to fix

* Update App.tsx
2022-03-04 04:55:10 +03:30
robo
d4221044cc sorting (#136)
* sorting

add menu
add sort by left to Read
add sort alphabetical
add sort by ID
add Asc/Desc

* woops

* woops

* Camel case
2022-02-24 09:46:21 +03:30
abhijeetChawla
aaaadebfb3 refactor ChapterOptions (#126)
* Added a useLocalStorageReducer funtion
This is mostly  a refactor of ChapterOptions to simplify it with  a reducer function
Also moved a lot of function used in ChaperList to a utility file

* Added UseCallback where needed

* renamed utility folder to util to follow the convention throughout the app

* Refactor: Moved Resume FAB to seperate file

* Renamed  Types and Function for chapter filtering and sorting with the chapterOption prefix

* more renaming
2022-01-24 13:09:28 +03:30
Aria Moradi
7eedce62cd handle search shortcuts (#116)
* code cleanup

* fix some issues

* handle search keyboard shortcuts
2021-12-19 18:06:27 +03:30
Aria Moradi
03d09b2e92 cleanup library (#107)
* refactor library

* handle invalid tab numbers
2021-11-19 16:36:02 +03:30
abhijeetChawla
42c5c3042d add filter and badge for downloadCount (#62)
* Added the Download filter and download badge

* Update src/components/library/LibraryMangaGrid.tsx

Co-authored-by: Sascha Hahne <ntbm@users.noreply.github.com>

* - corrected some spelling mistakes

Co-authored-by: Sascha Hahne <ntbm@users.noreply.github.com>
2021-11-07 13:59:48 +03:30
Sascha Hahne
9e65870fae add Search to Library (#55)
* Implement bare bones library search

* Add nice interactions
2021-10-31 15:15:34 +03:30
Sascha Hahne
e9bdc95060 Implement Unread Filter for Library (#54) 2021-10-29 21:41:23 +03:30
Aria Moradi
afcb6e2442 refactor 2021-10-26 12:42:30 +03:30
Aria Moradi
23c8e649a1 default languages cleanup, force Local source enabled 2021-10-18 14:02:51 +03:30
Aria Moradi
0e682c6897 special treatment for Local source 2021-09-19 17:11:29 +04:30
Aria Moradi
b47dcbeff7 play favorites with Local source 2021-09-18 00:48:48 +04:30
Aria Moradi
5d005441ea migrate material-ui to v5 2021-09-09 17:51:22 +04:30
Aria Moradi
fe35799332 better languages, I guess 2021-08-10 03:39:18 +04:30
Aria Moradi
0081fd2177 add new mangadex languages 2021-08-10 02:04:02 +04:30
Aria Moradi
60df3b80fd move webUI out of Tachidesk 2021-09-02 14:15:03 +04:30