Commit graph

79 commits

Author SHA1 Message Date
Claude
cf0778e263
feat: convert filtered items to grid view and fix navigation
- Change from ListView to GridView with 3 columns for better book browsing
- Redesign LibraryItemCard as grid cards with cover images and metadata
- Fix navigation to use Routes.libraryItem instead of Routes.you
- Use correct path parameter 'itemId' for book detail navigation
- Remove subtitle from cards to simplify grid layout
- Books now open properly when tapped, same as home page
2025-11-20 20:31:50 +00:00
Claude
f4d1914b21
debug: add extensive logging and error handling for series 2025-11-20 19:29:23 +00:00
Claude
86eddcac45
fix: add null safety assertions for Text widgets
Add non-null assertion operators for authorName and subtitle in Text
widgets where null checks are already performed. This resolves the
null safety compilation errors.
2025-11-20 17:07:18 +00:00
Claude
8300cc7571
fix: correct type checking and imports in filtered library page
- Add shelfsdk import to router.dart for Filter types
- Fix Media and MediaMetadata type checking using freezed mapOrNull
- Handle all Media variants (book, bookMinified, bookExpanded)
- Handle all MediaMetadata variants to extract title, subtitle, and authors
- Fix BookMetadata accessing authors list instead of authorName property

Resolves compilation errors in GitHub Actions build.
2025-11-20 16:54:06 +00:00
Claude
43712643a2
feat: implement filtered book navigation and improve author sorting
- Sort authors by surname (last word in name) instead of first name
- Create FilteredLibraryItemsPage to display books filtered by author/genre/series
- Add navigation from authors/genres/series pages to filtered book lists
- Use AuthorFilter, GenreFilter, and SeriesFilter from shelfsdk
- Add libraryFiltered route with filter parameter support

Users can now:
- Browse authors sorted by surname
- Tap on an author to see all their books
- Tap on a genre to see all books in that genre
- Tap on a series to see all books in that series
2025-11-20 16:43:21 +00:00
Claude
f60ea72659
fix: resolve Series deserialization issues and add author sorting
- Fix genres error by parsing JSON manually to avoid Series deserialization
- Fix series blank screen by using SimpleSeries class instead of full Series
- Add alphabetical sorting to authors page
- Work around shelfsdk Series variant detection issues

The Audiobookshelf API returns Series objects that don't match any of the
variant detection patterns in the shelfsdk SeriesConverter. Since we can't
modify the external shelfsdk, we parse the API responses manually to extract
only the data we need for display.
2025-11-20 16:17:09 +00:00
Claude
3da7b60ded
fix: correct property names and Series.maybeMap usage
Fix compilation errors in library browser views:
- Use serverUrl instead of url on AudiobookShelfServer model
- Use authToken instead of token on AuthenticatedUser model
- Add all required variant handlers to Series.maybeMap call

These changes align with the actual model definitions in the codebase.
2025-11-20 12:45:29 +00:00
Claude
fafd4c5315
fix: remove unused parameters from librarySeriesProvider
- Remove unused page and limit parameters from librarySeries provider
- Update library_series_page to call provider without parentheses
- Fix riverpod_generator compatibility issue
2025-11-20 11:31:13 +00:00
Claude
53027bf74c
feat: implement library view with Authors, Genres, and Series browsing
This commit implements a comprehensive library browsing feature:

- Add LibraryBrowserProvider with providers for authors, genres, and series data
- Create LibraryAuthorsPage with grid view of authors including images and book counts
- Create LibraryGenresPage with list view of all genres
- Create LibrarySeriesPage with list view of series and book counts
- Update LibraryBrowserPage navigation to route to the new views
- Add routes for /browser/authors, /browser/genres, and /browser/series
- Replace "Not Implemented" toasts with functional navigation

The implementation uses the Audiobookshelf API via shelfsdk to fetch:
- Authors list with metadata (getAuthors)
- Genres from library filter data (getFilterData)
- Series with pagination support (getSeries)

All views follow Material Design 3 patterns and include proper loading/error states.
2025-11-20 10:52:18 +00:00
Dr.Blank
bae99292a2
feat: add PlayingIndicatorIcon widget for animated playback indication (#80) 2025-04-23 16:23:57 +05:30
Dr.Blank
25be7fda03
fix: keyboard not showing when adding new user (#79)
* feat: add fadeSlideTransitionBuilder for smoother transitions in user login

* fix: reuse onboarding components on server manager page

* fix: gaining focus rebuilt the widget

using memoized fixes this issue
2025-04-23 15:00:01 +05:30
Dr.Blank
c8767b4e1e
feat: enhance UserBar with user API details and improved text styling 2025-04-23 14:51:39 +05:30
Dr.Blank
ad0cd6e2ad
fix: run dart fix
Some checks are pending
Flutter CI & Release / Test (push) Waiting to run
Flutter CI & Release / Build Android APKs (push) Blocked by required conditions
Flutter CI & Release / build_linux (push) Blocked by required conditions
Flutter CI & Release / Create GitHub Release (push) Blocked by required conditions
2025-04-23 00:29:02 +05:30
Dr.Blank
2cb00c451e
feat: implement scroll-to-top FAB and enhance library item app bar with scroll listener 2025-04-23 00:22:32 +05:30
Dr.Blank
c3d3a3900d
refactor: remove transparent background color from app bars
Some checks failed
Flutter CI & Release / Test (push) Has been cancelled
Flutter CI & Release / Build Android APKs (push) Has been cancelled
Flutter CI & Release / build_linux (push) Has been cancelled
Flutter CI & Release / Create GitHub Release (push) Has been cancelled
2025-04-19 19:47:25 +05:30
Dr.Blank
5986482baf
feat: ability to change library (#77)
* feat: add AbsIcons font and update pubspec.yaml for font integration

* feat: implement library selection in YouPage

* fix: optimize authenticatedApi provider to not rebuild unnecessarily

* feat: add LibrarySwitchChip widget and integrate it into YouPage and ScaffoldWithNavBar

* feat: enhance library selection UI with refresh functionality and error handling

* fix: change library switcher activation from long press to double tap

* feat: show current library on nav bar

* feat: refactor LibraryBrowserPage to use CustomScrollView and enhance app bar with dynamic library icon and title
2025-04-19 19:17:31 +05:30
Dr.Blank
4ebf46d2fd
chore: remove deprecated apis (#74)
* dart format + remove withopacity

* remove unused imports
2025-04-10 19:42:08 +05:30
Dr.Blank
28ceca5408
fix: bug login not shown for some languages (#73)
* fix language preventing logging in

* make eye blink once
2025-04-10 19:12:20 +05:30
Dr.Blank
edf7b2790f
upgrade to flutter 3.29.2
Some checks are pending
Flutter Test / test (push) Waiting to run
2025-04-03 23:07:00 +05:30
Dr.Blank
2fd4650bb8
upgrade to flutter 3.27.4 2025-03-25 22:01:16 +05:30
Dr.Blank
2a715f6fa8
remove manage external storage permission 2024-12-07 21:07:48 +05:30
Dr.Blank
c2cf999398
dart fix 2024-12-07 12:26:59 +05:30
Dr-Blank
3488ae97fb
fix overflow error for onboarding 2024-10-28 05:45:28 +05:30
Dr.Blank
09eafb2c28
fix: content behind miniplayer not visible (#53) 2024-10-06 05:45:14 -04:00
Dr.Blank
ff83c2cc63
feat: multiple theming options (#50)
* refactor: consolidate theme definitions by removing separate dark and light theme files

* feat: integrate dynamic color support and enhance theme settings management

* feat: add theme settings route and update theme management in app settings

* feat: enhance theme management by integrating high contrast support in various components

* feat: implement mode selection dialog for theme settings and enhance button functionality

* refactor: update theme import paths and consolidate theme provider files

* feat: enhance theme management by integrating theme selection based on audiobook playback

* refactor: update default value for useMaterialThemeFromSystem to false in theme settings

* refactor: adjust high contrast condition order in theme settings for consistency

* refactor: rename useMaterialThemeOfPlayingItem to useCurrentPlayerThemeThroughoutApp for clarity

* refactor: correct spelling in system theme provider and replace with updated implementation

* refactor: extract restore backup dialog into a separate widget for improved readability

* refactor: reorganize settings sections for clarity and improve restore dialog functionality
2024-10-05 10:01:08 -04:00
Dr-Blank
758e4cdc83
refactor: update personalized view handling, improve GitHub issue link, and adjust VaaniLogo size 2024-10-05 04:48:52 -04:00
Dr-Blank
fa815ae206
refactor: update AuthenticatedUser model to require id and remove password, enhance server URI handling in AddNewServer widget 2024-10-04 02:31:51 -04:00
Dr-Blank
33c57da78f
hotfix: add permission handling for external storage and update log file naming 2024-10-03 19:04:36 -04:00
Dr.Blank
35a2d7cfce
feat: error reporting with logs (#45)
* feat: add ability to get logs file from ui

* test: add unit test for log line parsing in logs_provider

* refactor: update all logs to obfuscate sensitive information

* feat: generate dynamic zip file name for logs export

* feat: enhance logging in audiobook player and provider for better debugging

* refactor: extract user display logic into UserBar widget for offline access of settings and logs

* feat: add About section with app metadata and source code link in YouPage
2024-10-03 05:54:29 -04:00
Dr.Blank
12100ffbcd
ui: better sleep timer ui in player and fix auto turn on settings (#43)
* refactor: enhance sleep timer functionality and improve duration formatting

* refactor: update sleep timer settings handling

* refactor: update cancel icon for sleep timer button

* refactor: implement isBetween method for TimeOfDay and simplify sleep timer logic

* refactor: update alwaysAutoTurnOnTimer default value and improve icon usage in settings

* refactor: remove unused IconButton and update sleep timer preset durations
2024-10-02 09:18:06 -04:00
Dr.Blank
29f4c93554
fix: notification logo not showing (#42) 2024-10-01 02:16:08 -04:00
Dr.Blank
90913162cc
fix: speed selector wheel was not visible (#41) 2024-09-30 04:19:15 -04:00
Dr.Blank
67d6c9240b
Fix Shake Detector not working when app in background (#40)
* feat: update shake detection settings to reduce cooldown and feedback options

* fix: shake detector not detecting in background

* enhance shake action handling to avoid unnecessary feedback

* disable shake detector when player not playing anything

* refactor: remove outdated TODO regarding shake detection optimization

* refactor: comment out notifyListeners call in restartTimer method for clarity
2024-09-30 02:34:13 -04:00
Dr.Blank
b229c4f2f5
feat: add shake detection functionality (#36)
* feat: add shake detection functionality and integrate vibration support

* feat: add shake detector settings page
2024-09-28 01:27:56 -04:00
Dr.Blank
150e5c9025
feat: add player settings page and enhance settings UI (#33) 2024-09-26 04:30:51 -04:00
Dr.Blank
8049a660e6
feat: new settings to configure when to report playback and when to mark item complete (#32) 2024-09-26 01:39:43 -04:00
Dr.Blank
3cf0a0b124
feat: extensive settings for media controls through notification (#28)
* feat: add notification settings customisation options

* feat: add notification settings page and update routing
2024-09-25 03:13:42 -04:00
Dr-Blank
84e5fd9d81
refactor: clamp download progress value to start from .05 2024-09-23 04:28:08 -04:00
Dr-Blank
405d625cdc
refactor: update cover image handling to use item IDs and simplify library item actions 2024-09-23 03:55:32 -04:00
Dr-Blank
5c9273c812
refactor: simplify queueAudioBookDownload method by removing callback handling 2024-09-22 22:24:36 -04:00
Dr.Blank
792448b0ef
feat: downloads support (#22)
* feat: enhance download manager with improved logging and task handling

* feat: add total size calculation for library items and improve download manager functionality

* refactor: simplify parameters in queueAudioBookDownload and improve logging message in deleteDownloadedItem
2024-09-22 22:05:28 -04:00
Dr-Blank
e7dd4de515
feat: implement per book settings with player configuration and update methods 2024-09-17 23:19:05 -04:00
Dr-Blank
39286d9e10
remove TODO comments 2024-09-16 23:54:30 -04:00
Dr-Blank
61aeaf429f
feat: add deeplinking support for oauth login 2024-09-16 23:51:50 -04:00
Dr-Blank
682631fb8e
feat: api token login 2024-09-06 15:10:00 -04:00
Dr-Blank
526e72c0c3
chore: Update rxdart and sensors_plus dependencies 2024-08-23 04:50:49 -04:00
Dr-Blank
d0f1f01dde
change name to vaani 2024-08-23 04:21:46 -04:00
Dr-Blank
3f496c57c4
you page and switch users 2024-08-23 03:44:44 -04:00
Dr-Blank
74e0d77cf9
Update theme settings in app_settings_provider.dart 2024-08-20 11:39:26 -04:00
Dr-Blank
8d71020436
chore: Update progress indicator value range in library_item_hero_section.dart 2024-08-20 11:30:31 -04:00