Commit Graph

31 Commits

Author SHA1 Message Date
schroda
58eb2fead3 Feature/enforce license notice in each file via eslint rule (#304)
* [ESLint] Add "eslint-plugin-header" as dev dependency

* [ESLint::eslint-plugin-header] Setup rule

* [ESLint::eslint-plugin-header] Fix errors
2023-05-18 13:17:41 +02:00
schroda
bd91510227 Remove eslint rule deactivations (#290) 2023-05-11 18:00:37 +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
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
ad9a12b2ec Fix reader nav bar scroll to page (#236)
* Correctly scroll to page

Using "curPage" as the "initialPage" broke "scrolling up".
The page got reset to the first page in that case

* Support resume and scrolling to page for "DoublePagedPager"

* Support resume and scrolling to page for "PagedPager"

* Prevent "ReaderNavBar" from disappearing in "VerticalPager"

Due to handling the overflow on the "root" div and the "nav bar" being sticky and having a combined with of 100vw with the "vertical pager", once the first page was reached, that was behind the 100vw, the "nav bar" got moved out of the screen.
This made using the "nav bar" unusable for the "vertical pager".
2023-02-12 18:42:17 +03:30
Daniel
b16b9eb55a Fix lint error (#235) 2023-02-12 18:41:29 +03:30
Daniel
baa2f680f7 add chapter dropdown to reader nav bar (#229)
* Add chapter dropdown to reader chapter nav buttons

Makes it possible to select a specific chapter inside the reader without having to leave and open the manga page

* Always show chapter nav buttons

In case they are unusable, they will be disabled
2023-02-08 21:07:39 +03:30
Daniel
c7aaed8378 Add chapter page dropdown (#230)
Makes it possible to select a specific page of the current chapter
2023-02-08 20:56:09 +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
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
8dfc89ee17 Refactor/download queue and cleanup visuals overall (#202)
* Move context providers and configuration providers to separate component, extract theme to separate file

* Use custom palette color instead of direct colors

* Replace different clicable things with CardActionArea to get transition and links

* Refactor DownloadQueue, update layout, unify all the download progress indicators

* Unify active filter indicator

* Use divider instead of hr

* Fix background color in extensions light theme

* Fix thumbnail overlay in library screen list view

* Don't show download button on downloaded updates
2022-11-26 16:21:56 +03:30
Valter Martinek
12cfc81aa8 Hide overflowing text in reader title if text can't be wrapped (#199) 2022-11-24 23:35:18 +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
Silenc3IsGold3n
7d890ea093 Close button fix (#141)
* Close button now points to library instead of back

* Redirect back to specific manga page always

Co-authored-by: a <a@a.a>
2022-03-02 13:34:00 +03:30
Aria Moradi
c214406546 migrate ReaderNavbar to Mui 5 (#84)
* migrate ReaderNavbar to Mui 5

* cleanup, show loading text when loading.
2021-12-01 03:03:52 +03:30
Aria Moradi
04a1898ea7 Revert "migrate some components to Mui5 new styling system (#72)"
This reverts commit 72ef61e286.
2021-11-15 17:21:31 +03:30
abhijeetChawla
72ef61e286 migrate some components to Mui5 new styling system (#72)
* - Changed the value in Manga from 960 to 900( md breakpooint)
- The CicularLoader in About  and Reader screens is now centered to the whole screen
- Changed relative imports in About screen to absolute imports
- removed changed styles from Browse Screen, PageNumber

* Migrated Source Card, Extension Card and LoadingPlaceHolder to MUI system

* Migrated CategorySelect and LandSelect to using the sx prop

* migrated ReaderNavbar to mui 5

* - Removed Unused Styles from Page
- Migrated DoublePage, doublePagedPager, PagedPager, Vertical Pager and Horizontal Pager.

* Replaced style prop with sx prop

* removed useStyles completely from the project except for the Manga Screen

* added a comment

* Fixed the Source Card Buttons padding

* Removed the trailing backspace

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

Co-authored-by: Sascha Hahne <ntbm@users.noreply.github.com>
2021-11-14 13:51:08 +03:30
Aria Moradi
091d97c914 refactor 2021-10-30 16:10:34 +03:30
abhijeetChawla
c91cc508f4 add EmptyView to DownloadQueue, refactro strings (#53)
* Added the Emty view message in the /download path

* Changed a few expression to template string
2021-10-29 15:51:10 +03:30
abhijeetChawla
b9b5b2818c Back button implementation (#47)
* Added the back button to the main Ui

* Changed the naviation in the reader ui so that when the next or previous chapter links are clicked, instead of adding the a new history entry, it will replace the current History entry and rereder the Reader component

* - Made changes so that if history is of length 1 then the backbutton will take you to /library
- made use of the startsWith method so that if we use url for the saving the last viewed category there won't be a need to change this
- changed a few relative imports to absolute imports

* Back button won't show for any route that has an icon in the  sidebar
2021-10-26 11:49:23 +03:30
abhijeetChawla
2049c329d7 fixes Reader navbar colors when in light mode (#43)
* fixed the navbar color when in lightmode

* Used the grey options available in the Theme object
- Added the package-lock.json

* removed package-lock.json

* Changed the colors in the navabr to the closest available color in the Theme object in Material UI

* Made the sidebar close button available even the staticNavbar setting is set to true

* reverted the changes to the .gitignore
2021-10-17 14:18:30 +03:30
Aria Moradi
5d005441ea migrate material-ui to v5 2021-09-09 17:51:22 +04:30
voltrare
d85322b621 Update ReaderNavBar (switch exit and back button) (#21) 2021-09-07 00:55:13 +04:30
Aria Moradi
430b10ad24 fix navbar changing width slightly 2021-08-29 02:09:56 +04:30
Aria Moradi
f5a88d98af better reader title, next, prev buttons 2021-08-29 01:57:46 +04:30
Aria Moradi
60df3b80fd move webUI out of Tachidesk 2021-09-02 14:15:03 +04:30