~repos /only-bible-app
GIT_CONFIG_PARAMETERS="'http.version=HTTP/1.1'" git clone
https://git.pyrossh.dev/only-bible-app.git
Discussions:
https://groups.google.com/g/rust-embed-devs
The only bible app you will ever need. No ads. No in-app purchases. No distractions.
lib/widgets/home_app_bar.dart
import "package:flutter/material.dart";import "package:only_bible_app/dialog.dart";import "package:only_bible_app/gen/bible.gen.dart";import "package:only_bible_app/store/actions_navigation.dart";import "package:only_bible_app/store/app_navigator.dart";import "package:only_bible_app/store/app_state.dart";
class HomeAppBar extends StatelessWidget implements PreferredSizeWidget { final Bible bible; final Book book; final Chapter chapter;
const HomeAppBar({ super.key, required this.book, required this.chapter, required this.bible, });
@override Size get preferredSize => const Size.fromHeight(40);
@override Widget build(BuildContext context) { return SafeArea( child: Container( padding: const EdgeInsets.only(left: 18, right: 5, top: 0), child: Row( crossAxisAlignment: CrossAxisAlignment.center, children: [ Expanded( child: Row( mainAxisSize: MainAxisSize.min, children: [ InkWell( key: const Key("bookTitle"), enableFeedback: true, onTap: () => context.dispatch(ShowBookSelectAction(context, context.router, bible)), child: Text( book.name!, style: Theme.of(context).textTheme.headlineMedium, maxLines: 1, ), ), InkWell( key: const Key("chapterTitle"), enableFeedback: true, onTap: () => context.dispatch(ShowChapterSelectAction(context, context.router, bible, book)), child: Padding( padding: const EdgeInsets.only(left: 16, right: 16), child: Text( "${chapter.index + 1}", style: Theme.of(context).textTheme.headlineMedium, ), ), ), ], ), ), // InkWell( // enableFeedback: true, // onTap: () => showBibleSelectDialog(context, bible), // child: Padding( // padding: const EdgeInsets.only(left: 16, right: 16), // child: Text( // bible.languageNative!.toUpperCase(), // style: Theme.of(context).textTheme.headlineMedium, // key: const Key("bible"), // ), // ), // ), IconButton( enableFeedback: true, key: const Key("bible"), padding: EdgeInsets.zero, icon: const Icon(Icons.menu_book, size: 28), onPressed: () => showBibleSelectDialog(context, bible), ), IconButton( enableFeedback: true, key: const Key("settingsButton"), padding: EdgeInsets.zero, icon: const Icon(Icons.more_vert, size: 28), onPressed: () => context.dispatch(ShowSettingsAction(context, bible)), ), ], ), ), ); }}