Commit graph

1052 commits

Author SHA1 Message Date
Moustapha Kodjo Amadou
01dc5dba45 Bump d4rt version 2025-08-05 15:50:57 +01:00
Schnitzel5
2eca6576a2 added deep link for custom buttons 2025-08-05 01:48:19 +02:00
Schnitzel5
a101d10826 fixed history delete bug 2025-08-04 01:28:22 +02:00
Schnitzel5
8f2fe123bf adjusted lua code 2025-08-04 00:13:23 +02:00
Schnitzel5
c58646244e fix mpv unzip 2025-08-03 23:42:17 +02:00
Schnitzel5
0fea3ab84e switched to lua scripts 2025-08-01 02:57:05 +02:00
Schnitzel5
f25233182a removed unused imports 2025-07-31 19:58:41 +02:00
Schnitzel5
d368e908fe fix storage permission 2025-07-31 03:44:19 +02:00
Schnitzel5
83f4a4bf89 + 2025-07-31 02:01:56 +02:00
Schnitzel5
c73e1f3800 Merge branch 'feature/mpv-anime4k' into enhance/mpv 2025-07-31 02:01:23 +02:00
Schnitzel5
afee5926dc added more player customizations
- added navigation button if an entry is already being tracked
- added option to calibrate soft subtitles
2025-07-31 01:58:18 +02:00
Schnitzel5
d7c59fe16b added mpv stats 2025-07-30 03:23:15 +02:00
NBA2K1
69df87ff0e Merge two identical providers
Merge `isLongPressedMangaStateProvider` and `isLongPressedStateProvider`

Both providers do the same thing and it is impossible to change the value of the provider in different places in the app at the same time.

So just use one `isLongPressedStateProvider`. Reduces code duplication and there is no confusion about which one to use.
2025-07-29 14:02:48 +02:00
Moustapha Kodjo Amadou
9d784a0911
Merge pull request #538 from itsmechinmoy/patch-1
Added Hindi & Assamese Translations
2025-07-29 09:09:12 +01:00
Itsmechinmoy
1b6a118ad8
Create app_hi.arb 2025-07-29 11:57:49 +05:30
Itsmechinmoy
d58400d236
Create app_as.arb 2025-07-29 11:55:09 +05:30
Schnitzel5
4682ab3577 added custom buttons 2025-07-28 23:42:55 +02:00
NBA2K1
cd06ae3e78 Fix Exception when disconnecting
When restoring a backup, the app tries to disconnect DiscordRPC but that gives an exception, when there is no live IPC socket to close.

`AnyhowException (AnyhowException(Failed to close to Discord IPC: Custom { kind: ConnectionRefused, error: "Couldn't retrieve the Discord IPC socket" }`
2025-07-28 17:19:39 +02:00
NBA2K1
c2bae6d17b Extract reusable Select Bar and Button widgets
Previously, the same select bar and button styles were defined in both
`library_screen.dart` and `manga_detail_view.dart`, resulting in repeated code.

This commit extracts the select bar and its buttons into reusable widgets
to reduce duplication and improve readability and maintainability.
2025-07-28 16:29:30 +02:00
NBA2K1
ae1d158264 Combine two identical classes
Combine MangasSetIsReadState and MangasSetUnReadState to reduce code duplication.
2025-07-28 16:08:13 +02:00
Schnitzel5
1f0938fab9 adding custom buttons 2025-07-28 02:24:32 +02:00
NBA2K1
633b84dd6d Rearrange some code
- variable `color`, to avoid passing `Theme.of(context).textTheme.bodyLarge!.color!` on every Icon in `bottomNavigationBar`
- No need to create variable `isLongPressed` and `chapterNameList` in `build()` and pass them to `_buildWidget()` if they are only going to be used there. Just create the variables inside `_buildWidget()`
- Why create second `isLongPressed` variable in `_buildWidget()` with the same value? Just use the first one.
2025-07-28 00:55:45 +02:00
NBA2K1
fc3cf226f7 bulk write instead of one-by-one (bookmark)
reduces IO-operations.
2025-07-27 21:06:45 +02:00
NBA2K1
88a5474f96 bulk write instead of one-by-one
reduces IO-operations.
2025-07-27 20:06:16 +02:00
NBA2K1
1e2153fa4f Fix unread count after marking chapters read
Fix unread count not updating when marking selected chapters as read
2025-07-27 19:42:05 +02:00
Schnitzel5
5e1e526785 added video chapter timestamps 2025-07-27 02:44:04 +02:00
Schnitzel5
163bc9cec9 added more shaders 2025-07-26 02:03:44 +02:00
NBA2K1
4bad1a24e3 Refactor 2025-07-25 22:18:44 +02:00
NBA2K1
c74a4c428e Use saved clientId or fallback to refresh token 2025-07-25 21:34:02 +02:00
NBA2K1
76cef84a96 MAL save used clientId on login 2025-07-25 21:33:13 +02:00
NBA2K1
e6302d7d67 Allow OAuth model to save used clientId 2025-07-25 21:32:19 +02:00
Schnitzel5
6be2775fee added filler, thumbnail and description info to chapter list 2025-07-25 20:08:51 +02:00
Schnitzel5
3dae39a86c + 2025-07-24 23:16:35 +02:00
Schnitzel5
38728ce0cb Merge branch 'temp/mpv-anime4k' into feature/mpv-anime4k 2025-07-24 22:31:58 +02:00
Schnitzel5
1450641f16 added mpv config for Anime4K 2025-07-24 22:25:14 +02:00
Moustapha Kodjo Amadou
41dbb556ba
Merge pull request #531 from NBA2K1/main
Fix regression: restore fullscreen exit logic on desktop
2025-07-24 09:54:46 +01:00
NBA2K1
83934d7f35 Fix iOS and Android
The initialization of discordRPC on iOS and Android was leading to a grey screen (UnimplementedError), preventing the app to paint the Flutter UI.
The flutter_discord_rpc is only available on macOS, Linux and Windows.
2025-07-24 01:45:58 +02:00
NBA2K1
b388c5fedd re-add removed check in dispose
This was unintentionally removed in d21dbbbc.
This caused fullscreen mode to persist when the user exited the anime player view before the video had started loading.
The fullscreen now correctly exits in the dispose method for desktop platforms again.
2025-07-23 22:45:37 +02:00
Schnitzel5
5b56578029 separated some classes from reader_view 2025-07-23 03:16:24 +02:00
Schnitzel5
5932cf44f2 added sync for settings
- added option to toggle sync for history, update and settings
2025-07-21 23:37:51 +02:00
Moustapha Kodjo Amadou
25f7402f35 fix add torrent magnet url 2025-07-21 11:02:12 +01:00
Moustapha Kodjo Amadou
e290e0ad4a
Merge branch 'main' into feature/discord-rpc 2025-07-21 09:33:45 +01:00
Moustapha Kodjo Amadou
7bb3da36fc
Merge pull request #527 from Schnitzel5/feature/local-epub
added support for local epubs and displaying its images
2025-07-21 09:16:56 +01:00
Moustapha Kodjo Amadou
936a91403b
Merge pull request #520 from NBA2K1/better-UX
Improved UX for Migration, Anime Playback & Navigation
2025-07-21 09:14:41 +01:00
Schnitzel5
c6a142bcba + 2025-07-20 21:33:39 +02:00
Schnitzel5
5b2f1b4f36 added support for local epubs and displaying its images 2025-07-20 21:23:26 +02:00
NBA2K1
4c46839979 Add TODO comment 2025-07-20 19:41:48 +02:00
NBA2K1
7153dab009
Merge branch 'main' into updates/history-screen-perf 2025-07-20 19:08:26 +02:00
Moustapha Kodjo Amadou
539fd186cb
Merge pull request #519 from NBA2K1/Properly-dispose
Properly dispose
2025-07-19 15:30:59 +01:00
Schnitzel5
d139042241 added discord rpc 2025-07-18 01:02:59 +02:00
NBA2K1
e2da2e812e Updates Screen Tab Switching Performance+ 2025-07-17 23:19:18 +02:00
NBA2K1
f1a49383ea History Screen Tab Switching Performance+ 2025-07-17 23:14:29 +02:00
NBA2K1
5ee88b80ca fix animation 2025-07-16 14:02:59 +02:00
Schnitzel5
230f9c59a3 changed seekbar behavior 2025-07-15 01:52:15 +02:00
Moustapha Kodjo Amadou
1b9cc8d92d
Merge pull request #516 from NBA2K1/main
Fix Exception
2025-07-14 10:49:21 +01:00
NBA2K1
d221e5fab0 dispose 2025-07-13 01:42:35 +02:00
NBA2K1
5b17bde1d5 LOL who thought of that? 2025-07-13 01:24:36 +02:00
NBA2K1
00462f3066 dispose! 2025-07-13 01:24:14 +02:00
NBA2K1
f3ef7791a6 Save lastPageRead before system kills app
If the app is going to background or is about to be killed, the lastPageRead value is going to be saved, so the progress is not lost if the user leaves the app and the system kills it.
2025-07-12 20:31:19 +02:00
NBA2K1
3313e6e53a Don't focus searchbar when migrating
The searchbar already has input.
2025-07-12 20:26:31 +02:00
NBA2K1
d7dbce7a9a DRY 2025-07-12 20:24:42 +02:00
NBA2K1
aef659000d Desktop right-click for long press on chapter
just like with the LibraryGridView
2025-07-12 20:24:34 +02:00
NBA2K1
775e51e617 AnimePlayer: click on anywhere to play/pause
Just like on YouTube.
2025-07-12 20:22:09 +02:00
NBA2K1
7a5c25b94f dispose 2025-07-12 20:10:04 +02:00
NBA2K1
1da0cdcdbf Fix Exception
type 'int' is not a subtype of type 'double?'
2025-07-12 04:28:33 +02:00
Moustapha Kodjo Amadou
debbb26dbf Refactor UChapDataPreloadExtensions to improve image byte retrieval logic 2025-07-09 14:49:42 +01:00
Moustapha Kodjo Amadou
e9bbd2e1e3 fix #505 2025-07-09 13:32:38 +01:00
Moustapha Kodjo Amadou
084f241746 Register additional bridged classes for SortState and HeaderFilter in the interpreter 2025-07-09 13:20:45 +01:00
Moustapha Kodjo Amadou
8eaeca2123 Add subtitle support for video downloads and playback 2025-07-09 13:11:04 +01:00
Moustapha Kodjo Amadou
b2fa09c214
Merge pull request #510 from NBA2K1/pagePreload-Slider
Changed the "Page preload amount" Setting to be a Slider
2025-07-08 14:01:43 +01:00
Moustapha Kodjo Amadou
21282efbaf Add nativeNames property to BaseRequest bridged class 2025-07-08 13:14:13 +01:00
Moustapha Kodjo Amadou
4e99bb9e58
Merge pull request #513 from NBA2K1/localArchive-tracker-button
Add tracker button to localArchive
2025-07-08 10:08:12 +01:00
Moustapha Kodjo Amadou
b14e198c54
Merge pull request #512 from NBA2K1/Fix-manga-delete
Fix delete "Downloaded episodes/chapters"
2025-07-08 10:07:36 +01:00
Moustapha Kodjo Amadou
b3f626fb32
Merge pull request #511 from NBA2K1/tracker-menu-theme-fix
Fix menu colors on theme change
2025-07-08 10:03:48 +01:00
NBA2K1
6788b73658 Delete whole imported manga
Delete whole imported manga when all chapters have been deleted.
+ Added a warning message and translations
2025-07-08 04:19:40 +02:00
NBA2K1
1e3e0ed179 Add tracker button to localArchive 2025-07-07 04:16:32 +02:00
NBA2K1
6a23409560 Fix delete "Downloaded episodes/chapters"
The delete function was only for imported mangas.
Now it checks if it was imported or downloaded and deletes accordingly.
2025-07-07 04:14:58 +02:00
NBA2K1
f4c040ccc4 Fix menu colors on theme change 2025-07-06 22:12:28 +02:00
NBA2K1
c7300797dc Update reader_screen.dart 2025-07-06 21:40:34 +02:00
NBA2K1
31ead933ab Use read instead of watch 2025-07-06 21:07:21 +02:00
NBA2K1
9a307c6007 remove redundant ternary
The else if condition is:
`itemType == ItemType.novel && chapter.url != null`

So the variable `headers` can never be `ref.read(headersProvider(source: manga.source!, lang: manga.lang!))` or `videoHeader`
2025-07-06 20:44:42 +02:00
NBA2K1
4d8131c725 Add some error handling 2025-07-06 20:37:02 +02:00
NBA2K1
c55c988188 Use read instead of watch 2025-07-06 20:35:51 +02:00
NBA2K1
40cd5eb081 remove == true 2025-07-06 20:05:01 +02:00
NBA2K1
43068bdd82 bulk write instead of one-by-one
reduces IO-operations.
2025-07-06 19:55:42 +02:00
NBA2K1
ce888c162e reduce code duplication 2025-07-06 18:37:35 +02:00
Moustapha Kodjo Amadou
085be60d58
Merge pull request #508 from NBA2K1/Fix-labels
Fix labels on navigation bar [based on PR #506]
2025-07-06 17:30:26 +01:00
NBA2K1
8aea458033 remove redundant import 2025-07-06 16:48:45 +02:00
NBA2K1
24e7bce508 clear cache when changing language
To update the navigation bar labels
2025-07-06 16:48:34 +02:00
NBA2K1
57143bca2b bulk write instead of one-by-one
reduces IO-operations.
2025-07-06 14:28:52 +02:00
NBA2K1
07941ea370 Fix "Read" and "Unread" button 2025-07-06 14:02:23 +02:00
Schnitzel5
6baecaa59b bug fixes 2025-07-06 03:31:27 +02:00
Schnitzel5
24213445c8 fixed upsert 2025-07-05 13:09:51 +02:00
Schnitzel5
d39a3129cd Merge branch 'temp/sync-server' into rework/sync-server 2025-07-05 03:00:01 +02:00
Schnitzel5
e1cecd8e37 reworked sync 2025-07-05 02:58:42 +02:00
Schnitzel5
bd17e1e9eb adjusted sync features 2025-07-04 02:24:01 +02:00
Schnitzel5
c680427c0c added option to disable merged library navigation 2025-07-03 02:44:15 +02:00
NBA2K1
4a986d4c15 Remove check
- Remove the enableAniSkipStateProvider check, because it is already being checked by the caller (anime_player_view.dart, initState() line 353).

- Change ref.watch() to ref.read() as the user cannot change its value without exiting the video player. ref.watch() is meant to be used within reactive contexts.
2025-06-30 18:01:58 +02:00
NBA2K1
b1560d3eea
Merge branch 'kodjodevf:main' into main 2025-06-30 17:05:11 +02:00
Moustapha Kodjo Amadou
9f5e43c58c
Merge pull request #501 from Schnitzel5/enhance/two-way-tracker
adjusted tracker library + bug fixes
2025-06-30 09:11:12 +01:00