Commit graph

1200 commits

Author SHA1 Message Date
Schnitzel5
74c5eab379 enhanced repo manager
- added custom DNS setting
2025-08-23 03:33:48 +02:00
Schnitzel5
7eba7bdcf2 added filters
- fixed torrents not playing
2025-08-22 17:13:28 +02:00
Schnitzel5
03108ae701 added preferences 2025-08-22 00:13:24 +02:00
Moustapha Kodjo Amadou
0452576de6
Merge branch 'main' into enhance/mpv 2025-08-21 16:35:08 +01:00
Schnitzel5
a1ada0e03e search fix 2025-08-21 02:05:34 +02:00
Schnitzel5
9395888c6a added support for Mihon extensions via ApkBridge 2025-08-20 21:06:26 +02:00
Schnitzel5
5f9efe957a adding support for Mihon extensions 2025-08-20 03:59:38 +02:00
Moustapha Kodjo Amadou
a15afd4334
Merge pull request #536 from NBA2K1/main
Refactor select bar widget and unify manga read state logic
2025-08-19 12:38:16 +01:00
Schnitzel5
c8b8e1d917 added missing arb entry 2025-08-18 18:35:26 +02:00
NBA2K1
00e49e31a0 Merge remote-tracking branch 'upstream/main' 2025-08-18 18:00:46 +02:00
Moustapha Kodjo Amadou
48106450d9
Merge pull request #550 from Schnitzel5/navigation/source-settings
added quick access to source settings
2025-08-18 13:28:55 +01:00
Moustapha Kodjo Amadou
4da61519bb
Merge branch 'main' into feature/downloaded-only 2025-08-18 13:27:29 +01:00
Moustapha Kodjo Amadou
4c0d426408
Merge pull request #549 from Schnitzel5/navigation/history
move history to more screen if hidden
2025-08-18 13:19:04 +01:00
Moustapha Kodjo Amadou
3eb4b8e755
Merge pull request #552 from Schnitzel5/feature/recommendations
added Anibrain recommendations
2025-08-18 13:15:27 +01:00
Moustapha Kodjo Amadou
82cdd7d28f
Merge pull request #553 from Schnitzel5/reader/zoom-swipe
allow to swipe pages even if zoomed in
2025-08-18 13:14:02 +01:00
NBA2K1
85751538ac Fix MAL "No Cover" Exception
```
NoSuchMethodError: The method '[]' was called on null.
Receiver: null
Tried calling []("large")
```
2025-08-17 20:55:15 +02:00
NBA2K1
f88978219f Fix Kitsu "No Cover" Exception
```
NoSuchMethodError: The method '[]' was called on null.
Receiver: null
Tried calling []("original")
```
2025-08-17 20:21:28 +02:00
Schnitzel5
226c6b145e allow to swipe pages even if zoomed in 2025-08-15 22:07:44 +02:00
Schnitzel5
c7d1d75045 added Anibrain recommendations 2025-08-15 21:42:47 +02:00
Schnitzel5
56fc7f905a added downloaded only mode 2025-08-15 21:33:54 +02:00
Schnitzel5
201568df9e added quick access to source settings 2025-08-15 21:25:22 +02:00
Schnitzel5
e9bf100905 move history to more screen if hidden 2025-08-15 21:20:36 +02:00
Schnitzel5
57be3eec9a re-added full upload and download 2025-08-10 02:14:18 +02:00
NBA2K1
fa86025ed0 migrate function for iOS 2025-08-08 17:46:50 +02:00
Schnitzel5
72dd2d7661 removed iOS PiP 2025-08-07 23:56:27 +02:00
Schnitzel5
20c943e5fc testing iOS Picture-in-Picture
implementation from [PR #206](https://github.com/media-kit/media-kit/pull/206)
2025-08-07 21:37:46 +02:00
Schnitzel5
bb1ba2f3bb fixed navigation disappearing after restore 2025-08-07 00:51:39 +02:00
Schnitzel5
d0974a1da6 try fix 2025-08-07 00:34:08 +02:00
Schnitzel5
e565d14ef3 improved calendar 2025-08-06 17:48:32 +02:00
Schnitzel5
715f077c13 added calendar 2025-08-06 16:44:12 +02:00
Schnitzel5
6e9b882b83 added custom buttons to backup 2025-08-06 04:01:00 +02:00
Schnitzel5
08b3991f5f Merge branch 'temp/mpv' into enhance/mpv 2025-08-06 03:12:50 +02:00
Schnitzel5
1db55b8018 fixed android screen
- adjusted show_text
- fixed exception for android update screen
2025-08-06 03:05:41 +02:00
Schnitzel5
608fc525fb Discord RPC now shows correct position / duration 2025-08-06 00:03:05 +02:00
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
NBA2K1
cbeb70b79e edit comment 2025-07-24 16:58:21 +02:00
NBA2K1
0b83be6d7a Revert Android changes 2025-07-24 16:50:55 +02:00
NBA2K1
7245552ade Merge branch 'main' into Correct-directory 2025-07-24 13:01:42 +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
NBA2K1
72ac460588 Add TODO comment to unused variable 2025-07-21 14:55:33 +02:00
NBA2K1
976010f6f0 Merge remote-tracking branch 'upstream/main' into Correct-directory 2025-07-21 14:55:17 +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
5a18d5f0f0 storage permission
potentially fixes #430
2025-07-16 18:21:04 +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
18d6079420 Why create and then delete BtDirectory?
Same as previous commit
2025-07-12 06:45:39 +02:00
NBA2K1
eb4f82f040 Why create and then delete TpmDirectory?
When deleteTmpDirectory() calls getTmpDirectory(), the directory is first being created and then it is being deleted.
Redundant operation.
2025-07-12 06:41:21 +02:00
NBA2K1
7d13a80a11 No need to make inspector nullable
why make it nullable, set a default value and then use a non-null-assertion (!)?
2025-07-12 06:38:57 +02:00
NBA2K1
1f423dd3ca typo 2025-07-12 06:05:52 +02:00
NBA2K1
609e8196db Update storage_provider.dart
to make the requestPermission() a little shorter. It's just optics. The logic stays the same.
2025-07-12 05:35:21 +02:00
NBA2K1
5e43cf0468 Do not create Mangayomi folder inside AppDir
macOS and iOS already create a separate "Mangayomi" folder. There is no need to nest the downloads and backup folders in another "Mangayomi" folder.
2025-07-12 05:34:18 +02:00
NBA2K1
4d564b9308 Put the database into its separate folder
On Android, iOS and macOS just like how it's done on Windows and Linux.
Before the database files were in the top directory.
2025-07-12 05:30:26 +02:00
NBA2K1
ba49e4e75d Put the hive database into the app's folder
On Windows and Linux the files were created in the ~/Documents folder.
Now they will be created in ~/Documents/Mangayomi/databases instead
2025-07-12 05:28:25 +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
NBA2K1
49f77febe4 Don't allow zooming
When these methods were used to display images (migration screen, history screen, etc) the images (anime/manga covers and extension icons) were zoomable. You could (on a touch device) pinch to zoom.
And with the mouse you could get your cursor an on image and scroll up to zoom out and scroll down to zoom in.
This was not necessary confusing for the user.
2025-06-29 20:30:16 +02:00
Schnitzel5
76297c3b45 + 2025-06-29 00:50:10 +02:00
Schnitzel5
b2d29e32d6 added repo name to extension list 2025-06-29 00:24:06 +02:00
Schnitzel5
e33247e445 adjusted navigations 2025-06-28 23:17:57 +02:00
Schnitzel5
dc5cc20d0c added new navigation for library
fixed router hidden routes
2025-06-28 23:05:38 +02:00
Schnitzel5
2c6e9439e9 adjusted mobile layout for tracker library
+ fixed MAL search bug
2025-06-28 22:11:28 +02:00
Schnitzel5
79da1d2678 fixed init location 2025-06-28 00:48:09 +02:00
NBA2K1
a97f68d94d comment for more clarity 2025-06-27 21:05:11 +02:00
NBA2K1
fbdbbe9766 Update _setSkipPhase()
Setting a `ValueNotifier` to the same value still triggers its listeners.
Only update `_skipPhase.value`, when it really changs.
2025-06-27 19:22:31 +02:00
Schnitzel5
1bfb6fd0c1 adjusted tracker library sections 2025-06-27 15:57:42 +02:00
Moustapha Kodjo Amadou
4d39044511 update: bump d4rt package version to 0.0.9 2025-06-27 11:56:02 +01:00
NBA2K1
ba758a6175 remove redundant import
The import of 'package:hive/hive.dart' is unnecessary
because all of the used elements are also provided
by the import of 'package:hive_flutter/adapters.dart'.
2025-06-27 08:37:05 +02:00
NBA2K1
d21dbbbc6b Fix Fullscreen mode 2025-06-27 08:35:01 +02:00
NBA2K1
e9dfb516ab unify position stream listeners
Collapse three `.position.listen` callbacks into a single
subscription to reduce per‑tick overhead and centralize all
position‑driven updates (current position, subtitle/audio init,
and skip‑phase logic) in one handler.
2025-06-27 01:52:50 +02:00
NBA2K1
43c90a7777 collapse the many nested builders
flatten builders into a single ValueListenableBuilder.
2025-06-27 00:20:01 +02:00
Schnitzel5
304f653011 adjusted fetch tracking data 2025-06-27 00:08:03 +02:00
NBA2K1
c9fdccfacb build widget only when "Enable AniSkip" is true
The variables `enableAniSkip`, `enableAutoSkip`,
`aniSkipTimeoutLength` and `skipIntroLength` are global settings.
The user cannot change them inside the video player.
So there's no need to watch them inside the _currentPosition listener.
2025-06-26 20:39:35 +02:00
NBA2K1
89af73e9b2 remove redundant if-condition 2025-06-26 19:34:41 +02:00
NBA2K1
cdc21fd4ad Only initAniSkip if "Enable AniSkip" is true 2025-06-26 19:27:20 +02:00
NBA2K1
98c40ff39f set fullscreen only when the video starts playing 2025-06-26 19:24:57 +02:00
NBA2K1
eab52c6677 remove redundant import 2025-06-26 19:23:55 +02:00
Schnitzel5
5fce50f0e0 adjusted tracker library
fixed UTF8 bug
fixed infinite loading
added search bar to migration screen
migration screen now considers the pinned sources option
library now shows if the items are locally tracked or not
2025-06-26 00:38:18 +02:00
Moustapha Kodjo Amadou
6bf9960dd5
Merge branch 'main' into enhance/two-way-tracker 2025-06-25 11:37:05 +01:00
Schnitzel5
07d6cf0868 added refresh to tracker library 2025-06-25 00:04:41 +02:00
Schnitzel5
b01ae9d909 added Hive for caching 2025-06-24 22:59:58 +02:00
NBA2K1
9ccd2e1924 Partially revert changes in 181c3b5 2025-06-24 22:55:25 +02:00
NBA2K1
58b5050fff Make buttons white for consistency in white mode
The share-button on the top right and the show-episode-list-button next to it.
2025-06-24 22:50:59 +02:00
Moustapha Kodjo Amadou
181c3b5ccc
Merge branch 'main' into fix/increase-protobuf-limit 2025-06-24 11:59:40 +01:00
Schnitzel5
0801b2b88f fixed some tracker provider bugs 2025-06-24 00:35:21 +02:00
Schnitzel5
92c167d585 merged trackers together and added search 2025-06-22 23:17:55 +02:00
Schnitzel5
bc4d7aadb0 increased protobuf limit to 250 MB 2025-06-22 00:06:31 +02:00
NBA2K1
a5168a6a2b Release file lock by closing InputStream
Fix issue where backup file remained locked by closing InputStream after use
2025-06-20 21:50:47 +02:00
Moustapha Kodjo Amadou
2b8625bf0e Refactor scroll behavior to improve accessibility and support for various input devices 2025-06-20 16:51:14 +01:00
Schnitzel5
6088ac22f4 adding search to 2-way track screen 2025-06-20 00:29:02 +02:00
Moustapha Kodjo Amadou
e635e495b8
Merge pull request #491 from NBA2K1/main
Refactor: Consolidate _openCategory() Methods into Unified Dialog
2025-06-19 18:05:30 +01:00
Moustapha Kodjo Amadou
2e1cb0f8bc
Merge pull request #490 from Schnitzel5/feature/two-way-tracker
added two-way-tracking
2025-06-19 18:04:13 +01:00
NBA2K1
c58d0e0c77 Combine all three _openCategory() methods
As they all do the same.
2025-06-16 20:42:39 +02:00
NBA2K1
aa18b1ad3a Remove redundant operation
Not needed for this dialog, as the items here are already in the library (favorite = true) and dateAdded don't have to be updated.
2025-06-16 01:50:26 +02:00
Schnitzel5
ef13473137 - 2025-06-15 21:11:41 +02:00
Schnitzel5
06ca441644 added Kitsu and Anilist 2025-06-15 21:08:34 +02:00
NBA2K1
06ac796032 Fix potential bug + Remove redundant code
Before fixing the Category Removal Bug (commit 58537281), the "Default" Category would be empty when removing a populated category.

So when there is only one Category left, and the user hides that one Category, `tabCount` would be <= 0, leading to an Exception:

```
_AssertionError ('package:flutter/src/material/tab_controller.dart': Failed assertion: line 116 pos 15: 'initialIndex >= 0 && (length == 0 || initialIndex < length)': is not true.)
```

Now there is a check (`tabCount <= 0`), that IF tabCount is ever <= 0, it would show `_bodyWithoutCategories`.
2025-06-15 18:40:41 +02:00
NBA2K1
585372816d Fix Category Removal Bug
When removing a category, the items inside the category were not being updated, removing the link to the removed category.
That lead to the items disappearance from the library.

Now the reference from the item to the deleted category is deleted. Those items show up in the "Default" category.
2025-06-15 17:20:51 +02:00
NBA2K1
eaed214354 Fix "Set categories" in manga_detail_view 2025-06-15 16:21:27 +02:00
NBA2K1
a5de9a7102 Fix bug introduced in commit 8bc8a99a 2025-06-15 14:07:58 +02:00
Schnitzel5
7c8faf8bed added info card 2025-06-15 01:30:51 +02:00
Schnitzel5
24eb09b701 adding Kitsu 2025-06-12 00:18:14 +02:00
Schnitzel5
5dff4a1aa3 added two-way tracking 2025-06-09 02:26:31 +02:00
Schnitzel5
f7a124d72c added two-way-tracking 2025-06-09 02:22:33 +02:00
Schnitzel5
e994d3230a + 2025-06-08 19:11:31 +02:00
Schnitzel5
4c3b6bc430 + 2025-06-08 03:02:18 +02:00
Moustapha Kodjo Amadou
183e88ebd0
Merge pull request #484 from NBA2K1/main
Fixes, Refactors, and Async Improvements
2025-06-07 13:37:57 +01:00
NBA2K1
fecda49373 Merge Provider => Remove Code Duplication
Merge `fetchMangaSourcesListProvider`, `fetchAnimeSourcesListProvider` and `fetchNovelSourcesListProvider` into a single Provider, `FetchItemSourcesListProvider`, reducing code duplication.
2025-06-07 03:24:39 +02:00