Skip to content

Commit

Permalink
unify desktop interface
Browse files Browse the repository at this point in the history
  • Loading branch information
pyrossh committed Aug 16, 2023
1 parent e31681b commit 3386df2
Show file tree
Hide file tree
Showing 9 changed files with 58 additions and 267 deletions.
File renamed without changes.
7 changes: 5 additions & 2 deletions lib/screens/chapter_view_screen.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import "package:flutter/material.dart";
import "package:only_bible_app/widgets/chapter_app_bar.dart";
import "package:only_bible_app/widgets/header.dart";
import "package:only_bible_app/state.dart";
import "package:only_bible_app/widgets/sidebar.dart";
import "package:only_bible_app/widgets/verses_view.dart";
Expand Down Expand Up @@ -49,7 +48,11 @@ class ChapterViewScreen extends StatelessWidget {
Flexible(
child: Column(
children: [
Header(),
ChapterAppBar(),
Padding(
padding: EdgeInsets.only(bottom: 10),
child: Divider(height: 5, indent: 20, endIndent: 20, thickness: 1.5),
),
Flexible(
child: VersesView(),
),
Expand Down
27 changes: 18 additions & 9 deletions lib/state.dart
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,29 @@ import "package:flutter/services.dart";
import "package:flutter/material.dart";
import "package:just_audio/just_audio.dart";
import "package:only_bible_app/screens/chapter_view_screen.dart";
import "package:only_bible_app/utils/dialog.dart";
import 'package:only_bible_app/dialog.dart';
import "package:only_bible_app/models.dart";
import "package:only_bible_app/widgets/actions_sheet.dart";
import "package:only_bible_app/widgets/settings_sheet.dart";
import "package:provider/provider.dart";
import "package:shared_preferences/shared_preferences.dart";

class HistoryFrame {
final int book;
final int chapter;
final int? verse;

const HistoryFrame({required this.book, required this.chapter, this.verse});
}

class AppModel extends ChangeNotifier {
String languageCode = "en";
Bible bible = bibles.first;
bool darkMode = false;
bool fontBold = false;
double textScaleFactor = 0;
bool actionsShown = false;
List<HistoryFrame> history = [];

static AppModel of(BuildContext context) {
return Provider.of(context, listen: true);
Expand Down Expand Up @@ -215,7 +224,11 @@ class ChapterViewModel extends ChangeNotifier {
final selectedBible = AppModel.ofEvent(context).bible;
final selectedBook = selectedBible.books[book];
if (chapter - 1 >= 0) {
// if (Navigator.of(context).canPop()) {
// Navigator.of(context).pop();
// } else {
navigateBookChapter(context, selectedBook.index, chapter - 1, TextDirection.rtl);
// }
} else {
if (selectedBook.index - 1 >= 0) {
final prevBook = selectedBible.books[selectedBook.index - 1];
Expand All @@ -233,20 +246,16 @@ class ChapterViewModel extends ChangeNotifier {
}

void onVerseSelected(BuildContext context, int i) {
if (!isWide(context)) {
if (selectedVerses.isEmpty) {
AppModel.ofEvent(context).showActions(context);
}
if (selectedVerses.isEmpty) {
AppModel.ofEvent(context).showActions(context);
}
if (selectedVerses.contains(i)) {
selectedVerses.remove(i);
} else {
selectedVerses.add(i);
}
if (!isWide(context)) {
if (selectedVerses.isEmpty) {
AppModel.ofEvent(context).hideActions(context);
}
if (selectedVerses.isEmpty) {
AppModel.ofEvent(context).hideActions(context);
}
notifyListeners();
}
Expand Down
54 changes: 28 additions & 26 deletions lib/widgets/actions_sheet.dart
Original file line number Diff line number Diff line change
Expand Up @@ -14,38 +14,40 @@ class ActionsSheet extends StatelessWidget {
final model = ChapterViewModel.of(context);
final audioIcon = model.isPlaying ? Icons.pause_circle_outline : Icons.play_circle_outline;
final audioText = model.isPlaying ? "Pause" : "Play";
final isDesktop = isWide(context);
return Container(
height: 160,
height: isDesktop ? 80 : 160,
color: Theme.of(context).colorScheme.background,
padding: EdgeInsets.only(bottom: isIOS() ? 20 : 0, left: 20, right: 20, top: 10),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
HighlightButton(
color: const Color(0xFFDAEFFE),
onTap: () {},
),
HighlightButton(
color: const Color(0xFFFFFBB1),
onTap: () {},
),
HighlightButton(
color: const Color(0xFFFFDEF3),
onTap: () {},
),
HighlightButton(
color: const Color(0xFFE6FCC3),
onTap: () {},
),
HighlightButton(
color: const Color(0xFFEADDFF),
onTap: () {},
),
],
),
if (!isDesktop)
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
HighlightButton(
color: const Color(0xFFDAEFFE),
onTap: () {},
),
HighlightButton(
color: const Color(0xFFFFFBB1),
onTap: () {},
),
HighlightButton(
color: const Color(0xFFFFDEF3),
onTap: () {},
),
HighlightButton(
color: const Color(0xFFE6FCC3),
onTap: () {},
),
HighlightButton(
color: const Color(0xFFEADDFF),
onTap: () {},
),
],
),
// const Padding(padding: EdgeInsets.only(top: 10)),
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
Expand Down
11 changes: 7 additions & 4 deletions lib/widgets/chapter_app_bar.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import "package:flutter/material.dart";
import "package:only_bible_app/screens/book_select_screen.dart";
import "package:only_bible_app/state.dart";
import "package:only_bible_app/widgets/more_button.dart";

class ChapterAppBar extends StatelessWidget implements PreferredSizeWidget {
const ChapterAppBar({super.key});
Expand All @@ -16,8 +15,8 @@ class ChapterAppBar extends StatelessWidget implements PreferredSizeWidget {
final selectedBook = selectedBible.books[model.book];
final bookName = selectedBook.name;
return SafeArea(
child: Padding(
padding: const EdgeInsets.only(left: 18, right: 5, bottom: 0),
child: Container(
padding: const EdgeInsets.only(left: 18, right: 5),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Expand Down Expand Up @@ -45,7 +44,11 @@ class ChapterAppBar extends StatelessWidget implements PreferredSizeWidget {
],
),
),
const MoreButton(),
IconButton(
padding: EdgeInsets.zero,
onPressed: () => AppModel.ofEvent(context).showSettings(context),
icon: const Icon(Icons.more_vert, size: 24),
),
],
),
),
Expand Down
91 changes: 0 additions & 91 deletions lib/widgets/header.dart

This file was deleted.

92 changes: 0 additions & 92 deletions lib/widgets/menu.dart

This file was deleted.

20 changes: 0 additions & 20 deletions lib/widgets/play_button.dart

This file was deleted.

Loading

0 comments on commit 3386df2

Please sign in to comment.