change name to vaani

This commit is contained in:
Dr-Blank 2024-08-23 04:21:46 -04:00
parent 3f496c57c4
commit d0f1f01dde
No known key found for this signature in database
GPG key ID: 7452CC63F210A266
59 changed files with 244 additions and 239 deletions

View file

@ -42,7 +42,7 @@ android {
defaultConfig { defaultConfig {
// TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html).
applicationId "com.example.whispering_pages" applicationId "dr.blank.vaani"
// You can update the following values to match your application needs. // You can update the following values to match your application needs.
// For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration. // For more information, see: https://docs.flutter.dev/deployment/android#reviewing-the-gradle-build-configuration.
minSdkVersion 23 minSdkVersion 23

View file

@ -5,8 +5,8 @@ import 'dart:convert';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/db/cache_manager.dart'; import 'package:vaani/db/cache_manager.dart';
import 'package:whispering_pages/settings/api_settings_provider.dart'; import 'package:vaani/settings/api_settings_provider.dart';
part 'api_provider.g.dart'; part 'api_provider.g.dart';
@ -28,9 +28,6 @@ AudiobookshelfApi audiobookshelfApi(AudiobookshelfApiRef ref, Uri? baseUrl) {
// try to get the base url from app settings // try to get the base url from app settings
final apiSettings = ref.watch(apiSettingsProvider); final apiSettings = ref.watch(apiSettingsProvider);
baseUrl ??= apiSettings.activeServer?.serverUrl; baseUrl ??= apiSettings.activeServer?.serverUrl;
if (baseUrl == null) {
throw ArgumentError.notNull('baseUrl');
}
return AudiobookshelfApi( return AudiobookshelfApi(
baseUrl: makeBaseUrl(baseUrl.toString()), baseUrl: makeBaseUrl(baseUrl.toString()),
); );

View file

@ -6,7 +6,7 @@ part of 'api_provider.dart';
// RiverpodGenerator // RiverpodGenerator
// ************************************************************************** // **************************************************************************
String _$audiobookshelfApiHash() => r'de9cbf9ec0647ac84366e0dc0a175f069d112c0a'; String _$audiobookshelfApiHash() => r'2c310ea77fea9918ccf96180a92075acd037bd95';
/// Copied from Dart SDK /// Copied from Dart SDK
class _SystemHash { class _SystemHash {

View file

@ -1,11 +1,11 @@
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:whispering_pages/api/server_provider.dart' import 'package:vaani/api/server_provider.dart'
show audiobookShelfServerProvider; show audiobookShelfServerProvider;
import 'package:whispering_pages/db/storage.dart'; import 'package:vaani/db/storage.dart';
import 'package:whispering_pages/settings/api_settings_provider.dart'; import 'package:vaani/settings/api_settings_provider.dart';
import 'package:whispering_pages/settings/models/audiobookshelf_server.dart'; import 'package:vaani/settings/models/audiobookshelf_server.dart';
import 'package:whispering_pages/settings/models/authenticated_user.dart' import 'package:vaani/settings/models/authenticated_user.dart'
as model; as model;
part 'authenticated_user_provider.g.dart'; part 'authenticated_user_provider.g.dart';

View file

@ -3,8 +3,8 @@ import 'dart:typed_data';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/db/cache_manager.dart'; import 'package:vaani/db/cache_manager.dart';
/// provides cover images for the audiobooks /// provides cover images for the audiobooks
/// ///

View file

@ -3,10 +3,10 @@ import 'dart:convert';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shelfsdk/audiobookshelf_api.dart' as shelfsdk; import 'package:shelfsdk/audiobookshelf_api.dart' as shelfsdk;
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/db/cache/cache_key.dart'; import 'package:vaani/db/cache/cache_key.dart';
import 'package:whispering_pages/db/cache_manager.dart'; import 'package:vaani/db/cache_manager.dart';
import 'package:whispering_pages/shared/extensions/model_conversions.dart'; import 'package:vaani/shared/extensions/model_conversions.dart';
part 'library_item_provider.g.dart'; part 'library_item_provider.g.dart';
@ -30,7 +30,8 @@ class LibraryItem extends _$LibraryItem {
await apiResponseCacheManager.getFileFromCache(key); await apiResponseCacheManager.getFileFromCache(key);
if (cachedFile != null) { if (cachedFile != null) {
_logger.fine( _logger.fine(
'LibraryItemProvider reading from cache for $id from ${cachedFile.file}'); 'LibraryItemProvider reading from cache for $id from ${cachedFile.file}',
);
// read file as json // read file as json
final cachedItem = shelfsdk.LibraryItemExpanded.fromJson( final cachedItem = shelfsdk.LibraryItemExpanded.fromJson(
jsonDecode(await cachedFile.file.readAsString()), jsonDecode(await cachedFile.file.readAsString()),

View file

@ -1,10 +1,10 @@
import 'package:collection/collection.dart'; import 'package:collection/collection.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:whispering_pages/api/authenticated_user_provider.dart'; import 'package:vaani/api/authenticated_user_provider.dart';
import 'package:whispering_pages/db/storage.dart'; import 'package:vaani/db/storage.dart';
import 'package:whispering_pages/settings/api_settings_provider.dart'; import 'package:vaani/settings/api_settings_provider.dart';
import 'package:whispering_pages/settings/models/audiobookshelf_server.dart' import 'package:vaani/settings/models/audiobookshelf_server.dart'
as model; as model;
part 'server_provider.g.dart'; part 'server_provider.g.dart';

View file

@ -1,6 +1,6 @@
import 'package:flutter/foundation.dart' show immutable; import 'package:flutter/foundation.dart' show immutable;
import 'package:hive/hive.dart'; import 'package:hive/hive.dart';
import 'package:whispering_pages/settings/models/models.dart'; import 'package:vaani/settings/models/models.dart';
@immutable @immutable
class AvailableHiveBoxes { class AvailableHiveBoxes {

View file

@ -1,5 +1,5 @@
import 'package:flutter_cache_manager/flutter_cache_manager.dart'; import 'package:flutter_cache_manager/flutter_cache_manager.dart';
import 'package:whispering_pages/settings/constants.dart'; import 'package:vaani/settings/constants.dart';
final imageCacheManager = CacheManager( final imageCacheManager = CacheManager(
Config( Config(

View file

@ -6,14 +6,14 @@ import 'package:flutter/material.dart';
import 'package:hive/hive.dart'; import 'package:hive/hive.dart';
import 'package:path/path.dart' as p; import 'package:path/path.dart' as p;
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:whispering_pages/settings/constants.dart'; import 'package:vaani/settings/constants.dart';
import 'register_models.dart'; import 'register_models.dart';
Future initStorage() async { Future initStorage() async {
final dir = await getApplicationDocumentsDirectory(); final dir = await getApplicationDocumentsDirectory();
// use whispering_pages as the directory for hive // use vaani as the directory for hive
final storageDir = Directory(p.join( final storageDir = Directory(p.join(
dir.path, dir.path,
AppMetadata.appNameLowerCase, AppMetadata.appNameLowerCase,

View file

@ -1,5 +1,5 @@
import 'package:hive/hive.dart'; import 'package:hive/hive.dart';
import 'package:whispering_pages/settings/models/models.dart'; import 'package:vaani/settings/models/models.dart';
// register all models to Hive for serialization // register all models to Hive for serialization
Future registerModels() async { Future registerModels() async {

View file

@ -6,7 +6,7 @@ import 'package:background_downloader/background_downloader.dart';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:path_provider/path_provider.dart'; import 'package:path_provider/path_provider.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/shared/extensions/model_conversions.dart'; import 'package:vaani/shared/extensions/model_conversions.dart';
final _logger = Logger('AudiobookDownloadManager'); final _logger = Logger('AudiobookDownloadManager');
final tq = MemoryTaskQueue(); final tq = MemoryTaskQueue();

View file

@ -1,10 +1,10 @@
import 'package:background_downloader/background_downloader.dart'; import 'package:background_downloader/background_downloader.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/features/downloads/core/download_manager.dart' import 'package:vaani/features/downloads/core/download_manager.dart'
as core; as core;
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
part 'download_manager.g.dart'; part 'download_manager.g.dart';

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/features/downloads/providers/download_manager.dart'; import 'package:vaani/features/downloads/providers/download_manager.dart';
class DownloadsPage extends HookConsumerWidget { class DownloadsPage extends HookConsumerWidget {
const DownloadsPage({super.key}); const DownloadsPage({super.key});

View file

@ -1,7 +1,7 @@
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/settings/api_settings_provider.dart'; import 'package:vaani/settings/api_settings_provider.dart';
part 'search_result_provider.g.dart'; part 'search_result_provider.g.dart';

View file

@ -5,17 +5,17 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/api/image_provider.dart'; import 'package:vaani/api/image_provider.dart';
import 'package:whispering_pages/api/library_item_provider.dart'; import 'package:vaani/api/library_item_provider.dart';
import 'package:whispering_pages/constants/hero_tag_conventions.dart'; import 'package:vaani/constants/hero_tag_conventions.dart';
import 'package:whispering_pages/features/explore/providers/search_controller.dart'; import 'package:vaani/features/explore/providers/search_controller.dart';
import 'package:whispering_pages/features/explore/view/search_result_page.dart'; import 'package:vaani/features/explore/view/search_result_page.dart';
import 'package:whispering_pages/router/router.dart'; import 'package:vaani/router/router.dart';
import 'package:whispering_pages/settings/api_settings_provider.dart'; import 'package:vaani/settings/api_settings_provider.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/shared/extensions/model_conversions.dart'; import 'package:vaani/shared/extensions/model_conversions.dart';
import 'package:whispering_pages/shared/widgets/shelves/book_shelf.dart'; import 'package:vaani/shared/widgets/shelves/book_shelf.dart';
const Duration debounceDuration = Duration(milliseconds: 500); const Duration debounceDuration = Duration(milliseconds: 500);

View file

@ -1,9 +1,9 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/features/explore/providers/search_result_provider.dart'; import 'package:vaani/features/explore/providers/search_result_provider.dart';
import 'package:whispering_pages/features/explore/view/explore_page.dart'; import 'package:vaani/features/explore/view/explore_page.dart';
import 'package:whispering_pages/shared/extensions/model_conversions.dart'; import 'package:vaani/shared/extensions/model_conversions.dart';
enum SearchResultCategory { enum SearchResultCategory {
books, books,

View file

@ -3,22 +3,22 @@ import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shelfsdk/audiobookshelf_api.dart' as shelfsdk; import 'package:shelfsdk/audiobookshelf_api.dart' as shelfsdk;
import 'package:whispering_pages/api/library_item_provider.dart'; import 'package:vaani/api/library_item_provider.dart';
import 'package:whispering_pages/constants/hero_tag_conventions.dart'; import 'package:vaani/constants/hero_tag_conventions.dart';
import 'package:whispering_pages/features/downloads/providers/download_manager.dart' import 'package:vaani/features/downloads/providers/download_manager.dart'
show show
downloadHistoryProvider, downloadHistoryProvider,
downloadStatusProvider, downloadStatusProvider,
simpleDownloadManagerProvider; simpleDownloadManagerProvider;
import 'package:whispering_pages/features/item_viewer/view/library_item_page.dart'; import 'package:vaani/features/item_viewer/view/library_item_page.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/features/player/providers/player_form.dart'; import 'package:vaani/features/player/providers/player_form.dart';
import 'package:whispering_pages/main.dart'; import 'package:vaani/main.dart';
import 'package:whispering_pages/router/router.dart'; import 'package:vaani/router/router.dart';
import 'package:whispering_pages/settings/api_settings_provider.dart'; import 'package:vaani/settings/api_settings_provider.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/shared/extensions/model_conversions.dart'; import 'package:vaani/shared/extensions/model_conversions.dart';
import 'package:whispering_pages/shared/utils.dart'; import 'package:vaani/shared/utils.dart';
class LibraryItemActions extends HookConsumerWidget { class LibraryItemActions extends HookConsumerWidget {
LibraryItemActions({ LibraryItemActions({

View file

@ -4,16 +4,16 @@ import 'package:flutter_animate/flutter_animate.dart';
import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shelfsdk/audiobookshelf_api.dart' as shelfsdk; import 'package:shelfsdk/audiobookshelf_api.dart' as shelfsdk;
import 'package:whispering_pages/api/image_provider.dart'; import 'package:vaani/api/image_provider.dart';
import 'package:whispering_pages/constants/hero_tag_conventions.dart'; import 'package:vaani/constants/hero_tag_conventions.dart';
import 'package:whispering_pages/features/item_viewer/view/library_item_page.dart'; import 'package:vaani/features/item_viewer/view/library_item_page.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/main.dart'; import 'package:vaani/main.dart';
import 'package:whispering_pages/router/models/library_item_extras.dart'; import 'package:vaani/router/models/library_item_extras.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/shared/extensions/duration_format.dart'; import 'package:vaani/shared/extensions/duration_format.dart';
import 'package:whispering_pages/shared/extensions/model_conversions.dart'; import 'package:vaani/shared/extensions/model_conversions.dart';
import 'package:whispering_pages/shared/widgets/shelves/book_shelf.dart'; import 'package:vaani/shared/widgets/shelves/book_shelf.dart';
class LibraryItemHeroSection extends HookConsumerWidget { class LibraryItemHeroSection extends HookConsumerWidget {
const LibraryItemHeroSection({ const LibraryItemHeroSection({

View file

@ -4,14 +4,14 @@ import 'package:animated_theme_switcher/animated_theme_switcher.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart'; import 'package:flutter_animate/flutter_animate.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/api/library_item_provider.dart'; import 'package:vaani/api/library_item_provider.dart';
import 'package:whispering_pages/features/item_viewer/view/library_item_sliver_app_bar.dart'; import 'package:vaani/features/item_viewer/view/library_item_sliver_app_bar.dart';
import 'package:whispering_pages/features/player/providers/player_form.dart'; import 'package:vaani/features/player/providers/player_form.dart';
import 'package:whispering_pages/router/models/library_item_extras.dart'; import 'package:vaani/router/models/library_item_extras.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/shared/extensions/model_conversions.dart'; import 'package:vaani/shared/extensions/model_conversions.dart';
import 'package:whispering_pages/shared/widgets/expandable_description.dart'; import 'package:vaani/shared/widgets/expandable_description.dart';
import 'package:whispering_pages/theme/theme_from_cover_provider.dart'; import 'package:vaani/theme/theme_from_cover_provider.dart';
import 'library_item_actions.dart'; import 'library_item_actions.dart';
import 'library_item_hero_section.dart'; import 'library_item_hero_section.dart';

View file

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/router/router.dart'; import 'package:vaani/router/router.dart';
class LibraryBrowserPage extends HookConsumerWidget { class LibraryBrowserPage extends HookConsumerWidget {
const LibraryBrowserPage({super.key}); const LibraryBrowserPage({super.key});

View file

@ -3,15 +3,15 @@ import 'package:flutter_animate/flutter_animate.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/api/authenticated_user_provider.dart'; import 'package:vaani/api/authenticated_user_provider.dart';
import 'package:whispering_pages/api/server_provider.dart'; import 'package:vaani/api/server_provider.dart';
import 'package:whispering_pages/features/onboarding/view/user_login.dart'; import 'package:vaani/features/onboarding/view/user_login.dart';
import 'package:whispering_pages/router/router.dart'; import 'package:vaani/router/router.dart';
import 'package:whispering_pages/settings/api_settings_provider.dart'; import 'package:vaani/settings/api_settings_provider.dart';
import 'package:whispering_pages/settings/models/models.dart' as model; import 'package:vaani/settings/models/models.dart' as model;
import 'package:whispering_pages/shared/utils.dart'; import 'package:vaani/shared/utils.dart';
import 'package:whispering_pages/shared/widgets/add_new_server.dart'; import 'package:vaani/shared/widgets/add_new_server.dart';
class OnboardingSinglePage extends HookConsumerWidget { class OnboardingSinglePage extends HookConsumerWidget {
const OnboardingSinglePage({ const OnboardingSinglePage({

View file

@ -2,7 +2,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:lottie/lottie.dart'; import 'package:lottie/lottie.dart';
import 'package:whispering_pages/hacks/fix_autofill_losing_focus.dart'; import 'package:vaani/hacks/fix_autofill_losing_focus.dart';
class UserLogin extends HookConsumerWidget { class UserLogin extends HookConsumerWidget {
UserLogin({ UserLogin({
@ -57,7 +57,7 @@ class UserLogin extends HookConsumerWidget {
labelStyle: TextStyle( labelStyle: TextStyle(
color: Theme.of(context) color: Theme.of(context)
.colorScheme .colorScheme
.onBackground .onSurface
.withOpacity(0.8), .withOpacity(0.8),
), ),
border: const OutlineInputBorder(), border: const OutlineInputBorder(),
@ -79,7 +79,7 @@ class UserLogin extends HookConsumerWidget {
labelStyle: TextStyle( labelStyle: TextStyle(
color: Theme.of(context) color: Theme.of(context)
.colorScheme .colorScheme
.onBackground .onSurface
.withOpacity(0.8), .withOpacity(0.8),
), ),
border: const OutlineInputBorder(), border: const OutlineInputBorder(),

View file

@ -2,7 +2,7 @@ import 'dart:async';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/features/player/core/audiobook_player.dart'; import 'package:vaani/features/player/core/audiobook_player.dart';
final _logger = Logger('PlaybackReporter'); final _logger = Logger('PlaybackReporter');

View file

@ -1,11 +1,11 @@
import 'package:package_info_plus/package_info_plus.dart'; import 'package:package_info_plus/package_info_plus.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/features/playback_reporting/core/playback_reporter.dart' import 'package:vaani/features/playback_reporting/core/playback_reporter.dart'
as core; as core;
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/settings/metadata/metadata_provider.dart'; import 'package:vaani/settings/metadata/metadata_provider.dart';
part 'playback_reporter_provider.g.dart'; part 'playback_reporter_provider.g.dart';

View file

@ -1,6 +1,6 @@
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/features/player/playlist.dart'; import 'package:vaani/features/player/playlist.dart';
part 'playlist_provider.g.dart'; part 'playlist_provider.g.dart';

View file

@ -1,6 +1,6 @@
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/features/player/core/audiobook_player.dart' import 'package:vaani/features/player/core/audiobook_player.dart'
as core; as core;
part 'audiobook_player.g.dart'; part 'audiobook_player.g.dart';

View file

@ -1,7 +1,7 @@
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/shared/extensions/model_conversions.dart'; import 'package:vaani/shared/extensions/model_conversions.dart';
part 'currently_playing_provider.g.dart'; part 'currently_playing_provider.g.dart';

View file

@ -6,15 +6,15 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:just_audio/just_audio.dart'; import 'package:just_audio/just_audio.dart';
import 'package:miniplayer/miniplayer.dart'; import 'package:miniplayer/miniplayer.dart';
import 'package:whispering_pages/api/image_provider.dart'; import 'package:vaani/api/image_provider.dart';
import 'package:whispering_pages/api/library_item_provider.dart'; import 'package:vaani/api/library_item_provider.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/features/player/providers/currently_playing_provider.dart'; import 'package:vaani/features/player/providers/currently_playing_provider.dart';
import 'package:whispering_pages/features/player/providers/player_form.dart'; import 'package:vaani/features/player/providers/player_form.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/shared/extensions/inverse_lerp.dart'; import 'package:vaani/shared/extensions/inverse_lerp.dart';
import 'package:whispering_pages/shared/widgets/shelves/book_shelf.dart'; import 'package:vaani/shared/widgets/shelves/book_shelf.dart';
import 'package:whispering_pages/theme/theme_from_cover_provider.dart'; import 'package:vaani/theme/theme_from_cover_provider.dart';
import 'player_when_expanded.dart'; import 'player_when_expanded.dart';
import 'player_when_minimized.dart'; import 'player_when_minimized.dart';

View file

@ -3,16 +3,16 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:miniplayer/miniplayer.dart'; import 'package:miniplayer/miniplayer.dart';
import 'package:whispering_pages/constants/sizes.dart'; import 'package:vaani/constants/sizes.dart';
import 'package:whispering_pages/features/player/providers/currently_playing_provider.dart'; import 'package:vaani/features/player/providers/currently_playing_provider.dart';
import 'package:whispering_pages/features/player/providers/player_form.dart'; import 'package:vaani/features/player/providers/player_form.dart';
import 'package:whispering_pages/features/player/view/audiobook_player.dart'; import 'package:vaani/features/player/view/audiobook_player.dart';
import 'package:whispering_pages/features/sleep_timer/core/sleep_timer.dart'; import 'package:vaani/features/sleep_timer/core/sleep_timer.dart';
import 'package:whispering_pages/features/sleep_timer/providers/sleep_timer_provider.dart' import 'package:vaani/features/sleep_timer/providers/sleep_timer_provider.dart'
show sleepTimerProvider; show sleepTimerProvider;
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/shared/extensions/inverse_lerp.dart'; import 'package:vaani/shared/extensions/inverse_lerp.dart';
import 'package:whispering_pages/shared/widgets/not_implemented.dart'; import 'package:vaani/shared/widgets/not_implemented.dart';
import 'widgets/audiobook_player_seek_button.dart'; import 'widgets/audiobook_player_seek_button.dart';
import 'widgets/audiobook_player_seek_chapter_button.dart'; import 'widgets/audiobook_player_seek_chapter_button.dart';

View file

@ -2,11 +2,11 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/constants/sizes.dart'; import 'package:vaani/constants/sizes.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/features/player/providers/currently_playing_provider.dart'; import 'package:vaani/features/player/providers/currently_playing_provider.dart';
import 'package:whispering_pages/features/player/view/audiobook_player.dart'; import 'package:vaani/features/player/view/audiobook_player.dart';
import 'package:whispering_pages/router/router.dart'; import 'package:vaani/router/router.dart';
class PlayerWhenMinimized extends HookConsumerWidget { class PlayerWhenMinimized extends HookConsumerWidget {
const PlayerWhenMinimized({ const PlayerWhenMinimized({
@ -92,7 +92,7 @@ class PlayerWhenMinimized extends HookConsumerWidget {
style: Theme.of(context).textTheme.bodyMedium!.copyWith( style: Theme.of(context).textTheme.bodyMedium!.copyWith(
color: Theme.of(context) color: Theme.of(context)
.colorScheme .colorScheme
.onBackground .onSurface
.withOpacity(0.7), .withOpacity(0.7),
), ),
), ),

View file

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/constants/sizes.dart'; import 'package:vaani/constants/sizes.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
class AudiobookPlayerSeekButton extends HookConsumerWidget { class AudiobookPlayerSeekButton extends HookConsumerWidget {
const AudiobookPlayerSeekButton({ const AudiobookPlayerSeekButton({

View file

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/constants/sizes.dart'; import 'package:vaani/constants/sizes.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
class AudiobookPlayerSeekChapterButton extends HookConsumerWidget { class AudiobookPlayerSeekChapterButton extends HookConsumerWidget {
const AudiobookPlayerSeekChapterButton({ const AudiobookPlayerSeekChapterButton({

View file

@ -1,12 +1,12 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_animate/flutter_animate.dart'; import 'package:flutter_animate/flutter_animate.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/features/player/providers/currently_playing_provider.dart'; import 'package:vaani/features/player/providers/currently_playing_provider.dart';
import 'package:whispering_pages/features/player/view/player_when_expanded.dart'; import 'package:vaani/features/player/view/player_when_expanded.dart';
import 'package:whispering_pages/shared/extensions/chapter.dart'; import 'package:vaani/shared/extensions/chapter.dart';
import 'package:whispering_pages/shared/extensions/duration_format.dart'; import 'package:vaani/shared/extensions/duration_format.dart';
import 'package:whispering_pages/shared/hooks.dart'; import 'package:vaani/shared/hooks.dart';
class ChapterSelectionButton extends HookConsumerWidget { class ChapterSelectionButton extends HookConsumerWidget {
const ChapterSelectionButton({ const ChapterSelectionButton({

View file

@ -1,9 +1,9 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/features/player/view/player_when_expanded.dart'; import 'package:vaani/features/player/view/player_when_expanded.dart';
import 'package:whispering_pages/features/player/view/widgets/speed_selector.dart'; import 'package:vaani/features/player/view/widgets/speed_selector.dart';
final _logger = Logger('PlayerSpeedAdjustButton'); final _logger = Logger('PlayerSpeedAdjustButton');

View file

@ -2,8 +2,8 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:list_wheel_scroll_view_nls/list_wheel_scroll_view_nls.dart'; import 'package:list_wheel_scroll_view_nls/list_wheel_scroll_view_nls.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
class SpeedSelector extends HookConsumerWidget { class SpeedSelector extends HookConsumerWidget {
const SpeedSelector({ const SpeedSelector({
@ -106,7 +106,7 @@ class SpeedSelector extends HookConsumerWidget {
? 2 ? 2
: 0.5, : 0.5,
color: color:
Theme.of(context).colorScheme.onBackground, Theme.of(context).colorScheme.onSurface,
), ),
// the speed text but only at .5 increments of speed // the speed text but only at .5 increments of speed
if (speed % 0.25 == 0) if (speed % 0.25 == 0)
@ -115,7 +115,7 @@ class SpeedSelector extends HookConsumerWidget {
style: TextStyle( style: TextStyle(
color: Theme.of(context) color: Theme.of(context)
.colorScheme .colorScheme
.onBackground, .onSurface,
), ),
), ),
], ],

View file

@ -3,7 +3,7 @@ import 'dart:async';
import 'package:flutter_animate/flutter_animate.dart'; import 'package:flutter_animate/flutter_animate.dart';
import 'package:just_audio/just_audio.dart'; import 'package:just_audio/just_audio.dart';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:whispering_pages/features/player/core/audiobook_player.dart'; import 'package:vaani/features/player/core/audiobook_player.dart';
/// this timer pauses the music player after a certain duration /// this timer pauses the music player after a certain duration
/// ///

View file

@ -1,10 +1,9 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/features/sleep_timer/core/sleep_timer.dart' import 'package:vaani/features/sleep_timer/core/sleep_timer.dart'
as core; as core;
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/shared/extensions/time_of_day.dart';
part 'sleep_timer_provider.g.dart'; part 'sleep_timer_provider.g.dart';

View file

@ -2,13 +2,13 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/api/authenticated_user_provider.dart'; import 'package:vaani/api/authenticated_user_provider.dart';
import 'package:whispering_pages/api/server_provider.dart'; import 'package:vaani/api/server_provider.dart';
import 'package:whispering_pages/router/router.dart'; import 'package:vaani/router/router.dart';
import 'package:whispering_pages/settings/api_settings_provider.dart'; import 'package:vaani/settings/api_settings_provider.dart';
import 'package:whispering_pages/settings/models/models.dart' as model; import 'package:vaani/settings/models/models.dart' as model;
import 'package:whispering_pages/shared/widgets/add_new_server.dart'; import 'package:vaani/shared/widgets/add_new_server.dart';
class ServerManagerPage extends HookConsumerWidget { class ServerManagerPage extends HookConsumerWidget {
const ServerManagerPage({ const ServerManagerPage({

View file

@ -2,10 +2,10 @@ import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/router/router.dart'; import 'package:vaani/router/router.dart';
import 'package:whispering_pages/shared/utils.dart'; import 'package:vaani/shared/utils.dart';
import 'package:whispering_pages/shared/widgets/not_implemented.dart'; import 'package:vaani/shared/widgets/not_implemented.dart';
class YouPage extends HookConsumerWidget { class YouPage extends HookConsumerWidget {
const YouPage({ const YouPage({

View file

@ -6,20 +6,20 @@ import 'package:just_audio_background/just_audio_background.dart'
import 'package:just_audio_media_kit/just_audio_media_kit.dart' import 'package:just_audio_media_kit/just_audio_media_kit.dart'
show JustAudioMediaKit; show JustAudioMediaKit;
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:whispering_pages/api/server_provider.dart'; import 'package:vaani/api/server_provider.dart';
import 'package:whispering_pages/db/storage.dart'; import 'package:vaani/db/storage.dart';
import 'package:whispering_pages/features/downloads/core/download_manager.dart'; import 'package:vaani/features/downloads/core/download_manager.dart';
import 'package:whispering_pages/features/downloads/providers/download_manager.dart'; import 'package:vaani/features/downloads/providers/download_manager.dart';
import 'package:whispering_pages/features/playback_reporting/providers/playback_reporter_provider.dart'; import 'package:vaani/features/playback_reporting/providers/playback_reporter_provider.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/features/sleep_timer/providers/sleep_timer_provider.dart'; import 'package:vaani/features/sleep_timer/providers/sleep_timer_provider.dart';
import 'package:whispering_pages/router/router.dart'; import 'package:vaani/router/router.dart';
import 'package:whispering_pages/settings/api_settings_provider.dart'; import 'package:vaani/settings/api_settings_provider.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/shared/extensions/duration_format.dart'; import 'package:vaani/shared/extensions/duration_format.dart';
import 'package:whispering_pages/theme/theme.dart'; import 'package:vaani/theme/theme.dart';
final appLogger = Logger('whispering_pages'); final appLogger = Logger('vaani');
void main() async { void main() async {
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
@ -44,7 +44,7 @@ void main() async {
// for playing audio in the background // for playing audio in the background
await JustAudioBackground.init( await JustAudioBackground.init(
androidNotificationChannelId: 'com.whispering_pages.bg_demo.channel.audio', androidNotificationChannelId: 'com.vaani.bg_demo.channel.audio',
androidNotificationChannelName: 'Audio playback', androidNotificationChannelName: 'Audio playback',
androidNotificationOngoing: true, androidNotificationOngoing: true,
); );

View file

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import '../shared/widgets/shelves/home_shelf.dart'; import '../shared/widgets/shelves/home_shelf.dart';

View file

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/settings/api_settings_provider.dart'; import 'package:vaani/settings/api_settings_provider.dart';
import '../shared/widgets/drawer.dart'; import '../shared/widgets/drawer.dart';
import '../shared/widgets/shelves/home_shelf.dart'; import '../shared/widgets/shelves/home_shelf.dart';

View file

@ -1,16 +1,16 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:whispering_pages/features/downloads/view/downloads_page.dart'; import 'package:vaani/features/downloads/view/downloads_page.dart';
import 'package:whispering_pages/features/explore/view/explore_page.dart'; import 'package:vaani/features/explore/view/explore_page.dart';
import 'package:whispering_pages/features/explore/view/search_result_page.dart'; import 'package:vaani/features/explore/view/search_result_page.dart';
import 'package:whispering_pages/features/item_viewer/view/library_item_page.dart'; import 'package:vaani/features/item_viewer/view/library_item_page.dart';
import 'package:whispering_pages/features/library_browser/view/library_browser_page.dart'; import 'package:vaani/features/library_browser/view/library_browser_page.dart';
import 'package:whispering_pages/features/onboarding/view/onboarding_single_page.dart'; import 'package:vaani/features/onboarding/view/onboarding_single_page.dart';
import 'package:whispering_pages/features/you/view/server_manager.dart'; import 'package:vaani/features/you/view/server_manager.dart';
import 'package:whispering_pages/features/you/view/you_page.dart'; import 'package:vaani/features/you/view/you_page.dart';
import 'package:whispering_pages/pages/home_page.dart'; import 'package:vaani/pages/home_page.dart';
import 'package:whispering_pages/settings/view/app_settings_page.dart'; import 'package:vaani/settings/view/app_settings_page.dart';
import 'package:whispering_pages/settings/view/auto_sleep_timer_settings_page.dart'; import 'package:vaani/settings/view/auto_sleep_timer_settings_page.dart';
import 'scaffold_with_nav_bar.dart'; import 'scaffold_with_nav_bar.dart';
import 'transitions/slide.dart'; import 'transitions/slide.dart';

View file

@ -2,10 +2,10 @@ import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:miniplayer/miniplayer.dart'; import 'package:miniplayer/miniplayer.dart';
import 'package:whispering_pages/features/explore/providers/search_controller.dart'; import 'package:vaani/features/explore/providers/search_controller.dart';
import 'package:whispering_pages/features/player/providers/player_form.dart'; import 'package:vaani/features/player/providers/player_form.dart';
import 'package:whispering_pages/features/player/view/audiobook_player.dart'; import 'package:vaani/features/player/view/audiobook_player.dart';
import 'package:whispering_pages/features/player/view/player_when_expanded.dart'; import 'package:vaani/features/player/view/player_when_expanded.dart';
// stack to track changes in navigationShell.currentIndex // stack to track changes in navigationShell.currentIndex
// home is always at index 0 and at the start and should be the last before popping // home is always at index 0 and at the start and should be the last before popping

View file

@ -2,8 +2,8 @@
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:whispering_pages/db/available_boxes.dart'; import 'package:vaani/db/available_boxes.dart';
import 'package:whispering_pages/settings/models/api_settings.dart' as model; import 'package:vaani/settings/models/api_settings.dart' as model;
part 'api_settings_provider.g.dart'; part 'api_settings_provider.g.dart';

View file

@ -2,8 +2,8 @@
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:whispering_pages/db/available_boxes.dart'; import 'package:vaani/db/available_boxes.dart';
import 'package:whispering_pages/settings/models/app_settings.dart' as model; import 'package:vaani/settings/models/app_settings.dart' as model;
part 'app_settings_provider.g.dart'; part 'app_settings_provider.g.dart';

View file

@ -1,8 +1,8 @@
// a freezed class to store the settings of the app // a freezed class to store the settings of the app
import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:whispering_pages/settings/models/audiobookshelf_server.dart'; import 'package:vaani/settings/models/audiobookshelf_server.dart';
import 'package:whispering_pages/settings/models/authenticated_user.dart'; import 'package:vaani/settings/models/authenticated_user.dart';
part 'api_settings.freezed.dart'; part 'api_settings.freezed.dart';
part 'api_settings.g.dart'; part 'api_settings.g.dart';

View file

@ -1,5 +1,5 @@
import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:whispering_pages/settings/models/audiobookshelf_server.dart'; import 'package:vaani/settings/models/audiobookshelf_server.dart';
part 'authenticated_user.freezed.dart'; part 'authenticated_user.freezed.dart';
part 'authenticated_user.g.dart'; part 'authenticated_user.g.dart';

View file

@ -6,11 +6,11 @@ import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:flutter_settings_ui/flutter_settings_ui.dart'; import 'package:flutter_settings_ui/flutter_settings_ui.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/api/authenticated_user_provider.dart'; import 'package:vaani/api/authenticated_user_provider.dart';
import 'package:whispering_pages/api/server_provider.dart'; import 'package:vaani/api/server_provider.dart';
import 'package:whispering_pages/router/router.dart'; import 'package:vaani/router/router.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/settings/models/app_settings.dart' as model; import 'package:vaani/settings/models/app_settings.dart' as model;
class AppSettingsPage extends HookConsumerWidget { class AppSettingsPage extends HookConsumerWidget {
const AppSettingsPage({ const AppSettingsPage({

View file

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_settings_ui/flutter_settings_ui.dart'; import 'package:flutter_settings_ui/flutter_settings_ui.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/shared/extensions/time_of_day.dart'; import 'package:vaani/shared/extensions/time_of_day.dart';
class AutoSleepTimerSettingsPage extends HookConsumerWidget { class AutoSleepTimerSettingsPage extends HookConsumerWidget {
const AutoSleepTimerSettingsPage({ const AutoSleepTimerSettingsPage({

View file

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart'; import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
class AddNewServer extends HookConsumerWidget { class AddNewServer extends HookConsumerWidget {
const AddNewServer({ const AddNewServer({

View file

@ -1,7 +1,7 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:go_router/go_router.dart'; import 'package:go_router/go_router.dart';
import 'package:whispering_pages/features/you/view/server_manager.dart'; import 'package:vaani/features/you/view/server_manager.dart';
import 'package:whispering_pages/router/router.dart'; import 'package:vaani/router/router.dart';
class MyDrawer extends StatelessWidget { class MyDrawer extends StatelessWidget {

View file

@ -1,8 +1,8 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/shared/extensions/model_conversions.dart'; import 'package:vaani/shared/extensions/model_conversions.dart';
import 'package:whispering_pages/shared/widgets/shelves/home_shelf.dart'; import 'package:vaani/shared/widgets/shelves/home_shelf.dart';
/// A shelf that displays Authors on the home page /// A shelf that displays Authors on the home page
class AuthorHomeShelf extends HookConsumerWidget { class AuthorHomeShelf extends HookConsumerWidget {

View file

@ -6,19 +6,19 @@ import 'package:go_router/go_router.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:shimmer/shimmer.dart' show Shimmer; import 'package:shimmer/shimmer.dart' show Shimmer;
import 'package:whispering_pages/api/api_provider.dart'; import 'package:vaani/api/api_provider.dart';
import 'package:whispering_pages/api/image_provider.dart'; import 'package:vaani/api/image_provider.dart';
import 'package:whispering_pages/api/library_item_provider.dart' import 'package:vaani/api/library_item_provider.dart'
show libraryItemProvider; show libraryItemProvider;
import 'package:whispering_pages/constants/hero_tag_conventions.dart'; import 'package:vaani/constants/hero_tag_conventions.dart';
import 'package:whispering_pages/features/item_viewer/view/library_item_actions.dart'; import 'package:vaani/features/item_viewer/view/library_item_actions.dart';
import 'package:whispering_pages/features/player/providers/audiobook_player.dart'; import 'package:vaani/features/player/providers/audiobook_player.dart';
import 'package:whispering_pages/router/models/library_item_extras.dart'; import 'package:vaani/router/models/library_item_extras.dart';
import 'package:whispering_pages/router/router.dart'; import 'package:vaani/router/router.dart';
import 'package:whispering_pages/settings/app_settings_provider.dart'; import 'package:vaani/settings/app_settings_provider.dart';
import 'package:whispering_pages/shared/extensions/model_conversions.dart'; import 'package:vaani/shared/extensions/model_conversions.dart';
import 'package:whispering_pages/shared/widgets/shelves/home_shelf.dart'; import 'package:vaani/shared/widgets/shelves/home_shelf.dart';
import 'package:whispering_pages/theme/theme_from_cover_provider.dart'; import 'package:vaani/theme/theme_from_cover_provider.dart';
/// A shelf that displays books on the home page /// A shelf that displays books on the home page
class BookHomeShelf extends HookConsumerWidget { class BookHomeShelf extends HookConsumerWidget {

View file

@ -3,9 +3,9 @@ import 'dart:math';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/shared/extensions/model_conversions.dart'; import 'package:vaani/shared/extensions/model_conversions.dart';
import 'package:whispering_pages/shared/widgets/shelves/author_shelf.dart'; import 'package:vaani/shared/widgets/shelves/author_shelf.dart';
import 'package:whispering_pages/shared/widgets/shelves/book_shelf.dart'; import 'package:vaani/shared/widgets/shelves/book_shelf.dart';
/// A shelf that displays books/authors/series on the home page /// A shelf that displays books/authors/series on the home page
/// ///

View file

@ -3,7 +3,7 @@ import 'package:flutter_animate/flutter_animate.dart';
import 'package:logging/logging.dart'; import 'package:logging/logging.dart';
import 'package:riverpod_annotation/riverpod_annotation.dart'; import 'package:riverpod_annotation/riverpod_annotation.dart';
import 'package:shelfsdk/audiobookshelf_api.dart'; import 'package:shelfsdk/audiobookshelf_api.dart';
import 'package:whispering_pages/api/image_provider.dart'; import 'package:vaani/api/image_provider.dart';
part 'theme_from_cover_provider.g.dart'; part 'theme_from_cover_provider.g.dart';

View file

@ -843,9 +843,11 @@ packages:
miniplayer: miniplayer:
dependency: "direct main" dependency: "direct main"
description: description:
path: "../miniplayer" path: "."
relative: true ref: feat-notifier-for-percent-dismissed
source: path resolved-ref: "480f7933deaf0225ceb3a97162efca53610ba840"
url: "https://github.com/Dr-Blank/miniplayer.git"
source: git
version: "1.0.3" version: "1.0.3"
numberpicker: numberpicker:
dependency: "direct main" dependency: "direct main"
@ -1090,9 +1092,11 @@ packages:
shelfsdk: shelfsdk:
dependency: "direct main" dependency: "direct main"
description: description:
path: "../../_dart/shelfsdk" path: "."
relative: true ref: main
source: path resolved-ref: de1ca8c4b1ec83ceafa285558244922959fe447a
url: "https://github.com/Dr-Blank/shelfsdk"
source: git
version: "1.0.0" version: "1.0.0"
shimmer: shimmer:
dependency: "direct main" dependency: "direct main"

View file

@ -1,5 +1,5 @@
name: whispering_pages name: vaani
description: "A new Flutter project." description: "Audiobookshelf client"
# The following line prevents the package from being accidentally published to # The following line prevents the package from being accidentally published to
# pub.dev using `flutter pub publish`. This is preferred for private packages. # pub.dev using `flutter pub publish`. This is preferred for private packages.
publish_to: "none" # Remove this line if you wish to publish to pub.dev publish_to: "none" # Remove this line if you wish to publish to pub.dev
@ -16,7 +16,7 @@ publish_to: "none" # Remove this line if you wish to publish to pub.dev
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
# In Windows, build-name is used as the major, minor, and patch parts # In Windows, build-name is used as the major, minor, and patch parts
# of the product and file versions while build-number is used as the build suffix. # of the product and file versions while build-number is used as the build suffix.
version: 1.0.0+1 version: 0.1.0+1
environment: environment:
sdk: ">=3.3.4 <4.0.0" sdk: ">=3.3.4 <4.0.0"
@ -67,7 +67,9 @@ dependencies:
media_kit_libs_linux: any media_kit_libs_linux: any
media_kit_libs_windows_audio: any media_kit_libs_windows_audio: any
miniplayer: miniplayer:
path: ../miniplayer git:
url: https://github.com/Dr-Blank/miniplayer.git
ref: feat-notifier-for-percent-dismissed
numberpicker: ^2.1.2 numberpicker: ^2.1.2
package_info_plus: ^8.0.0 package_info_plus: ^8.0.0
path: ^1.9.0 path: ^1.9.0
@ -77,7 +79,9 @@ dependencies:
scroll_loop_auto_scroll: ^0.0.5 scroll_loop_auto_scroll: ^0.0.5
sensors_plus: ^5.0.1 sensors_plus: ^5.0.1
shelfsdk: shelfsdk:
path: ../../_dart/shelfsdk git:
url: https://github.com/Dr-Blank/shelfsdk
ref: main
shimmer: ^3.0.0 shimmer: ^3.0.0
url_launcher: ^6.2.6 url_launcher: ^6.2.6
dev_dependencies: dev_dependencies: