Skip to content

Commit

Permalink
Merge pull request #192 from tusharlock10/develop
Browse files Browse the repository at this point in the history
Develop
  • Loading branch information
tusharlock10 authored Mar 1, 2022
2 parents a08da02 + 3d6063f commit a20c8aa
Show file tree
Hide file tree
Showing 12 changed files with 133 additions and 45 deletions.
4 changes: 4 additions & 0 deletions .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"

flutter analyze
64 changes: 33 additions & 31 deletions lib/main.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import 'package:paladinsedge/firebase_options.dart' as firebase_options;
import 'package:paladinsedge/providers/index.dart' as providers;
import 'package:paladinsedge/screens/index.dart' as screens;
import 'package:paladinsedge/theme/index.dart' as theme;
import 'package:paladinsedge/utilities/messaging.dart' as messaging;
import 'package:paladinsedge/utilities/index.dart' as utilities;
import 'package:responsive_framework/responsive_framework.dart';

void main() async {
Expand All @@ -16,9 +16,9 @@ void main() async {
options: firebase_options.DefaultFirebaseOptions.currentPlatform,
);

messaging.Messaging.onMessage();
messaging.Messaging.onBackgroundMessage();
messaging.Messaging.registerLocalNotification();
utilities.Messaging.onMessage();
utilities.Messaging.onBackgroundMessage();
utilities.Messaging.registerLocalNotification();

runApp(const ProviderScope(child: PaladinsEdgeApp()));
}
Expand All @@ -33,33 +33,35 @@ class PaladinsEdgeApp extends ConsumerWidget {

return OverlaySupport.global(
toastTheme: ToastThemeData(alignment: Alignment.bottomCenter),
child: MaterialApp(
navigatorObservers: const [],
debugShowCheckedModeBanner: false,
themeMode: themeMode,
theme: theme.lightTheme,
darkTheme: theme.darkTheme,
routes: screens.routes,
title: "Paladins Edge",
color: Colors.white,
scrollBehavior: BouncingScrollBehavior(),
builder: (context, widget) => ResponsiveWrapper.builder(
widget,
defaultScale: true,
breakpoints: [
const ResponsiveBreakpoint.resize(
constants.ResponsiveBreakpoints.mobile,
name: MOBILE,
),
const ResponsiveBreakpoint.autoScale(
constants.ResponsiveBreakpoints.tablet,
name: TABLET,
),
const ResponsiveBreakpoint.resize(
constants.ResponsiveBreakpoints.desktop,
name: DESKTOP,
),
],
child: GestureDetector(
onTap: () => utilities.unFocusNode(context),
child: MaterialApp(
debugShowCheckedModeBanner: false,
themeMode: themeMode,
theme: theme.lightTheme,
darkTheme: theme.darkTheme,
routes: screens.routes,
title: "Paladins Edge",
color: Colors.white,
scrollBehavior: BouncingScrollBehavior(),
builder: (context, widget) => ResponsiveWrapper.builder(
widget,
defaultScale: true,
breakpoints: [
const ResponsiveBreakpoint.resize(
constants.ResponsiveBreakpoints.mobile,
name: MOBILE,
),
const ResponsiveBreakpoint.autoScale(
constants.ResponsiveBreakpoints.tablet,
name: TABLET,
),
const ResponsiveBreakpoint.resize(
constants.ResponsiveBreakpoints.desktop,
name: DESKTOP,
),
],
),
),
),
);
Expand Down
3 changes: 3 additions & 0 deletions lib/screens/bottom_tabs/bottom_tabs.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:paladinsedge/data_classes/index.dart' as data_classes;
import 'package:paladinsedge/screens/index.dart' as screens;
import 'package:paladinsedge/utilities/index.dart' as utilities;
import 'package:paladinsedge/widgets/index.dart' as widgets;

class BottomTabs extends HookWidget {
Expand Down Expand Up @@ -37,6 +38,8 @@ class BottomTabs extends HookWidget {
return Scaffold(
drawer: const widgets.AppDrawer(),
drawerEnableOpenDragGesture: false,
onDrawerChanged: (isOpened) =>
isOpened ? utilities.unFocusNode(context) : null,
body: IndexedStack(
children: _pages.map((page) => page.screen).toList(),
index: selectedPageIndex.value,
Expand Down
20 changes: 17 additions & 3 deletions lib/screens/champions/champion_item.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:paladinsedge/models/index.dart' as models;
import 'package:paladinsedge/screens/index.dart' as screens;
import 'package:paladinsedge/theme/index.dart' as theme;
import 'package:paladinsedge/utilities/index.dart' as utilities;
import 'package:paladinsedge/widgets/index.dart' as widgets;

class ChampionItem extends StatelessWidget {
class ChampionItem extends HookWidget {
final models.Champion champion;
final models.PlayerChampion? playerChampion;
final double height;
Expand All @@ -21,12 +23,25 @@ class ChampionItem extends StatelessWidget {
Widget build(
BuildContext context,
) {
// Variables
final textTheme = Theme.of(context).textTheme;
MaterialColor levelColor = Colors.blueGrey;
if (playerChampion?.level != null && playerChampion!.level > 49) {
levelColor = Colors.orange;
}

// Methods
final onTapChampion = useCallback(
() {
utilities.unFocusNode(context);
Navigator.of(context).pushNamed(
screens.ChampionDetail.routeName,
arguments: champion,
);
},
[],
);

return SizedBox(
width: width,
height: height,
Expand All @@ -36,8 +51,7 @@ class ChampionItem extends StatelessWidget {
),
child: InkWell(
borderRadius: const BorderRadius.all(Radius.circular(15)),
onTap: () => Navigator.of(context)
.pushNamed(screens.ChampionDetail.routeName, arguments: champion),
onTap: onTapChampion,
child: Padding(
padding: const EdgeInsets.all(10),
child: Row(
Expand Down
2 changes: 2 additions & 0 deletions lib/screens/search/lower_search_item.dart
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:paladinsedge/api/index.dart' as api;
import 'package:paladinsedge/providers/index.dart' as providers;
import 'package:paladinsedge/screens/index.dart' as screens;
import 'package:paladinsedge/utilities/index.dart' as utilities;

class LowerSearchItem extends HookConsumerWidget {
final api.LowerSearch lowerSearch;
Expand All @@ -24,6 +25,7 @@ class LowerSearchItem extends HookConsumerWidget {
// Methods
final onTap = useCallback(
() {
utilities.unFocusNode(context);
playersProvider.setPlayerId(lowerSearch.playerId);
Navigator.of(context).pushNamed(screens.PlayerDetail.routeName);
},
Expand Down
2 changes: 2 additions & 0 deletions lib/screens/search/search.dart
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import 'package:paladinsedge/screens/search/lower_search_list.dart';
import 'package:paladinsedge/screens/search/search_history.dart';
import 'package:paladinsedge/screens/search/top_search_bar.dart';
import 'package:paladinsedge/screens/search/top_search_list.dart';
import 'package:paladinsedge/utilities/index.dart' as utilities;

class Search extends HookConsumerWidget {
static const routeName = '/search';
Expand Down Expand Up @@ -41,6 +42,7 @@ class Search extends HookConsumerWidget {
isLoading.value = false;

if (exactMatch) {
utilities.unFocusNode(context);
Navigator.of(context).pushNamed(screens.PlayerDetail.routeName);
}
},
Expand Down
2 changes: 2 additions & 0 deletions lib/screens/search/top_search_item.dart
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import 'package:jiffy/jiffy.dart';
import 'package:paladinsedge/models/index.dart' as models;
import 'package:paladinsedge/providers/index.dart' as providers;
import 'package:paladinsedge/screens/index.dart' as screens;
import 'package:paladinsedge/utilities/index.dart' as utilities;
import 'package:paladinsedge/widgets/index.dart' as widgets;

class TopSearchItem extends HookConsumerWidget {
Expand All @@ -26,6 +27,7 @@ class TopSearchItem extends HookConsumerWidget {
// Methods
final onTap = useCallback(
() {
utilities.unFocusNode(context);
playersProvider.setPlayerId(player.playerId);
Navigator.of(context).pushNamed(screens.PlayerDetail.routeName);
},
Expand Down
3 changes: 3 additions & 0 deletions lib/utilities/responsive.dart
Original file line number Diff line number Diff line change
Expand Up @@ -16,3 +16,6 @@ T responsiveCondition<T>(

return mobile;
}

unFocusNode(BuildContext context) =>
FocusScope.of(context).requestFocus(FocusNode());
2 changes: 2 additions & 0 deletions lib/widgets/champion_loadout_card.dart
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:paladinsedge/data_classes/index.dart' as data_classes;
import 'package:paladinsedge/models/index.dart' as models;
import 'package:paladinsedge/utilities/index.dart' as utilities;
import 'package:paladinsedge/widgets/index.dart' as widgets;

class ChampionLoadoutCard extends HookWidget {
Expand All @@ -28,6 +29,7 @@ class ChampionLoadoutCard extends HookWidget {
() {
if (card == null || champion == null) return;

utilities.unFocusNode(context);
widgets.showLoadoutCardDetailSheet(
data_classes.ShowLoadoutDetailsOptions(
card: card!,
Expand Down
33 changes: 22 additions & 11 deletions lib/widgets/loadout_deck_card.dart
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
import 'package:flutter/material.dart';
import 'package:flutter_hooks/flutter_hooks.dart';
import 'package:paladinsedge/data_classes/index.dart' as data_classes;
import 'package:paladinsedge/models/index.dart' as models;
import 'package:paladinsedge/theme/index.dart' as theme;
import 'package:paladinsedge/utilities/index.dart' as utilities;
import 'package:paladinsedge/widgets/index.dart' as widgets;

class LoadoutDeckCard extends StatelessWidget {
class LoadoutDeckCard extends HookWidget {
final double imageHeight;
final double imageWidth;
final models.Card card;
Expand All @@ -26,6 +28,24 @@ class LoadoutDeckCard extends StatelessWidget {

@override
Widget build(BuildContext context) {
// Methods
final onTapCard = useCallback(
() {
utilities.unFocusNode(context);
widgets.showLoadoutCardDetailSheet(
data_classes.ShowLoadoutDetailsOptions(
context: context,
champion: champion,
card: card,
cardPoints: loadoutCard.level,
onSliderChange: onSliderChange,
sliderFixed: sliderFixed,
),
);
},
[],
);

return SizedBox(
height: imageHeight,
width: imageWidth,
Expand All @@ -34,16 +54,7 @@ class LoadoutDeckCard extends StatelessWidget {
child: ClipRRect(
borderRadius: const BorderRadius.all(Radius.circular(5)),
child: GestureDetector(
onTap: () => widgets.showLoadoutCardDetailSheet(
data_classes.ShowLoadoutDetailsOptions(
context: context,
champion: champion,
card: card,
cardPoints: loadoutCard.level,
onSliderChange: onSliderChange,
sliderFixed: sliderFixed,
),
),
onTap: onTapCard,
child: Stack(
children: [
SizedBox(
Expand Down
35 changes: 35 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"devDependencies": {
"husky": "^7.0.4"
},
"scripts": {
"prepare": "husky install"
}
}

0 comments on commit a20c8aa

Please sign in to comment.