577 Commits

Author SHA1 Message Date
Joe Milazzo
7a6ef173e2
Polish before Release (#2621) 2024-01-18 14:02:21 -08:00
Joe Milazzo
d145dca0e7
Nightly Issues (#2618) 2024-01-18 06:35:54 -08:00
Joe Milazzo
dd44f55747
Kavita+ Enhancements (#2616) 2024-01-17 15:45:39 -08:00
Joe Milazzo
70cb687ef6
Downloading Enhancements (#2599) 2024-01-11 12:08:57 -08:00
Joe Milazzo
3dcf7750f7
Kavita+ Tweaks (#2595) 2024-01-09 14:04:25 -08:00
Joe Milazzo
1d56f5a0a1
Small Tweaks before Release (#2571)
Co-authored-by: charles <30816317+charles7668@users.noreply.github.com>
2024-01-07 06:15:00 -08:00
Joe Milazzo
4e1c66331f
Random Bugs (#2531) 2024-01-06 08:33:56 -08:00
Joe Milazzo
c37596889a
Kavita+ Reset License & Discord Integration (#2516) 2024-01-04 12:53:15 -08:00
Joe Milazzo
5dfcccba7a
New Year Bugs (#2513) 2024-01-02 18:53:10 -06:00
Joe Milazzo
b838fd53e5
.NET 8 Update (#2496) 2023-12-13 17:16:54 -08:00
Joe Milazzo
bd4cbeb393
Hotfix Prep (#2484) 2023-12-10 10:47:25 -08:00
Joe Milazzo
bdcd3965fd
Release Bugfixes (#2470) 2023-12-03 09:54:57 -08:00
Joe Milazzo
e489d2404a
Reader Polish (#2465)
Co-authored-by: Andre Smith <Hobogrammer@users.noreply.github.com>
2023-11-30 06:40:02 -08:00
Joe Milazzo
915bf13a7c
Bugfixes (#2458)
Co-authored-by: Andre Smith <Hobogrammer@users.noreply.github.com>
2023-11-28 14:00:04 -08:00
Joe Milazzo
7221501c4d
.kavitaignore no more (#2442) 2023-11-19 10:15:32 -08:00
Joe Milazzo
ee72727841
Polish Round 4 (#2429) 2023-11-12 08:29:46 -06:00
Joe Milazzo
a2fd87c454
Polish Round 2 (#2411) 2023-11-07 15:42:17 -08:00
Joe Milazzo
02b002d81a
Polish Round 1 (#2396) 2023-11-04 10:29:10 -07:00
Joe Milazzo
9894a2623c
Smart Filter Encoding Fix (#2387) 2023-11-02 06:35:43 -07:00
Joe Milazzo
b6d4938e22
v0.7.10.2 - Hotfix 2 (#2382) 2023-10-30 15:10:08 -07:00
Joe Milazzo
d7dd278582
Pipeline + Panels Tweaks (#2367) 2023-10-29 09:23:57 -07:00
Joe Milazzo
30f1cd20a0
Prep for Hotfix (#2362) 2023-10-29 05:20:19 -07:00
Joe Milazzo
226d6831df
Lots of Bugfixes (#2356) 2023-10-27 14:18:56 -07:00
Joe Milazzo
d8c52b80e0
Bugfixes (#2349)
Co-authored-by: Alex Tan <8013458+senpai-notices@users.noreply.github.com>
2023-10-24 16:25:29 -07:00
Joe Milazzo
bcb75ed241
Email Version availability (#2345) 2023-10-22 11:19:50 -07:00
Joe Milazzo
de9b09c71f
Next Estimated Chapter (#2342) 2023-10-22 08:44:26 -07:00
Joe Milazzo
8e85ba069c
Release Polishing (#2325)
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
2023-10-18 15:52:54 -07:00
Joe Milazzo
a3afa04be4
Invite & Library Edit - Missing SideNav Code (#2322) 2023-10-17 12:08:56 -07:00
Joe Milazzo
5f11973696
More Polish (#2320)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-17 09:05:14 -07:00
Joe Milazzo
59b950c4bd
Polish for Release (#2314) 2023-10-15 13:39:11 -05:00
Joe Milazzo
00dddaefae
Side Nav Redesign (#2310) 2023-10-14 08:07:53 -07:00
Joe Milazzo
6067c9233c
(Kavita+) External Series Detail (#2309) 2023-10-11 17:31:40 -07:00
Joe Milazzo
25ffb2ffe1
Dashboard Customization Polish (#2295) 2023-09-30 11:33:16 -07:00
Joe Milazzo
84f85b4f24
Smart Filters & Dashboard Customization (#2282)
Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
2023-09-12 11:24:47 -07:00
Joe Milazzo
072fadf1de
Must Contains Filter (#2249)
* Removed docker-compose.yml as it's not used and may confuse users.

* Added ability to delete single collections from card actions. Updated transloco library which fixes older iOS browsers not being able to load Kavita.

* Added a Must Contains comparison which will make so all values must exist.

* Fixed up multiselect dropdowns not reseting value when changing filter field
2023-09-01 14:19:51 -07:00
Joe Milazzo
cd84913fb9
Lots of Filtering Fixes & New Fields (#2244)
* Added an id for komf userscript to help it inject into Kavita's UI without relying on strings, given localization.

* Still working the filter fields, there is a bug with selecting an input and it setting undefined like crazy. Path is coded but not tested or validated.

* Stashing changed. Really not sure what's happening. I'm seeing 2 constructor calls for one row. I'm seeing a field change trigger 400 events. Values aren't getting set correctly on default string.

I've made a ton of changes, when resuming this work, look at the diff. All of this can be reset excluding the Path work.

* Lots of comments but the double instantiation is due to the mobile drawer. Added an ngIf which seems to work.

* Fixed dropdown options triggering a ton of looped calls. Default limitTo to 0 when user empties blank or negative.

* Removed a ton of UserId db calls from a ton of apis. Added a new API to allow UI to query a specific role to lessen load on UI.

* Optimized the code on new filtering to only load people by a given role. This should speed up heavily tagged libraries.

Commented out a bunch of code that's no longer used. Will be cleaned up later.

* Fixed support so that library filter can handle multiple selections.

* Fixed a bug when hitting enter in an input, the statement would be removed.

* Fixed multi-select not resuming from url correctly.

* Restored the series/all api for Tachiyomi to continue using until I'm motivated enough to update the extension.

* Fixed some resuming of state with dropdowns, not always setting values in correct order.

* Added FilePath Filter which lets a user search on individual files (slow, may need index)

* Added a full filepath for new filtering.
2023-08-29 16:03:19 -07:00
Joe Milazzo
d64681b832
Kavita+ Reviews are Mixed (#2238)
* Remove updating last active on PresenceTracker as we now do it on Token. Should reduce annoying db concurrency errors.

* Updated Kavita+ Reviews to give a spread of reviews, positive or not.

* Fixed up some styling overlap for different breakpoints for sections like Writers, Authors, Collections, etc.

* Refactored code

* Fixed jumpbar being broken with no custom sort

* Fixed paper background on epub reader not loading under base url
2023-08-26 06:32:43 -07:00
Joe Milazzo
c84a3294e9
Misc Bugfixes (#2216)
* Folder watching will now appropriately ignore changes that occur in blacklisted folders.

* Fixed up recently updated from dashboard not opening a pre-sorted page. There were issues with how encoding and decoding was done plus missing code.

* Fixed up all streams from Dashboard opening to correctly filtered pages.

* All search linking now works.

* Rating tooltip and stars are bigger on mobile.

* A bit of cleanup

* Added day breakdown to user stats page.

* Removed Token checks before we write events to the history table for scrobbling.

Refactored so series holds will prevent writing events for reviews, ratings, etc.

* Fixed a potential bug where series name could be taken from a chapter that isn't the first ordered (very unlikely) for epubs.

Fixed a bug where Volume 1.5 could be selected for series-level metadata over Volume 1.

* Optimized the license check code so that users without any license entered would still take advantage of the cache layer.

* Sped up an API that checks if the library allows scrobbling

* Cleaned up the mobile CSS a bit for filters.
2023-08-15 14:33:39 -07:00
Joe Milazzo
d134196470
Implemented the ability to allow the admin to change the cover generation size. (#2213)
Changed how covers are merged together. Now a cover image will always be generated for reading list and collections.

Fixed reading list page being a bit laggy due to a missing trackby function.

Reading list page will now show the cover image always. Collection detail page will only hide the image if there is no summary on the collection.
2023-08-14 04:56:09 -07:00
Joe Milazzo
59c7ef5aa5
Filtering Bugs + OPDS Want To Read (#2210)
* Fixed Summary not allowing an empty field, as it should allow that.

* Cleaned up some localization wording and put a todo for a bug with library filtering not working.

* Added Want to Read to OPDS stream

* Implemented the ability to disable adding filter rows for bookmarks page which only supports one filter type.

* Fixed the library filtering code

* Fixed a bunch of titles across the app. Fixed about system page not showing data quick enough.

* Hide API key by default and show a button to unhide. Fixed a styling issue with input group buttons.

* Fixed a hack to support zh_Hans language code to work for things like pt-br as well.

* Fixed transloco not supporting same language scheme as Weblate, but somehow needs all languages.

* Fixed the rating on series detail not being inline with other sections
2023-08-13 10:39:28 -07:00
Joe Milazzo
9cc5953d07
Filtering Overhaul (#2207)
* Implemented the first version of dynamic filtering which is all Extension based.

* Implemented basic generic property filter for expanded metadata filtering.

* Fixed up the code to allow for nested properties and fixed up the Contains to work only for IList's

* Started refactoring for the new approach

* More progress, need to rethink a few filters like read progress to be % based and people needs to be more explicit.

* Refactored most of the existing filtering operations into dedicate extensions for the appropriate comparisons. People still need to be reworked to be more dynamic.

* Fixed a bug with continue point where it fails on chapters or volumes tagged with a range

* Wired up a basic api path to start building groups. No and/or support yet.

* Started on the UI

* Made a bit of progress on the UI as I'm putting the pieces together about how to design it.

* Refactored names to make it more consistent. New thinking is we will have one row that will take a filter statement and manipulate it. It will emit said statement and a builder will turn into the higher level statement.

* Started working on updating code to use new inject() method.

* Fixed the code to switch the comparisons.

* Added dynamic input structure in and moved add/remove to the builder.

* Fixed an enum bug

* Hooked in basic dropdown support that is dynamic to the field. Only language is missing as that needs a DTO change (but don't want to break API)

* Fixed a bug where dropdown options wouldn't re-populate when switching fields that are both dropdowns

* Started adding metadata builder

* Fixed when typing on filter row the focus resetting

* Refactored to add an additional component which handles the compounding of filter rows.

* Started hooking up v2 dto in the UI to send to the backend.

* Started working on building group UI for and/or support.

* Lots of backend code fixes to ensure OR and AND statements combine correctly.

* More trying to figure out how to write the UI code

* Started debugging to remember what I was last doing.

* Lots of progress towards building out the UI recursively

* I got the dto to build and propagate up the chain

* Started hooking up to the actual api to fetch the data.

* Basic wire up to the backend is working.

* HasName is now complete

* Refactored SortOptions code into an extension and streamlined LimitTo to the correct place.

* Fixed a bug where Library Filters from the Group weren't actually being taken into account.

* Refactored a lot of code so builder will now export the full dto.

* Cleaned up the data flow from metadata filter to library detail

* Got the dropdown to load preset values on first load, but now it triggers twice.

* Changed so when you add a new filter, it does it at top and fixed remove

* Fixed the remove button being on the wrong row

* Cleaned up the arrays to make it easier to manage

* Cleaned up some of the backend to ensure it doesn't throw an incorrect exception

* I'm starting to tread water, taking a break

* Fixed a merge issue

* Cleaned up Docker checks.

* Default IpAddresses to empty string.

* Refactored IsDocker to be completely static

* Figured out the issue with the dropdown not working.

* Almost got it, but the event isn't being called.

* I think i might try something else. This doesn't seem to be working.

* On the new implementation, implemented remove group.

* Use enums to reduce copy/paste

* the new system is working pretty well, ill go with it and move on. Can alwasy refactor.

* Code is totally broken, but working the cache resume code with some hiccups.

* I need to take a break

* Stashing my broken code. I have an idea on how to serialize to the URL, but I need to rearchitect a lot.

* Reverted last commit

* remove domain

* Fixed up some hardcoded caching. I'm giving up on this implementation and going to a simpler version

* Refactored the backend to just allow flat filtering.

* Started refactoring the components to make it flat filtering only.

* Finished refactoring so that the base preset case will render.

* Implemented basic query functionality on desktop. Clear needs some work and url code.

* Some cleanup

* Working on filtering url encode/decode

* Interacting with filters now saves to url and can be reloaded from the url. Named filters is not hooked up.

* Fixed a double load on the library detail page.

* Moved the library filtering code out of the FilterBuilder as it needs to be handled differently.

* Fixed up how we handle library statements in the filter.

* Fixed up how links that perform a filter work.

* Refactored a bunch of linking to a search page.

* LimitTo works, my css however does not.

* Switched some code to use localized strings.

* Cleaned up some css

* Hooked up Languages and put some additional code in so that Languages will return invalid Language codes back.

* Removed a duplicate language signature.

* Hooked up ability to preload collection tag.

* Want To Read is converted

* Converted lots of code to new filtering system. Need to do Bookmarks.

* Fixed a potential bug with default filter creation.

* Hooked up the ability to disable certain filter fields from appearing.

* Added mobile drawer code and a hook for Robbie to take a look for some css.

* Converted the APIs for dashboard along with other safety fixes to ensure bad data doesn't break any of the filtering apis

* Added the backend code to handle summary query

* Converted Want to Read api properly now.

* Fixed the HasReadingProgress query

* Hooked back the Reading Progress for legacy APIs

* Fixed some bad localization strings

* Wrote the filtering code for all-bookmarks.

* OPDS is now using the new filter

* Fixed OPDS reading lists and covers not sending their images.

* Fixed up the OPDS feed and fixed a bug where libraries also weren't sending their images over OPDS

* All but dropdown options have been validated and tested.

* Fixed up some default cases for setting up the filter.

* Sorted filter fields and re-keyed to be better suited based on user's needs.

Fixed a bug where OPDS Series (from library view) wasn't showing the summary.

Moved the (Format) from the title to the description to make the UX much better for OPDS.

MOved

* don't send empty summaries in the new summary formatting

* Fixed up some default cases for setting up the filter.

* Fixed the reset button

* Fixed infinite scroller not having correct scope key

* Added localization to the new components and removed old debug code

* Styling fixes

* Fixed deep linking across the app. Made it so you can click Characters from Reading list and open a filtered search.

* A bit of styling for mobile

* Don't show language if it's not properly set

---------

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
2023-08-11 14:30:36 -07:00
Joe Milazzo
17409dd2a7
Shakeout (#2195)
* Fixed some localization issues. Fixed double slash on base url.

* Weblate Changes (#2194)

* Translated using Weblate (Spanish)

Currently translated at 40.9% (585 of 1427 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/es/

* Translated using Weblate (Spanish)

Currently translated at 40.9% (585 of 1427 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/es/

* Translated using Weblate (Dutch)

Currently translated at 48.5% (693 of 1427 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/nl/

* Translated using Weblate (Portuguese)

Currently translated at 96.8% (153 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/pt/

* Translated using Weblate (Portuguese)

Currently translated at 24.3% (348 of 1427 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/pt/

* Translated using Weblate (Spanish)

Currently translated at 3.7% (6 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/es/

* Translated using Weblate (Italian)

Currently translated at 11.2% (161 of 1427 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/it/

---------

Co-authored-by: ThePromidius <thepromidiusyt@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Hans Kalisvaart <hans.kalisvaart@gmail.com>
Co-authored-by: Duarte Silva <smallflake@protonmail.com>
Co-authored-by: Tomas Battistini <tomas.battistini@gmail.com>

---------

Co-authored-by: Weblate (bot) <hosted@weblate.org>
Co-authored-by: ThePromidius <thepromidiusyt@gmail.com>
Co-authored-by: gallegonovato <fran-carro@hotmail.es>
Co-authored-by: Hans Kalisvaart <hans.kalisvaart@gmail.com>
Co-authored-by: Duarte Silva <smallflake@protonmail.com>
Co-authored-by: Tomas Battistini <tomas.battistini@gmail.com>
2023-08-10 06:43:56 -07:00
Joe Milazzo
9f17f5daa7
Readme Change (#2190)
* Implemented the ability to login to the app by passing apiKey to the login. This is for an upcoming feature (but currently blocked by another story)

* Added a comment

* Ensure locales are sorted

* Added a new status badge that shows how many active installs we have via users that use stats.

* Bump all GA to latest versions

* Bumped dependencies

* Bumped backend notifications

* Updated ngx-pdf-reader to upcoming beta which fixes some PDFs taking time to load. PDF reader will use browser locale to load localization rather than Kavita locale for now.

* Downgraded pdf viewer as beta has lots of bugs.
2023-08-08 12:06:53 -07:00
Joe Milazzo
a65963c817
Localized Dates (#2182)
* Removed 4 properties from SiteThemeDto which weren't supposed to be there.

* Removed another set of date fields not used on DTOs

* Hangfire jobs will now grab a utc date and render that date in user's local timezone.

* Scrobble errors are now localized dates.

Added simplified chinese language code

* Fixed a bunch of newlines in the translation files

* Localized compact number and fixed some missing localizations

* Fixed remove from on deck key issue

* Scrobble events is now localized

* Scrobble events is now localized

* Removed some duplicate fields from chapter
2023-08-05 12:02:35 -07:00
Joe Milazzo
a550312279
Epub Weblinks + Localization Changes (#2180)
* Fixed a bug where scan series wasn't ignoring optimizations for chapter metadata updates.

Implemented pulling weblinks from epubs.

* Fixed localization issue

* Translations update from Hosted Weblate (#2179)

* Translated using Weblate (French)

Currently translated at 8.2% (13 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/fr/

* Translated using Weblate (French)

Currently translated at 13.2% (21 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/fr/

* Added translation using Weblate (Japanese)

* Added translation using Weblate (Undetermined)

* Added translation using Weblate (Thai)

* Added translation using Weblate (Chinese (Simplified))

* Added translation using Weblate (Chinese (Simplified))

* Added translation using Weblate (Thai)

* Translated using Weblate (Spanish)

Currently translated at 1.5% (22 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/es/

* Translated using Weblate (Dutch)

Currently translated at 98.1% (155 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/nl/

* Translated using Weblate (Dutch)

Currently translated at 98.1% (155 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/nl/

* Translated using Weblate (Dutch)

Currently translated at 8.1% (115 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/nl/

* Translated using Weblate (Dutch)

Currently translated at 8.1% (115 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/nl/

* Translated using Weblate (Thai)

Currently translated at 7.5% (12 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/th/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 5.0% (72 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/zh_Hans/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 8.2% (13 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/zh_Hans/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 5.6% (80 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/zh_Hans/

* Added translation using Weblate (Portuguese)

* Translated using Weblate (Dutch)

Currently translated at 11.4% (162 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/nl/

* Translated using Weblate (Dutch)

Currently translated at 11.4% (162 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/nl/

* Translated using Weblate (Chinese (Simplified))

Currently translated at 12.0% (19 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/zh_Hans/

* Added translation using Weblate (Italian)

* Translated using Weblate (Dutch)

Currently translated at 12.6% (179 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/nl/

* Translated using Weblate (Dutch)

Currently translated at 12.6% (179 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/nl/

* Translated using Weblate (Thai)

Currently translated at 2.3% (33 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/th/

* Translated using Weblate (Thai)

Currently translated at 2.3% (33 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/th/

* Translated using Weblate (Portuguese)

Currently translated at 0.6% (1 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/pt/

* Translated using Weblate (Italian)

Currently translated at 40.5% (64 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/it/

* Translated using Weblate (French)

Currently translated at 15.8% (25 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/fr/

* Translated using Weblate (Thai)

Currently translated at 4.8% (69 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/th/

* Translated using Weblate (Portuguese)

Currently translated at 89.8% (142 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/pt/

* Translated using Weblate (Italian)

Currently translated at 67.7% (107 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/it/

* Translated using Weblate (Spanish)

Currently translated at 5.1% (73 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/es/

* Translated using Weblate (Dutch)

Currently translated at 12.8% (182 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/nl/

* Translated using Weblate (Spanish)

Currently translated at 12.8% (182 of 1416 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/es/

---------

Co-authored-by: Francois Wilhelmy <ice_mouton@hotmail.com>
Co-authored-by: 周書丞 <tmrsm_chan@hotmail.com>
Co-authored-by: 书签 <shuqian.emu@gmail.com>
Co-authored-by: AlienHack <the4got10@windowslive.com>
Co-authored-by: NeneNeko <lennon.rin@gmail.com>
Co-authored-by: Toto Saurio <totosaurio3279@gmail.com>
Co-authored-by: Stijn <stijn.biemans@gmail.com>
Co-authored-by: Hans Kalisvaart <hans.kalisvaart@gmail.com>
Co-authored-by: Duarte Silva <smallflake@protonmail.com>
Co-authored-by: stan xu <fatexsd@gmail.com>
Co-authored-by: Tomas Battistini <tomas.battistini@gmail.com>
Co-authored-by: majora2007 <kavitareader@gmail.com>
Co-authored-by: zeedif <carlos_antonio-rl@hotmail.com>

* Removed a blank API localization file

---------

Co-authored-by: Weblate (bot) <hosted@weblate.org>
Co-authored-by: Francois Wilhelmy <ice_mouton@hotmail.com>
Co-authored-by: 周書丞 <tmrsm_chan@hotmail.com>
Co-authored-by: 书签 <shuqian.emu@gmail.com>
Co-authored-by: AlienHack <the4got10@windowslive.com>
Co-authored-by: NeneNeko <lennon.rin@gmail.com>
Co-authored-by: Toto Saurio <totosaurio3279@gmail.com>
Co-authored-by: Stijn <stijn.biemans@gmail.com>
Co-authored-by: Hans Kalisvaart <hans.kalisvaart@gmail.com>
Co-authored-by: Duarte Silva <smallflake@protonmail.com>
Co-authored-by: stan xu <fatexsd@gmail.com>
Co-authored-by: Tomas Battistini <tomas.battistini@gmail.com>
Co-authored-by: majora2007 <kavitareader@gmail.com>
Co-authored-by: zeedif <carlos_antonio-rl@hotmail.com>
2023-08-04 12:34:44 -07:00
Joe Milazzo
69532d45ac
Localization - Part 2 (#2178)
* Changed language codes in the UI to be a list of all codes we will ever support.

* Converted actionables

* Fixed the GetLocales not using Intersect, but Union.

* Fixed some localization strings in backend when user doesn't exist.

Removed AllowAnonymous from reset-password, since it is a protected API

* Fixed all instances of anonymous APIs where Claim wouldn't work

* Keyed preference options and mixed misc localization issues

* Translations update from Hosted Weblate (#2177)

* Bump versions by dotnet-bump-version.

* Added translation using Weblate (Dutch)

* Bump versions by dotnet-bump-version.

* Translated using Weblate (Dutch)

Currently translated at 20.8% (33 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/nl/

* Translated using Weblate (Spanish)

Currently translated at 1.4% (20 of 1371 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/es/

* Translated using Weblate (Dutch)

Currently translated at 60.1% (95 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/nl/

* Translated using Weblate (Dutch)

Currently translated at 60.1% (95 of 158 strings)

Translation: Kavita/backend
Translate-URL: https://hosted.weblate.org/projects/kavita/backend/nl/

* Added translation using Weblate (Dutch)

---------

Co-authored-by: Hans Kalisvaart <hans.kalisvaart@gmail.com>
Co-authored-by: Javier Barbero <javier.agustin.barbero@gmail.com>
Co-authored-by: Stijn <stijn.biemans@gmail.com>

---------

Co-authored-by: Weblate (bot) <hosted@weblate.org>
Co-authored-by: Hans Kalisvaart <hans.kalisvaart@gmail.com>
Co-authored-by: Javier Barbero <javier.agustin.barbero@gmail.com>
Co-authored-by: Stijn <stijn.biemans@gmail.com>
2023-08-03 15:51:32 -07:00
Joe Milazzo
3b23d63234
Localization - First Pass (#2174)
* Started designing the backend localization service

* Worked in Transloco for initial PoC

* Worked in Transloco for initial PoC

* Translated the login screen

* translated dashboard screen

* Started work on the backend

* Fixed a logic bug

* translated edit-user screen

* Hooked up the backend for having a locale property.

* Hooked up the ability to view the available locales and switch to them.

* Made the localization service languages be derived from what's in langs/ directory.

* Fixed up localization switching

* Switched when we check for a license on UI bootstrap

* Tweaked some code

* Fixed the bug where dashboard wasn't loading and made it so language switching is working.

* Fixed a bug on dashboard with languagePath

* Converted user-scrobble-history.component.html

* Converted spoiler.component.html

* Converted review-series-modal.component.html

* Converted review-card-modal.component.html

* Updated the readme

* Translated using Weblate (English)

Currently translated at 100.0% (54 of 54 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/en/

* Converted review-card.component.html

* Deleted dead component

* Converted want-to-read.component.html

* Added translation using Weblate (Korean)

* Translated using Weblate (Spanish)

Currently translated at 40.7% (22 of 54 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/es/

* Translated using Weblate (Korean)

Currently translated at 62.9% (34 of 54 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/ko/

* Converted user-preferences.component.html

* Translated using Weblate (Korean)

Currently translated at 92.5% (50 of 54 strings)

Translation: Kavita/ui
Translate-URL: https://hosted.weblate.org/projects/kavita/ui/ko/

* Converted user-holds.component.html

* Converted theme-manager.component.html

* Converted restriction-selector.component.html

* Converted manage-devices.component.html

* Converted edit-device.component.html

* Converted change-password.component.html

* Converted change-email.component.html

* Converted change-age-restriction.component.html

* Converted api-key.component.html

* Converted anilist-key.component.html

* Converted typeahead.component.html

* Converted user-stats-info-cards.component.html

* Converted user-stats.component.html

* Converted top-readers.component.html

* Converted some pipes and ensure translation is loaded before the app.

* Finished all but one pipe for localization

* Converted directory-picker.component.html

* Converted library-access-modal.component.html

* Converted a few components

* Converted a few components

* Converted a few components

* Converted a few components

* Converted a few components

* Merged weblate in

* ... -> … update

* Updated the readme

* Updateded all fonts to be woff2

* Cleaned up some strings to increase re-use

* Removed an old flow (that doesn't exist in backend any longer) from when we introduced emails on Kavita.

* Converted Series detail

* Lots more converted

* Lots more converted & hooked up the ability to flatten during prod build the language files.

* Lots more converted

* Lots more converted & fixed a bunch of broken pipes due to inject()

* Lots more converted

* Lots more converted

* Lots more converted & fixed some bad keys

* Lots more converted

* Fixed some bugs with admin dasbhoard nested tabs not rendering on first load due to not using onpush change detection

* Fixed up some localization errors and fixed forgot password error when the user doesn't have change password permission

* Fixed a stupid build issue again

* Started adding errors for interceptor and backend.

* Finished off manga-reader

* More translations

* Few fixes

* Fixed a bug where character tag badges weren't showing the name on chapter info

* All components are translated

* All toasts are translated

* All confirm/alerts are translated

* Trying something new for the backend

* Migrated the localization strings for the backend into a new file.

* Updated the localization service to be able to do backend localization with fallback to english.

* Cleaned up some external reviews code to reduce looping

* Localized AccountController.cs

* 60% done with controllers

* All controllers are done

* All KavitaExceptions are covered

* Some shakeout fixes

* Prep for initial merge

* Everything is done except options and basic shakeout proves response times are good. Unit tests are broken.

* Fixed up the unit tests

* All unit tests are now working

* Removed some quantifier

* I'm not sure I can support localization for some Volume/Chapter/Book strings within the codebase.

---------

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
Co-authored-by: majora2007 <kavitareader@gmail.com>
Co-authored-by: expertjun <jtrobin@naver.com>
Co-authored-by: ThePromidius <thepromidiusyt@gmail.com>
2023-08-03 08:33:51 -07:00
Joe Milazzo
52d19642f9
Misc Fixes (#2155)
* Fixed default token key not being long enough and Kavita auto-generating

* When scheduling nightly backup job, make it run at 2am to ensure everything else has ran.

* Made the overlay system work better on mobile. In order to do this, had to implement my own copy button.

* Tweaked the code to ensure we clear the selection doing anything and clicking off the overlay clears more reliably.

* Cleaned up the overlay code

* Added the ability to view the series that a rating is representing. Requires Kavita+ deployment.

* When calculating overall average rating of server, if only review is yours, don't include it.

When calculating overall average rating of server, scale to percentage (* 20) to match all other rating scales.

* Fixed side nav on mobile without donate link not fully covering the height of the screen

* Only trigger the task conversion warning on Media screen if you've touched the appropriate control.

* Fixed a bug where bookmark directory wasn't able to be changed.

* Fixed a bug where see More wouldn't show if there were just characters due to missing that check.

* Fixed a typo in documentation

* If a chapter has a range 1-6 and is fully read, when calculating highest chapter for Scrobbling, use the 6.
2023-07-23 09:53:16 -07:00
Joe Milazzo
a0a6da9c60
Personal Table of Contents (#2148)
* Fixed a bad default setting for token key

* Changed the payment link to support Google Pay

* Fixed duplicate events occurring on newly added series from a scan.

Fixed the version update code from not firing and made it check every 4-6 hours (random per user per restart)

* Check for new releases on startup as well.

Added Personal Table of Contents (called Bookmarks on epub and pdf reader). The idea is that sometimes you want to bookmark certain parts of pages to get back to quickly later. This mechanism will allow you to do that without having to edit the underlying ToC.

* Added a button to update modal to show how to update for those unaware.

* Darkened the link text within tables to be more visible.

* Update link for how to update now is dynamic for docker users

* Refactored to send proper star/end dates for scrobble read events for upcoming changes in the API.

Added GoogleBooks Rating UI code if I go forward with API changes.

* When Scrobbling, send when the first and last progress for the series was.

Added OpenLibrary icon for upcoming enhancements for Kavita+.

Changed the Update checker to execute at start.

* Fixed backups not saving favicons in the correct place

* Refactored the layout code for Personal ToC

* More bugfixes around toc

* Box alignment

* Fixed up closing the overlay when bookmark mode is active

* Fixed up closing the overlay when bookmark mode is active

---------

Co-authored-by: Robbie Davis <robbie@therobbiedavis.com>
2023-07-21 15:29:35 -07:00
Joe Milazzo
5f505eaf6d
Changed the fingerprinting code for Kavita+. Optimized System tab to be way faster. (#2140) 2023-07-17 16:33:45 -07:00