Skip to content

feature/moduler app #33

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Sep 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed asset/fonts/Poppins-Black.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-BlackItalic.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-Bold.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-BoldItalic.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-ExtraBold.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-ExtraBoldItalic.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-ExtraLight.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-ExtraLightItalic.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-Italic.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-Light.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-LightItalic.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-Medium.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-MediumItalic.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-Regular.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-SemiBold.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-SemiBoldItalic.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-Thin.ttf
Binary file not shown.
Binary file removed asset/fonts/Poppins-ThinItalic.ttf
Binary file not shown.
2 changes: 2 additions & 0 deletions lib/core/constants/navigation/navigation_constants.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,6 @@ class NavigationConstants {
static const DEFAULT = '/';
static const SETTINGS_WEB_VIEW = '/settingsWebView';
static const ON_BOARD = '/onBoard';

static const BUY_VIEW = '/buyView';
}
6 changes: 5 additions & 1 deletion lib/core/init/navigation/navigation_route.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import 'package:all_of_template/features/buy_view.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:fluttermvvmtemplate/view/authenticate/splash/view/splash_view.dart';
Expand All @@ -7,7 +8,7 @@ import '../../../view/authenticate/onboard/view/on_board_view.dart';
import '../../../view/authenticate/test/view/test_view.dart';
import '../../../view/settings/model/settings_dynamic.dart';
import '../../../view/settings/view/subview/settings_dynamic_view.dart';
import '../../components/card/not_found_navigation_widget.dart';
import 'package:architecture_widgets/src/card/not_found_navigation_widget.dart';
import '../../constants/navigation/navigation_constants.dart';

class NavigationRoute {
Expand All @@ -24,6 +25,9 @@ class NavigationRoute {
case NavigationConstants.TEST_VIEW:
return normalNavigate(TestsView());

case NavigationConstants.BUY_VIEW:
return normalNavigate(BuyView());

case NavigationConstants.ON_BOARD:
return normalNavigate(OnBoardView());

Expand Down
2 changes: 1 addition & 1 deletion lib/core/init/notifier/theme_notifer.dart
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import 'package:architecture_theme/theme/app_theme_light.dart';
import 'package:flutter/material.dart';

import '../../constants/enums/app_theme_enum.dart';
import '../theme/app_theme_light.dart';

class ThemeNotifier extends ChangeNotifier {
ThemeData _currentTheme = AppThemeLight.instance.theme;
Expand Down
79 changes: 0 additions & 79 deletions lib/core/init/theme/app_theme_light.dart

This file was deleted.

5 changes: 3 additions & 2 deletions lib/view/_product/_utilty/decoration_helper.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';

import '../../../core/components/decoration/circle_decoration.dart';
import 'package:architecture_widgets/src/decoration/circle_decoration.dart';
import '../../../core/extension/context_extension.dart';

class DecorationHelper {
Expand All @@ -9,5 +9,6 @@ class DecorationHelper {
this.context,
});

Decoration get circleDecoriaton => CircleDecoration(color: context!.colors.surface, radius: 3);
Decoration get circleDecoriaton =>
CircleDecoration(color: context!.colors.surface, radius: 3);
}
2 changes: 1 addition & 1 deletion lib/view/_product/_widgets/button/face_book_button.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';

import '../../../../core/components/button/title_text_button.dart';
import 'package:architecture_widgets/src/button/title_text_button.dart';

class FaceBookButton extends StatelessWidget {
final Function(FaceBookModel? data, {String? errorMessage})? onComplete;
Expand Down
2 changes: 1 addition & 1 deletion lib/view/_product/_widgets/button/login_button.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import 'package:flutter/material.dart';

import '../../../../core/components/button/icon_button.dart';
import 'package:architecture_widgets/src/button/icon_button.dart';

class MVVMLoginButton extends StatelessWidget {
final Function(String data)? onComplete;
Expand Down
5 changes: 3 additions & 2 deletions lib/view/_product/_widgets/listview/on_board_indicator.dart
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
import 'package:flutter/material.dart';
import '../../../../core/components/list-view/indicator_list_view.dart';
import 'package:architecture_widgets/src/list-view/indicator_list_view.dart';

class OnBoardIndcator extends StatelessWidget {
final int? itemCount;
final int? currentIndex;

const OnBoardIndcator({Key? key, this.itemCount, this.currentIndex}) : super(key: key);
const OnBoardIndcator({Key? key, this.itemCount, this.currentIndex})
: super(key: key);
@override
Widget build(BuildContext context) {
return IndactorListView(
Expand Down
2 changes: 1 addition & 1 deletion lib/view/authenticate/onboard/view/on_board_view.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:flutter_svg/svg.dart';

import '../../../../core/base/view/base_widget.dart';
import '../../../../core/components/text/auto_locale_text.dart';
import 'package:architecture_widgets/src/text/auto_locale_text.dart';
import '../../../../core/extension/context_extension.dart';
import '../../../_product/_widgets/avatar/on_board_circle.dart';
import '../model/on_board_model.dart';
Expand Down
5 changes: 5 additions & 0 deletions lib/view/authenticate/splash/viewmodel/splash_view_model.dart
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ abstract class _SplashViewModelBase with Store, BaseViewModel, DeviceAndCache {
WidgetsBinding.instance?.addPostFrameCallback((timeStamp) {
controlAppState();
});

// Dummy for moduler page
Future.delayed(Duration(seconds: 1)).then((value) {
navigation.navigateToPage(path: NavigationConstants.BUY_VIEW);
});
}

Future<void> controlAppState() async {
Expand Down
73 changes: 52 additions & 21 deletions lib/view/home/burger/view/burgers_view.dart
Original file line number Diff line number Diff line change
@@ -1,43 +1,54 @@
import 'package:architecture_widgets/architecture_widgets.dart';
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_mobx/flutter_mobx.dart';
import 'package:kartal/kartal.dart';

import '../../../../core/base/view/base_widget.dart';
import '../../../../core/components/slider/range_price_slider.dart';
import '../../../../core/init/lang/locale_keys.g.dart';
import '../../../../core/init/network/vexana_manager.dart';
import '../../../../product/widget/card/burger_card.dart';
import '../../../_product/_utilty/burger_network_enum.dart';
import '../service/burger_serivce.dart';
import '../viewmodel/burger_view_model.dart';

enum _BurgerViews { BEST_SELL_TITLE, BURGER_FOVORITE, NORMAL_TITLE, BURGER_VIEW }
enum _BurgerViews {
BEST_SELL_TITLE,
BURGER_FOVORITE,
NORMAL_TITLE,
BURGER_VIEW
}

class BurgersView extends StatelessWidget {
final _title = 'VB BURGER';
@override
Widget build(BuildContext context) {
return BaseView<BurgerViewModel>(
viewModel: BurgerViewModel(BurgerService(VexanaManager.instance.networkManager)),
viewModel:
BurgerViewModel(BurgerService(VexanaManager.instance.networkManager)),
onModelReady: (model) {
model.setContext(context);
model.init();
},
onPageBuilder: (BuildContext context, BurgerViewModel viewModel) => Scaffold(
onPageBuilder: (BuildContext context, BurgerViewModel viewModel) =>
Scaffold(
appBar: buildAppBar(context, viewModel),
body: buildObserverBuildbody(viewModel, context),
),
);
}

Observer buildObserverBuildbody(BurgerViewModel viewModel, BuildContext context) {
Observer buildObserverBuildbody(
BurgerViewModel viewModel, BuildContext context) {
return Observer(builder: (_) {
return viewModel.isLoading ? buildCenterLoading() : buildPaddingListView(context, viewModel);
return viewModel.isLoading
? buildCenterLoading()
: buildPaddingListView(context, viewModel);
});
}

Padding buildPaddingListView(BuildContext context, BurgerViewModel viewModel) {
Padding buildPaddingListView(
BuildContext context, BurgerViewModel viewModel) {
return Padding(
padding: context.paddingLow,
child: ListView.builder(
Expand All @@ -63,21 +74,28 @@ class BurgersView extends StatelessWidget {
return AppBar(
title: Text(
_title,
style: context.textTheme.headline5?.copyWith(fontWeight: FontWeight.w600, color: context.colorScheme.onError),
style: context.textTheme.headline5?.copyWith(
fontWeight: FontWeight.w600, color: context.colorScheme.onError),
),
centerTitle: false,
leading: Icon(Icons.food_bank_outlined, color: context.colorScheme.onError),
leading:
Icon(Icons.food_bank_outlined, color: context.colorScheme.onError),
actions: [
IconButton(
onPressed: () {
showModalBottomSheet(context: context, builder: (context) => buildBottomSheetBody(context, viewModel));
showModalBottomSheet(
context: context,
builder: (context) =>
buildBottomSheetBody(context, viewModel));
},
icon: Icon(Icons.filter_alt))
],
);
}

Widget buildBottomSheetBody(BuildContext context, BurgerViewModel viewModel) => Padding(
Widget buildBottomSheetBody(
BuildContext context, BurgerViewModel viewModel) =>
Padding(
padding: context.paddingLow,
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
Expand Down Expand Up @@ -118,8 +136,12 @@ class BurgersView extends StatelessWidget {
),
Row(
children: [
IconButton(onPressed: () => viewModel.changeAscending(true), icon: Icon(Icons.plus_one)),
IconButton(onPressed: () => viewModel.changeAscending(true), icon: Icon(Icons.design_services_rounded)),
IconButton(
onPressed: () => viewModel.changeAscending(true),
icon: Icon(Icons.plus_one)),
IconButton(
onPressed: () => viewModel.changeAscending(true),
icon: Icon(Icons.design_services_rounded)),
],
),
],
Expand All @@ -132,33 +154,42 @@ class BurgersView extends StatelessWidget {
Padding buildPaddingNormalTitle(BuildContext context) {
return Padding(
padding: context.verticalPaddingLow,
child: Text(LocaleKeys.home_burgers_normalProducts.tr(), style: context.textTheme.headline5),
child: Text(LocaleKeys.home_burgers_normalProducts.tr(),
style: context.textTheme.headline5),
);
}

Text buildTextBestSell(BuildContext context) {
return Text(
LocaleKeys.home_burgers_favoriteProducts.tr(),
style: context.textTheme.headline3?.copyWith(color: context.colorScheme.onSecondary, fontWeight: FontWeight.bold),
style: context.textTheme.headline3?.copyWith(
color: context.colorScheme.onSecondary, fontWeight: FontWeight.bold),
);
}

Center buildCenterLoading() => Center(child: CircularProgressIndicator.adaptive());
Center buildCenterLoading() =>
Center(child: CircularProgressIndicator.adaptive());

SizedBox buildSizedBoxFavorite(BuildContext context, BurgerViewModel viewModel) =>
SizedBox(height: context.dynamicHeight(0.3), child: BurgerCard().buildList(viewModel.favoriteBurgerModel));
SizedBox buildSizedBoxFavorite(
BuildContext context, BurgerViewModel viewModel) =>
SizedBox(
height: context.dynamicHeight(0.3),
child: BurgerCard().buildList(viewModel.favoriteBurgerModel));

Widget buildSizedBoxNormalBurgers(BurgerViewModel viewModel, BuildContext context) {
Widget buildSizedBoxNormalBurgers(
BurgerViewModel viewModel, BuildContext context) {
viewModel.fetchNormalItems();

return SizedBox(
child: Observer(builder: (_) {
return viewModel.isLoadingMain
? SizedBox(height: context.dynamicHeight(0.1), child: buildCenterLoading())
? SizedBox(
height: context.dynamicHeight(0.1), child: buildCenterLoading())
: GridView.builder(
physics: NeverScrollableScrollPhysics(),
shrinkWrap: true,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2),
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: 2),
itemBuilder: (context, index) {
return BurgerCard(
model: viewModel.mainBurgerModel[index],
Expand Down
Loading