mirror of
https://github.com/Dr-Blank/Vaani.git
synced 2025-12-07 11:39:29 +00:00
Refactor chapter seeking logic in AudiobookPlayerSeekChapterButton
This commit is contained in:
parent
9dcfbee201
commit
4a430209af
5 changed files with 13 additions and 21 deletions
|
|
@ -7,11 +7,11 @@ import 'package:url_launcher/url_launcher.dart';
|
||||||
import 'package:whispering_pages/api/api_provider.dart';
|
import 'package:whispering_pages/api/api_provider.dart';
|
||||||
import 'package:whispering_pages/api/authenticated_user_provider.dart';
|
import 'package:whispering_pages/api/authenticated_user_provider.dart';
|
||||||
import 'package:whispering_pages/api/server_provider.dart';
|
import 'package:whispering_pages/api/server_provider.dart';
|
||||||
|
import 'package:whispering_pages/features/onboarding/view/user_login.dart';
|
||||||
import 'package:whispering_pages/router/router.dart';
|
import 'package:whispering_pages/router/router.dart';
|
||||||
import 'package:whispering_pages/settings/api_settings_provider.dart';
|
import 'package:whispering_pages/settings/api_settings_provider.dart';
|
||||||
import 'package:whispering_pages/settings/models/models.dart' as model;
|
import 'package:whispering_pages/settings/models/models.dart' as model;
|
||||||
import 'package:whispering_pages/shared/widgets/add_new_server.dart';
|
import 'package:whispering_pages/shared/widgets/add_new_server.dart';
|
||||||
import 'package:whispering_pages/features/onboarding/view/user_login.dart';
|
|
||||||
|
|
||||||
class OnboardingSinglePage extends HookConsumerWidget {
|
class OnboardingSinglePage extends HookConsumerWidget {
|
||||||
const OnboardingSinglePage({
|
const OnboardingSinglePage({
|
||||||
|
|
@ -90,7 +90,7 @@ class OnboardingSinglePage extends HookConsumerWidget {
|
||||||
);
|
);
|
||||||
|
|
||||||
// redirect to the library page
|
// redirect to the library page
|
||||||
GoRouter.of(context).goNamed(Routes.home);
|
GoRouter.of(context).goNamed(Routes.home.name);
|
||||||
} else {
|
} else {
|
||||||
ScaffoldMessenger.of(context).showSnackBar(
|
ScaffoldMessenger.of(context).showSnackBar(
|
||||||
const SnackBar(
|
const SnackBar(
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@ class MyApp extends ConsumerWidget {
|
||||||
}
|
}
|
||||||
|
|
||||||
return MaterialApp.router(
|
return MaterialApp.router(
|
||||||
debugShowCheckedModeBanner: false,
|
// debugShowCheckedModeBanner: false,
|
||||||
theme: lightTheme,
|
theme: lightTheme,
|
||||||
darkTheme: darkTheme,
|
darkTheme: darkTheme,
|
||||||
themeMode: ref.watch(appSettingsProvider).isDarkMode
|
themeMode: ref.watch(appSettingsProvider).isDarkMode
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,10 @@
|
||||||
part of 'router.dart';
|
part of 'router.dart';
|
||||||
|
|
||||||
class Routes {
|
class Routes {
|
||||||
static const home = 'home';
|
static const home = _SimpleRoute(
|
||||||
|
pathName: '',
|
||||||
|
name: 'home',
|
||||||
|
);
|
||||||
static const onboarding = _SimpleRoute(
|
static const onboarding = _SimpleRoute(
|
||||||
pathName: 'login',
|
pathName: 'login',
|
||||||
name: 'onboarding',
|
name: 'onboarding',
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,9 @@
|
||||||
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/item_viewer/view/library_item_page.dart';
|
||||||
|
import 'package:whispering_pages/features/onboarding/view/onboarding_single_page.dart';
|
||||||
import 'package:whispering_pages/pages/app_settings.dart';
|
import 'package:whispering_pages/pages/app_settings.dart';
|
||||||
import 'package:whispering_pages/pages/home_page.dart';
|
import 'package:whispering_pages/pages/home_page.dart';
|
||||||
import 'package:whispering_pages/features/item_viewer/view/library_item_page.dart';
|
|
||||||
import 'package:whispering_pages/pages/library_page.dart';
|
|
||||||
import 'package:whispering_pages/features/onboarding/view/onboarding_single_page.dart';
|
|
||||||
|
|
||||||
import 'scaffold_with_nav_bar.dart';
|
import 'scaffold_with_nav_bar.dart';
|
||||||
import 'transitions/slide.dart';
|
import 'transitions/slide.dart';
|
||||||
|
|
@ -21,6 +20,7 @@ class MyAppRouter {
|
||||||
const MyAppRouter();
|
const MyAppRouter();
|
||||||
|
|
||||||
GoRouter get config => GoRouter(
|
GoRouter get config => GoRouter(
|
||||||
|
initialLocation: Routes.home.path,
|
||||||
routes: [
|
routes: [
|
||||||
// sign in page
|
// sign in page
|
||||||
GoRoute(
|
GoRoute(
|
||||||
|
|
@ -47,20 +47,11 @@ class MyAppRouter {
|
||||||
navigatorKey: _sectionHomeNavigatorKey,
|
navigatorKey: _sectionHomeNavigatorKey,
|
||||||
routes: <RouteBase>[
|
routes: <RouteBase>[
|
||||||
GoRoute(
|
GoRoute(
|
||||||
path: '/',
|
path: Routes.home.path,
|
||||||
name: Routes.home,
|
name: Routes.home.name,
|
||||||
// builder: (context, state) => const HomePage(),
|
// builder: (context, state) => const HomePage(),
|
||||||
pageBuilder: defaultPageBuilder(const HomePage()),
|
pageBuilder: defaultPageBuilder(const HomePage()),
|
||||||
),
|
),
|
||||||
// /library/:libraryId
|
|
||||||
GoRoute(
|
|
||||||
path: Routes.library.path,
|
|
||||||
name: Routes.library.name,
|
|
||||||
builder: (context, state) => LibraryPage(
|
|
||||||
libraryId:
|
|
||||||
state.pathParameters[Routes.library.pathParamName]!,
|
|
||||||
),
|
|
||||||
),
|
|
||||||
GoRoute(
|
GoRoute(
|
||||||
path: Routes.libraryItem.path,
|
path: Routes.libraryItem.path,
|
||||||
name: Routes.libraryItem.name,
|
name: Routes.libraryItem.name,
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,3 @@
|
||||||
import 'dart:math';
|
|
||||||
|
|
||||||
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';
|
||||||
|
|
@ -28,7 +26,7 @@ class ScaffoldWithNavBar extends HookConsumerWidget {
|
||||||
var percentExpanded = (playerProgress - playerMinHeight) /
|
var percentExpanded = (playerProgress - playerMinHeight) /
|
||||||
(playerMaxHeight - playerMinHeight);
|
(playerMaxHeight - playerMinHeight);
|
||||||
// Clamp the value between 0 and 1
|
// Clamp the value between 0 and 1
|
||||||
percentExpanded = max(0, min(1, percentExpanded));
|
percentExpanded = percentExpanded.clamp(0.0, 1.0);
|
||||||
|
|
||||||
return Scaffold(
|
return Scaffold(
|
||||||
body: Stack(
|
body: Stack(
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue