diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 00000000..b8e880fd --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "cSpell.words": [ + "datagrid", + "syncfusion" + ] +} \ No newline at end of file diff --git a/analysis_options.yaml b/analysis_options.yaml index 376c1c8c..ad1016b0 100644 --- a/analysis_options.yaml +++ b/analysis_options.yaml @@ -33,8 +33,8 @@ linter: # producing the lint. rules: - always_use_package_imports - # avoid_print: false # Uncomment to disable the `avoid_print` rule - # prefer_single_quotes: true # Uncomment to enable the `prefer_single_quotes` rule + - prefer_if_null_operators + - prefer_double_quotes # Additional information about this file can be found at # https://dart.dev/guides/language/analysis-options diff --git a/lib/api/auth/index.dart b/lib/api/auth/index.dart index c669a4a1..224289a4 100644 --- a/lib/api/auth/index.dart +++ b/lib/api/auth/index.dart @@ -1,2 +1,2 @@ -export './requests.dart'; -export './responses.dart'; +export "./requests.dart"; +export "./responses.dart"; diff --git a/lib/api/auth/requests.dart b/lib/api/auth/requests.dart index a8a1191a..c537eaab 100644 --- a/lib/api/auth/requests.dart +++ b/lib/api/auth/requests.dart @@ -1,6 +1,6 @@ -import 'package:paladinsedge/api/auth/responses.dart' as responses; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:paladinsedge/api/auth/responses.dart" as responses; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/utilities/index.dart" as utilities; abstract class AuthRequests { static Future checkPlayerClaimed({ @@ -10,7 +10,7 @@ abstract class AuthRequests { final response = await utilities.api.get>( constants.Urls.checkPlayerClaimed, queryParameters: { - 'playerId': playerId, + "playerId": playerId, }, ); if (response.data != null) { @@ -31,8 +31,8 @@ abstract class AuthRequests { final response = await utilities.api.post>( constants.Urls.claimPlayer, data: { - 'verification': verification, - 'playerId': playerId, + "verification": verification, + "playerId": playerId, }, ); if (response.data != null) { @@ -62,7 +62,7 @@ abstract class AuthRequests { static Future fcmToken({required String fcmToken}) async { try { await utilities.api - .post(constants.Urls.fcmToken, data: {'fcmToken': fcmToken}); + .post(constants.Urls.fcmToken, data: {"fcmToken": fcmToken}); return true; } catch (_) { @@ -80,10 +80,10 @@ abstract class AuthRequests { final response = await utilities.api.post>( constants.Urls.login, data: { - 'uid': uid, - 'email': email, - 'name': name, - 'verification': verification, + "uid": uid, + "email": email, + "name": name, + "verification": verification, }, ); if (response.data != null) { diff --git a/lib/api/auth/responses.dart b/lib/api/auth/responses.dart index e6029536..8bd8e9f6 100644 --- a/lib/api/auth/responses.dart +++ b/lib/api/auth/responses.dart @@ -1,7 +1,7 @@ -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/models/index.dart' show User, Player, Essentials; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/models/index.dart" show User, Player, Essentials; -part 'responses.g.dart'; +part "responses.g.dart"; @JsonSerializable() class LoginResponse { diff --git a/lib/api/bounty_store/index.dart b/lib/api/bounty_store/index.dart index c669a4a1..224289a4 100644 --- a/lib/api/bounty_store/index.dart +++ b/lib/api/bounty_store/index.dart @@ -1,2 +1,2 @@ -export './requests.dart'; -export './responses.dart'; +export "./requests.dart"; +export "./responses.dart"; diff --git a/lib/api/bounty_store/requests.dart b/lib/api/bounty_store/requests.dart index 701a7a73..8fb760a5 100644 --- a/lib/api/bounty_store/requests.dart +++ b/lib/api/bounty_store/requests.dart @@ -1,6 +1,6 @@ -import 'package:paladinsedge/api/bounty_store/responses.dart' as responses; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:paladinsedge/api/bounty_store/responses.dart" as responses; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/utilities/index.dart" as utilities; abstract class BountyStoreRequests { static Future diff --git a/lib/api/bounty_store/responses.dart b/lib/api/bounty_store/responses.dart index b0c562d6..cab4fdcb 100644 --- a/lib/api/bounty_store/responses.dart +++ b/lib/api/bounty_store/responses.dart @@ -1,7 +1,7 @@ -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/models/index.dart' show BountyStore; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/models/index.dart" show BountyStore; -part 'responses.g.dart'; +part "responses.g.dart"; @JsonSerializable() class BountyStoreDetailsResponse { diff --git a/lib/api/champions/index.dart b/lib/api/champions/index.dart index c669a4a1..224289a4 100644 --- a/lib/api/champions/index.dart +++ b/lib/api/champions/index.dart @@ -1,2 +1,2 @@ -export './requests.dart'; -export './responses.dart'; +export "./requests.dart"; +export "./responses.dart"; diff --git a/lib/api/champions/requests.dart b/lib/api/champions/requests.dart index 090d3a13..d754b094 100644 --- a/lib/api/champions/requests.dart +++ b/lib/api/champions/requests.dart @@ -1,7 +1,7 @@ -import 'package:paladinsedge/api/champions/responses.dart' as responses; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:paladinsedge/api/champions/responses.dart" as responses; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/utilities/index.dart" as utilities; abstract class ChampionsRequests { static Future allChampions() async { @@ -27,8 +27,8 @@ abstract class ChampionsRequests { final response = await utilities.api.get>( constants.Urls.playerChampions, queryParameters: { - 'playerId': playerId, - 'forceUpdate': forceUpdate, + "playerId": playerId, + "forceUpdate": forceUpdate, }, ); if (response.data != null) { @@ -48,7 +48,7 @@ abstract class ChampionsRequests { final response = await utilities.api.post>( constants.Urls.batchPlayerChampions, data: { - 'playerChampionsQuery': playerChampionsQuery, + "playerChampionsQuery": playerChampionsQuery, }, ); if (response.data != null) { diff --git a/lib/api/champions/responses.dart b/lib/api/champions/responses.dart index ecae9036..f4a1f564 100644 --- a/lib/api/champions/responses.dart +++ b/lib/api/champions/responses.dart @@ -1,7 +1,7 @@ -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/models/index.dart' show Champion, PlayerChampion; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/models/index.dart" show Champion, PlayerChampion; -part 'responses.g.dart'; +part "responses.g.dart"; @JsonSerializable() class AllChampionsResponse { diff --git a/lib/api/feedback/index.dart b/lib/api/feedback/index.dart index c669a4a1..224289a4 100644 --- a/lib/api/feedback/index.dart +++ b/lib/api/feedback/index.dart @@ -1,2 +1,2 @@ -export './requests.dart'; -export './responses.dart'; +export "./requests.dart"; +export "./responses.dart"; diff --git a/lib/api/feedback/requests.dart b/lib/api/feedback/requests.dart index 929b1c49..041bec8a 100644 --- a/lib/api/feedback/requests.dart +++ b/lib/api/feedback/requests.dart @@ -1,7 +1,7 @@ -import 'package:paladinsedge/api/feedback/responses.dart' as responses; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:paladinsedge/api/feedback/responses.dart" as responses; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/utilities/index.dart" as utilities; abstract class FeedbackRequests { static Future uploadImageUrl({ @@ -10,7 +10,7 @@ abstract class FeedbackRequests { try { final response = await utilities.api.get>( constants.Urls.uploadImageUrl, - queryParameters: {'fileName': fileName}, + queryParameters: {"fileName": fileName}, ); if (response.data != null) { return responses.UploadImageUrlResponse.fromJson(response.data!); @@ -29,7 +29,7 @@ abstract class FeedbackRequests { final response = await utilities.api.post>( constants.Urls.submitFeedback, data: { - 'feedback': feedback, + "feedback": feedback, }, ); if (response.data != null) { diff --git a/lib/api/feedback/responses.dart b/lib/api/feedback/responses.dart index 960587b9..7e442923 100644 --- a/lib/api/feedback/responses.dart +++ b/lib/api/feedback/responses.dart @@ -1,7 +1,7 @@ -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/models/index.dart' show Feedback; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/models/index.dart" show Feedback; -part 'responses.g.dart'; +part "responses.g.dart"; @JsonSerializable() class UploadImageUrlResponse { diff --git a/lib/api/index.dart b/lib/api/index.dart index 3349cd85..52b9d692 100644 --- a/lib/api/index.dart +++ b/lib/api/index.dart @@ -1,8 +1,8 @@ -export './auth/index.dart'; -export './bounty_store/index.dart'; -export './champions/index.dart'; -export './feedback/index.dart'; -export './loadout/index.dart'; -export './match/index.dart'; -export './players/index.dart'; -export './queue/index.dart'; +export "./auth/index.dart"; +export "./bounty_store/index.dart"; +export "./champions/index.dart"; +export "./feedback/index.dart"; +export "./loadout/index.dart"; +export "./match/index.dart"; +export "./players/index.dart"; +export "./queue/index.dart"; diff --git a/lib/api/loadout/index.dart b/lib/api/loadout/index.dart index c669a4a1..224289a4 100644 --- a/lib/api/loadout/index.dart +++ b/lib/api/loadout/index.dart @@ -1,2 +1,2 @@ -export './requests.dart'; -export './responses.dart'; +export "./requests.dart"; +export "./responses.dart"; diff --git a/lib/api/loadout/requests.dart b/lib/api/loadout/requests.dart index 325d3b18..d2f0b56e 100644 --- a/lib/api/loadout/requests.dart +++ b/lib/api/loadout/requests.dart @@ -1,7 +1,7 @@ -import 'package:paladinsedge/api/loadout/responses.dart' as responses; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:paladinsedge/api/loadout/responses.dart" as responses; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/utilities/index.dart" as utilities; abstract class LoadoutRequests { static Future playerLoadouts({ @@ -13,9 +13,9 @@ abstract class LoadoutRequests { final response = await utilities.api.get>( constants.Urls.playerLoadouts, queryParameters: { - 'playerId': playerId, - 'championId': championId, - 'forceUpdate': forceUpdate, + "playerId": playerId, + "championId": championId, + "forceUpdate": forceUpdate, }, ); if (response.data != null) { @@ -35,7 +35,7 @@ abstract class LoadoutRequests { final response = await utilities.api.post>( constants.Urls.savePlayerLoadout, data: { - 'loadout': loadout, + "loadout": loadout, }, ); if (response.data != null) { @@ -55,7 +55,7 @@ abstract class LoadoutRequests { final response = await utilities.api.put>( constants.Urls.updatePlayerLoadout, data: { - 'loadout': loadout, + "loadout": loadout, }, ); if (response.data != null) { @@ -76,8 +76,8 @@ abstract class LoadoutRequests { final response = await utilities.api.delete>( constants.Urls.deletePlayerLoadout, queryParameters: { - 'loadoutHash': loadoutHash, - 'dryRun': dryRun ?? false, + "loadoutHash": loadoutHash, + "dryRun": dryRun ?? false, }, ); if (response.data != null) { diff --git a/lib/api/loadout/responses.dart b/lib/api/loadout/responses.dart index 21ad2c5d..4f4adc10 100644 --- a/lib/api/loadout/responses.dart +++ b/lib/api/loadout/responses.dart @@ -1,7 +1,7 @@ -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/models/index.dart' show Loadout; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/models/index.dart" show Loadout; -part 'responses.g.dart'; +part "responses.g.dart"; @JsonSerializable() class PlayerLoadoutsResponse { diff --git a/lib/api/match/index.dart b/lib/api/match/index.dart index c669a4a1..224289a4 100644 --- a/lib/api/match/index.dart +++ b/lib/api/match/index.dart @@ -1,2 +1,2 @@ -export './requests.dart'; -export './responses.dart'; +export "./requests.dart"; +export "./responses.dart"; diff --git a/lib/api/match/requests.dart b/lib/api/match/requests.dart index 056d3d00..47a31f65 100644 --- a/lib/api/match/requests.dart +++ b/lib/api/match/requests.dart @@ -1,6 +1,6 @@ -import 'package:paladinsedge/api/match/responses.dart' as responses; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:paladinsedge/api/match/responses.dart" as responses; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/utilities/index.dart" as utilities; abstract class MatchRequests { static Future matchDetails({ @@ -9,7 +9,7 @@ abstract class MatchRequests { try { final response = await utilities.api.get>( constants.Urls.matchDetails, - queryParameters: {'matchId': matchId}, + queryParameters: {"matchId": matchId}, ); if (response.data != null) { return responses.MatchDetailsResponse.fromJson(response.data!); @@ -29,8 +29,8 @@ abstract class MatchRequests { final response = await utilities.api.get>( constants.Urls.playerMatches, queryParameters: { - 'playerId': playerId, - 'forceUpdate': forceUpdate, + "playerId": playerId, + "forceUpdate": forceUpdate, }, ); if (response.data != null) { diff --git a/lib/api/match/responses.dart b/lib/api/match/responses.dart index 02c11920..5e514bbc 100644 --- a/lib/api/match/responses.dart +++ b/lib/api/match/responses.dart @@ -1,7 +1,7 @@ -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/models/index.dart' show Match, MatchPlayer; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/models/index.dart" show Match, MatchPlayer; -part 'responses.g.dart'; +part "responses.g.dart"; @JsonSerializable() class MatchDetailsResponse { diff --git a/lib/api/players/index.dart b/lib/api/players/index.dart index c669a4a1..224289a4 100644 --- a/lib/api/players/index.dart +++ b/lib/api/players/index.dart @@ -1,2 +1,2 @@ -export './requests.dart'; -export './responses.dart'; +export "./requests.dart"; +export "./responses.dart"; diff --git a/lib/api/players/requests.dart b/lib/api/players/requests.dart index ebd050a7..4fa6c223 100644 --- a/lib/api/players/requests.dart +++ b/lib/api/players/requests.dart @@ -1,6 +1,6 @@ -import 'package:paladinsedge/api/players/responses.dart' as responses; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:paladinsedge/api/players/responses.dart" as responses; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/utilities/index.dart" as utilities; abstract class PlayersRequests { static Future searchPlayers({ @@ -11,8 +11,8 @@ abstract class PlayersRequests { final response = await utilities.api.get>( constants.Urls.searchPlayers, queryParameters: { - 'playerName': playerName, - 'simpleResults': simpleResults, + "playerName": playerName, + "simpleResults": simpleResults, }, ); if (response.data != null) { @@ -32,7 +32,7 @@ abstract class PlayersRequests { try { final response = await utilities.api.get>( constants.Urls.playerDetail, - queryParameters: {'playerId': playerId, 'forceUpdate': forceUpdate}, + queryParameters: {"playerId": playerId, "forceUpdate": forceUpdate}, ); if (response.data != null) { return responses.PlayerDetailResponse.fromJson(response.data!); @@ -50,7 +50,7 @@ abstract class PlayersRequests { try { final response = await utilities.api.post>( constants.Urls.batchPlayerDetails, - data: {'playerIds': playerIds}, + data: {"playerIds": playerIds}, ); if (response.data != null) { return responses.BatchPlayerDetailsResponse.fromJson(response.data!); @@ -70,8 +70,8 @@ abstract class PlayersRequests { final response = await utilities.api.get>( constants.Urls.playerStatus, queryParameters: { - 'playerId': playerId, - 'onlyStatus': onlyStatus, + "playerId": playerId, + "onlyStatus": onlyStatus, }, ); if (response.data != null) { @@ -90,7 +90,7 @@ abstract class PlayersRequests { try { final response = await utilities.api.get>( constants.Urls.friends, - queryParameters: {'playerId': playerId}, + queryParameters: {"playerId": playerId}, ); if (response.data != null) { return responses.FriendsResponse.fromJson(response.data!); @@ -124,7 +124,7 @@ abstract class PlayersRequests { try { final response = await utilities.api.put>( constants.Urls.updateFavouriteFriend, - data: {'playerId': playerId}, + data: {"playerId": playerId}, ); if (response.data != null) { return responses.UpdateFavouriteFriendResponse.fromJson(response.data!); diff --git a/lib/api/players/responses.dart b/lib/api/players/responses.dart index c80d797a..a6624b77 100644 --- a/lib/api/players/responses.dart +++ b/lib/api/players/responses.dart @@ -1,8 +1,8 @@ -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/models/index.dart' +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/models/index.dart" show Player, ActiveMatch, SearchHistory; -part 'responses.g.dart'; +part "responses.g.dart"; @JsonSerializable() class LowerSearch { diff --git a/lib/api/queue/index.dart b/lib/api/queue/index.dart index c669a4a1..224289a4 100644 --- a/lib/api/queue/index.dart +++ b/lib/api/queue/index.dart @@ -1,2 +1,2 @@ -export './requests.dart'; -export './responses.dart'; +export "./requests.dart"; +export "./responses.dart"; diff --git a/lib/api/queue/requests.dart b/lib/api/queue/requests.dart index ef6992ef..1d2652d8 100644 --- a/lib/api/queue/requests.dart +++ b/lib/api/queue/requests.dart @@ -1,6 +1,6 @@ -import 'package:paladinsedge/api/queue/responses.dart' as responses; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:paladinsedge/api/queue/responses.dart" as responses; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/utilities/index.dart" as utilities; abstract class QueueRequests { static Future queueTimeline() async { diff --git a/lib/api/queue/responses.dart b/lib/api/queue/responses.dart index 4a2b02b5..5d3b775d 100644 --- a/lib/api/queue/responses.dart +++ b/lib/api/queue/responses.dart @@ -1,7 +1,7 @@ -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/models/index.dart' show Queue; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/models/index.dart" show Queue; -part 'responses.g.dart'; +part "responses.g.dart"; @JsonSerializable() class QueueTimelineResponse { diff --git a/lib/constants.dart b/lib/constants.dart index d4852d8d..e04a9c62 100644 --- a/lib/constants.dart +++ b/lib/constants.dart @@ -1,12 +1,12 @@ import "package:flutter/foundation.dart"; import "package:flutter/material.dart"; -import 'package:flutter_dotenv/flutter_dotenv.dart'; -import 'package:paladinsedge/data_classes/champions/index.dart' as data_classes; +import "package:flutter_dotenv/flutter_dotenv.dart"; +import "package:paladinsedge/data_classes/champions/index.dart" as data_classes; const isDebug = kDebugMode; const isWeb = kIsWeb; const apiTimeout = isDebug ? 10 * 1000 : 20 * 1000; -const releaseTag = 'alpha'; +const releaseTag = "alpha"; abstract class Urls { // root @@ -23,7 +23,7 @@ abstract class Urls { // champions static const allChampions = "/champions/allChampions"; // GET static const playerChampions = "/champions/playerChampions"; // GET - static const batchPlayerChampions = '/champions/batchPlayerChampions'; // POST + static const batchPlayerChampions = "/champions/batchPlayerChampions"; // POST // players static const searchPlayers = "/players/searchPlayers"; // GET @@ -49,8 +49,8 @@ abstract class Urls { // loadout static const playerLoadouts = "/loadout/playerLoadouts"; // GET static const savePlayerLoadout = "/loadout/savePlayerLoadout"; // POST - static const updatePlayerLoadout = '/loadout/updatePlayerLoadout'; // PUT - static const deletePlayerLoadout = '/loadout/deletePlayerLoadout'; // DELETE + static const updatePlayerLoadout = "/loadout/updatePlayerLoadout"; // PUT + static const deletePlayerLoadout = "/loadout/deletePlayerLoadout"; // DELETE // feedback static const submitFeedback = "/feedback/submitFeedback"; // POST @@ -63,24 +63,24 @@ abstract class StorageKeys { // environment variables abstract class Env { - static String get appType => _getEnv('APP_TYPE'); - static String get baseUrl => _getEnv('BASE_URL'); - static String get saltString => _getEnv('SALT_STRING'); - static String get githubLink => _getEnv('GITHUB_LINK'); + static String get appType => _getEnv("APP_TYPE"); + static String get baseUrl => _getEnv("BASE_URL"); + static String get saltString => _getEnv("SALT_STRING"); + static String get githubLink => _getEnv("GITHUB_LINK"); static Future> loadEnv() async { await dotenv.load(fileName: "paladins-edge.env"); final List missingEnvs = []; - if (appType == '') missingEnvs.add('APP_TYPE'); - if (baseUrl == '') missingEnvs.add('BASE_URL'); - if (saltString == '') missingEnvs.add('SALT_STRING'); - if (githubLink == '') missingEnvs.add('GITHUB_LINK'); + if (appType == "") missingEnvs.add("APP_TYPE"); + if (baseUrl == "") missingEnvs.add("BASE_URL"); + if (saltString == "") missingEnvs.add("SALT_STRING"); + if (githubLink == "") missingEnvs.add("GITHUB_LINK"); return missingEnvs; } static String _getEnv(String envName) { - return dotenv.env[envName] ?? ''; + return dotenv.env[envName] ?? ""; } } @@ -105,29 +105,29 @@ abstract class TypeIds { } abstract class NotificationChannels { - static const friends = 'friends'; + static const friends = "friends"; } final Map championDamageType = { - 'Amplification': + "Amplification": data_classes.ChampionDamage(name: "Amplification", color: Colors.pink), - 'Area Damage': + "Area Damage": data_classes.ChampionDamage(name: "Area Damage", color: Colors.red), - 'Crowd Control': + "Crowd Control": data_classes.ChampionDamage(name: "Crowd Control", color: Colors.teal), - 'Direct Damage': + "Direct Damage": data_classes.ChampionDamage(name: "Direct Damage", color: Colors.red), - 'Heal': data_classes.ChampionDamage(name: "Heal", color: Colors.green), - 'Movement': + "Heal": data_classes.ChampionDamage(name: "Heal", color: Colors.green), + "Movement": data_classes.ChampionDamage(name: "Movement", color: Colors.amber), - 'Protective': + "Protective": data_classes.ChampionDamage(name: "Protective", color: Colors.lightBlue), - 'Reveal': data_classes.ChampionDamage(name: "Reveal", color: Colors.amber), - 'Shield': data_classes.ChampionDamage(name: "Shield", color: Colors.indigo), - 'Stance Change': + "Reveal": data_classes.ChampionDamage(name: "Reveal", color: Colors.amber), + "Shield": data_classes.ChampionDamage(name: "Shield", color: Colors.indigo), + "Stance Change": data_classes.ChampionDamage(name: "Stance Change", color: Colors.pink), - 'Stealth': data_classes.ChampionDamage(name: "Stealth", color: Colors.blue), - 'Ultimate': + "Stealth": data_classes.ChampionDamage(name: "Stealth", color: Colors.blue), + "Ultimate": data_classes.ChampionDamage(name: "Ultimate", color: Colors.orange), }; @@ -253,25 +253,25 @@ abstract class LoginCTA { mark your friends as favorites and notifies when you favourite friend comes online """ - .replaceAll('\n', ' '); + .replaceAll("\n", " "); static final activeMatchDrawer = """Active Match section allows you to view your live match, check stats of all the players before loading in and visit their profile directly """ - .replaceAll('\n', ' '); + .replaceAll("\n", " "); static final loadoutFab = """Loadout section allows you to view your in-game loadouts, create and save your own loadouts outside the game """ - .replaceAll('\n', ' '); + .replaceAll("\n", " "); } abstract class RemoteConfigParams { - static const enableGuestLogin = 'enableGuestLogin'; + static const enableGuestLogin = "enableGuestLogin"; } class PaladinsGuruSite { diff --git a/lib/data_classes/auth/auth.dart b/lib/data_classes/auth/auth.dart index 4924d069..597e278d 100644 --- a/lib/data_classes/auth/auth.dart +++ b/lib/data_classes/auth/auth.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; enum FavouriteFriendResult { removed, diff --git a/lib/data_classes/auth/index.dart b/lib/data_classes/auth/index.dart index 3c1a15d4..41d147ad 100644 --- a/lib/data_classes/auth/index.dart +++ b/lib/data_classes/auth/index.dart @@ -1,2 +1,2 @@ -export './auth.dart' +export "./auth.dart" show FavouriteFriendResult, ShowLoginModalOptions, SignInProviderResponse; diff --git a/lib/data_classes/champions/champions.dart b/lib/data_classes/champions/champions.dart index ce7d9e28..9542b25e 100644 --- a/lib/data_classes/champions/champions.dart +++ b/lib/data_classes/champions/champions.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:json_annotation/json_annotation.dart'; +import "package:flutter/material.dart"; +import "package:json_annotation/json_annotation.dart"; -part 'champions.g.dart'; +part "champions.g.dart"; @JsonSerializable() class BatchPlayerChampionsPayload { diff --git a/lib/data_classes/champions/champions_filter.dart b/lib/data_classes/champions/champions_filter.dart index 6e73e4ab..ff9bad48 100644 --- a/lib/data_classes/champions/champions_filter.dart +++ b/lib/data_classes/champions/champions_filter.dart @@ -1,4 +1,4 @@ -import 'package:paladinsedge/data_classes/champions/combined_champion.dart'; +import "package:paladinsedge/data_classes/champions/combined_champion.dart"; class SelectedChampionsFilter { final String? name; @@ -47,7 +47,7 @@ abstract class ChampionsFilter { case _freeRotation: return "Filter champions that are in free rotation"; default: - return ''; + return ""; } } @@ -132,7 +132,7 @@ abstract class ChampionsFilter { if (searchCondition == ChampionsSearchCondition.role && champion.role.toLowerCase().contains(search)) return true; if (searchCondition == ChampionsSearchCondition.level && - 'level ${playerChampion?.level}'.contains(search)) return true; + "level ${playerChampion?.level}".contains(search)) return true; return false; } diff --git a/lib/data_classes/champions/champions_sort.dart b/lib/data_classes/champions/champions_sort.dart index 3873b517..a526fa2f 100644 --- a/lib/data_classes/champions/champions_sort.dart +++ b/lib/data_classes/champions/champions_sort.dart @@ -1,6 +1,6 @@ -import 'package:dartx/dartx.dart'; -import 'package:jiffy/jiffy.dart'; -import 'package:paladinsedge/data_classes/champions/combined_champion.dart'; +import "package:dartx/dartx.dart"; +import "package:jiffy/jiffy.dart"; +import "package:paladinsedge/data_classes/champions/combined_champion.dart"; abstract class ChampionsSort { static const _name = "Name"; @@ -67,11 +67,11 @@ abstract class ChampionsSort { case _level: return "Sort champions that based on their level in your account"; case _winRate: - return 'Sort champions based on your win-rate using them'; + return "Sort champions based on your win-rate using them"; case _lastPlayed: return "Sort champions based on when you last played them"; default: - return ''; + return ""; } } @@ -86,7 +86,7 @@ abstract class ChampionsSort { return "Health ${combinedChampion.champion.health.toInt()}"; case _releasedDate: final formattedReleaseDate = - Jiffy(combinedChampion.champion.releaseDate).format('MMM do yy'); + Jiffy(combinedChampion.champion.releaseDate).format("MMM do yy"); return "Released on $formattedReleaseDate"; case _dps: final dps = combinedChampion.champion.weaponDamage ~/ @@ -95,20 +95,20 @@ abstract class ChampionsSort { case _level: return null; case _winRate: - if (combinedChampion.playerChampion == null) return 'Not Played'; + if (combinedChampion.playerChampion == null) return "Not Played"; final playerChampion = combinedChampion.playerChampion!; final matches = playerChampion.wins + playerChampion.losses; if (matches == 0) return null; final winRate = playerChampion.wins * 100 / matches; - return 'WR ${winRate.toStringAsPrecision(3)}%'; + return "WR ${winRate.toStringAsPrecision(3)}%"; case _lastPlayed: - if (combinedChampion.playerChampion == null) return 'Not Played'; + if (combinedChampion.playerChampion == null) return "Not Played"; final formattedLastPlayed = - Jiffy(combinedChampion.playerChampion!.lastPlayed).format('MMM do'); + Jiffy(combinedChampion.playerChampion!.lastPlayed).format("MMM do"); return "Played on $formattedLastPlayed"; default: - return ''; + return ""; } } diff --git a/lib/data_classes/champions/combined_champion.dart b/lib/data_classes/champions/combined_champion.dart index b5fca912..b86305e4 100644 --- a/lib/data_classes/champions/combined_champion.dart +++ b/lib/data_classes/champions/combined_champion.dart @@ -1,7 +1,7 @@ -import 'package:freezed_annotation/freezed_annotation.dart'; -import 'package:paladinsedge/models/index.dart' show Champion, PlayerChampion; +import "package:freezed_annotation/freezed_annotation.dart"; +import "package:paladinsedge/models/index.dart" show Champion, PlayerChampion; -part 'combined_champion.freezed.dart'; +part "combined_champion.freezed.dart"; enum ChampionsSearchCondition { name, diff --git a/lib/data_classes/champions/index.dart b/lib/data_classes/champions/index.dart index b98729e7..c6e0dd8e 100644 --- a/lib/data_classes/champions/index.dart +++ b/lib/data_classes/champions/index.dart @@ -1,5 +1,5 @@ -export './champions.dart'; -export './champions_filter.dart'; -export './champions_sort.dart'; -export './combined_champion.dart'; -export './player_champions.dart'; +export "./champions.dart"; +export "./champions_filter.dart"; +export "./champions_sort.dart"; +export "./combined_champion.dart"; +export "./player_champions.dart"; diff --git a/lib/data_classes/common/common.dart b/lib/data_classes/common/common.dart index 15addf38..fbb25967 100644 --- a/lib/data_classes/common/common.dart +++ b/lib/data_classes/common/common.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; class BottomTabPage { final Widget screen; diff --git a/lib/data_classes/common/index.dart b/lib/data_classes/common/index.dart index b11936b1..467fbabe 100644 --- a/lib/data_classes/common/index.dart +++ b/lib/data_classes/common/index.dart @@ -1 +1 @@ -export './common.dart'; +export "./common.dart"; diff --git a/lib/data_classes/feedback/feedback.dart b/lib/data_classes/feedback/feedback.dart index bc5290b6..0ce57008 100644 --- a/lib/data_classes/feedback/feedback.dart +++ b/lib/data_classes/feedback/feedback.dart @@ -15,6 +15,6 @@ abstract class FeedbackTypes { return "Bug"; } - return ''; + return ""; } } diff --git a/lib/data_classes/feedback/index.dart b/lib/data_classes/feedback/index.dart index e2c80c6d..c166ce0e 100644 --- a/lib/data_classes/feedback/index.dart +++ b/lib/data_classes/feedback/index.dart @@ -1 +1 @@ -export './feedback.dart'; +export "./feedback.dart"; diff --git a/lib/data_classes/index.dart b/lib/data_classes/index.dart index 9ba79891..e5690aa1 100644 --- a/lib/data_classes/index.dart +++ b/lib/data_classes/index.dart @@ -1,7 +1,7 @@ -export './auth/index.dart'; -export './champions/index.dart'; -export './common/index.dart'; -export './feedback/index.dart'; -export './loadout/index.dart'; -export './match/index.dart'; -export './players/index.dart'; +export "./auth/index.dart"; +export "./champions/index.dart"; +export "./common/index.dart"; +export "./feedback/index.dart"; +export "./loadout/index.dart"; +export "./match/index.dart"; +export "./players/index.dart"; diff --git a/lib/data_classes/loadout/index.dart b/lib/data_classes/loadout/index.dart index dbea6746..9fa8bd0e 100644 --- a/lib/data_classes/loadout/index.dart +++ b/lib/data_classes/loadout/index.dart @@ -1,2 +1,2 @@ -export './loadout.dart' +export "./loadout.dart" show LoadoutValidationResult, DraftLoadout, ShowLoadoutDetailsOptions; diff --git a/lib/data_classes/loadout/loadout.dart b/lib/data_classes/loadout/loadout.dart index 3d8c4248..363afd0f 100644 --- a/lib/data_classes/loadout/loadout.dart +++ b/lib/data_classes/loadout/loadout.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart' hide Card; -import 'package:freezed_annotation/freezed_annotation.dart'; -import 'package:paladinsedge/models/index.dart' +import "package:flutter/material.dart" hide Card; +import "package:freezed_annotation/freezed_annotation.dart"; +import "package:paladinsedge/models/index.dart" show Champion, Loadout, LoadoutCard, Card; -part 'loadout.freezed.dart'; +part "loadout.freezed.dart"; @freezed class LoadoutValidationResult with _$LoadoutValidationResult { @@ -27,8 +27,8 @@ class DraftLoadout with _$DraftLoadout { factory DraftLoadout.empty() { return DraftLoadout( championId: 0, - playerId: '', - name: 'New Loadout', + playerId: "", + name: "New Loadout", loadoutCards: List.filled(5, null), isImported: false, ); diff --git a/lib/data_classes/match/index.dart b/lib/data_classes/match/index.dart index f65cf912..3dbc2b74 100644 --- a/lib/data_classes/match/index.dart +++ b/lib/data_classes/match/index.dart @@ -1 +1 @@ -export './match.dart'; +export "./match.dart"; diff --git a/lib/data_classes/players/index.dart b/lib/data_classes/players/index.dart index 22b52982..f7d16e0e 100644 --- a/lib/data_classes/players/index.dart +++ b/lib/data_classes/players/index.dart @@ -1 +1 @@ -export './players.dart'; +export "./players.dart"; diff --git a/lib/data_classes/players/players.dart b/lib/data_classes/players/players.dart index f9d94b23..165508c4 100644 --- a/lib/data_classes/players/players.dart +++ b/lib/data_classes/players/players.dart @@ -1,4 +1,4 @@ -import 'package:paladinsedge/models/index.dart' as models; +import "package:paladinsedge/models/index.dart" as models; class LoadoutItem { final models.Card? card; diff --git a/lib/dev/index.dart b/lib/dev/index.dart index 77ee5971..7df91b42 100644 --- a/lib/dev/index.dart +++ b/lib/dev/index.dart @@ -1 +1 @@ -export './test_user.dart'; +export "./test_user.dart"; diff --git a/lib/dev/test_user.dart b/lib/dev/test_user.dart index da426b20..33ea8480 100644 --- a/lib/dev/test_user.dart +++ b/lib/dev/test_user.dart @@ -1,4 +1,4 @@ -import 'package:paladinsedge/constants.dart' as constants; +import "package:paladinsedge/constants.dart" as constants; class TestUser { final String name; diff --git a/lib/firebase_options.dart b/lib/firebase_options.dart index d95500e3..80c85bd6 100644 --- a/lib/firebase_options.dart +++ b/lib/firebase_options.dart @@ -1,7 +1,7 @@ // File generated by FlutterFire CLI. // ignore_for_file: lines_longer_than_80_chars -import 'package:firebase_core/firebase_core.dart' show FirebaseOptions; -import 'package:flutter/foundation.dart' +import "package:firebase_core/firebase_core.dart" show FirebaseOptions; +import "package:flutter/foundation.dart" show defaultTargetPlatform, kIsWeb, TargetPlatform; /// Default [FirebaseOptions] for use with your Firebase apps. @@ -25,38 +25,38 @@ class DefaultFirebaseOptions { return android; case TargetPlatform.iOS: throw UnsupportedError( - 'DefaultFirebaseOptions have not been configured for ios - ' - 'you can reconfigure this by running the FlutterFire CLI again.', + "DefaultFirebaseOptions have not been configured for ios - " + "you can reconfigure this by running the FlutterFire CLI again.", ); case TargetPlatform.macOS: throw UnsupportedError( - 'DefaultFirebaseOptions have not been configured for macos - ' - 'you can reconfigure this by running the FlutterFire CLI again.', + "DefaultFirebaseOptions have not been configured for macos - " + "you can reconfigure this by running the FlutterFire CLI again.", ); } throw UnsupportedError( - 'DefaultFirebaseOptions are not supported for this platform.', + "DefaultFirebaseOptions are not supported for this platform.", ); } static const FirebaseOptions web = FirebaseOptions( - apiKey: 'AIzaSyDbLp9cDpEOuQ-yZwjJ0LfdlRFt7-UP4Ds', - appId: '1:280154424805:web:39b3e66d9e4677b0aa1b0c', - messagingSenderId: '280154424805', - projectId: 'paladins-edge', - authDomain: 'paladins-edge.firebaseapp.com', - databaseURL: 'https://paladins-edge-default-rtdb.asia-southeast1.firebasedatabase.app', - storageBucket: 'paladins-edge.appspot.com', - measurementId: 'G-LQLMCT8NC9', + apiKey: "AIzaSyDbLp9cDpEOuQ-yZwjJ0LfdlRFt7-UP4Ds", + appId: "1:280154424805:web:39b3e66d9e4677b0aa1b0c", + messagingSenderId: "280154424805", + projectId: "paladins-edge", + authDomain: "paladins-edge.firebaseapp.com", + databaseURL: "https://paladins-edge-default-rtdb.asia-southeast1.firebasedatabase.app", + storageBucket: "paladins-edge.appspot.com", + measurementId: "G-LQLMCT8NC9", ); static const FirebaseOptions android = FirebaseOptions( - apiKey: 'AIzaSyCUMi5hu_qRESYn89dp0VFjpeXg-l4HEfo', - appId: '1:280154424805:android:06755c7776c617c0aa1b0c', - messagingSenderId: '280154424805', - projectId: 'paladins-edge', - databaseURL: 'https://paladins-edge-default-rtdb.asia-southeast1.firebasedatabase.app', - storageBucket: 'paladins-edge.appspot.com', + apiKey: "AIzaSyCUMi5hu_qRESYn89dp0VFjpeXg-l4HEfo", + appId: "1:280154424805:android:06755c7776c617c0aa1b0c", + messagingSenderId: "280154424805", + projectId: "paladins-edge", + databaseURL: "https://paladins-edge-default-rtdb.asia-southeast1.firebasedatabase.app", + storageBucket: "paladins-edge.appspot.com", ); } diff --git a/lib/main.dart b/lib/main.dart index 683a92e0..7f7059d8 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,16 +1,16 @@ -import 'package:firebase_core/firebase_core.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:overlay_support/overlay_support.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/firebase_options.dart' as firebase_options; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/router/index.dart' as router; -import 'package:paladinsedge/theme/index.dart' as theme; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; -import 'package:responsive_framework/responsive_framework.dart'; +import "package:firebase_core/firebase_core.dart"; +import "package:flutter/material.dart"; +import "package:flutter/services.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:overlay_support/overlay_support.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/firebase_options.dart" as firebase_options; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/router/index.dart" as router; +import "package:paladinsedge/theme/index.dart" as theme; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; +import "package:responsive_framework/responsive_framework.dart"; void main() async { WidgetsFlutterBinding.ensureInitialized(); @@ -21,9 +21,8 @@ void main() async { ]); } - print("INIT : ${Firebase.apps.length}"); await Firebase.initializeApp( - name: 'root', + name: "root", options: firebase_options.DefaultFirebaseOptions.currentPlatform, ); diff --git a/lib/models/active_match/active_match.dart b/lib/models/active_match/active_match.dart index 2a2ce584..dadb4003 100644 --- a/lib/models/active_match/active_match.dart +++ b/lib/models/active_match/active_match.dart @@ -1,10 +1,10 @@ // The match that is currently live // different from a completed match -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/models/player/player.dart' show Ranked; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/models/player/player.dart" show Ranked; +import "package:paladinsedge/utilities/index.dart" as utilities; -part 'active_match.g.dart'; +part "active_match.g.dart"; @JsonSerializable() class ActiveMatch { diff --git a/lib/models/bounty_store/bounty_store.dart b/lib/models/bounty_store/bounty_store.dart index a72a70d0..8249b15d 100644 --- a/lib/models/bounty_store/bounty_store.dart +++ b/lib/models/bounty_store/bounty_store.dart @@ -1,8 +1,8 @@ -import 'package:hive/hive.dart'; -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/constants.dart' show TypeIds; +import "package:hive/hive.dart"; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/constants.dart" show TypeIds; -part 'bounty_store.g.dart'; +part "bounty_store.g.dart"; @HiveType(typeId: TypeIds.bountyStore) @JsonSerializable() diff --git a/lib/models/champion/champion.dart b/lib/models/champion/champion.dart index b33a349c..654e1a6c 100644 --- a/lib/models/champion/champion.dart +++ b/lib/models/champion/champion.dart @@ -1,9 +1,9 @@ -import 'package:hive/hive.dart'; -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/constants.dart' show TypeIds; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:hive/hive.dart"; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/constants.dart" show TypeIds; +import "package:paladinsedge/utilities/index.dart" as utilities; -part 'champion.g.dart'; +part "champion.g.dart"; @HiveType(typeId: TypeIds.championAbility) @JsonSerializable() diff --git a/lib/models/essentials/essentials.dart b/lib/models/essentials/essentials.dart index 14b40341..c19c8071 100644 --- a/lib/models/essentials/essentials.dart +++ b/lib/models/essentials/essentials.dart @@ -1,10 +1,10 @@ // data related to essentials -import 'package:hive/hive.dart'; -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/constants.dart' show TypeIds; +import "package:hive/hive.dart"; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/constants.dart" show TypeIds; -part 'essentials.g.dart'; +part "essentials.g.dart"; // model for storing app essentials locally @HiveType(typeId: TypeIds.essentials) diff --git a/lib/models/feedback/feedback.dart b/lib/models/feedback/feedback.dart index e1cf87b5..397ea518 100644 --- a/lib/models/feedback/feedback.dart +++ b/lib/models/feedback/feedback.dart @@ -1,6 +1,6 @@ -import 'package:json_annotation/json_annotation.dart'; +import "package:json_annotation/json_annotation.dart"; -part 'feedback.g.dart'; +part "feedback.g.dart"; @JsonSerializable() class Feedback { diff --git a/lib/models/index.dart b/lib/models/index.dart index 241d4129..04a4374b 100644 --- a/lib/models/index.dart +++ b/lib/models/index.dart @@ -1,14 +1,14 @@ -export './active_match/active_match.dart'; -export './bounty_store/bounty_store.dart'; -export './champion/champion.dart'; -export './essentials/essentials.dart'; -export './feedback/feedback.dart'; -export './loadout/loadout.dart'; -export './match/match.dart'; -export './player/player.dart'; -export './player_champion/player_champion.dart'; -export './queue/queue.dart'; -export './record_expiry/record_expiry.dart'; -export './search_history/search_history.dart'; -export './settings/settings.dart'; -export './user/user.dart'; +export "./active_match/active_match.dart"; +export "./bounty_store/bounty_store.dart"; +export "./champion/champion.dart"; +export "./essentials/essentials.dart"; +export "./feedback/feedback.dart"; +export "./loadout/loadout.dart"; +export "./match/match.dart"; +export "./player/player.dart"; +export "./player_champion/player_champion.dart"; +export "./queue/queue.dart"; +export "./record_expiry/record_expiry.dart"; +export "./search_history/search_history.dart"; +export "./settings/settings.dart"; +export "./user/user.dart"; diff --git a/lib/models/loadout/loadout.dart b/lib/models/loadout/loadout.dart index 4edb8dd7..6b495017 100644 --- a/lib/models/loadout/loadout.dart +++ b/lib/models/loadout/loadout.dart @@ -1,7 +1,7 @@ -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/data_classes/index.dart' show DraftLoadout; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/data_classes/index.dart" show DraftLoadout; -part 'loadout.g.dart'; +part "loadout.g.dart"; @JsonSerializable() class LoadoutCard { diff --git a/lib/models/match/match.dart b/lib/models/match/match.dart index b129dff6..4a987228 100644 --- a/lib/models/match/match.dart +++ b/lib/models/match/match.dart @@ -1,9 +1,9 @@ // The match that is completed -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/models/player/player.dart' show Ranked; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/models/player/player.dart" show Ranked; -part 'match.g.dart'; +part "match.g.dart"; @JsonSerializable() class MatchPlayerStats { diff --git a/lib/models/player/player.dart b/lib/models/player/player.dart index 7d588147..e71ee3e8 100644 --- a/lib/models/player/player.dart +++ b/lib/models/player/player.dart @@ -1,9 +1,9 @@ -import 'package:hive/hive.dart'; -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/constants.dart' show TypeIds; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:hive/hive.dart"; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/constants.dart" show TypeIds; +import "package:paladinsedge/utilities/index.dart" as utilities; -part 'player.g.dart'; +part "player.g.dart"; @HiveType(typeId: TypeIds.playerRanked) @JsonSerializable() diff --git a/lib/models/player_champion/player_champion.dart b/lib/models/player_champion/player_champion.dart index 78e19447..7c70f73e 100644 --- a/lib/models/player_champion/player_champion.dart +++ b/lib/models/player_champion/player_champion.dart @@ -1,8 +1,8 @@ -import 'package:hive/hive.dart'; -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/constants.dart' show TypeIds; +import "package:hive/hive.dart"; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/constants.dart" show TypeIds; -part 'player_champion.g.dart'; +part "player_champion.g.dart"; /// Stores stats for a champion played by the player @HiveType(typeId: TypeIds.playerChampion) diff --git a/lib/models/queue/queue.dart b/lib/models/queue/queue.dart index daf0b621..d14e0115 100644 --- a/lib/models/queue/queue.dart +++ b/lib/models/queue/queue.dart @@ -1,8 +1,8 @@ -import 'package:hive/hive.dart'; -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/constants.dart' show TypeIds; +import "package:hive/hive.dart"; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/constants.dart" show TypeIds; -part 'queue.g.dart'; +part "queue.g.dart"; @HiveType(typeId: TypeIds.queue) @JsonSerializable() diff --git a/lib/models/record_expiry/record_expiry.dart b/lib/models/record_expiry/record_expiry.dart index 7bb4fa68..2e9dba53 100644 --- a/lib/models/record_expiry/record_expiry.dart +++ b/lib/models/record_expiry/record_expiry.dart @@ -1,8 +1,8 @@ -import 'package:hive/hive.dart'; -import 'package:paladinsedge/constants.dart' +import "package:hive/hive.dart"; +import "package:paladinsedge/constants.dart" show TypeIds, RecordExpiryDuration, RecordExpiryName; -part 'record_expiry.g.dart'; +part "record_expiry.g.dart"; // model for storing the exipry date of saved champion, searchHistory, etc. in local db @HiveType(typeId: TypeIds.recordExpiry) diff --git a/lib/models/search_history/search_history.dart b/lib/models/search_history/search_history.dart index a1a84ff3..5b47d82e 100644 --- a/lib/models/search_history/search_history.dart +++ b/lib/models/search_history/search_history.dart @@ -1,8 +1,8 @@ -import 'package:hive/hive.dart'; -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/constants.dart' show TypeIds; +import "package:hive/hive.dart"; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/constants.dart" show TypeIds; -part 'search_history.g.dart'; +part "search_history.g.dart"; // model for storing user user's searchHistory locally @HiveType(typeId: TypeIds.searchHistory) diff --git a/lib/models/settings/settings.dart b/lib/models/settings/settings.dart index e19ee6f8..0c70a5b8 100644 --- a/lib/models/settings/settings.dart +++ b/lib/models/settings/settings.dart @@ -1,8 +1,8 @@ -import 'package:flutter/material.dart'; -import 'package:hive/hive.dart'; -import 'package:paladinsedge/constants.dart' show TypeIds; +import "package:flutter/material.dart"; +import "package:hive/hive.dart"; +import "package:paladinsedge/constants.dart" show TypeIds; -part 'settings.g.dart'; +part "settings.g.dart"; // model for storing user settings locally @HiveType(typeId: TypeIds.settings) diff --git a/lib/models/user/user.dart b/lib/models/user/user.dart index eeef1ad9..52528fbf 100644 --- a/lib/models/user/user.dart +++ b/lib/models/user/user.dart @@ -1,8 +1,8 @@ -import 'package:hive/hive.dart'; -import 'package:json_annotation/json_annotation.dart'; -import 'package:paladinsedge/constants.dart' show TypeIds; +import "package:hive/hive.dart"; +import "package:json_annotation/json_annotation.dart"; +import "package:paladinsedge/constants.dart" show TypeIds; -part 'user.g.dart'; +part "user.g.dart"; @HiveType(typeId: TypeIds.user) @JsonSerializable() diff --git a/lib/providers/auth.dart b/lib/providers/auth.dart index 2214b7d4..39c59af1 100644 --- a/lib/providers/auth.dart +++ b/lib/providers/auth.dart @@ -1,17 +1,17 @@ -import 'package:firebase_auth/firebase_auth.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:google_sign_in/google_sign_in.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/dev/index.dart' as dev; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/providers/champions.dart' as champions_provider; -import 'package:paladinsedge/providers/loadout.dart' as loadout_provider; -import 'package:paladinsedge/providers/matches.dart' as matches_provider; -import 'package:paladinsedge/providers/players.dart' as players_provider; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:firebase_auth/firebase_auth.dart"; +import "package:flutter/material.dart"; +import "package:flutter/services.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:google_sign_in/google_sign_in.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/dev/index.dart" as dev; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/providers/champions.dart" as champions_provider; +import "package:paladinsedge/providers/loadout.dart" as loadout_provider; +import "package:paladinsedge/providers/matches.dart" as matches_provider; +import "package:paladinsedge/providers/players.dart" as players_provider; +import "package:paladinsedge/utilities/index.dart" as utilities; class _GetFirebaseUserResponse { final UserCredential? firebaseUser; @@ -84,7 +84,7 @@ class _AuthNotifier extends ChangeNotifier { if (token != null) { isGuest = false; - utilities.api.options.headers["authorization"] = 'Bearer $token'; + utilities.api.options.headers["authorization"] = "Bearer $token"; utilities.Global.isAuthenticated = true; return true; @@ -125,7 +125,7 @@ class _AuthNotifier extends ChangeNotifier { name = dev.testUser!.name; } - final verification = utilities.RSACrypto.encryptRSA('$name$email$uid'); + final verification = utilities.RSACrypto.encryptRSA("$name$email$uid"); final response = await api.AuthRequests.login( uid: uid, @@ -146,7 +146,7 @@ class _AuthNotifier extends ChangeNotifier { token = response.token; player = response.player; - utilities.api.options.headers["authorization"] = 'Bearer $token'; + utilities.api.options.headers["authorization"] = "Bearer $token"; utilities.Global.isAuthenticated = true; if (player != null) utilities.Global.isPlayerConnected = true; diff --git a/lib/providers/bounty_store.dart b/lib/providers/bounty_store.dart index 62642772..4df6a8ad 100644 --- a/lib/providers/bounty_store.dart +++ b/lib/providers/bounty_store.dart @@ -1,8 +1,8 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:flutter/foundation.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/utilities/index.dart" as utilities; class _BountyStoreNotifier extends ChangeNotifier { bool isLoading = true; diff --git a/lib/providers/champions.dart b/lib/providers/champions.dart index 00bd9bd3..79b91165 100644 --- a/lib/providers/champions.dart +++ b/lib/providers/champions.dart @@ -1,10 +1,10 @@ -import 'package:dartx/dartx.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/api/index.dart' as api; -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:dartx/dartx.dart"; +import "package:flutter/foundation.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/api/index.dart" as api; +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; class _ChampionsNotifier extends ChangeNotifier { /// loading state for combinedChampions @@ -14,7 +14,7 @@ class _ChampionsNotifier extends ChangeNotifier { bool isLoadingPlayerChampions = false; /// holds the search value for champions - String search = ''; + String search = ""; /// holds data for all champions List champions = []; @@ -127,10 +127,10 @@ class _ChampionsNotifier extends ChangeNotifier { } /// Filters the champions based on the search provided - void filterChampionsBySearch(String _search) { + void filterChampionsBySearch(String search) { if (combinedChampions == null) return; - search = _search; + this.search = search; // remove filters if search is done // but keep the previous filterName intact @@ -189,7 +189,7 @@ class _ChampionsNotifier extends ChangeNotifier { void clearAppliedFiltersAndSort() { if (combinedChampions == null) return; - search = ''; + search = ""; combinedChampions = data_classes.ChampionsFilter.clearFilters( combinedChampions!, ); @@ -208,7 +208,7 @@ class _ChampionsNotifier extends ChangeNotifier { void clearData() { isLoadingCombinedChampions = false; isLoadingPlayerChampions = false; - search = ''; + search = ""; champions = []; userPlayerChampions = null; combinedChampions = null; @@ -227,13 +227,13 @@ class _ChampionsNotifier extends ChangeNotifier { final response = await api.ChampionsRequests.allChampions(); if (response == null) return null; - final _champions = response.champions; + final champions = response.champions; // save champion locally for future use - _champions.forEach(utilities.Database.saveChampion); + champions.forEach(utilities.Database.saveChampion); // sort champions based on their name - return _champions.sortedBy((champion) => champion.name); + return champions.sortedBy((champion) => champion.name); } /// Loads the `playerChampions` data for the user from local db and diff --git a/lib/providers/feedback.dart b/lib/providers/feedback.dart index b68ef37a..c41c4b3d 100644 --- a/lib/providers/feedback.dart +++ b/lib/providers/feedback.dart @@ -1,16 +1,16 @@ -import 'dart:typed_data'; +import "dart:typed_data"; -import 'package:flutter/foundation.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:image_picker/image_picker.dart'; -import 'package:paladinsedge/api/index.dart' as api; -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:flutter/foundation.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:image_picker/image_picker.dart"; +import "package:paladinsedge/api/index.dart" as api; +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; class _FeedbackNotifier extends ChangeNotifier { bool isSubmitting = false; - String description = ''; + String description = ""; String selectedFeedbackType = data_classes.FeedbackTypes.featureRequest; XFile? selectedImage; Uint8List? selectedImageBytes; @@ -71,7 +71,7 @@ class _FeedbackNotifier extends ChangeNotifier { /// Clears all data void clearData() { isSubmitting = false; - description = ''; + description = ""; selectedFeedbackType = data_classes.FeedbackTypes.featureRequest; selectedImage = null; selectedImageBytes = null; diff --git a/lib/providers/friends.dart b/lib/providers/friends.dart index 5b7c9dc6..4272bfd4 100644 --- a/lib/providers/friends.dart +++ b/lib/providers/friends.dart @@ -1,9 +1,9 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/providers/auth.dart' as auth_provider; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:flutter/foundation.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/providers/auth.dart" as auth_provider; +import "package:paladinsedge/utilities/index.dart" as utilities; class _FriendsNotifier extends ChangeNotifier { final ChangeNotifierProviderRef<_FriendsNotifier> ref; @@ -42,17 +42,17 @@ class _FriendsNotifier extends ChangeNotifier { } if (!forceUpdate) isLoadingFriends = false; - final _friends = response.friends; + final friends = response.friends; if (favouriteFriends != null) { // sort the friends on the basis on name - _friends.sort( + friends.sort( (a, b) => a.name.toLowerCase().compareTo(b.name.toLowerCase()), ); // find favourite friends final favouritePlayers = List.empty(growable: true); - _friends.removeWhere((friend) { + friends.removeWhere((friend) { if (favouriteFriends.contains(friend.playerId)) { favouritePlayers.add(friend); @@ -62,7 +62,7 @@ class _FriendsNotifier extends ChangeNotifier { return false; }); - friends = favouritePlayers + _friends; + this.friends = favouritePlayers + friends; } fetchedAllFriends = true; @@ -110,16 +110,16 @@ class _FriendsNotifier extends ChangeNotifier { return; } - final _friends = friends ?? []; + final friends = this.friends ?? []; final favouriteFriendsFromApi = response.favouriteFriends.map((_) => _.playerId).toList(); // find favourite players - _friends.removeWhere( + friends.removeWhere( (friend) => favouriteFriendsFromApi.contains(friend.playerId), ); - friends = response.favouriteFriends + _friends; + this.friends = response.favouriteFriends + friends; final user = ref.read(auth_provider.auth).user; user!.favouriteFriends = diff --git a/lib/providers/global_chat.dart b/lib/providers/global_chat.dart index 316a53c0..865cae51 100644 --- a/lib/providers/global_chat.dart +++ b/lib/providers/global_chat.dart @@ -1,14 +1,14 @@ -import 'dart:async'; - -import 'package:dartx/dartx.dart'; -import 'package:firebase_database/firebase_database.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_chat_types/flutter_chat_types.dart' as types; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/providers/auth.dart' as auth_provider; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:uuid/uuid.dart'; +import "dart:async"; + +import "package:dartx/dartx.dart"; +import "package:firebase_database/firebase_database.dart"; +import "package:flutter/foundation.dart"; +import "package:flutter_chat_types/flutter_chat_types.dart" as types; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/providers/auth.dart" as auth_provider; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:uuid/uuid.dart"; class _GlobalChatNotifier extends ChangeNotifier { bool isInit = false; @@ -40,7 +40,7 @@ class _GlobalChatNotifier extends ChangeNotifier { imageUrl: player.avatarUrl, firstName: player.name, metadata: const { - 'typing': false, + "typing": false, }, ); @@ -77,7 +77,7 @@ class _GlobalChatNotifier extends ChangeNotifier { role: globalChatUser.role, updatedAt: globalChatUser.updatedAt, metadata: { - 'typing': isTyping, + "typing": isTyping, }, ); utilities.RealtimeGlobalChat.setPlayer(globalChatUser); diff --git a/lib/providers/index.dart b/lib/providers/index.dart index 4039f2ef..59d8cf6d 100644 --- a/lib/providers/index.dart +++ b/lib/providers/index.dart @@ -1,10 +1,10 @@ -export './auth.dart'; -export './bounty_store.dart'; -export './champions.dart'; -export './feedback.dart'; -export './friends.dart'; -export './global_chat.dart'; -export './loadout.dart'; -export './matches.dart'; -export './players.dart'; -export './queue.dart'; +export "./auth.dart"; +export "./bounty_store.dart"; +export "./champions.dart"; +export "./feedback.dart"; +export "./friends.dart"; +export "./global_chat.dart"; +export "./loadout.dart"; +export "./matches.dart"; +export "./players.dart"; +export "./queue.dart"; diff --git a/lib/providers/loadout.dart b/lib/providers/loadout.dart index f07b61b1..22940c4a 100644 --- a/lib/providers/loadout.dart +++ b/lib/providers/loadout.dart @@ -1,11 +1,11 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/constants.dart' as constants; -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:flutter/foundation.dart"; +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/constants.dart" as constants; +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; class _LoadoutNotifier extends ChangeNotifier { bool isGettingLoadouts = false; @@ -109,11 +109,11 @@ class _LoadoutNotifier extends ChangeNotifier { // check if loadout name is valid bool result = true; - String error = ''; + String error = ""; if (draftLoadout.name.trim().isEmpty) { result = false; - error = 'Loadout name cannot be empty'; + error = "Loadout name cannot be empty"; } // check if there are 5 loadout cards @@ -121,18 +121,18 @@ class _LoadoutNotifier extends ChangeNotifier { draftLoadout.loadoutCards.where((_) => _ != null).toList(); if (filteredCards.length < 5) { result = false; - error = 'Loadout should have 5 cards'; + error = "Loadout should have 5 cards"; } int points = 0; - for (var _ in filteredCards) { - points += _?.level ?? 0; + for (var temp in filteredCards) { + points += temp?.level ?? 0; } // check if loadout points are exactly 15 if (points != 15) { result = false; - error = 'Loadout should have 15 points'; + error = "Loadout should have 15 points"; } return data_classes.LoadoutValidationResult( diff --git a/lib/providers/matches.dart b/lib/providers/matches.dart index 6bee6056..f9858f2d 100644 --- a/lib/providers/matches.dart +++ b/lib/providers/matches.dart @@ -1,7 +1,7 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:flutter/foundation.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/utilities/index.dart" as utilities; class _MatchesNotifier extends ChangeNotifier { bool isPlayerMatchesLoading = false; diff --git a/lib/providers/players.dart b/lib/providers/players.dart index 9e1c47d7..989010bd 100644 --- a/lib/providers/players.dart +++ b/lib/providers/players.dart @@ -1,8 +1,8 @@ -import 'package:flutter/foundation.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:flutter/foundation.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/utilities/index.dart" as utilities; class _PlayersNotifier extends ChangeNotifier { bool isLoadingPlayerData = false; @@ -33,7 +33,7 @@ class _PlayersNotifier extends ChangeNotifier { ); playerStatus ??= api.PlayerStatusResponse( - status: 'Unknown', + status: "Unknown", match: null, ); @@ -45,11 +45,11 @@ class _PlayersNotifier extends ChangeNotifier { /// syncs it with server for showing in Search screen void loadSearchHistory() async { // gets the search history from local db - final _searchHistory = utilities.Database.getSearchHistory(); + final savedSearchHistory = utilities.Database.getSearchHistory(); // if searchHistory is not available // fetch it from backend - if (_searchHistory == null) { + if (savedSearchHistory == null) { final response = await api.PlayersRequests.searchHistory(); if (response == null) { @@ -61,7 +61,7 @@ class _PlayersNotifier extends ChangeNotifier { searchHistory = response.searchHistory; response.searchHistory.forEach(utilities.Database.saveSearchHistory); } else { - searchHistory = _searchHistory; + searchHistory = savedSearchHistory; } // remove searchHistory older than 7 days @@ -145,9 +145,9 @@ class _PlayersNotifier extends ChangeNotifier { } /// The the playerId of the player to be shown in active match screen - void setPlayerStatusPlayerId(String _playerStatusPlayerId) { + void setPlayerStatusPlayerId(String playerStatusPlayerId) { playerStatus = null; - playerStatusPlayerId = _playerStatusPlayerId; + this.playerStatusPlayerId = playerStatusPlayerId; notifyListeners(); } diff --git a/lib/providers/queue.dart b/lib/providers/queue.dart index 765d2a56..fa70680a 100644 --- a/lib/providers/queue.dart +++ b/lib/providers/queue.dart @@ -1,13 +1,13 @@ -import 'dart:math'; - -import 'package:dartx/dartx.dart'; -import 'package:fl_chart/fl_chart.dart'; -import 'package:flutter/foundation.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "dart:math"; + +import "package:dartx/dartx.dart"; +import "package:fl_chart/fl_chart.dart"; +import "package:flutter/foundation.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/utilities/index.dart" as utilities; class _QueueState extends ChangeNotifier { bool isLoading = true; diff --git a/lib/router/index.dart b/lib/router/index.dart index 0e2ee666..d94e411d 100644 --- a/lib/router/index.dart +++ b/lib/router/index.dart @@ -1 +1 @@ -export './router.dart'; +export "./router.dart"; diff --git a/lib/router/router.dart b/lib/router/router.dart index 1a752525..2dc7e927 100644 --- a/lib/router/router.dart +++ b/lib/router/router.dart @@ -1,7 +1,7 @@ -import 'package:go_router/go_router.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:go_router/go_router.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/utilities/index.dart" as utilities; final _loadoutsRoutes = [ screens.CreateLoadout.goRoute, diff --git a/lib/screens/active_match/active_match.dart b/lib/screens/active_match/active_match.dart index 90e0d1ac..7fe3559b 100644 --- a/lib/screens/active_match/active_match.dart +++ b/lib/screens/active_match/active_match.dart @@ -1,26 +1,26 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/active_match/active_match_list.dart'; -import 'package:paladinsedge/screens/active_match/active_match_loading.dart'; -import 'package:paladinsedge/screens/active_match/active_match_not_in_match.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/active_match/active_match_list.dart"; +import "package:paladinsedge/screens/active_match/active_match_loading.dart"; +import "package:paladinsedge/screens/active_match/active_match_not_in_match.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class ActiveMatch extends HookConsumerWidget { - static const routeName = 'activeMatch'; - static const routePath = 'activeMatch'; + static const routeName = "activeMatch"; + static const routePath = "activeMatch"; static final goRoute = GoRoute( name: routeName, path: routePath, builder: _routeBuilder, ); - static const userRouteName = 'userActiveMatch'; - static const userRoutePath = 'userActiveMatch'; + static const userRouteName = "userActiveMatch"; + static const userRoutePath = "userActiveMatch"; static final userGoRoute = GoRoute( name: userRouteName, path: userRoutePath, @@ -103,7 +103,7 @@ class ActiveMatch extends HookConsumerWidget { floating: true, snap: true, pinned: constants.isWeb, - title: Text('Active Match'), + title: Text("Active Match"), ), playerStatus == null ? ActiveMatchLoading( diff --git a/lib/screens/active_match/active_match_list.dart b/lib/screens/active_match/active_match_list.dart index 18202efb..5b555a44 100644 --- a/lib/screens/active_match/active_match_list.dart +++ b/lib/screens/active_match/active_match_list.dart @@ -1,6 +1,6 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/screens/active_match/active_match_player.dart'; +import "package:flutter/material.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/screens/active_match/active_match_player.dart"; class ActiveMatchList extends StatelessWidget { final api.PlayerStatusResponse playerStatus; @@ -33,7 +33,7 @@ class ActiveMatchList extends StatelessWidget { ), ), Text( - '${playerStatus.match?.map}', + "${playerStatus.match?.map}", style: const TextStyle(fontSize: 14), ), ], @@ -41,15 +41,15 @@ class ActiveMatchList extends StatelessWidget { const SizedBox(height: 10), const Center( child: Text( - 'Team 1', + "Team 1", style: TextStyle(fontSize: 18), ), ), const SizedBox(height: 10), ...playersInfoTeam1?.map( - (_playerInfo) { + (playerInfo) { return ActiveMatchPlayer( - playerInfo: _playerInfo, + playerInfo: playerInfo, ); }, ).toList() ?? @@ -58,15 +58,15 @@ class ActiveMatchList extends StatelessWidget { child: Padding( padding: EdgeInsets.symmetric(vertical: 10), child: Text( - 'Team 2', + "Team 2", style: TextStyle(fontSize: 18), ), ), ), ...playersInfoTeam2?.map( - (_playerInfo) { + (playerInfo) { return ActiveMatchPlayer( - playerInfo: _playerInfo, + playerInfo: playerInfo, ); }, ).toList() ?? diff --git a/lib/screens/active_match/active_match_loading.dart b/lib/screens/active_match/active_match_loading.dart index 5f970e75..704a6491 100644 --- a/lib/screens/active_match/active_match_loading.dart +++ b/lib/screens/active_match/active_match_loading.dart @@ -1,6 +1,6 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class ActiveMatchLoading extends StatelessWidget { final bool isLoadingPlayerStatus; @@ -22,7 +22,7 @@ class ActiveMatchLoading extends StatelessWidget { ? const widgets.LoadingIndicator( lineWidth: 2, size: 28, - label: Text('Getting active match'), + label: Text("Getting active match"), ) : Center( child: Text( diff --git a/lib/screens/active_match/active_match_not_in_match.dart b/lib/screens/active_match/active_match_not_in_match.dart index 7fc27031..5c71cf4c 100644 --- a/lib/screens/active_match/active_match_not_in_match.dart +++ b/lib/screens/active_match/active_match_not_in_match.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:flutter/material.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; class ActiveMatchNotInMatch extends StatelessWidget { final String status; diff --git a/lib/screens/active_match/active_match_player.dart b/lib/screens/active_match/active_match_player.dart index 94918908..8b3387df 100644 --- a/lib/screens/active_match/active_match_player.dart +++ b/lib/screens/active_match/active_match_player.dart @@ -1,15 +1,15 @@ -import 'package:dartx/dartx.dart'; -import 'package:expandable/expandable.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -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/theme/index.dart' as theme; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:dartx/dartx.dart"; +import "package:expandable/expandable.dart"; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +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/theme/index.dart" as theme; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class _InfoLabel extends StatelessWidget { final String label; @@ -75,7 +75,7 @@ class ActiveMatchPlayer extends HookConsumerWidget { winRate = winRate == double.nan || winRate == double.infinity ? null : winRate; final champion = champions.firstOrNullWhere( - (_champion) => _champion.championId == playerInfo.championId, + (champion) => champion.championId == playerInfo.championId, ); // State @@ -104,7 +104,7 @@ class ActiveMatchPlayer extends HookConsumerWidget { context, screens.PlayerDetail.routeName, params: { - 'playerId': playerInfo.player.playerId, + "playerId": playerInfo.player.playerId, }, ); }, @@ -129,9 +129,9 @@ class ActiveMatchPlayer extends HookConsumerWidget { final getChampionPlaytime = useCallback( () { final duration = Duration(minutes: playerChampion.value!.playTime); - if (duration.inHours == 0) return '${duration.inMinutes}min'; + if (duration.inHours == 0) return "${duration.inMinutes}min"; - return '${duration.inHours}h ${duration.inMinutes % 60}m'; + return "${duration.inHours}h ${duration.inMinutes % 60}m"; }, [], ); @@ -147,9 +147,9 @@ class ActiveMatchPlayer extends HookConsumerWidget { final totalMatches = wins + playerChampion.value!.losses; final winRate = wins * 100 / totalMatches; - if (winRate == double.nan || winRate == double.nan) return ''; + if (winRate == double.nan || winRate == double.nan) return ""; - return '${winRate.toStringAsPrecision(3)}%'; + return "${winRate.toStringAsPrecision(3)}%"; }, [], ); @@ -174,7 +174,7 @@ class ActiveMatchPlayer extends HookConsumerWidget { final totalCredits = playerChampion.value!.totalCredits; final cpm = totalCredits / totalMatches; - return '${cpm.round()} CR'; + return "${cpm.round()} CR"; }, [], ); @@ -197,7 +197,7 @@ class ActiveMatchPlayer extends HookConsumerWidget { onTap: () => playerChampion.value == null ? widgets.showToast( context: context, - text: 'Stats not available for this player', + text: "Stats not available for this player", type: widgets.ToastType.info, ) : expandedController.toggle(), @@ -247,7 +247,7 @@ class ActiveMatchPlayer extends HookConsumerWidget { onTap: onTapPlayer, child: Text( isPrivatePlayer - ? 'Private Profile' + ? "Private Profile" : playerInfo.player.playerName, style: TextStyle( decoration: isPrivatePlayer @@ -264,7 +264,7 @@ class ActiveMatchPlayer extends HookConsumerWidget { ), ), Text( - 'Level ${playerInfo.player.level}', + "Level ${playerInfo.player.level}", style: textTheme.bodyText1?.copyWith(fontSize: 12), ), ], @@ -283,10 +283,10 @@ class ActiveMatchPlayer extends HookConsumerWidget { text: TextSpan( style: DefaultTextStyle.of(context).style, children: [ - const TextSpan(text: 'WR '), + const TextSpan(text: "WR "), TextSpan( text: - '${winRate.toStringAsPrecision(3)}%', + "${winRate.toStringAsPrecision(3)}%", style: TextStyle( fontWeight: FontWeight.bold, color: getWinRateColor(winRate), @@ -296,7 +296,7 @@ class ActiveMatchPlayer extends HookConsumerWidget { ), ), Text( - '${playerInfo.ranked!.wins}W ${playerInfo.ranked!.looses}L', + "${playerInfo.ranked!.wins}W ${playerInfo.ranked!.looses}L", style: textTheme.bodyText1 ?.copyWith(fontSize: 12), ), @@ -318,7 +318,7 @@ class ActiveMatchPlayer extends HookConsumerWidget { CrossAxisAlignment.end, children: [ Text( - 'Stats', + "Stats", style: textTheme.bodyText1 ?.copyWith(fontSize: 10), ), @@ -360,15 +360,15 @@ class ActiveMatchPlayer extends HookConsumerWidget { MainAxisAlignment.spaceAround, children: [ _InfoLabel( - label: 'Play Time', + label: "Play Time", text: getChampionPlaytime(), ), _InfoLabel( - label: 'Champ. Lvl', + label: "Champ. Lvl", text: getChampionLevel(), ), _InfoLabel( - label: 'Champ. WR', + label: "Champ. WR", text: getChampionWinRate(), ), ], @@ -379,15 +379,15 @@ class ActiveMatchPlayer extends HookConsumerWidget { MainAxisAlignment.spaceAround, children: [ _InfoLabel( - label: 'KDA', + label: "KDA", text: getChampionKDA(), ), _InfoLabel( - label: 'CR / Match', + label: "CR / Match", text: getChampionCPM(), ), _InfoLabel( - label: 'Last Played', + label: "Last Played", text: getPlayerLastPlayed(), ), ], diff --git a/lib/screens/active_match/index.dart b/lib/screens/active_match/index.dart index 8dae1ba2..73b60e0b 100644 --- a/lib/screens/active_match/index.dart +++ b/lib/screens/active_match/index.dart @@ -1 +1 @@ -export './active_match.dart'; +export "./active_match.dart"; diff --git a/lib/screens/app_drawer/app_drawer.dart b/lib/screens/app_drawer/app_drawer.dart index 721058df..a70d0efd 100644 --- a/lib/screens/app_drawer/app_drawer.dart +++ b/lib/screens/app_drawer/app_drawer.dart @@ -1,18 +1,18 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/app_drawer/app_drawer_button.dart'; -import 'package:paladinsedge/screens/app_drawer/app_drawer_guest_profile.dart'; -import 'package:paladinsedge/screens/app_drawer/app_drawer_info.dart'; -import 'package:paladinsedge/screens/app_drawer/app_drawer_login_button.dart'; -import 'package:paladinsedge/screens/app_drawer/app_drawer_player_profile.dart'; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; -import 'package:paladinsedge/widgets/login_modal.dart'; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/app_drawer/app_drawer_button.dart"; +import "package:paladinsedge/screens/app_drawer/app_drawer_guest_profile.dart"; +import "package:paladinsedge/screens/app_drawer/app_drawer_info.dart"; +import "package:paladinsedge/screens/app_drawer/app_drawer_login_button.dart"; +import "package:paladinsedge/screens/app_drawer/app_drawer_player_profile.dart"; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; +import "package:paladinsedge/widgets/login_modal.dart"; class AppDrawer extends HookConsumerWidget { const AppDrawer({Key? key}) : super(key: key); @@ -32,18 +32,25 @@ class AppDrawer extends HookConsumerWidget { final isLoggingOut = useState(false); // Methods + final navigateToLogin = useCallback( + () { + utilities.Navigation.pop(context); + utilities.Navigation.navigate(context, screens.Login.routeName); + }, + [], + ); + final onLogout = useCallback( () async { isLoggingOut.value = true; final isLoggedOut = await ref.read(providers.auth).logout(); if (isLoggedOut) { - utilities.Navigation.pop(context); - utilities.Navigation.navigate(context, screens.Login.routeName); + navigateToLogin(); } else { widgets.showToast( context: context, - text: 'Unable to logout, try again later', + text: "Unable to logout, try again later", type: widgets.ToastType.error, ); } @@ -68,11 +75,11 @@ class AppDrawer extends HookConsumerWidget { final getThemeName = useCallback( () { if (themeMode == ThemeMode.dark) { - return 'dark'; + return "dark"; } else if (themeMode == ThemeMode.light) { - return 'light'; + return "light"; } else if (themeMode == ThemeMode.system) { - return 'system'; + return "system"; } else { return null; } @@ -80,7 +87,7 @@ class AppDrawer extends HookConsumerWidget { [authProvider.settings.themeMode], ); - final _onFriends = useCallback( + final onFriendsHelper = useCallback( () { utilities.Navigation.pop(context); utilities.Navigation.navigate(context, screens.Friends.userRouteName); @@ -95,18 +102,18 @@ class AppDrawer extends HookConsumerWidget { showLoginModal( data_classes.ShowLoginModalOptions( context: context, - onSuccess: _onFriends, + onSuccess: onFriendsHelper, loginCta: constants.LoginCTA.friendsDrawer, ), ); } else { - _onFriends(); + onFriendsHelper(); } }, [], ); - final _onActiveMatch = useCallback( + final onActiveMatchHelper = useCallback( () { if (player == null) return; @@ -127,12 +134,12 @@ class AppDrawer extends HookConsumerWidget { showLoginModal( data_classes.ShowLoginModalOptions( context: context, - onSuccess: _onActiveMatch, + onSuccess: onActiveMatchHelper, loginCta: constants.LoginCTA.activeMatchDrawer, ), ); } else { - _onActiveMatch(); + onActiveMatchHelper(); } }, [], @@ -175,26 +182,26 @@ class AppDrawer extends HookConsumerWidget { : const AppDrawerPlayerProfile(), const SizedBox(height: 20), AppDrawerButton( - label: 'Change Theme', + label: "Change Theme", subTitle: getThemeName(), onPressed: onChangeTheme, ), if (showPlayerDependentButtons()) AppDrawerButton( - label: 'Friends', + label: "Friends", onPressed: onFriends, ), if (showPlayerDependentButtons()) AppDrawerButton( - label: 'Active Match', + label: "Active Match", onPressed: onActiveMatch, ), AppDrawerButton( - label: 'Feedback', + label: "Feedback", onPressed: onFeedback, ), AppDrawerButton( - label: 'Global Chat', + label: "Global Chat", onPressed: onGlobalChat, ), Row( @@ -212,7 +219,7 @@ class AppDrawer extends HookConsumerWidget { onPressed: onLogout, ) : AppDrawerButton( - label: 'Logout', + label: "Logout", disabled: isLoggingOut.value, onPressed: onLogout, ), diff --git a/lib/screens/app_drawer/app_drawer_button.dart b/lib/screens/app_drawer/app_drawer_button.dart index e508eca4..e0f1de17 100644 --- a/lib/screens/app_drawer/app_drawer_button.dart +++ b/lib/screens/app_drawer/app_drawer_button.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; class AppDrawerButton extends StatelessWidget { final String label; diff --git a/lib/screens/app_drawer/app_drawer_guest_profile.dart b/lib/screens/app_drawer/app_drawer_guest_profile.dart index dbd2406c..d1033760 100644 --- a/lib/screens/app_drawer/app_drawer_guest_profile.dart +++ b/lib/screens/app_drawer/app_drawer_guest_profile.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; +import "package:flutter/material.dart"; +import "package:flutter_feather_icons/flutter_feather_icons.dart"; class AppDrawerGuestProfile extends StatelessWidget { const AppDrawerGuestProfile({Key? key}) : super(key: key); diff --git a/lib/screens/app_drawer/app_drawer_info.dart b/lib/screens/app_drawer/app_drawer_info.dart index bfb6546c..81084a20 100644 --- a/lib/screens/app_drawer/app_drawer_info.dart +++ b/lib/screens/app_drawer/app_drawer_info.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:package_info_plus/package_info_plus.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/widgets/index.dart' as widgets; -import 'package:url_launcher/url_launcher.dart'; +import "package:flutter/material.dart"; +import "package:flutter_feather_icons/flutter_feather_icons.dart"; +import "package:package_info_plus/package_info_plus.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/widgets/index.dart" as widgets; +import "package:url_launcher/url_launcher_string.dart"; class AppDrawerInfo extends StatelessWidget { const AppDrawerInfo({Key? key}) : super(key: key); @@ -28,7 +28,7 @@ class AppDrawerInfo extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.end, children: [ Text( - 'Paladins Edge', + "Paladins Edge", style: textTheme.bodyText1, ), const SizedBox(height: 10), @@ -37,7 +37,7 @@ class AppDrawerInfo extends StatelessWidget { children: [ widgets.TextChip( color: Colors.deepPurple, - text: 'v${packageInfo.version}', + text: "v${packageInfo.version}", spacing: 5, ), const widgets.TextChip( @@ -54,12 +54,12 @@ class AppDrawerInfo extends StatelessWidget { ), IconButton( iconSize: 24, - tooltip: 'View on GitHub', + tooltip: "View on GitHub", splashRadius: 24, icon: const Icon( FeatherIcons.github, ), - onPressed: () => launch(constants.Env.githubLink), + onPressed: () => launchUrlString(constants.Env.githubLink), ), ], ), diff --git a/lib/screens/app_drawer/app_drawer_login_button.dart b/lib/screens/app_drawer/app_drawer_login_button.dart index 7804cf83..b251d62f 100644 --- a/lib/screens/app_drawer/app_drawer_login_button.dart +++ b/lib/screens/app_drawer/app_drawer_login_button.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; class AppDrawerLoginButton extends StatelessWidget { final BuildContext context; @@ -25,7 +25,7 @@ class AppDrawerLoginButton extends StatelessWidget { ), const SizedBox(width: 8), Text( - 'Back to Login', + "Back to Login", style: theme.textTheme.headline3?.copyWith( color: theme.colorScheme.secondary, ), diff --git a/lib/screens/app_drawer/app_drawer_player_profile.dart b/lib/screens/app_drawer/app_drawer_player_profile.dart index e4e964fd..fae1afe4 100644 --- a/lib/screens/app_drawer/app_drawer_player_profile.dart +++ b/lib/screens/app_drawer/app_drawer_player_profile.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -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; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +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 AppDrawerPlayerProfile extends HookConsumerWidget { const AppDrawerPlayerProfile({Key? key}) : super(key: key); @@ -26,7 +26,7 @@ class AppDrawerPlayerProfile extends HookConsumerWidget { context, screens.PlayerDetail.routeName, params: { - 'playerId': player.playerId, + "playerId": player.playerId, }, ); }, diff --git a/lib/screens/app_drawer/index.dart b/lib/screens/app_drawer/index.dart index 3457b135..220fbadf 100644 --- a/lib/screens/app_drawer/index.dart +++ b/lib/screens/app_drawer/index.dart @@ -1 +1 @@ -export './app_drawer.dart'; +export "./app_drawer.dart"; diff --git a/lib/screens/champion_detail/champion_detail.dart b/lib/screens/champion_detail/champion_detail.dart index bfc166e7..0dc992af 100644 --- a/lib/screens/champion_detail/champion_detail.dart +++ b/lib/screens/champion_detail/champion_detail.dart @@ -1,26 +1,26 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/champion_detail/champion_detail_abilities.dart'; -import 'package:paladinsedge/screens/champion_detail/champion_detail_app_bar.dart'; -import 'package:paladinsedge/screens/champion_detail/champion_detail_heading.dart'; -import 'package:paladinsedge/screens/champion_detail/champion_detail_loadout_cards.dart'; -import 'package:paladinsedge/screens/champion_detail/champion_detail_lore.dart'; -import 'package:paladinsedge/screens/champion_detail/champion_detail_player_stats.dart'; -import 'package:paladinsedge/screens/champion_detail/champion_detail_talents.dart'; -import 'package:paladinsedge/screens/champion_detail/champion_detail_title_label.dart'; -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; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/champion_detail/champion_detail_abilities.dart"; +import "package:paladinsedge/screens/champion_detail/champion_detail_app_bar.dart"; +import "package:paladinsedge/screens/champion_detail/champion_detail_heading.dart"; +import "package:paladinsedge/screens/champion_detail/champion_detail_loadout_cards.dart"; +import "package:paladinsedge/screens/champion_detail/champion_detail_lore.dart"; +import "package:paladinsedge/screens/champion_detail/champion_detail_player_stats.dart"; +import "package:paladinsedge/screens/champion_detail/champion_detail_talents.dart"; +import "package:paladinsedge/screens/champion_detail/champion_detail_title_label.dart"; +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 ChampionDetail extends HookConsumerWidget { - static const routeName = 'champion'; - static const routePath = 'champion/:championId'; + static const routeName = "champion"; + static const routePath = "champion/:championId"; final int championId; const ChampionDetail({ @@ -84,15 +84,15 @@ class ChampionDetail extends HookConsumerWidget { [], ); - final _onLoadoutPress = useCallback( + final onLoadoutPressHelper = useCallback( () { if (champion == null || player == null) return; utilities.Navigation.navigate( context, screens.Loadouts.routeName, params: { - 'championId': champion.championId.toString(), - 'playerId': player.playerId, + "championId": champion.championId.toString(), + "playerId": player.playerId, }, ); }, @@ -105,10 +105,10 @@ class ChampionDetail extends HookConsumerWidget { widgets.showLoginModal(data_classes.ShowLoginModalOptions( context: context, loginCta: constants.LoginCTA.loadoutFab, - onSuccess: _onLoadoutPress, + onSuccess: onLoadoutPressHelper, )); } else { - _onLoadoutPress(); + onLoadoutPressHelper(); } }, [isGuest], @@ -120,7 +120,7 @@ class ChampionDetail extends HookConsumerWidget { body: widgets.LoadingIndicator( lineWidth: 2, size: 28, - label: Text('Getting champion'), + label: Text("Getting champion"), ), ) : const screens.NotFound() @@ -139,14 +139,14 @@ class ChampionDetail extends HookConsumerWidget { hoverElevation: 6, focusElevation: 8, backgroundColor: theme.themeMaterialColor, + isExtended: true, child: Text( - 'Loadouts', + "Loadouts", style: textTheme.bodyText2?.copyWith( fontSize: 14, color: Colors.white, ), ), - isExtended: true, ), ), ), @@ -154,7 +154,7 @@ class ChampionDetail extends HookConsumerWidget { ? const widgets.LoadingIndicator( lineWidth: 2, size: 28, - label: Text('Getting champion'), + label: Text("Getting champion"), ) : NotificationListener( onNotification: onScrollNotification, @@ -165,20 +165,20 @@ class ChampionDetail extends HookConsumerWidget { delegate: SliverChildListDelegate( [ ChampionDetailHeading(champion: champion), - const ChampionDetailTitleLabel(label: 'Lore'), + const ChampionDetailTitleLabel(label: "Lore"), ChampionDetailLore(champion: champion), - const ChampionDetailTitleLabel(label: 'Talents'), + const ChampionDetailTitleLabel(label: "Talents"), ChampionDetailTalents(champion: champion), const ChampionDetailTitleLabel( - label: 'Abilities', + label: "Abilities", ), ChampionDetailAbilities(champion: champion), const ChampionDetailTitleLabel( - label: 'Loadout Cards', + label: "Loadout Cards", ), ChampionDetailLoadoutCards(champion: champion), const ChampionDetailTitleLabel( - label: 'Your Stats', + label: "Your Stats", ), ChampionDetailPlayerStats(champion: champion), const SizedBox(height: 50), @@ -192,7 +192,7 @@ class ChampionDetail extends HookConsumerWidget { } static Widget _routeBuilder(_, GoRouterState state) { - final param = state.params['championId']; + final param = state.params["championId"]; if (param == null) return const screens.NotFound(); final championId = int.tryParse(param); diff --git a/lib/screens/champion_detail/champion_detail_abilities.dart b/lib/screens/champion_detail/champion_detail_abilities.dart index f67ebf5f..efa48bdf 100644 --- a/lib/screens/champion_detail/champion_detail_abilities.dart +++ b/lib/screens/champion_detail/champion_detail_abilities.dart @@ -1,10 +1,10 @@ -import 'package:dartx/dartx.dart'; -import 'package:expand_widget/expand_widget.dart'; -import 'package:flutter/material.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:dartx/dartx.dart"; +import "package:expand_widget/expand_widget.dart"; +import "package:flutter/material.dart"; +import "package:paladinsedge/constants.dart" as constants; +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 ChampionDetailAbilities extends StatelessWidget { final models.Champion champion; @@ -21,7 +21,7 @@ class ChampionDetailAbilities extends StatelessWidget { children: champion.abilities.map( (ability) { final damageTypeChips = - ability.damageType.split(',').map((damageType) { + ability.damageType.split(",").map((damageType) { return constants.championDamageType[damageType]; }).filterNotNull(); @@ -74,7 +74,7 @@ class ChampionDetailAbilities extends StatelessWidget { widgets.TextChip( spacing: 5, text: - '${ability.cooldown.toInt().toString()} sec', + "${ability.cooldown.toInt().toString()} sec", color: Colors.blueGrey, icon: Icons.timelapse, ), diff --git a/lib/screens/champion_detail/champion_detail_app_bar.dart b/lib/screens/champion_detail/champion_detail_app_bar.dart index 79f2fda0..66e1261e 100644 --- a/lib/screens/champion_detail/champion_detail_app_bar.dart +++ b/lib/screens/champion_detail/champion_detail_app_bar.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:paladinsedge/constants.dart' as constants; -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; +import "package:flutter/material.dart"; +import "package:flutter/services.dart"; +import "package:paladinsedge/constants.dart" as constants; +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 ChampionDetailAppBar extends StatelessWidget { final models.Champion champion; diff --git a/lib/screens/champion_detail/champion_detail_heading.dart b/lib/screens/champion_detail/champion_detail_heading.dart index 46d1d950..d0732594 100644 --- a/lib/screens/champion_detail/champion_detail_heading.dart +++ b/lib/screens/champion_detail/champion_detail_heading.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:intl/intl.dart'; -import 'package:jiffy/jiffy.dart'; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:intl/intl.dart"; +import "package:jiffy/jiffy.dart"; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/widgets/index.dart" as widgets; class ChampionDetailHeading extends ConsumerWidget { final models.Champion champion; @@ -23,24 +23,24 @@ class ChampionDetailHeading extends ConsumerWidget { final fireRate = champion.fireRate != 0 ? champion.fireRate : 1; final dps = (champion.weaponDamage ~/ fireRate).toString(); final health = NumberFormat.compact().format(champion.health).toString(); - String range = ''; + String range = ""; if (champion.damageFallOffRange == 0) { - range = 'Range ∞'; + range = "Range ∞"; } else if (champion.damageFallOffRange < 0) { - range = 'Range ${champion.damageFallOffRange.abs().toInt()}'; + range = "Range ${champion.damageFallOffRange.abs().toInt()}"; } else { - range = 'Fall-off ${champion.damageFallOffRange.toInt()}'; + range = "Fall-off ${champion.damageFallOffRange.toInt()}"; } - final birthDay = Jiffy(champion.releaseDate).format('MMM do'); + final birthDay = Jiffy(champion.releaseDate).format("MMM do"); return Padding( padding: const EdgeInsets.all(10), child: Row( children: [ Hero( - tag: '${champion.championId}Icon', + tag: "${champion.championId}Icon", child: widgets.ElevatedAvatar( imageUrl: champion.iconUrl, imageBlurHash: champion.iconBlurHash, @@ -72,7 +72,7 @@ class ChampionDetailHeading extends ConsumerWidget { ), const SizedBox(height: 3), Text( - '$dps DPS | $health Health | $range', + "$dps DPS | $health Health | $range", style: textTheme.bodyText1?.copyWith(fontSize: 10), ), Text( diff --git a/lib/screens/champion_detail/champion_detail_loadout_cards.dart b/lib/screens/champion_detail/champion_detail_loadout_cards.dart index a3c5b76c..96d5b42b 100644 --- a/lib/screens/champion_detail/champion_detail_loadout_cards.dart +++ b/lib/screens/champion_detail/champion_detail_loadout_cards.dart @@ -1,11 +1,11 @@ -import 'dart:math'; +import "dart:math"; -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/gestures.dart"; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/widgets/index.dart" as widgets; class ChampionDetailLoadoutCards extends HookWidget { final models.Champion champion; diff --git a/lib/screens/champion_detail/champion_detail_lore.dart b/lib/screens/champion_detail/champion_detail_lore.dart index 66712039..9a7b1466 100644 --- a/lib/screens/champion_detail/champion_detail_lore.dart +++ b/lib/screens/champion_detail/champion_detail_lore.dart @@ -1,6 +1,6 @@ -import 'package:expand_widget/expand_widget.dart'; -import 'package:flutter/material.dart'; -import 'package:paladinsedge/models/index.dart' as models; +import "package:expand_widget/expand_widget.dart"; +import "package:flutter/material.dart"; +import "package:paladinsedge/models/index.dart" as models; class ChampionDetailLore extends StatelessWidget { final models.Champion champion; diff --git a/lib/screens/champion_detail/champion_detail_player_stats.dart b/lib/screens/champion_detail/champion_detail_player_stats.dart index 1b592aa3..18f4dc14 100644 --- a/lib/screens/champion_detail/champion_detail_player_stats.dart +++ b/lib/screens/champion_detail/champion_detail_player_stats.dart @@ -1,13 +1,13 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:intl/intl.dart'; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/champion_detail/champion_detail_stat_label.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:timer_builder/timer_builder.dart'; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:intl/intl.dart"; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/champion_detail/champion_detail_stat_label.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:timer_builder/timer_builder.dart"; class ChampionDetailPlayerStats extends HookConsumerWidget { final models.Champion champion; @@ -30,7 +30,7 @@ class ChampionDetailPlayerStats extends HookConsumerWidget { return const Padding( padding: EdgeInsets.all(10), child: Text( - 'Stats not available for Guest Users', + "Stats not available for Guest Users", textAlign: TextAlign.center, style: TextStyle(fontStyle: FontStyle.italic), ), @@ -41,14 +41,14 @@ class ChampionDetailPlayerStats extends HookConsumerWidget { return const Padding( padding: EdgeInsets.all(10), child: Text( - 'You have not played enough matches on this champion', + "You have not played enough matches on this champion", textAlign: TextAlign.center, ), ); } final playTimeString = - '${(playerChampion.playTime ~/ 60)}hrs ${playerChampion.playTime % 60}min'; + "${(playerChampion.playTime ~/ 60)}hrs ${playerChampion.playTime % 60}min"; String kda = ((playerChampion.totalKills + playerChampion.totalAssists) / playerChampion.totalDeaths) @@ -100,50 +100,50 @@ class ChampionDetailPlayerStats extends HookConsumerWidget { physics: const ClampingScrollPhysics(), children: [ StatLabel( - label: 'W / L', + label: "W / L", text: - '${NumberFormat.compact().format(playerChampion.wins).toString()} / ${NumberFormat.compact().format(playerChampion.losses).toString()}', + "${NumberFormat.compact().format(playerChampion.wins).toString()} / ${NumberFormat.compact().format(playerChampion.losses).toString()}", ), StatLabel( - label: 'Level', + label: "Level", text: NumberFormat.compact() .format(playerChampion.level) .toString(), ), StatLabel( - label: 'Kills', + label: "Kills", text: NumberFormat.compact() .format(playerChampion.totalKills) .toString(), ), StatLabel( - label: 'Deaths', + label: "Deaths", text: NumberFormat.compact() .format(playerChampion.totalDeaths) .toString(), ), StatLabel( - label: 'Play Time', + label: "Play Time", text: playTimeString, ), TimerBuilder.periodic( const Duration(minutes: 1), builder: (_) { return StatLabel( - label: 'Last Played', + label: "Last Played", text: utilities .getLastPlayedTime(playerChampion.lastPlayed), ); }, ), StatLabel( - label: 'KDA', + label: "KDA", text: kda, ), StatLabel( - label: 'Credits', + label: "Credits", text: - '${(playerChampion.totalCredits ~/ playerChampion.playTime).toString()} Per Min', + "${(playerChampion.totalCredits ~/ playerChampion.playTime).toString()} Per Min", ), ], ), diff --git a/lib/screens/champion_detail/champion_detail_stat_label.dart b/lib/screens/champion_detail/champion_detail_stat_label.dart index 3c6d713d..7fbd5009 100644 --- a/lib/screens/champion_detail/champion_detail_stat_label.dart +++ b/lib/screens/champion_detail/champion_detail_stat_label.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; class StatLabel extends StatelessWidget { final String label; diff --git a/lib/screens/champion_detail/champion_detail_talents.dart b/lib/screens/champion_detail/champion_detail_talents.dart index f3b07769..9241d044 100644 --- a/lib/screens/champion_detail/champion_detail_talents.dart +++ b/lib/screens/champion_detail/champion_detail_talents.dart @@ -1,7 +1,7 @@ -import 'package:expand_widget/expand_widget.dart'; -import 'package:flutter/material.dart'; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:expand_widget/expand_widget.dart"; +import "package:flutter/material.dart"; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/widgets/index.dart" as widgets; class ChampionDetailTalents extends StatelessWidget { final models.Champion champion; @@ -56,7 +56,7 @@ class ChampionDetailTalents extends StatelessWidget { widgets.TextChip( spacing: 5, text: - '${talent.cooldown.toInt().toString()} sec', + "${talent.cooldown.toInt().toString()} sec", color: Colors.blueGrey, icon: Icons.timelapse, ), diff --git a/lib/screens/champion_detail/champion_detail_title_label.dart b/lib/screens/champion_detail/champion_detail_title_label.dart index 31ef6981..0e4cc600 100644 --- a/lib/screens/champion_detail/champion_detail_title_label.dart +++ b/lib/screens/champion_detail/champion_detail_title_label.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; class ChampionDetailTitleLabel extends StatelessWidget { final String label; diff --git a/lib/screens/champion_detail/index.dart b/lib/screens/champion_detail/index.dart index 27f844a9..f6ff12d3 100644 --- a/lib/screens/champion_detail/index.dart +++ b/lib/screens/champion_detail/index.dart @@ -1 +1 @@ -export './champion_detail.dart'; +export "./champion_detail.dart"; diff --git a/lib/screens/champions/champion_item.dart b/lib/screens/champions/champion_item.dart index d47dcb35..b4f799a6 100644 --- a/lib/screens/champions/champion_item.dart +++ b/lib/screens/champions/champion_item.dart @@ -1,14 +1,14 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -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/theme/index.dart' as theme; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; -import 'package:substring_highlight/substring_highlight.dart'; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +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/theme/index.dart" as theme; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; +import "package:substring_highlight/substring_highlight.dart"; class ChampionItem extends HookConsumerWidget { final models.Champion champion; @@ -62,7 +62,7 @@ class ChampionItem extends HookConsumerWidget { () { return searchCondition == data_classes.ChampionsSearchCondition.name ? search - : ''; + : ""; }, [search, searchCondition], ); @@ -71,7 +71,7 @@ class ChampionItem extends HookConsumerWidget { () { return searchCondition == data_classes.ChampionsSearchCondition.title ? search - : ''; + : ""; }, [search, searchCondition], ); @@ -81,7 +81,7 @@ class ChampionItem extends HookConsumerWidget { return searchCondition == data_classes.ChampionsSearchCondition.championId ? search - : ''; + : ""; }, [search, searchCondition], ); @@ -90,7 +90,7 @@ class ChampionItem extends HookConsumerWidget { () { return searchCondition == data_classes.ChampionsSearchCondition.level ? search - : ''; + : ""; }, [search, searchCondition], ); @@ -99,7 +99,7 @@ class ChampionItem extends HookConsumerWidget { () { return searchCondition == data_classes.ChampionsSearchCondition.role ? search - : ''; + : ""; }, [search, searchCondition], ); @@ -111,7 +111,7 @@ class ChampionItem extends HookConsumerWidget { utilities.Navigation.navigate( context, screens.ChampionDetail.routeName, - params: {'championId': champion.championId.toString()}, + params: {"championId": champion.championId.toString()}, ); }, [champion], @@ -129,7 +129,7 @@ class ChampionItem extends HookConsumerWidget { Padding( padding: const EdgeInsets.only(right: 10, left: 5), child: Hero( - tag: '${champion.championId}Icon', + tag: "${champion.championId}Icon", child: LayoutBuilder( builder: (context, constraints) => widgets.ElevatedAvatar( imageUrl: champion.iconUrl, @@ -157,7 +157,7 @@ class ChampionItem extends HookConsumerWidget { const SizedBox(height: 2), if (championIdSearch.isNotEmpty) SubstringHighlight( - text: 'Champion ID ${champion.championId}', + text: "Champion ID ${champion.championId}", term: championIdSearch, textStyle: textTheme.bodyText1!.copyWith( fontSize: 12, @@ -192,20 +192,20 @@ class ChampionItem extends HookConsumerWidget { widgets.TextChip( spacing: 5, highlightText: levelSearch, - text: 'Level ${playerChampion?.level.toString()}', + text: "Level ${playerChampion?.level.toString()}", color: levelColor, ), if (champion.onFreeRotation) const widgets.TextChip( spacing: 5, - text: 'Free', + text: "Free", icon: Icons.rotate_right, color: Colors.green, ), if (champion.latestChampion) const widgets.TextChip( spacing: 5, - text: 'New', + text: "New", icon: Icons.star, color: Colors.orange, ), diff --git a/lib/screens/champions/champions.dart b/lib/screens/champions/champions.dart index 51bf6522..209ed5d3 100644 --- a/lib/screens/champions/champions.dart +++ b/lib/screens/champions/champions.dart @@ -1,11 +1,11 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/champions/champions_list.dart'; -import 'package:paladinsedge/screens/champions/champions_search_bar.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/champions/champions_list.dart"; +import "package:paladinsedge/screens/champions/champions_search_bar.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class Champions extends HookConsumerWidget { const Champions({Key? key}) : super(key: key); diff --git a/lib/screens/champions/champions_filter_modal.dart b/lib/screens/champions/champions_filter_modal.dart index 3493e04e..4e028738 100644 --- a/lib/screens/champions/champions_filter_modal.dart +++ b/lib/screens/champions/champions_filter_modal.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:paladinsedge/screens/champions/champions_filter_tab.dart'; -import 'package:paladinsedge/screens/champions/champions_sort_tab.dart'; -import 'package:paladinsedge/theme/index.dart' as theme; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:flutter/material.dart"; +import "package:flutter_feather_icons/flutter_feather_icons.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:paladinsedge/screens/champions/champions_filter_tab.dart"; +import "package:paladinsedge/screens/champions/champions_sort_tab.dart"; +import "package:paladinsedge/theme/index.dart" as theme; +import "package:paladinsedge/utilities/index.dart" as utilities; void showChampionsFilterModal(BuildContext context) { final screenWidth = MediaQuery.of(context).size.width; @@ -75,7 +75,7 @@ class _ChampionsFilterModal extends HookWidget { children: const [ Icon(FeatherIcons.filter, size: 18), SizedBox(width: 10), - Text('Filter', style: TextStyle(fontSize: 16)), + Text("Filter", style: TextStyle(fontSize: 16)), ], ), ), @@ -85,7 +85,7 @@ class _ChampionsFilterModal extends HookWidget { children: const [ Icon(FeatherIcons.arrowUp, size: 20), SizedBox(width: 10), - Text('Sort', style: TextStyle(fontSize: 16)), + Text("Sort", style: TextStyle(fontSize: 16)), ], ), ), diff --git a/lib/screens/champions/champions_filter_tab.dart b/lib/screens/champions/champions_filter_tab.dart index 15c60ff3..0b2dba44 100644 --- a/lib/screens/champions/champions_filter_tab.dart +++ b/lib/screens/champions/champions_filter_tab.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/theme/index.dart' as theme; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/theme/index.dart" as theme; +import "package:paladinsedge/widgets/index.dart" as widgets; class ChampionsFilterTab extends HookConsumerWidget { const ChampionsFilterTab({Key? key}) : super(key: key); @@ -62,7 +62,7 @@ class ChampionsFilterTab extends HookConsumerWidget { ), if (isFilterNameSelected) Text( - 'Selected', + "Selected", style: TextStyle( fontSize: 12, color: labelColor, diff --git a/lib/screens/champions/champions_list.dart b/lib/screens/champions/champions_list.dart index 1f094e20..a716d4f5 100644 --- a/lib/screens/champions/champions_list.dart +++ b/lib/screens/champions/champions_list.dart @@ -1,8 +1,8 @@ -import 'package:flutter/material.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/champions/champion_item.dart'; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/champions/champion_item.dart"; +import "package:paladinsedge/widgets/index.dart" as widgets; class ChampionsList extends HookConsumerWidget { const ChampionsList({Key? key}) : super(key: key); @@ -53,10 +53,10 @@ class ChampionsList extends HookConsumerWidget { ? const widgets.LoadingIndicator( lineWidth: 2, size: 28, - label: Text('Getting champions'), + label: Text("Getting champions"), ) : const Center( - child: Text('Unable to load champions data'), + child: Text("Unable to load champions data"), ), ], ), diff --git a/lib/screens/champions/champions_search_bar.dart b/lib/screens/champions/champions_search_bar.dart index baa29f6d..e7833dfd 100644 --- a/lib/screens/champions/champions_search_bar.dart +++ b/lib/screens/champions/champions_search_bar.dart @@ -1,14 +1,14 @@ -import 'package:badges/badges.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/champions/champions_filter_modal.dart'; -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:badges/badges.dart"; +import "package:flutter/material.dart"; +import "package:flutter_feather_icons/flutter_feather_icons.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/champions/champions_filter_modal.dart"; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/theme/index.dart" as theme; +import "package:paladinsedge/utilities/index.dart" as utilities; class ChampionsSearchBar extends HookConsumerWidget { const ChampionsSearchBar({Key? key}) : super(key: key); @@ -67,7 +67,7 @@ class ChampionsSearchBar extends HookConsumerWidget { utilities.Navigation.navigate( context, screens.ChampionDetail.routeName, - params: {'championId': champion.championId.toString()}, + params: {"championId": champion.championId.toString()}, ); } }, @@ -108,7 +108,7 @@ class ChampionsSearchBar extends HookConsumerWidget { onChanged: championsProvider.filterChampionsBySearch, onSubmitted: onSubmit, decoration: InputDecoration( - hintText: 'Search champion', + hintText: "Search champion", counterText: "", hintStyle: textStyle, border: InputBorder.none, diff --git a/lib/screens/champions/champions_sort_tab.dart b/lib/screens/champions/champions_sort_tab.dart index 42cb5efe..2b1ca017 100644 --- a/lib/screens/champions/champions_sort_tab.dart +++ b/lib/screens/champions/champions_sort_tab.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/theme/index.dart' as theme; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/theme/index.dart" as theme; +import "package:paladinsedge/widgets/index.dart" as widgets; class ChampionsSortTab extends HookConsumerWidget { const ChampionsSortTab({Key? key}) : super(key: key); @@ -60,7 +60,7 @@ class ChampionsSortTab extends HookConsumerWidget { ), if (isSortSelected) Text( - 'Selected', + "Selected", style: TextStyle( fontSize: 12, color: labelColor, diff --git a/lib/screens/champions/index.dart b/lib/screens/champions/index.dart index 63904a38..d1c379ed 100644 --- a/lib/screens/champions/index.dart +++ b/lib/screens/champions/index.dart @@ -1 +1 @@ -export './champions.dart'; +export "./champions.dart"; diff --git a/lib/screens/connect_profile/connect_profile.dart b/lib/screens/connect_profile/connect_profile.dart index 18a00a79..b4eceeb9 100644 --- a/lib/screens/connect_profile/connect_profile.dart +++ b/lib/screens/connect_profile/connect_profile.dart @@ -1,24 +1,24 @@ -import 'dart:math'; - -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/app_drawer/index.dart'; -import 'package:paladinsedge/screens/connect_profile/connect_profile_loadout_verifier.dart'; -import 'package:paladinsedge/screens/connect_profile/connect_profile_search_list.dart'; -import 'package:paladinsedge/screens/connect_profile/connect_profile_status_indicator.dart'; -import 'package:paladinsedge/screens/connect_profile/connect_profile_verified_player.dart'; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "dart:math"; + +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/app_drawer/index.dart"; +import "package:paladinsedge/screens/connect_profile/connect_profile_loadout_verifier.dart"; +import "package:paladinsedge/screens/connect_profile/connect_profile_search_list.dart"; +import "package:paladinsedge/screens/connect_profile/connect_profile_status_indicator.dart"; +import "package:paladinsedge/screens/connect_profile/connect_profile_verified_player.dart"; +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 ConnectProfile extends HookConsumerWidget { - static const routeName = 'connectProfile'; - static const routePath = '/connectProfile'; + static const routeName = "connectProfile"; + static const routePath = "/connectProfile"; static final goRoute = GoRoute( name: routeName, path: routePath, @@ -61,13 +61,13 @@ class ConnectProfile extends HookConsumerWidget { if (exists == null) { widgets.showToast( context: context, - text: 'Something went wrong', + text: "Something went wrong", type: widgets.ToastType.error, ); } else if (exists) { widgets.showToast( context: context, - text: 'Player is already claimed', + text: "Player is already claimed", type: widgets.ToastType.info, ); } else { @@ -86,7 +86,7 @@ class ConnectProfile extends HookConsumerWidget { widgets.showToast( context: context, - text: reason ?? 'Unable to verify', + text: reason ?? "Unable to verify", type: widgets.ToastType.error, ); }, @@ -141,7 +141,7 @@ class ConnectProfile extends HookConsumerWidget { return Scaffold( drawer: const AppDrawer(), appBar: AppBar( - title: const Text('Connect Profile'), + title: const Text("Connect Profile"), ), body: Padding( padding: const EdgeInsets.all(10), @@ -154,7 +154,7 @@ class ConnectProfile extends HookConsumerWidget { style: textTheme.headline1, children: [ const TextSpan( - text: 'Hi, ', + text: "Hi, ", style: TextStyle( fontSize: 18, fontWeight: FontWeight.normal, @@ -172,7 +172,7 @@ class ConnectProfile extends HookConsumerWidget { : const SizedBox(), const SizedBox(height: 15), const Text( - 'In order to enjoy all the features of Paladins Edge, please connect your profile', + "In order to enjoy all the features of Paladins Edge, please connect your profile", textAlign: TextAlign.center, ), const SizedBox(height: 15), diff --git a/lib/screens/connect_profile/connect_profile_loadout_verifier.dart b/lib/screens/connect_profile/connect_profile_loadout_verifier.dart index cc54cd16..79b81730 100644 --- a/lib/screens/connect_profile/connect_profile_loadout_verifier.dart +++ b/lib/screens/connect_profile/connect_profile_loadout_verifier.dart @@ -1,6 +1,6 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/widgets/index.dart" as widgets; class CreateProfileLoadoutVerifier extends StatelessWidget { final bool isVerifying; @@ -31,14 +31,14 @@ class CreateProfileLoadoutVerifier extends StatelessWidget { const SizedBox(height: 15), RichText( text: TextSpan( - text: 'Verifying for ', + text: "Verifying for ", style: TextStyle( color: headline6?.color, fontFamily: headline6?.fontFamily, ), children: [ TextSpan( - text: '${selectedPlayer?.name}', + text: "${selectedPlayer?.name}", style: const TextStyle(fontWeight: FontWeight.bold), ), ], @@ -46,7 +46,7 @@ class CreateProfileLoadoutVerifier extends StatelessWidget { ), RichText( text: TextSpan( - text: 'Create a loadout with the name ', + text: "Create a loadout with the name ", style: TextStyle( color: headline6?.color, fontFamily: headline6?.fontFamily, @@ -60,7 +60,7 @@ class CreateProfileLoadoutVerifier extends StatelessWidget { ), ), const Text( - 'Click verify once you have created and saved your loadout', + "Click verify once you have created and saved your loadout", ), const SizedBox(height: 15), SizedBox( @@ -78,7 +78,7 @@ class CreateProfileLoadoutVerifier extends StatelessWidget { color: secondaryColor, ) : Text( - 'Verify', + "Verify", style: TextStyle(color: secondaryColor), ), ), @@ -92,7 +92,7 @@ class CreateProfileLoadoutVerifier extends StatelessWidget { backgroundColor: theme.scaffoldBackgroundColor, ), child: Text( - 'Change name', + "Change name", style: TextStyle(color: secondaryColor), ), ), diff --git a/lib/screens/connect_profile/connect_profile_player_input.dart b/lib/screens/connect_profile/connect_profile_player_input.dart index baa2ae26..945b40d1 100644 --- a/lib/screens/connect_profile/connect_profile_player_input.dart +++ b/lib/screens/connect_profile/connect_profile_player_input.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:paladinsedge/widgets/index.dart" as widgets; class ConnectProfilePlayerInput extends StatelessWidget { final textController = TextEditingController(); @@ -46,8 +46,8 @@ class ConnectProfilePlayerInput extends StatelessWidget { splashRadius: 24, onPressed: isLoading ? null : () => onSearch(textController.text), ), - labelText: 'Player Name', - hintText: 'Enter your Paladins IGN', + labelText: "Player Name", + hintText: "Enter your Paladins IGN", labelStyle: TextStyle(color: secondaryColor), ), ); diff --git a/lib/screens/connect_profile/connect_profile_search_item.dart b/lib/screens/connect_profile/connect_profile_search_item.dart index 91ddfd82..0a0e68e1 100644 --- a/lib/screens/connect_profile/connect_profile_search_item.dart +++ b/lib/screens/connect_profile/connect_profile_search_item.dart @@ -1,6 +1,6 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/widgets/index.dart" as widgets; class ConnectProfileSearchItem extends StatelessWidget { final api.LowerSearch searchItem; @@ -42,7 +42,7 @@ class ConnectProfileSearchItem extends StatelessWidget { crossAxisAlignment: CrossAxisAlignment.end, children: [ Text( - 'Player Id', + "Player Id", style: TextStyle( fontSize: 12, color: Colors.grey.shade500, diff --git a/lib/screens/connect_profile/connect_profile_search_list.dart b/lib/screens/connect_profile/connect_profile_search_list.dart index ac78f385..db490b6f 100644 --- a/lib/screens/connect_profile/connect_profile_search_list.dart +++ b/lib/screens/connect_profile/connect_profile_search_list.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/connect_profile/connect_profile_player_input.dart'; -import 'package:paladinsedge/screens/connect_profile/connect_profile_search_item.dart'; +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/connect_profile/connect_profile_player_input.dart"; +import "package:paladinsedge/screens/connect_profile/connect_profile_search_item.dart"; class ConnectProfileSearchList extends ConsumerWidget { final bool isLoading; @@ -41,10 +41,10 @@ class ConnectProfileSearchList extends ConsumerWidget { padding: const EdgeInsets.all(10), child: Column( children: const [ - Text('*Search for your Paladins IGN'), - Text('*Select your profile and follow the steps ahead'), + Text("*Search for your Paladins IGN"), + Text("*Select your profile and follow the steps ahead"), SizedBox(height: 10), - Text('*If your profile is not being shown after search,'), + Text("*If your profile is not being shown after search,"), Text( 'make sure it is set to "Public" under Settings > Gameplay', ), diff --git a/lib/screens/connect_profile/connect_profile_status_indicator.dart b/lib/screens/connect_profile/connect_profile_status_indicator.dart index 62ab4f0a..52af5b76 100644 --- a/lib/screens/connect_profile/connect_profile_status_indicator.dart +++ b/lib/screens/connect_profile/connect_profile_status_indicator.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/screens/connect_profile/connect_profile_status_indicator_item.dart'; +import "package:flutter/material.dart"; +import "package:paladinsedge/screens/connect_profile/connect_profile_status_indicator_item.dart"; class ConnectProfileStatusIndicator extends StatelessWidget { final int currentStep; @@ -19,17 +19,17 @@ class ConnectProfileStatusIndicator extends StatelessWidget { ConnectProfileStatusIndicatorItem( currentStep: currentStep, step: 0, - label: 'Search\nName', + label: "Search\nName", ), ConnectProfileStatusIndicatorItem( currentStep: currentStep, step: 1, - label: 'Create\nLoadout', + label: "Create\nLoadout", ), ConnectProfileStatusIndicatorItem( currentStep: currentStep, step: 2, - label: 'Get\nStarted', + label: "Get\nStarted", ), ], ), diff --git a/lib/screens/connect_profile/connect_profile_status_indicator_item.dart b/lib/screens/connect_profile/connect_profile_status_indicator_item.dart index 9e580266..2b163c74 100644 --- a/lib/screens/connect_profile/connect_profile_status_indicator_item.dart +++ b/lib/screens/connect_profile/connect_profile_status_indicator_item.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; class ConnectProfileStatusIndicatorItem extends StatelessWidget { final int currentStep; @@ -30,7 +30,7 @@ class ConnectProfileStatusIndicatorItem extends StatelessWidget { ), child: Center( child: Text( - '${step + 1}', + "${step + 1}", style: TextStyle( color: isActive ? theme.scaffoldBackgroundColor diff --git a/lib/screens/connect_profile/connect_profile_verified_player.dart b/lib/screens/connect_profile/connect_profile_verified_player.dart index c0eddd64..c076980f 100644 --- a/lib/screens/connect_profile/connect_profile_verified_player.dart +++ b/lib/screens/connect_profile/connect_profile_verified_player.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -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; +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +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 ConnectProfileVerifiedPlayer extends ConsumerWidget { const ConnectProfileVerifiedPlayer({Key? key}) : super(key: key); @@ -24,7 +24,7 @@ class ConnectProfileVerifiedPlayer extends ConsumerWidget { return Column( children: [ const SizedBox(height: 15), - const Text('Yay! Profile connected 🎉'), + const Text("Yay! Profile connected 🎉"), const SizedBox(height: 15), Row( mainAxisAlignment: MainAxisAlignment.center, @@ -64,7 +64,7 @@ class ConnectProfileVerifiedPlayer extends ConsumerWidget { backgroundColor: theme.scaffoldBackgroundColor, ), child: Text( - 'Continue', + "Continue", style: TextStyle(color: secondaryColor), ), ), diff --git a/lib/screens/connect_profile/index.dart b/lib/screens/connect_profile/index.dart index a38de69c..68cf9e40 100644 --- a/lib/screens/connect_profile/index.dart +++ b/lib/screens/connect_profile/index.dart @@ -1 +1 @@ -export './connect_profile.dart'; +export "./connect_profile.dart"; diff --git a/lib/screens/create_loadout/create_loadout.dart b/lib/screens/create_loadout/create_loadout.dart index d1fa04e5..4f6952be 100644 --- a/lib/screens/create_loadout/create_loadout.dart +++ b/lib/screens/create_loadout/create_loadout.dart @@ -1,19 +1,19 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/create_loadout/create_loadout_delete_button.dart'; -import 'package:paladinsedge/screens/create_loadout/create_loadout_draggable_cards.dart'; -import 'package:paladinsedge/screens/create_loadout/create_loadout_target.dart'; -import 'package:paladinsedge/screens/create_loadout/create_loadout_text.dart'; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/create_loadout/create_loadout_delete_button.dart"; +import "package:paladinsedge/screens/create_loadout/create_loadout_draggable_cards.dart"; +import "package:paladinsedge/screens/create_loadout/create_loadout_target.dart"; +import "package:paladinsedge/screens/create_loadout/create_loadout_text.dart"; +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 CreateLoadout extends HookConsumerWidget { - static const routeName = 'createLoadout'; - static const routePath = 'createLoadout'; + static const routeName = "createLoadout"; + static const routePath = "createLoadout"; static final goRoute = GoRoute( name: routeName, path: routePath, @@ -54,17 +54,23 @@ class CreateLoadout extends HookConsumerWidget { ); // Methods + final goBack = useCallback( + () { + utilities.Navigation.pop(context); + }, + [], + ); final onSave = useCallback( () async { final canSave = loadoutProvider.validateLoadout(); if (canSave.result) { final success = await loadoutProvider.saveLoadout(); if (success) { - utilities.Navigation.pop(context); + goBack(); } else { widgets.showToast( context: context, - text: 'An error occurred while saving loadout', + text: "An error occurred while saving loadout", type: widgets.ToastType.error, ); } @@ -120,7 +126,7 @@ class CreateLoadout extends HookConsumerWidget { ? const SizedBox(width: 10) : const SizedBox(), Text( - isSavingLoadout ? 'Saving' : 'Save', + isSavingLoadout ? "Saving" : "Save", style: const TextStyle( fontSize: 16, ), @@ -158,7 +164,7 @@ class CreateLoadout extends HookConsumerWidget { } static Widget _routeBuilder(_, GoRouterState state) { - final paramChampionId = state.params['championId']; + final paramChampionId = state.params["championId"]; if (paramChampionId == null) return const screens.NotFound(); final championId = int.tryParse(paramChampionId); if (championId == null) return const screens.NotFound(); diff --git a/lib/screens/create_loadout/create_loadout_delete_button.dart b/lib/screens/create_loadout/create_loadout_delete_button.dart index 2f13225e..3b8ecf5c 100644 --- a/lib/screens/create_loadout/create_loadout_delete_button.dart +++ b/lib/screens/create_loadout/create_loadout_delete_button.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:paladinsedge/screens/create_loadout/create_loadout_delete_confirmation.dart'; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_feather_icons/flutter_feather_icons.dart"; +import "package:paladinsedge/screens/create_loadout/create_loadout_delete_confirmation.dart"; +import "package:paladinsedge/widgets/index.dart" as widgets; class CreateLoadoutDeleteButton extends StatelessWidget { final void Function() onDelete; @@ -13,7 +13,7 @@ class CreateLoadoutDeleteButton extends StatelessWidget { @override Widget build(BuildContext context) { return widgets.Button( - label: 'Delete', + label: "Delete", color: Colors.red, disabled: false, leading: FeatherIcons.trash, diff --git a/lib/screens/create_loadout/create_loadout_delete_confirmation.dart b/lib/screens/create_loadout/create_loadout_delete_confirmation.dart index 2a92fa91..bd6cee0d 100644 --- a/lib/screens/create_loadout/create_loadout_delete_confirmation.dart +++ b/lib/screens/create_loadout/create_loadout_delete_confirmation.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; void showCreateLoadoutDeleteConfirmation({ required BuildContext context, @@ -71,7 +71,7 @@ class _CreateLoadoutDeleteConfirmation extends HookWidget { child: Padding( padding: const EdgeInsets.only(right: 10), child: Text( - 'DELETE LOADOUT', + "DELETE LOADOUT", style: textTheme.headline1?.copyWith( fontSize: 20, fontWeight: FontWeight.w900, @@ -81,7 +81,7 @@ class _CreateLoadoutDeleteConfirmation extends HookWidget { ), const SizedBox(height: 10), Text( - 'Are you sure, you want to delete this loadout?', + "Are you sure, you want to delete this loadout?", style: textTheme.bodyText1?.copyWith(fontSize: 16), ), ], @@ -93,13 +93,13 @@ class _CreateLoadoutDeleteConfirmation extends HookWidget { mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ widgets.Button( - label: 'Cancel', + label: "Cancel", onPressed: () => utilities.Navigation.pop(context), color: Colors.red, style: widgets.ButtonStyle.outlined, ), widgets.Button( - label: 'Confirm', + label: "Confirm", onPressed: onDeleteConfirm, color: Colors.green, ), diff --git a/lib/screens/create_loadout/create_loadout_draggable_cards.dart b/lib/screens/create_loadout/create_loadout_draggable_cards.dart index afe51d2e..02a96f70 100644 --- a/lib/screens/create_loadout/create_loadout_draggable_cards.dart +++ b/lib/screens/create_loadout/create_loadout_draggable_cards.dart @@ -1,11 +1,11 @@ -import 'dart:math'; +import "dart:math"; -import 'package:flutter/material.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/widgets/index.dart" as widgets; class CreateLoadoutDraggableCards extends ConsumerWidget { final models.Champion champion; diff --git a/lib/screens/create_loadout/create_loadout_target.dart b/lib/screens/create_loadout/create_loadout_target.dart index 3478c263..60144fe2 100644 --- a/lib/screens/create_loadout/create_loadout_target.dart +++ b/lib/screens/create_loadout/create_loadout_target.dart @@ -1,13 +1,13 @@ -import 'package:dartx/dartx.dart'; -import 'package:dotted_border/dotted_border.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:dartx/dartx.dart"; +import "package:dotted_border/dotted_border.dart"; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class CreateLoadoutTarget extends HookConsumerWidget { static const loadoutAspectRatio = 15 / 9; @@ -60,8 +60,8 @@ class CreateLoadoutTarget extends HookConsumerWidget { if (points > 15) color = Colors.red; return { - 'points': points, - 'color': color, + "points": points, + "color": color, }; }, [draftLoadout], @@ -98,15 +98,15 @@ class CreateLoadoutTarget extends HookConsumerWidget { text: TextSpan( style: DefaultTextStyle.of(context).style, children: [ - const TextSpan(text: '('), + const TextSpan(text: "("), TextSpan( - text: loadoutPoints['points'].toString(), + text: loadoutPoints["points"].toString(), style: TextStyle( fontWeight: FontWeight.bold, - color: loadoutPoints['color'] as Color, + color: loadoutPoints["color"] as Color, ), ), - const TextSpan(text: '/15)'), + const TextSpan(text: "/15)"), ], ), ), @@ -118,9 +118,9 @@ class CreateLoadoutTarget extends HookConsumerWidget { autocorrect: false, controller: loadoutNameController, decoration: InputDecoration( - counterText: '', + counterText: "", errorText: loadoutNameError.value - ? 'Please enter a loadout name' + ? "Please enter a loadout name" : null, ), style: const TextStyle( @@ -168,15 +168,15 @@ class CreateLoadoutTarget extends HookConsumerWidget { ); } - final _card = champion.cards.firstOrNullWhere( + final tempCard = champion.cards.firstOrNullWhere( (_) => _.cardId2 == loadoutCard?.cardId2, ); - if (_card != null) { + if (tempCard != null) { return widgets.LoadoutDeckCard( imageHeight: imageHeight, imageWidth: imageWidth, - card: _card, + card: tempCard, champion: champion, loadoutCard: loadoutCard!, sliderFixed: false, @@ -190,13 +190,13 @@ class CreateLoadoutTarget extends HookConsumerWidget { height: imageHeight, padding: const EdgeInsets.all(5), child: DottedBorder( - child: const Center( - child: Icon(Icons.add), - ), strokeWidth: 1, radius: const Radius.circular(5), color: Colors.grey, borderType: BorderType.RRect, + child: const Center( + child: Icon(Icons.add), + ), ), ); }, diff --git a/lib/screens/create_loadout/create_loadout_text.dart b/lib/screens/create_loadout/create_loadout_text.dart index 62ec11a9..f16c1107 100644 --- a/lib/screens/create_loadout/create_loadout_text.dart +++ b/lib/screens/create_loadout/create_loadout_text.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; class CreateLoadoutText extends StatelessWidget { const CreateLoadoutText({Key? key}) : super(key: key); @@ -7,11 +7,11 @@ class CreateLoadoutText extends StatelessWidget { Widget build(BuildContext context) { return const Padding( padding: EdgeInsets.symmetric(horizontal: 25), - child: Text(''' + child: Text(""" * Select a card from the list and drag it in the loadout * Tap the card in the loadout to change its points * Rename the loadout to your liking and save -'''), +"""), ); } } diff --git a/lib/screens/create_loadout/index.dart b/lib/screens/create_loadout/index.dart index 5b604ba6..7043edd8 100644 --- a/lib/screens/create_loadout/index.dart +++ b/lib/screens/create_loadout/index.dart @@ -1 +1 @@ -export './create_loadout.dart'; +export "./create_loadout.dart"; diff --git a/lib/screens/feedback/feedback.dart b/lib/screens/feedback/feedback.dart index fdd6c9ff..75e1e940 100644 --- a/lib/screens/feedback/feedback.dart +++ b/lib/screens/feedback/feedback.dart @@ -1,17 +1,17 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/feedback/feedback_input_landscape.dart'; -import 'package:paladinsedge/screens/feedback/feedback_input_portrait.dart'; -import 'package:paladinsedge/screens/feedback/feedback_type_selector.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/feedback/feedback_input_landscape.dart"; +import "package:paladinsedge/screens/feedback/feedback_input_portrait.dart"; +import "package:paladinsedge/screens/feedback/feedback_type_selector.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class Feedback extends HookConsumerWidget { - static const routeName = 'feedback'; - static const routePath = 'feedback'; + static const routeName = "feedback"; + static const routePath = "feedback"; static final goRoute = GoRoute( name: routeName, path: routePath, @@ -39,6 +39,13 @@ class Feedback extends HookConsumerWidget { ); // Methods + final goBack = useCallback( + () { + utilities.Navigation.pop(context); + }, + [], + ); + final onSubmit = useCallback( () async { final result = await feedbackProvider.submitFeedback(); @@ -46,17 +53,17 @@ class Feedback extends HookConsumerWidget { if (!result) { widgets.showToast( context: context, - text: 'Unable to submit feedback', + text: "Unable to submit feedback", type: widgets.ToastType.error, ); return; } - utilities.Navigation.pop(context); + goBack(); widgets.showToast( context: context, - text: 'Thank you for feedback', + text: "Thank you for feedback", type: widgets.ToastType.success, ); }, @@ -65,7 +72,7 @@ class Feedback extends HookConsumerWidget { return Scaffold( appBar: AppBar( - title: const Text('Provide Feedback'), + title: const Text("Provide Feedback"), ), body: ListView( physics: const ClampingScrollPhysics(), @@ -87,10 +94,10 @@ class Feedback extends HookConsumerWidget { ? const widgets.LoadingIndicator( lineWidth: 2, size: 28, - label: Text('Submitting'), + label: Text("Submitting"), ) : widgets.Button( - label: 'Submit', + label: "Submit", onPressed: onSubmit, disabled: description.length < 10, ), diff --git a/lib/screens/feedback/feedback_description.dart b/lib/screens/feedback/feedback_description.dart index 7a2d57de..ca1a70d5 100644 --- a/lib/screens/feedback/feedback_description.dart +++ b/lib/screens/feedback/feedback_description.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/theme/index.dart' as theme; +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/theme/index.dart" as theme; class FeedbackDescription extends ConsumerWidget { final double? width; @@ -48,7 +48,7 @@ class FeedbackDescription extends ConsumerWidget { ), ), child: const Text( - 'Description', + "Description", style: TextStyle( fontSize: 20, fontWeight: FontWeight.bold, @@ -73,7 +73,7 @@ class FeedbackDescription extends ConsumerWidget { contentPadding: EdgeInsets.symmetric(horizontal: 15, vertical: 10), border: InputBorder.none, - hintText: 'Write your feedback here...', + hintText: "Write your feedback here...", ), style: const TextStyle(fontSize: 18), onChanged: feedbackProvider.changeDescription, diff --git a/lib/screens/feedback/feedback_image.dart b/lib/screens/feedback/feedback_image.dart index 8d511bcf..97f155ba 100644 --- a/lib/screens/feedback/feedback_image.dart +++ b/lib/screens/feedback/feedback_image.dart @@ -1,12 +1,12 @@ -import 'dart:ui'; +import "dart:ui"; -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/theme/index.dart' as theme; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_feather_icons/flutter_feather_icons.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/theme/index.dart" as theme; +import "package:paladinsedge/widgets/index.dart" as widgets; class FeedbackImage extends HookConsumerWidget { final double? width; diff --git a/lib/screens/feedback/feedback_input_landscape.dart b/lib/screens/feedback/feedback_input_landscape.dart index 974c92ad..eb21d492 100644 --- a/lib/screens/feedback/feedback_input_landscape.dart +++ b/lib/screens/feedback/feedback_input_landscape.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/screens/feedback/feedback_description.dart'; -import 'package:paladinsedge/screens/feedback/feedback_image.dart'; +import "package:flutter/material.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/screens/feedback/feedback_description.dart"; +import "package:paladinsedge/screens/feedback/feedback_image.dart"; class FeedbackInputLandscape extends StatelessWidget { const FeedbackInputLandscape({Key? key}) : super(key: key); diff --git a/lib/screens/feedback/feedback_input_portrait.dart b/lib/screens/feedback/feedback_input_portrait.dart index 8adbd049..1b968bf6 100644 --- a/lib/screens/feedback/feedback_input_portrait.dart +++ b/lib/screens/feedback/feedback_input_portrait.dart @@ -1,6 +1,6 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/screens/feedback/feedback_description.dart'; -import 'package:paladinsedge/screens/feedback/feedback_image.dart'; +import "package:flutter/material.dart"; +import "package:paladinsedge/screens/feedback/feedback_description.dart"; +import "package:paladinsedge/screens/feedback/feedback_image.dart"; class FeedbackInputPortrait extends StatelessWidget { const FeedbackInputPortrait({Key? key}) : super(key: key); diff --git a/lib/screens/feedback/feedback_type_selector.dart b/lib/screens/feedback/feedback_type_selector.dart index 7880771d..0934d7ed 100644 --- a/lib/screens/feedback/feedback_type_selector.dart +++ b/lib/screens/feedback/feedback_type_selector.dart @@ -1,8 +1,8 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/providers/index.dart' as providers; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/providers/index.dart" as providers; class FeedbackTypeSelector extends HookConsumerWidget { const FeedbackTypeSelector({Key? key}) : super(key: key); @@ -43,7 +43,7 @@ class FeedbackTypeSelector extends HookConsumerWidget { mainAxisAlignment: MainAxisAlignment.center, children: [ Text( - 'Select type of feedback', + "Select type of feedback", style: theme.textTheme.headline4?.copyWith(fontSize: 16), ), const SizedBox(width: 20), diff --git a/lib/screens/feedback/index.dart b/lib/screens/feedback/index.dart index e2c80c6d..c166ce0e 100644 --- a/lib/screens/feedback/index.dart +++ b/lib/screens/feedback/index.dart @@ -1 +1 @@ -export './feedback.dart'; +export "./feedback.dart"; diff --git a/lib/screens/friends/friend_active_match.dart b/lib/screens/friends/friend_active_match.dart index fa7743dc..74be1406 100644 --- a/lib/screens/friends/friend_active_match.dart +++ b/lib/screens/friends/friend_active_match.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +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 _PlayerMatch extends StatelessWidget { final models.ActiveMatch match; diff --git a/lib/screens/friends/friend_item.dart b/lib/screens/friends/friend_item.dart index 30d7b372..576257a4 100644 --- a/lib/screens/friends/friend_item.dart +++ b/lib/screens/friends/friend_item.dart @@ -1,12 +1,12 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -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; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +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 FriendItem extends HookConsumerWidget { final bool isOtherPlayer; @@ -62,7 +62,7 @@ class FriendItem extends HookConsumerWidget { context, screens.PlayerDetail.routeName, params: { - 'playerId': friend.playerId, + "playerId": friend.playerId, }, ); }, @@ -102,7 +102,7 @@ class FriendItem extends HookConsumerWidget { ), friend.title != null ? Text( - '${friend.title}', + "${friend.title}", style: theme.textTheme.bodyText2?.copyWith(fontSize: 12), ) diff --git a/lib/screens/friends/friend_status_indicator.dart b/lib/screens/friends/friend_status_indicator.dart index 9960de82..3945c782 100644 --- a/lib/screens/friends/friend_status_indicator.dart +++ b/lib/screens/friends/friend_status_indicator.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; class FriendStatusIndicator extends StatelessWidget { final String status; diff --git a/lib/screens/friends/friends.dart b/lib/screens/friends/friends.dart index 89849648..a5bd6f9d 100644 --- a/lib/screens/friends/friends.dart +++ b/lib/screens/friends/friends.dart @@ -1,24 +1,24 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/friends/friends_app_bar.dart'; -import 'package:paladinsedge/screens/friends/friends_list.dart'; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/friends/friends_app_bar.dart"; +import "package:paladinsedge/screens/friends/friends_list.dart"; +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 Friends extends HookConsumerWidget { - static const routeName = 'friends'; - static const routePath = 'friends'; + static const routeName = "friends"; + static const routePath = "friends"; static final goRoute = GoRoute( name: routeName, path: routePath, builder: _routeBuilder, ); - static const userRouteName = 'userFriends'; - static const userRoutePath = 'userFriends'; + static const userRouteName = "userFriends"; + static const userRoutePath = "userFriends"; static final userGoRoute = GoRoute( name: userRouteName, path: userRoutePath, @@ -94,7 +94,7 @@ class Friends extends HookConsumerWidget { child: widgets.LoadingIndicator( lineWidth: 2, size: 28, - label: Text('Getting friends'), + label: Text("Getting friends"), ), ), ), @@ -111,7 +111,7 @@ class Friends extends HookConsumerWidget { } static Widget _routeBuilder(_, GoRouterState state) { - final paramPlayerId = state.params['playerId']; + final paramPlayerId = state.params["playerId"]; if (paramPlayerId == null) { return const screens.NotFound(); } diff --git a/lib/screens/friends/friends_app_bar.dart b/lib/screens/friends/friends_app_bar.dart index 169382cb..d3ac110a 100644 --- a/lib/screens/friends/friends_app_bar.dart +++ b/lib/screens/friends/friends_app_bar.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/providers/index.dart' as providers; +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/providers/index.dart" as providers; class FriendsAppBar extends ConsumerWidget { final bool isOtherPlayer; @@ -32,13 +32,13 @@ class FriendsAppBar extends ConsumerWidget { title: Column( children: [ Text( - isOtherPlayer ? otherPlayer!.name : 'Friends', + isOtherPlayer ? otherPlayer!.name : "Friends", ), if (!isLoadingFriends && data != null) Text( isOtherPlayer - ? 'has ${data.length} friends' - : 'you have ${data.length}', + ? "has ${data.length} friends" + : "you have ${data.length}", style: const TextStyle(fontSize: 12), ), ], diff --git a/lib/screens/friends/friends_list.dart b/lib/screens/friends/friends_list.dart index 83762759..dccf8d0d 100644 --- a/lib/screens/friends/friends_list.dart +++ b/lib/screens/friends/friends_list.dart @@ -1,8 +1,8 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/friends/friend_item.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/friends/friend_item.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; class FriendsList extends ConsumerWidget { final bool isOtherPlayer; @@ -50,8 +50,8 @@ class FriendsList extends ConsumerWidget { child: Center( child: Text( isOtherPlayer - ? 'Sorry we were unable to fetch friends of this player' - : 'Sorry we were unable to fetch your friends', + ? "Sorry we were unable to fetch friends of this player" + : "Sorry we were unable to fetch your friends", ), ), ), diff --git a/lib/screens/friends/index.dart b/lib/screens/friends/index.dart index 899aa0b5..35b7f191 100644 --- a/lib/screens/friends/index.dart +++ b/lib/screens/friends/index.dart @@ -1 +1 @@ -export './friends.dart'; +export "./friends.dart"; diff --git a/lib/screens/global_chat/global_chat.dart b/lib/screens/global_chat/global_chat.dart index 2d5879ef..5f3b11f4 100644 --- a/lib/screens/global_chat/global_chat.dart +++ b/lib/screens/global_chat/global_chat.dart @@ -1,20 +1,20 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_chat_types/flutter_chat_types.dart' as types; -import 'package:flutter_chat_ui/flutter_chat_ui.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/global_chat/global_chat_connection.dart'; -import 'package:paladinsedge/screens/global_chat/global_chat_input.dart'; -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; +import "package:flutter/material.dart"; +import "package:flutter_chat_types/flutter_chat_types.dart" as types; +import "package:flutter_chat_ui/flutter_chat_ui.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/global_chat/global_chat_connection.dart"; +import "package:paladinsedge/screens/global_chat/global_chat_input.dart"; +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 GlobalChat extends HookConsumerWidget { - static const routeName = 'globalChat'; - static const routePath = 'globalChat'; + static const routeName = "globalChat"; + static const routePath = "globalChat"; static final goRoute = GoRoute( name: routeName, path: routePath, @@ -49,7 +49,7 @@ class GlobalChat extends HookConsumerWidget { context, screens.PlayerDetail.routeName, params: { - 'playerId': author.id, + "playerId": author.id, }, ); }, @@ -70,13 +70,13 @@ class GlobalChat extends HookConsumerWidget { appBar: AppBar( title: Column( children: [ - const Text('Chat'), + const Text("Chat"), Text( playersOnline.isEmpty - ? 'No one online' + ? "No one online" : playersOnline.length == 1 - ? 'Only you are online' - : '${playersOnline.length} players online', + ? "Only you are online" + : "${playersOnline.length} players online", style: const TextStyle(fontSize: 12), ), ], @@ -91,7 +91,7 @@ class GlobalChat extends HookConsumerWidget { ? const widgets.LoadingIndicator( lineWidth: 1.5, size: 28, - label: Text('Getting messages'), + label: Text("Getting messages"), ) : Chat( messages: messages, @@ -103,7 +103,7 @@ class GlobalChat extends HookConsumerWidget { hideBackgroundOnEmojiMessages: false, emojiEnlargementBehavior: EmojiEnlargementBehavior.single, customBottomWidget: isGuest - ? const Text('Login to send messages') + ? const Text("Login to send messages") : GlobalChatInput( onSendPressed: globalChatProvider.sendNewMessage, onTyping: globalChatProvider.sendTypingMetadata, diff --git a/lib/screens/global_chat/global_chat_connection.dart b/lib/screens/global_chat/global_chat_connection.dart index c1094e30..4f824867 100644 --- a/lib/screens/global_chat/global_chat_connection.dart +++ b/lib/screens/global_chat/global_chat_connection.dart @@ -1,6 +1,6 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class GlobalChatConnection extends StatelessWidget { final utilities.ChatConnectionState connectionState; @@ -25,7 +25,7 @@ class GlobalChatConnection extends StatelessWidget { children: [ widgets.TextChip( color: isConnected ? Colors.green : Colors.red, - text: isConnected ? 'Online' : 'Offline', + text: isConnected ? "Online" : "Offline", ), ], ), diff --git a/lib/screens/global_chat/global_chat_input.dart b/lib/screens/global_chat/global_chat_input.dart index 2ab0e8fa..a1c19495 100644 --- a/lib/screens/global_chat/global_chat_input.dart +++ b/lib/screens/global_chat/global_chat_input.dart @@ -1,11 +1,11 @@ -import 'package:dartx/dartx.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/theme/index.dart' as theme; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:dartx/dartx.dart"; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +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 GlobalChatInput extends HookConsumerWidget { final void Function(String) onSendPressed; @@ -50,7 +50,7 @@ class GlobalChatInput extends HookConsumerWidget { () { if (isValid.value) { onSendPressed(textController.text); - textController.text = ''; + textController.text = ""; isValid.value = false; onTyping(isValid.value); } @@ -61,7 +61,7 @@ class GlobalChatInput extends HookConsumerWidget { final typingPlayers = useMemoized( () { return playersOnline.values.mapNotNull((playerOnline) { - final isTyping = playerOnline.metadata?['typing'] as bool? ?? false; + final isTyping = playerOnline.metadata?["typing"] as bool? ?? false; if (globalChatUser.id == playerOnline.id) return null; return isTyping ? playerOnline : null; @@ -73,10 +73,10 @@ class GlobalChatInput extends HookConsumerWidget { final playersTypingText = useMemoized( () { return typingPlayers.length == 1 - ? '${typingPlayers.first.firstName} is typing ...' + ? "${typingPlayers.first.firstName} is typing ..." : typingPlayers.length == 2 ? '${typingPlayers.map((_) => _.firstName).join(', ')} are typing ...' - : '${typingPlayers.length} players are typing ...'; + : "${typingPlayers.length} players are typing ..."; }, [typingPlayers], ); @@ -158,8 +158,8 @@ class GlobalChatInput extends HookConsumerWidget { fillColor: chatTheme.inputBackgroundColor, border: InputBorder.none, filled: true, - counterText: '', - hintText: 'Message...', + counterText: "", + hintText: "Message...", ), ), ), diff --git a/lib/screens/global_chat/index.dart b/lib/screens/global_chat/index.dart index e357d4ee..09ff1656 100644 --- a/lib/screens/global_chat/index.dart +++ b/lib/screens/global_chat/index.dart @@ -1 +1 @@ -export './global_chat.dart'; +export "./global_chat.dart"; diff --git a/lib/screens/home/home.dart b/lib/screens/home/home.dart index 6f13f2d1..db48c974 100644 --- a/lib/screens/home/home.dart +++ b/lib/screens/home/home.dart @@ -1,14 +1,14 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/home/home_bounty_store_details.dart'; -import 'package:paladinsedge/screens/home/home_favourite_friends.dart'; -import 'package:paladinsedge/screens/home/home_queue_chart.dart'; -import 'package:paladinsedge/screens/home/home_queue_details.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/home/home_bounty_store_details.dart"; +import "package:paladinsedge/screens/home/home_favourite_friends.dart"; +import "package:paladinsedge/screens/home/home_queue_chart.dart"; +import "package:paladinsedge/screens/home/home_queue_details.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class Home extends HookConsumerWidget { const Home({Key? key}) : super(key: key); @@ -58,7 +58,7 @@ class Home extends HookConsumerWidget { forceElevated: true, pinned: constants.isWeb, title: Text( - 'Paladins Edge', + "Paladins Edge", style: TextStyle(fontSize: 20), ), ), diff --git a/lib/screens/home/home_bounty_store_card.dart b/lib/screens/home/home_bounty_store_card.dart index 476ae1ba..7107f968 100644 --- a/lib/screens/home/home_bounty_store_card.dart +++ b/lib/screens/home/home_bounty_store_card.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:timer_builder/timer_builder.dart'; +import "package:flutter/material.dart"; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:timer_builder/timer_builder.dart"; class HomeBountyStoreCard extends StatelessWidget { final models.BountyStore bountyStore; @@ -41,7 +41,7 @@ class HomeBountyStoreCard extends StatelessWidget { if (timeRemaining == null) { return Text( - 'Expired', + "Expired", style: textTheme.bodyText2?.copyWith(fontSize: 12), ); } diff --git a/lib/screens/home/home_bounty_store_details.dart b/lib/screens/home/home_bounty_store_details.dart index 0fecf085..df665471 100644 --- a/lib/screens/home/home_bounty_store_details.dart +++ b/lib/screens/home/home_bounty_store_details.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/home/home_bounty_store_card.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/home/home_bounty_store_card.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class HomeBountyStoreDetails extends HookConsumerWidget { const HomeBountyStoreDetails({Key? key}) : super(key: key); @@ -41,7 +41,7 @@ class HomeBountyStoreDetails extends HookConsumerWidget { lineWidth: 2, size: 28, margin: EdgeInsets.all(20), - label: Text('Getting bounty store'), + label: Text("Getting bounty store"), ) : bountyStore == null ? const Card( @@ -51,7 +51,7 @@ class HomeBountyStoreDetails extends HookConsumerWidget { padding: EdgeInsets.all(10), child: Center( child: Text( - 'Sorry we were unable to fetch the bounty store', + "Sorry we were unable to fetch the bounty store", ), ), ), @@ -61,7 +61,7 @@ class HomeBountyStoreDetails extends HookConsumerWidget { child: Column( children: [ Text( - 'Bounty Store Updates', + "Bounty Store Updates", style: textTheme.headline3, ), GridView.count( @@ -75,8 +75,8 @@ class HomeBountyStoreDetails extends HookConsumerWidget { ), children: bountyStore .map( - (_bountyStore) => - HomeBountyStoreCard(bountyStore: _bountyStore), + (bountyStore) => + HomeBountyStoreCard(bountyStore: bountyStore), ) .toList(), ), diff --git a/lib/screens/home/home_favourite_friend_item.dart b/lib/screens/home/home_favourite_friend_item.dart index 8c5da6d1..f76eb005 100644 --- a/lib/screens/home/home_favourite_friend_item.dart +++ b/lib/screens/home/home_favourite_friend_item.dart @@ -1,12 +1,12 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -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; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +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 HomeFavouriteFriendItem extends HookConsumerWidget { final models.Player friend; @@ -30,7 +30,7 @@ class HomeFavouriteFriendItem extends HookConsumerWidget { context, screens.PlayerDetail.routeName, params: { - 'playerId': friend.playerId, + "playerId": friend.playerId, }, ); }, @@ -107,7 +107,7 @@ class HomeFavouriteFriendItem extends HookConsumerWidget { const SizedBox(height: 5), RichText( text: TextSpan( - text: 'Last Seen: ', + text: "Last Seen: ", style: textTheme.bodyText1?.copyWith( fontSize: 12, fontStyle: FontStyle.italic, diff --git a/lib/screens/home/home_favourite_friends.dart b/lib/screens/home/home_favourite_friends.dart index da93de25..82916195 100644 --- a/lib/screens/home/home_favourite_friends.dart +++ b/lib/screens/home/home_favourite_friends.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/home/home_favourite_friend_item.dart'; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/home/home_favourite_friend_item.dart"; +import "package:paladinsedge/widgets/index.dart" as widgets; class HomeFavouriteFriends extends HookConsumerWidget { const HomeFavouriteFriends({Key? key}) : super(key: key); @@ -50,7 +50,7 @@ class HomeFavouriteFriends extends HookConsumerWidget { ? const widgets.LoadingIndicator( lineWidth: 2, size: 28, - label: Text('Loading friends'), + label: Text("Loading friends"), ) : favouritePlayers == null ? const Card( @@ -60,7 +60,7 @@ class HomeFavouriteFriends extends HookConsumerWidget { padding: EdgeInsets.all(10), child: Center( child: Text( - 'Sorry we were unable to fetch your friends', + "Sorry we were unable to fetch your friends", ), ), ), @@ -81,14 +81,14 @@ class HomeFavouriteFriends extends HookConsumerWidget { child: Column( children: [ Text( - 'Try adding some favourite friends', + "Try adding some favourite friends", style: headingText, ), const SizedBox(height: 5), - Text('*Visit the friends section', style: bodyText), - Text('*Select a friend', style: bodyText), - Text('*Mark him favourite', style: bodyText), - Text('*They will appear here', style: bodyText), + Text("*Visit the friends section", style: bodyText), + Text("*Select a friend", style: bodyText), + Text("*Mark him favourite", style: bodyText), + Text("*They will appear here", style: bodyText), ], ), ), diff --git a/lib/screens/home/home_queue_card.dart b/lib/screens/home/home_queue_card.dart index 7e1b5833..a443b555 100644 --- a/lib/screens/home/home_queue_card.dart +++ b/lib/screens/home/home_queue_card.dart @@ -1,8 +1,8 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/theme/index.dart' as theme; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/theme/index.dart" as theme; +import "package:paladinsedge/widgets/index.dart" as widgets; class HomeQueueCard extends HookWidget { final models.Queue queue; @@ -30,18 +30,18 @@ class HomeQueueCard extends HookWidget { mainAxisAlignment: MainAxisAlignment.center, children: [ Text( - queue.name.replaceAll(RegExp('_'), ' '), + queue.name.replaceAll(RegExp("_"), " "), textAlign: TextAlign.center, style: textTheme.bodyText1, ), const SizedBox(height: 5), Text( - '${queue.activeMatchCount}', + "${queue.activeMatchCount}", style: textTheme.bodyText2?.copyWith(fontSize: 16), ), isSelected ? Text( - 'Selected', + "Selected", style: textTheme.bodyText1?.copyWith( fontSize: 12, color: brightness == Brightness.light diff --git a/lib/screens/home/home_queue_chart.dart b/lib/screens/home/home_queue_chart.dart index 756d8966..77dc658f 100644 --- a/lib/screens/home/home_queue_chart.dart +++ b/lib/screens/home/home_queue_chart.dart @@ -1,13 +1,13 @@ -import 'dart:math'; +import "dart:math"; -import 'package:fl_chart/fl_chart.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:jiffy/jiffy.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/theme/index.dart' as theme; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:fl_chart/fl_chart.dart"; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:jiffy/jiffy.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/theme/index.dart" as theme; +import "package:paladinsedge/utilities/index.dart" as utilities; class HomeQueueChart extends HookConsumerWidget { const HomeQueueChart({Key? key}) : super(key: key); @@ -157,7 +157,7 @@ class HomeQueueChart extends HookConsumerWidget { ); return LineTooltipItem( - '${touchedSpot.y.toInt()} at ${getQueueTime(touchedSpot.x)}', + "${touchedSpot.y.toInt()} at ${getQueueTime(touchedSpot.x)}", textStyle, ); }).toList(); @@ -203,7 +203,7 @@ class HomeQueueChart extends HookConsumerWidget { fontSize: 10, fontStyle: FontStyle.italic, ), - labelResolver: (_) => 'Peak ${_.y.round()}', + labelResolver: (_) => "Peak ${_.y.round()}", ), ), ], diff --git a/lib/screens/home/home_queue_details.dart b/lib/screens/home/home_queue_details.dart index 19bd2112..cbdcd784 100644 --- a/lib/screens/home/home_queue_details.dart +++ b/lib/screens/home/home_queue_details.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/home/home_queue_card.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/home/home_queue_card.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class HomeQueueDetails extends HookConsumerWidget { const HomeQueueDetails({Key? key}) : super(key: key); @@ -51,14 +51,14 @@ class HomeQueueDetails extends HookConsumerWidget { lineWidth: 2, size: 28, margin: EdgeInsets.all(20), - label: Text('Getting queue'), + label: Text("Getting queue"), ) : SizedBox( width: width, child: Column( children: [ Text( - 'Live Queue Numbers', + "Live Queue Numbers", style: textTheme.headline3, ), queue.isEmpty @@ -70,7 +70,7 @@ class HomeQueueDetails extends HookConsumerWidget { padding: EdgeInsets.all(10), child: Center( child: Text( - 'Sorry we were unable to fetch the queue details', + "Sorry we were unable to fetch the queue details", ), ), ), @@ -85,11 +85,11 @@ class HomeQueueDetails extends HookConsumerWidget { vertical: 15, ), children: queue - .where((_queue) => _queue.queueId != 0) + .where((queue) => queue.queueId != 0) .map( - (_queue) => HomeQueueCard( - queue: _queue, - isSelected: selectedQueueId == _queue.queueId, + (queue) => HomeQueueCard( + queue: queue, + isSelected: selectedQueueId == queue.queueId, onTap: getQueueTimeline, ), ) diff --git a/lib/screens/home/index.dart b/lib/screens/home/index.dart index 4e201870..1e022088 100644 --- a/lib/screens/home/index.dart +++ b/lib/screens/home/index.dart @@ -1 +1 @@ -export './home.dart'; +export "./home.dart"; diff --git a/lib/screens/index.dart b/lib/screens/index.dart index 4be69956..79cb8bb7 100644 --- a/lib/screens/index.dart +++ b/lib/screens/index.dart @@ -1,17 +1,17 @@ -export './active_match/index.dart'; -export './champion_detail/index.dart'; -export './champions/index.dart'; -export './connect_profile/index.dart'; -export './create_loadout/index.dart'; -export './feedback/index.dart'; -export './friends/index.dart'; -export './global_chat/index.dart'; -export './home/index.dart'; -export './loadouts/index.dart'; -export './login/login.dart'; -export './main/index.dart'; -export './match_detail/index.dart'; -export './not_found/index.dart'; -export './player_champions/index.dart'; -export './player_detail/index.dart'; -export './search/index.dart'; +export "./active_match/index.dart"; +export "./champion_detail/index.dart"; +export "./champions/index.dart"; +export "./connect_profile/index.dart"; +export "./create_loadout/index.dart"; +export "./feedback/index.dart"; +export "./friends/index.dart"; +export "./global_chat/index.dart"; +export "./home/index.dart"; +export "./loadouts/index.dart"; +export "./login/login.dart"; +export "./main/index.dart"; +export "./match_detail/index.dart"; +export "./not_found/index.dart"; +export "./player_champions/index.dart"; +export "./player_detail/index.dart"; +export "./search/index.dart"; diff --git a/lib/screens/loadouts/index.dart b/lib/screens/loadouts/index.dart index de4c831e..8a8ef43a 100644 --- a/lib/screens/loadouts/index.dart +++ b/lib/screens/loadouts/index.dart @@ -1 +1 @@ -export './loadouts.dart'; +export "./loadouts.dart"; diff --git a/lib/screens/loadouts/loadout_item.dart b/lib/screens/loadouts/loadout_item.dart index e2ee77c5..baf08f06 100644 --- a/lib/screens/loadouts/loadout_item.dart +++ b/lib/screens/loadouts/loadout_item.dart @@ -1,9 +1,9 @@ -import 'package:dartx/dartx.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:dartx/dartx.dart"; +import "package:flutter/material.dart"; +import "package:flutter_feather_icons/flutter_feather_icons.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/widgets/index.dart" as widgets; class LoadoutItem extends StatelessWidget { static const loadoutAspectRatio = 33 / 18; @@ -60,14 +60,14 @@ class LoadoutItem extends StatelessWidget { alignment: Alignment.centerRight, child: loadout.isImported ? const widgets.TextChip( - text: 'In Game', + text: "In Game", color: Colors.green, width: 72, ) : const Padding( padding: EdgeInsets.only(left: 16), child: widgets.TextChip( - text: 'Edit', + text: "Edit", color: Colors.blueGrey, trailingIcon: FeatherIcons.chevronRight, width: 56, diff --git a/lib/screens/loadouts/loadouts.dart b/lib/screens/loadouts/loadouts.dart index 4ebce06a..228d5efb 100644 --- a/lib/screens/loadouts/loadouts.dart +++ b/lib/screens/loadouts/loadouts.dart @@ -1,20 +1,20 @@ -import 'package:dartx/dartx.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -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/screens/loadouts/loadout_item.dart'; -import 'package:paladinsedge/theme/index.dart' as theme; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:dartx/dartx.dart"; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +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/screens/loadouts/loadout_item.dart"; +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 Loadouts extends HookConsumerWidget { - static const routeName = 'loadouts'; - static const routePath = 'loadouts/:playerId'; + static const routeName = "loadouts"; + static const routePath = "loadouts/:playerId"; final int championId; final String playerId; @@ -129,8 +129,8 @@ class Loadouts extends HookConsumerWidget { context, screens.CreateLoadout.routeName, params: { - 'championId': championId.toString(), - 'playerId': playerId, + "championId": championId.toString(), + "playerId": playerId, }, ); }, @@ -150,8 +150,8 @@ class Loadouts extends HookConsumerWidget { context, screens.CreateLoadout.routeName, params: { - 'championId': championId.toString(), - 'playerId': playerId, + "championId": championId.toString(), + "playerId": playerId, }, ); }, @@ -188,6 +188,7 @@ class Loadouts extends HookConsumerWidget { hoverElevation: 6, focusElevation: 8, backgroundColor: theme.themeMaterialColor, + isExtended: true, child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ @@ -198,7 +199,7 @@ class Loadouts extends HookConsumerWidget { ), const SizedBox(width: 2), Text( - 'Create', + "Create", style: textTheme.bodyText2?.copyWith( fontSize: 14, color: Colors.white, @@ -207,7 +208,6 @@ class Loadouts extends HookConsumerWidget { const SizedBox(width: 10), ], ), - isExtended: true, ), ), ), @@ -223,11 +223,11 @@ class Loadouts extends HookConsumerWidget { pinned: constants.isWeb, title: Column( children: [ - Text(isOtherPlayer ? 'Loadouts' : 'Your Loadouts'), + Text(isOtherPlayer ? "Loadouts" : "Your Loadouts"), if (champion != null && player != null) Text( isOtherPlayer - ? '${player.name} - ${champion.name}' + ? "${player.name} - ${champion.name}" : champion.name, style: const TextStyle(fontSize: 12), ), @@ -280,18 +280,18 @@ class Loadouts extends HookConsumerWidget { ? const widgets.LoadingIndicator( lineWidth: 2, size: 28, - label: Text('Getting loadouts'), + label: Text("Getting loadouts"), ) : loadouts != null && champion != null && loadouts.isEmpty ? Center( child: Text( - 'No loadouts found for ${champion.name}', + "No loadouts found for ${champion.name}", ), ) : const Center( - child: Text('Unable to fetch loadouts'), + child: Text("Unable to fetch loadouts"), ), ), ], @@ -304,8 +304,8 @@ class Loadouts extends HookConsumerWidget { } static Widget _routeBuilder(_, GoRouterState state) { - final paramChampionId = state.params['championId']; - final paramPlayerId = state.params['playerId']; + final paramChampionId = state.params["championId"]; + final paramPlayerId = state.params["playerId"]; if (paramChampionId == null || paramPlayerId == null) { return const screens.NotFound(); } diff --git a/lib/screens/login/index.dart b/lib/screens/login/index.dart index feb0b5ef..d8d5366b 100644 --- a/lib/screens/login/index.dart +++ b/lib/screens/login/index.dart @@ -1 +1 @@ -export './login.dart'; +export "./login.dart"; diff --git a/lib/screens/login/login.dart b/lib/screens/login/login.dart index f9bcde81..1c78cfe6 100644 --- a/lib/screens/login/login.dart +++ b/lib/screens/login/login.dart @@ -1,17 +1,17 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/screens/login/login_landscape.dart'; -import 'package:paladinsedge/screens/login/login_portrait.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/screens/login/login_landscape.dart"; +import "package:paladinsedge/screens/login/login_portrait.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class Login extends HookConsumerWidget { - static const routeName = 'login'; - static const routePath = '/login'; + static const routeName = "login"; + static const routePath = "/login"; static final goRoute = GoRoute( name: routeName, path: routePath, @@ -34,6 +34,16 @@ class Login extends HookConsumerWidget { final isLoggingIn = useState(false); // Methods + final navigateToMain = useCallback( + () { + utilities.Navigation.navigate( + context, + screens.Main.routeName, + ); + }, + [], + ); + final onGoogleSignIn = useCallback( () async { if (isLoggingIn.value) { @@ -44,10 +54,7 @@ class Login extends HookConsumerWidget { final response = await authProvider.signInWithGoogle(); if (response.result) { - utilities.Navigation.navigate( - context, - screens.Main.routeName, - ); + navigateToMain(); } else { isLoggingIn.value = false; if (response.errorCode != null && response.errorMessage != null) { diff --git a/lib/screens/login/login_big_icon.dart b/lib/screens/login/login_big_icon.dart index c29692e7..ff2d49cc 100644 --- a/lib/screens/login/login_big_icon.dart +++ b/lib/screens/login/login_big_icon.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/gen/assets.gen.dart'; +import "package:flutter/material.dart"; +import "package:paladinsedge/gen/assets.gen.dart"; class LoginBigIcon extends StatelessWidget { const LoginBigIcon({Key? key}) : super(key: key); diff --git a/lib/screens/login/login_landscape.dart b/lib/screens/login/login_landscape.dart index ba845674..b8df7a52 100644 --- a/lib/screens/login/login_landscape.dart +++ b/lib/screens/login/login_landscape.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/screens/login/login_big_icon.dart'; -import 'package:paladinsedge/screens/login/login_tag_line.dart'; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:paladinsedge/screens/login/login_big_icon.dart"; +import "package:paladinsedge/screens/login/login_tag_line.dart"; +import "package:paladinsedge/widgets/index.dart" as widgets; class LoginLandscape extends StatelessWidget { final bool isLoggingIn; diff --git a/lib/screens/login/login_portrait.dart b/lib/screens/login/login_portrait.dart index 905ab969..02d427af 100644 --- a/lib/screens/login/login_portrait.dart +++ b/lib/screens/login/login_portrait.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/screens/login/login_big_icon.dart'; -import 'package:paladinsedge/screens/login/login_tag_line.dart'; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:paladinsedge/screens/login/login_big_icon.dart"; +import "package:paladinsedge/screens/login/login_tag_line.dart"; +import "package:paladinsedge/widgets/index.dart" as widgets; class LoginPortrait extends StatelessWidget { final bool isLoggingIn; diff --git a/lib/screens/login/login_tag_line.dart b/lib/screens/login/login_tag_line.dart index 346186f2..b02b383c 100644 --- a/lib/screens/login/login_tag_line.dart +++ b/lib/screens/login/login_tag_line.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:paladinsedge/gen/assets.gen.dart'; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:google_fonts/google_fonts.dart"; +import "package:paladinsedge/gen/assets.gen.dart"; +import "package:paladinsedge/widgets/index.dart" as widgets; class LoginTagLine extends StatelessWidget { const LoginTagLine({Key? key}) : super(key: key); @@ -19,7 +19,7 @@ class LoginTagLine extends StatelessWidget { child: FittedBox( fit: BoxFit.fitWidth, child: Text( - 'Feature rich\nPaladins manager', + "Feature rich\nPaladins manager", style: TextStyle( color: Colors.white, fontFamily: GoogleFonts.poppins().fontFamily, diff --git a/lib/screens/main/index.dart b/lib/screens/main/index.dart index 457b81b1..175b2c16 100644 --- a/lib/screens/main/index.dart +++ b/lib/screens/main/index.dart @@ -1 +1 @@ -export './main.dart'; +export "./main.dart"; diff --git a/lib/screens/main/main.dart b/lib/screens/main/main.dart index 660d3129..9b1b1e81 100644 --- a/lib/screens/main/main.dart +++ b/lib/screens/main/main.dart @@ -1,15 +1,15 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:paladinsedge/screens/app_drawer/index.dart'; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/screens/main/main_bottom_tabs.dart'; -import 'package:paladinsedge/screens/main/main_pages_stack.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:paladinsedge/screens/app_drawer/index.dart"; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/screens/main/main_bottom_tabs.dart"; +import "package:paladinsedge/screens/main/main_pages_stack.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; class Main extends HookWidget { - static const routeName = 'main'; - static const routePath = '/'; + static const routeName = "main"; + static const routePath = "/"; final int startIndex; const Main({ this.startIndex = 0, diff --git a/lib/screens/main/main_bottom_tabs.dart b/lib/screens/main/main_bottom_tabs.dart index eb1f25f9..decd0d53 100644 --- a/lib/screens/main/main_bottom_tabs.dart +++ b/lib/screens/main/main_bottom_tabs.dart @@ -1,6 +1,6 @@ -import 'package:bottom_navy_bar/bottom_navy_bar.dart'; -import 'package:flutter/material.dart'; -import 'package:paladinsedge/screens/main/main_pages.dart'; +import "package:bottom_navy_bar/bottom_navy_bar.dart"; +import "package:flutter/material.dart"; +import "package:paladinsedge/screens/main/main_pages.dart"; class MainBottomTabs extends StatelessWidget { final int selectedIndex; diff --git a/lib/screens/main/main_pages.dart b/lib/screens/main/main_pages.dart index 3ee1c486..df081e84 100644 --- a/lib/screens/main/main_pages.dart +++ b/lib/screens/main/main_pages.dart @@ -1,21 +1,21 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/screens/index.dart' as screens; +import "package:flutter/material.dart"; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/screens/index.dart" as screens; final pages = [ data_classes.BottomTabPage( screen: const screens.Home(), icon: Icons.home_outlined, - title: 'Home', + title: "Home", ), data_classes.BottomTabPage( screen: const screens.Search(), icon: Icons.search_outlined, - title: 'Search', + title: "Search", ), data_classes.BottomTabPage( screen: const screens.Champions(), icon: Icons.sports_esports_outlined, - title: 'Champs', + title: "Champs", ), ]; diff --git a/lib/screens/main/main_pages_stack.dart b/lib/screens/main/main_pages_stack.dart index a030ffac..e16b51a1 100644 --- a/lib/screens/main/main_pages_stack.dart +++ b/lib/screens/main/main_pages_stack.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/screens/main/main_pages.dart'; +import "package:flutter/material.dart"; +import "package:paladinsedge/screens/main/main_pages.dart"; class MainPagesStack extends StatelessWidget { final int selectedIndex; @@ -11,8 +11,8 @@ class MainPagesStack extends StatelessWidget { @override Widget build(BuildContext context) { return IndexedStack( - children: pages.map((page) => page.screen).toList(), index: selectedIndex, + children: pages.map((page) => page.screen).toList(), ); } } diff --git a/lib/screens/match_detail/index.dart b/lib/screens/match_detail/index.dart index f075430c..b62be081 100644 --- a/lib/screens/match_detail/index.dart +++ b/lib/screens/match_detail/index.dart @@ -1 +1 @@ -export './match_detail.dart'; +export "./match_detail.dart"; diff --git a/lib/screens/match_detail/match_detail.dart b/lib/screens/match_detail/match_detail.dart index ac81458d..5eb2c2a8 100644 --- a/lib/screens/match_detail/match_detail.dart +++ b/lib/screens/match_detail/match_detail.dart @@ -1,12 +1,12 @@ -import 'package:flutter/material.dart'; -import 'package:go_router/go_router.dart'; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/screens/match_detail/match_detail_app_bar.dart'; -import 'package:paladinsedge/screens/match_detail/match_detail_list.dart'; +import "package:flutter/material.dart"; +import "package:go_router/go_router.dart"; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/screens/match_detail/match_detail_app_bar.dart"; +import "package:paladinsedge/screens/match_detail/match_detail_list.dart"; class MatchDetail extends StatelessWidget { - static const routeName = 'match'; - static const routePath = 'match/:matchId'; + static const routeName = "match"; + static const routePath = "match/:matchId"; static final goRoute = GoRoute( name: routeName, path: routePath, @@ -32,7 +32,7 @@ class MatchDetail extends StatelessWidget { } static Widget _routeBuilder(_, GoRouterState state) { - final paramMatchId = state.params['matchId']; + final paramMatchId = state.params["matchId"]; if (paramMatchId == null) { return const screens.NotFound(); } diff --git a/lib/screens/match_detail/match_detail_app_bar.dart b/lib/screens/match_detail/match_detail_app_bar.dart index a2051e0c..1aa9518e 100644 --- a/lib/screens/match_detail/match_detail_app_bar.dart +++ b/lib/screens/match_detail/match_detail_app_bar.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/providers/index.dart' as providers; +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/providers/index.dart" as providers; class MatchDetailAppBar extends ConsumerWidget { const MatchDetailAppBar({Key? key}) : super(key: key); @@ -23,7 +23,7 @@ class MatchDetailAppBar extends ConsumerWidget { title: Column( children: [ Text( - match == null ? 'Match' : match.queue, + match == null ? "Match" : match.queue, style: const TextStyle( fontSize: 18, fontWeight: FontWeight.bold, diff --git a/lib/screens/match_detail/match_detail_list.dart b/lib/screens/match_detail/match_detail_list.dart index 5c28efee..d718e804 100644 --- a/lib/screens/match_detail/match_detail_list.dart +++ b/lib/screens/match_detail/match_detail_list.dart @@ -1,15 +1,15 @@ -import 'package:dartx/dartx.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/match_detail/match_detail_player.dart'; -import 'package:paladinsedge/screens/match_detail/match_detail_stats.dart'; -import 'package:paladinsedge/screens/match_detail/match_detail_team_header.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:dartx/dartx.dart"; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/match_detail/match_detail_player.dart"; +import "package:paladinsedge/screens/match_detail/match_detail_stats.dart"; +import "package:paladinsedge/screens/match_detail/match_detail_team_header.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class MatchDetailList extends HookConsumerWidget { final String matchId; @@ -71,7 +71,7 @@ class MatchDetailList extends HookConsumerWidget { child: widgets.LoadingIndicator( lineWidth: 2, size: 28, - label: Text('Getting match'), + label: Text("Getting match"), ), ), ), @@ -87,7 +87,7 @@ class MatchDetailList extends HookConsumerWidget { SizedBox( height: utilities.getBodyHeight(context), child: const Center( - child: Text('Unable to fetch details for this match'), + child: Text("Unable to fetch details for this match"), ), ), ], diff --git a/lib/screens/match_detail/match_detail_player.dart b/lib/screens/match_detail/match_detail_player.dart index 580ca3ac..c7e95193 100644 --- a/lib/screens/match_detail/match_detail_player.dart +++ b/lib/screens/match_detail/match_detail_player.dart @@ -1,15 +1,15 @@ -import 'package:dartx/dartx.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -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; +import "package:dartx/dartx.dart"; +import "package:flutter/material.dart"; +import "package:flutter_feather_icons/flutter_feather_icons.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +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 MatchDetailPlayer extends HookConsumerWidget { final models.MatchPlayer matchPlayer; @@ -41,7 +41,7 @@ class MatchDetailPlayer extends HookConsumerWidget { final partyNumber = matchPlayer.partyNumber; final partyColor = partyNumber != null ? constants.partyColors[partyNumber - 1] : null; - String matchPosition = ' ${matchPlayer.matchPosition}th '; + String matchPosition = " ${matchPlayer.matchPosition}th "; if (matchPlayer.matchPosition == 1) matchPosition = "MVP"; if (matchPlayer.matchPosition == 2) matchPosition = " 2nd "; @@ -56,7 +56,7 @@ class MatchDetailPlayer extends HookConsumerWidget { context, screens.PlayerDetail.routeName, params: { - 'playerId': matchPlayer.playerId, + "playerId": matchPlayer.playerId, }, ); }, @@ -110,7 +110,7 @@ class MatchDetailPlayer extends HookConsumerWidget { width: 160, child: Text( isPrivatePlayer - ? 'Private Profile' + ? "Private Profile" : matchPlayer.playerName, overflow: TextOverflow.ellipsis, maxLines: 1, @@ -141,7 +141,7 @@ class MatchDetailPlayer extends HookConsumerWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - 'Credits', + "Credits", style: textTheme.bodyText1?.copyWith( fontSize: 9, fontStyle: FontStyle.italic, @@ -186,7 +186,7 @@ class MatchDetailPlayer extends HookConsumerWidget { children: [ if (matchPlayer.partyNumber != null) TextSpan( - text: 'party ${matchPlayer.partyNumber}', + text: "party ${matchPlayer.partyNumber}", style: TextStyle( color: partyColor, fontWeight: FontWeight.normal, @@ -195,14 +195,14 @@ class MatchDetailPlayer extends HookConsumerWidget { ) else const TextSpan( - text: 'solo', + text: "solo", style: TextStyle( fontWeight: FontWeight.normal, ), ), - TextSpan(text: ' $kills / $deaths / $assists '), + TextSpan(text: " $kills / $deaths / $assists "), TextSpan( - text: '($kda)', + text: "($kda)", style: const TextStyle( fontWeight: FontWeight.normal, fontSize: 12, diff --git a/lib/screens/match_detail/match_detail_stats.dart b/lib/screens/match_detail/match_detail_stats.dart index f3dca1d5..3bb0482f 100644 --- a/lib/screens/match_detail/match_detail_stats.dart +++ b/lib/screens/match_detail/match_detail_stats.dart @@ -1,8 +1,8 @@ -import 'package:duration/duration.dart'; -import 'package:flutter/material.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:jiffy/jiffy.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; +import "package:duration/duration.dart"; +import "package:flutter/material.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:jiffy/jiffy.dart"; +import "package:paladinsedge/providers/index.dart" as providers; class MatchDetailStats extends HookConsumerWidget { const MatchDetailStats({Key? key}) : super(key: key); @@ -21,7 +21,7 @@ class MatchDetailStats extends HookConsumerWidget { Duration(seconds: match.matchDuration), abbreviated: true, upperTersity: DurationTersity.minute, - conjugation: ' ', + conjugation: " ", ).replaceAll("min", "m"); final map = match.map.split(" ").sublist(1).join(" "); final region = match.region; diff --git a/lib/screens/match_detail/match_detail_team_header.dart b/lib/screens/match_detail/match_detail_team_header.dart index 7a8aa7b8..9871b4a6 100644 --- a/lib/screens/match_detail/match_detail_team_header.dart +++ b/lib/screens/match_detail/match_detail_team_header.dart @@ -1,6 +1,6 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/models/index.dart' as models; +import "package:flutter/material.dart"; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/models/index.dart" as models; class MatchDetailTeamHeader extends StatelessWidget { final data_classes.MatchTeamStats teamStats; @@ -22,7 +22,7 @@ class MatchDetailTeamHeader extends StatelessWidget { mainAxisAlignment: MainAxisAlignment.center, children: [ Text( - isWinningTeam ? 'WON' : 'LOST', + isWinningTeam ? "WON" : "LOST", style: TextStyle( fontWeight: FontWeight.bold, fontSize: 20, @@ -31,14 +31,14 @@ class MatchDetailTeamHeader extends StatelessWidget { ), const SizedBox(width: 15), Text( - 'Team ${matchPlayer.team}', + "Team ${matchPlayer.team}", style: const TextStyle( fontSize: 20, ), ), const SizedBox(width: 15), Text( - '${teamStats.kills} / ${teamStats.deaths} / ${teamStats.assists}', + "${teamStats.kills} / ${teamStats.deaths} / ${teamStats.assists}", style: const TextStyle( fontWeight: FontWeight.bold, fontSize: 20, diff --git a/lib/screens/not_found/index.dart b/lib/screens/not_found/index.dart index 15e1e974..e398d1d9 100644 --- a/lib/screens/not_found/index.dart +++ b/lib/screens/not_found/index.dart @@ -1 +1 @@ -export './not_found.dart'; +export "./not_found.dart"; diff --git a/lib/screens/not_found/not_found.dart b/lib/screens/not_found/not_found.dart index f869cbfe..e9611dfd 100644 --- a/lib/screens/not_found/not_found.dart +++ b/lib/screens/not_found/not_found.dart @@ -1,8 +1,8 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/gen/assets.gen.dart'; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:paladinsedge/gen/assets.gen.dart"; +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 NotFound extends StatelessWidget { const NotFound({Key? key}) : super(key: key); @@ -18,7 +18,7 @@ class NotFound extends StatelessWidget { return Scaffold( appBar: AppBar( - title: const Text('404'), + title: const Text("404"), ), body: SizedBox( height: height, @@ -35,12 +35,12 @@ class NotFound extends StatelessWidget { ), const SizedBox(height: 25), Text( - 'Hehe, did I trick you?', + "Hehe, did I trick you?", style: textTheme.headline1?.copyWith(fontSize: 28), ), const SizedBox(height: 5), widgets.Button( - label: 'Back to Home', + label: "Back to Home", onPressed: () => utilities.Navigation.navigate( context, screens.Main.routeName, diff --git a/lib/screens/player_champions/index.dart b/lib/screens/player_champions/index.dart index 70d67364..d5b847f7 100644 --- a/lib/screens/player_champions/index.dart +++ b/lib/screens/player_champions/index.dart @@ -1 +1 @@ -export './player_champions.dart'; +export "./player_champions.dart"; diff --git a/lib/screens/player_champions/player_champions.dart b/lib/screens/player_champions/player_champions.dart index 0de806e5..40e115dc 100644 --- a/lib/screens/player_champions/player_champions.dart +++ b/lib/screens/player_champions/player_champions.dart @@ -1,18 +1,18 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:hooks_riverpod/hooks_riverpod.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/screens/player_champions/player_champions_data_source.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; -import 'package:syncfusion_flutter_datagrid/datagrid.dart'; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:hooks_riverpod/hooks_riverpod.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/screens/player_champions/player_champions_data_source.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; +import "package:syncfusion_flutter_datagrid/datagrid.dart"; class PlayerChampions extends HookConsumerWidget { - static const routeName = 'playerChampions'; - static const routePath = 'playerChampions'; + static const routeName = "playerChampions"; + static const routePath = "playerChampions"; static final goRoute = GoRoute( name: routeName, path: routePath, @@ -41,7 +41,7 @@ class PlayerChampions extends HookConsumerWidget { Theme.of(context).textTheme.headline1?.copyWith(fontSize: 16); // State - final _playerChampionsDataSource = + final playerChampionsDataSource = useState(null); // Effects @@ -69,8 +69,8 @@ class PlayerChampions extends HookConsumerWidget { context, screens.Loadouts.routeName, params: { - 'championId': champion.championId.toString(), - 'playerId': player.playerId, + "championId": champion.championId.toString(), + "playerId": player.playerId, }, ); }, @@ -82,7 +82,7 @@ class PlayerChampions extends HookConsumerWidget { () { if (player == null || playerChampions == null) return null; - _playerChampionsDataSource.value = PlayerChampionsDataSource( + playerChampionsDataSource.value = PlayerChampionsDataSource( player: player, onLoadoutPress: onLoadoutPress, champions: champions, @@ -98,7 +98,7 @@ class PlayerChampions extends HookConsumerWidget { appBar: AppBar( title: Column( children: [ - const Text('Player Champions'), + const Text("Player Champions"), if (player != null) Text( player.name, @@ -107,86 +107,86 @@ class PlayerChampions extends HookConsumerWidget { ], ), ), - body: _playerChampionsDataSource.value == null + body: playerChampionsDataSource.value == null ? const Center( child: widgets.LoadingIndicator( lineWidth: 2, size: 28, - label: Text('Getting champions'), + label: Text("Getting champions"), ), ) : SfDataGrid( allowSorting: true, rowHeight: 60, frozenColumnsCount: 1, - source: _playerChampionsDataSource.value!, + source: playerChampionsDataSource.value!, columnWidthMode: ColumnWidthMode.fitByColumnName, headerGridLinesVisibility: GridLinesVisibility.both, gridLinesVisibility: GridLinesVisibility.both, horizontalScrollPhysics: const ClampingScrollPhysics(), columns: [ GridColumn( - columnName: 'Champ', + columnName: "Champ", label: Center( - child: Text('Champ', style: headerTextStyle), + child: Text("Champ", style: headerTextStyle), ), ), GridColumn( - columnName: 'Matches', + columnName: "Matches", label: Center( - child: Text('Matches', style: headerTextStyle), + child: Text("Matches", style: headerTextStyle), ), ), GridColumn( - columnName: 'Kills', + columnName: "Kills", label: Center( - child: Text('Kills', style: headerTextStyle), + child: Text("Kills", style: headerTextStyle), ), ), GridColumn( - columnName: 'Deaths', + columnName: "Deaths", label: Center( - child: Text('Deaths', style: headerTextStyle), + child: Text("Deaths", style: headerTextStyle), ), ), GridColumn( - columnName: 'KDA', + columnName: "KDA", label: Center( - child: Text('KDA', style: headerTextStyle), + child: Text("KDA", style: headerTextStyle), ), ), GridColumn( - columnName: 'Win Rate', + columnName: "Win Rate", label: Center( - child: Text('Win Rate', style: headerTextStyle), + child: Text("Win Rate", style: headerTextStyle), ), ), GridColumn( - columnName: 'Play Time', + columnName: "Play Time", width: 140, autoFitPadding: const EdgeInsets.symmetric(horizontal: 10), label: Center( - child: Text('Play Time', style: headerTextStyle), + child: Text("Play Time", style: headerTextStyle), ), ), GridColumn( - columnName: 'Level', + columnName: "Level", label: Center( - child: Text('Level', style: headerTextStyle), + child: Text("Level", style: headerTextStyle), ), ), GridColumn( - columnName: 'Last Played', + columnName: "Last Played", label: Center( - child: Text('Last Played', style: headerTextStyle), + child: Text("Last Played", style: headerTextStyle), ), ), GridColumn( - columnName: 'Loadouts', + columnName: "Loadouts", allowSorting: false, width: 160, label: Center( - child: Text('Loadouts', style: headerTextStyle), + child: Text("Loadouts", style: headerTextStyle), ), ), ], @@ -195,7 +195,7 @@ class PlayerChampions extends HookConsumerWidget { } static Widget _routeBuilder(_, GoRouterState state) { - final paramPlayerId = state.params['playerId']; + final paramPlayerId = state.params["playerId"]; if (paramPlayerId == null) { return const screens.NotFound(); } diff --git a/lib/screens/player_champions/player_champions_data_source.dart b/lib/screens/player_champions/player_champions_data_source.dart index 4f153ed9..63a0da28 100644 --- a/lib/screens/player_champions/player_champions_data_source.dart +++ b/lib/screens/player_champions/player_champions_data_source.dart @@ -1,14 +1,14 @@ -import 'package:dartx/dartx.dart'; -import 'package:duration/duration.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.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; -import 'package:syncfusion_flutter_datagrid/datagrid.dart'; -import 'package:touchable_opacity/touchable_opacity.dart'; +import "package:dartx/dartx.dart"; +import "package:duration/duration.dart"; +import "package:flutter/material.dart"; +import "package:flutter_feather_icons/flutter_feather_icons.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; +import "package:syncfusion_flutter_datagrid/datagrid.dart"; +import "package:touchable_opacity/touchable_opacity.dart"; class PlayerChampionsDataSource extends DataGridSource { final models.Player player; @@ -45,7 +45,7 @@ class PlayerChampionsDataSource extends DataGridSource { return DataGridRow( cells: [ DataGridCell( - columnName: 'Champ', + columnName: "Champ", value: data_classes.PlayerChampionsSortData( iconUrl: champion.iconUrl, sortedIndex: championIndex, @@ -53,15 +53,15 @@ class PlayerChampionsDataSource extends DataGridSource { name: champion.name, ), ), - DataGridCell(columnName: 'Matches', value: matches), - DataGridCell(columnName: 'Kills', value: kills), - DataGridCell(columnName: 'Deaths', value: deaths), - DataGridCell(columnName: 'KDA', value: kda), - DataGridCell(columnName: 'Win Rate', value: winRate), - DataGridCell(columnName: 'Play Time', value: playTime), - DataGridCell(columnName: 'Level', value: level), - DataGridCell(columnName: 'Last Played', value: lastPlayed), - DataGridCell(columnName: 'Loadout', value: champion), + DataGridCell(columnName: "Matches", value: matches), + DataGridCell(columnName: "Kills", value: kills), + DataGridCell(columnName: "Deaths", value: deaths), + DataGridCell(columnName: "KDA", value: kda), + DataGridCell(columnName: "Win Rate", value: winRate), + DataGridCell(columnName: "Play Time", value: playTime), + DataGridCell(columnName: "Level", value: level), + DataGridCell(columnName: "Last Played", value: lastPlayed), + DataGridCell(columnName: "Loadout", value: champion), ], ); }, @@ -181,7 +181,7 @@ class PlayerChampionsDataSource extends DataGridSource { Widget _getWinRateCellWidget(DataGridCell dataGridCell) { return Center( child: Text( - '${dataGridCell.value.toStringAsPrecision(3)}%', + "${dataGridCell.value.toStringAsPrecision(3)}%", style: _getWinRateStyle(dataGridCell.value as double), ), ); @@ -256,25 +256,25 @@ class PlayerChampionsDataSource extends DataGridSource { // ignore: long-method Widget _getCellWidget(DataGridCell dataGridCell) { switch (dataGridCell.columnName) { - case 'Champ': + case "Champ": return _getChampCellWidget(dataGridCell); - case 'Matches': + case "Matches": return _getMatchesCellWidget(dataGridCell); - case 'Kills': + case "Kills": return _getKillsCellWidget(dataGridCell); - case 'Deaths': + case "Deaths": return _getDeathsCellWidget(dataGridCell); - case 'KDA': + case "KDA": return _getKDACellWidget(dataGridCell); - case 'Win Rate': + case "Win Rate": return _getWinRateCellWidget(dataGridCell); - case 'Play Time': + case "Play Time": return _getPlayTimeCellWidget(dataGridCell); - case 'Level': + case "Level": return _getLevelCellWidget(dataGridCell); - case 'Last Played': + case "Last Played": return _getLastPlayedCellWidget(dataGridCell); - case 'Loadout': + case "Loadout": return _getLoadoutCellWidget(dataGridCell); } diff --git a/lib/screens/player_detail/index.dart b/lib/screens/player_detail/index.dart index 251c66ac..1e749384 100644 --- a/lib/screens/player_detail/index.dart +++ b/lib/screens/player_detail/index.dart @@ -1 +1 @@ -export './player_detail.dart'; +export "./player_detail.dart"; diff --git a/lib/screens/player_detail/player_detail.dart b/lib/screens/player_detail/player_detail.dart index 04635643..c140e468 100644 --- a/lib/screens/player_detail/player_detail.dart +++ b/lib/screens/player_detail/player_detail.dart @@ -1,18 +1,18 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:go_router/go_router.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/screens/player_detail/player_detail_header.dart'; -import 'package:paladinsedge/screens/player_detail/player_detail_matches.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; -import 'package:touchable_opacity/touchable_opacity.dart'; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:go_router/go_router.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/screens/player_detail/player_detail_header.dart"; +import "package:paladinsedge/screens/player_detail/player_detail_matches.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; +import "package:touchable_opacity/touchable_opacity.dart"; class PlayerDetail extends HookConsumerWidget { - static const routeName = 'player'; - static const routePath = 'player/:playerId'; + static const routeName = "player"; + static const routePath = "player/:playerId"; final String playerId; const PlayerDetail({ @@ -88,7 +88,7 @@ class PlayerDetail extends HookConsumerWidget { context, screens.PlayerChampions.routeName, params: { - 'playerId': playerId, + "playerId": playerId, }, ); }, @@ -126,7 +126,7 @@ class PlayerDetail extends HookConsumerWidget { child: Row( children: const [ Text( - 'Champs', + "Champs", style: TextStyle( fontSize: 16, ), @@ -156,14 +156,14 @@ class PlayerDetail extends HookConsumerWidget { ), ], ) - : const Text('Loading'), + : const Text("Loading"), ), body: player == null ? const widgets.LoadingIndicator( lineWidth: 2, size: 28, center: true, - label: Text('Loading player'), + label: Text("Loading player"), ) : widgets.Refresh( onRefresh: onRefresh, @@ -178,7 +178,7 @@ class PlayerDetail extends HookConsumerWidget { } static Widget _routeBuilder(_, GoRouterState state) { - final paramPlayerId = state.params['playerId']; + final paramPlayerId = state.params["playerId"]; if (paramPlayerId == null) { return const screens.NotFound(); } diff --git a/lib/screens/player_detail/player_detail_header.dart b/lib/screens/player_detail/player_detail_header.dart index 12144309..1c7dcdcb 100644 --- a/lib/screens/player_detail/player_detail_header.dart +++ b/lib/screens/player_detail/player_detail_header.dart @@ -1,13 +1,13 @@ -import 'dart:ui'; +import "dart:ui"; -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/screens/player_detail/player_detail_status_indicator.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/screens/player_detail/player_detail_status_indicator.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; class PlayerDetailHeader extends HookConsumerWidget { const PlayerDetailHeader({Key? key}) : super(key: key); @@ -37,7 +37,7 @@ class PlayerDetailHeader extends HookConsumerWidget { utilities.Navigation.navigate( context, screens.ActiveMatch.routeName, - params: {'playerId': player.playerId}, + params: {"playerId": player.playerId}, ); }, [], @@ -51,7 +51,7 @@ class PlayerDetailHeader extends HookConsumerWidget { context, screens.Friends.routeName, params: { - 'playerId': player.playerId, + "playerId": player.playerId, }, ); }, @@ -107,7 +107,7 @@ class PlayerDetailHeader extends HookConsumerWidget { ?.copyWith(fontSize: 14), ), Text( - '${player.ranked.points} TP', + "${player.ranked.points} TP", style: textTheme.bodyText1 ?.copyWith(fontSize: 12), ), @@ -120,12 +120,12 @@ class PlayerDetailHeader extends HookConsumerWidget { Row( children: [ widgets.Button( - label: 'Friends', + label: "Friends", onPressed: onPressFriends, ), const SizedBox(width: 10), widgets.Button( - label: 'Active Match', + label: "Active Match", disabled: !isOnline, onPressed: onPressActiveMatch, color: Colors.green, diff --git a/lib/screens/player_detail/player_detail_match_card.dart b/lib/screens/player_detail/player_detail_match_card.dart index 628c3708..6fde9d9a 100644 --- a/lib/screens/player_detail/player_detail_match_card.dart +++ b/lib/screens/player_detail/player_detail_match_card.dart @@ -1,17 +1,17 @@ -import 'package:dartx/dartx.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:intl/intl.dart'; -import 'package:jiffy/jiffy.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; -import 'package:timer_builder/timer_builder.dart'; +import "package:dartx/dartx.dart"; +import "package:flutter/material.dart"; +import "package:flutter_feather_icons/flutter_feather_icons.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:intl/intl.dart"; +import "package:jiffy/jiffy.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/models/index.dart" as models; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; +import "package:timer_builder/timer_builder.dart"; class PlayerDetailMatchCard extends HookConsumerWidget { final models.MatchPlayer matchPlayer; @@ -52,8 +52,8 @@ class PlayerDetailMatchCard extends HookConsumerWidget { context, screens.MatchDetail.routeName, params: { - 'matchId': match.matchId, - 'playerId': matchPlayer.playerId, + "matchId": match.matchId, + "playerId": matchPlayer.playerId, }, ); }, @@ -94,11 +94,11 @@ class PlayerDetailMatchCard extends HookConsumerWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - '${playerStats.kills} / ${playerStats.deaths} / ${playerStats.assists}', + "${playerStats.kills} / ${playerStats.deaths} / ${playerStats.assists}", style: textTheme.bodyText1?.copyWith(fontSize: 18), ), Text( - match.map.replaceFirst('LIVE ', ''), + match.map.replaceFirst("LIVE ", ""), style: textTheme.bodyText1?.copyWith(fontSize: 12), ), ], @@ -162,13 +162,13 @@ class PlayerDetailMatchCard extends HookConsumerWidget { icon: FeatherIcons.zap, color: Colors.orange, text: - '${matchPlayer.playerStats.biggestKillStreak} streak', + "${matchPlayer.playerStats.biggestKillStreak} streak", ) : const SizedBox(), matchPlayer.playerStats.totalDamageDealt > matchPlayer.playerStats.healingDone ? Text( - '${NumberFormat.compact().format(matchPlayer.playerStats.totalDamageDealt)} Dmg', + "${NumberFormat.compact().format(matchPlayer.playerStats.totalDamageDealt)} Dmg", style: textTheme.bodyText1?.copyWith( fontSize: 12, color: Colors.red.shade400, @@ -176,7 +176,7 @@ class PlayerDetailMatchCard extends HookConsumerWidget { ), ) : Text( - '${NumberFormat.compact().format(matchPlayer.playerStats.healingDone)} Heal', + "${NumberFormat.compact().format(matchPlayer.playerStats.healingDone)} Heal", style: textTheme.bodyText1?.copyWith( fontSize: 12, color: Colors.green.shade400, diff --git a/lib/screens/player_detail/player_detail_matches.dart b/lib/screens/player_detail/player_detail_matches.dart index 7c99ed1e..10c6d74c 100644 --- a/lib/screens/player_detail/player_detail_matches.dart +++ b/lib/screens/player_detail/player_detail_matches.dart @@ -1,9 +1,9 @@ -import 'package:dartx/dartx.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/player_detail/player_detail_match_card.dart'; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:dartx/dartx.dart"; +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/player_detail/player_detail_match_card.dart"; +import "package:paladinsedge/widgets/index.dart" as widgets; class PlayerDetailMatches extends ConsumerWidget { const PlayerDetailMatches({Key? key}) : super(key: key); @@ -20,13 +20,13 @@ class PlayerDetailMatches extends ConsumerWidget { return const widgets.LoadingIndicator( lineWidth: 2, size: 28, - label: Text('Getting matches'), + label: Text("Getting matches"), ); } return playerMatches == null ? const Center( - child: Text('Unable to fetch matches for this player'), + child: Text("Unable to fetch matches for this player"), ) : ListView.builder( itemCount: playerMatches.matches.length, diff --git a/lib/screens/player_detail/player_detail_status_indicator.dart b/lib/screens/player_detail/player_detail_status_indicator.dart index ae83c390..491e8196 100644 --- a/lib/screens/player_detail/player_detail_status_indicator.dart +++ b/lib/screens/player_detail/player_detail_status_indicator.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:jiffy/jiffy.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:jiffy/jiffy.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/widgets/index.dart" as widgets; class PlayerDetailStatusIndicator extends HookConsumerWidget { const PlayerDetailStatusIndicator({Key? key}) : super(key: key); @@ -28,7 +28,7 @@ class PlayerDetailStatusIndicator extends HookConsumerWidget { // Methods final getLastSeen = useCallback( () { - if (player == null) return ''; + if (player == null) return ""; final lastLoginDate = player.lastLoginDate; final duration = DateTime.now().difference(lastLoginDate); @@ -57,7 +57,7 @@ class PlayerDetailStatusIndicator extends HookConsumerWidget { ), const SizedBox(width: 5), Text( - 'Status', + "Status", style: textTheme.bodyText1?.copyWith(fontSize: 14), ), ], @@ -89,10 +89,10 @@ class PlayerDetailStatusIndicator extends HookConsumerWidget { const SizedBox(width: 5), Text( isOnline - ? 'Online' + ? "Online" : isUnknown - ? 'Unknown' - : 'Offline', + ? "Unknown" + : "Offline", ), ], ), diff --git a/lib/screens/search/index.dart b/lib/screens/search/index.dart index 9be19956..a9c43670 100644 --- a/lib/screens/search/index.dart +++ b/lib/screens/search/index.dart @@ -1 +1 @@ -export './search.dart'; +export "./search.dart"; diff --git a/lib/screens/search/search.dart b/lib/screens/search/search.dart index 86c10e5e..bd378c94 100644 --- a/lib/screens/search/search.dart +++ b/lib/screens/search/search.dart @@ -1,13 +1,13 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/screens/search/search_app_bar.dart'; -import 'package:paladinsedge/screens/search/search_history.dart'; -import 'package:paladinsedge/screens/search/search_lower_list.dart'; -import 'package:paladinsedge/screens/search/search_top_list.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/screens/search/search_app_bar.dart"; +import "package:paladinsedge/screens/search/search_history.dart"; +import "package:paladinsedge/screens/search/search_lower_list.dart"; +import "package:paladinsedge/screens/search/search_top_list.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; class Search extends HookConsumerWidget { const Search({Key? key}) : super(key: key); @@ -23,6 +23,20 @@ class Search extends HookConsumerWidget { final isLoading = useState(false); // Methods + final navigateToPlayerDetail = useCallback( + (String playerId) { + utilities.unFocusKeyboard(context); + utilities.Navigation.navigate( + context, + screens.PlayerDetail.routeName, + params: { + "playerId": playerId, + }, + ); + }, + [], + ); + final onSearch = useCallback( ( String playerName, { @@ -42,14 +56,7 @@ class Search extends HookConsumerWidget { isLoading.value = false; if (response != null && response.exactMatch) { - utilities.unFocusKeyboard(context); - utilities.Navigation.navigate( - context, - screens.PlayerDetail.routeName, - params: { - 'playerId': response.playerData!.playerId, - }, - ); + navigateToPlayerDetail(response.playerData!.playerId); } }, [], diff --git a/lib/screens/search/search_app_bar.dart b/lib/screens/search/search_app_bar.dart index 50e9f334..470c83df 100644 --- a/lib/screens/search/search_app_bar.dart +++ b/lib/screens/search/search_app_bar.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:flutter_spinkit/flutter_spinkit.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/providers/index.dart' as providers; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:flutter_spinkit/flutter_spinkit.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/providers/index.dart" as providers; class SearchAppBar extends HookConsumerWidget { final bool isLoading; @@ -48,7 +48,7 @@ class SearchAppBar extends HookConsumerWidget { style: textStyle, onSubmitted: isLoading ? null : onSearch, decoration: InputDecoration( - hintText: 'Search player', + hintText: "Search player", counterText: "", hintStyle: textStyle, border: InputBorder.none, diff --git a/lib/screens/search/search_history.dart b/lib/screens/search/search_history.dart index e5478ce0..0159737a 100644 --- a/lib/screens/search/search_history.dart +++ b/lib/screens/search/search_history.dart @@ -1,11 +1,11 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:jiffy/jiffy.dart'; -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:timer_builder/timer_builder.dart'; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:jiffy/jiffy.dart"; +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:timer_builder/timer_builder.dart"; class SearchHistory extends HookConsumerWidget { const SearchHistory({Key? key}) : super(key: key); @@ -28,7 +28,7 @@ class SearchHistory extends HookConsumerWidget { context, screens.PlayerDetail.routeName, params: { - 'playerId': playerId, + "playerId": playerId, }, ); }, diff --git a/lib/screens/search/search_lower_item.dart b/lib/screens/search/search_lower_item.dart index df2822d9..cb1b904e 100644 --- a/lib/screens/search/search_lower_item.dart +++ b/lib/screens/search/search_lower_item.dart @@ -1,8 +1,8 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:paladinsedge/api/index.dart' as api; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:paladinsedge/api/index.dart" as api; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/utilities/index.dart" as utilities; class SearchLowerItem extends HookWidget { final api.LowerSearch lowerSearch; @@ -25,7 +25,7 @@ class SearchLowerItem extends HookWidget { context, screens.PlayerDetail.routeName, params: { - 'playerId': lowerSearch.playerId, + "playerId": lowerSearch.playerId, }, ); }, diff --git a/lib/screens/search/search_lower_list.dart b/lib/screens/search/search_lower_list.dart index d152d801..1ddbb939 100644 --- a/lib/screens/search/search_lower_list.dart +++ b/lib/screens/search/search_lower_list.dart @@ -1,9 +1,9 @@ -import 'dart:math'; +import "dart:math"; -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/search/search_lower_item.dart'; +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/search/search_lower_item.dart"; class SearchLowerList extends ConsumerWidget { const SearchLowerList({Key? key}) : super(key: key); diff --git a/lib/screens/search/search_top_item.dart b/lib/screens/search/search_top_item.dart index 9843983e..54ff409f 100644 --- a/lib/screens/search/search_top_item.dart +++ b/lib/screens/search/search_top_item.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:jiffy/jiffy.dart'; -import 'package:paladinsedge/models/index.dart' as models; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:jiffy/jiffy.dart"; +import "package:paladinsedge/models/index.dart" as models; +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 SearchTopItem extends HookWidget { final models.Player player; @@ -27,7 +27,7 @@ class SearchTopItem extends HookWidget { context, screens.PlayerDetail.routeName, params: { - 'playerId': player.playerId, + "playerId": player.playerId, }, ); }, diff --git a/lib/screens/search/search_top_list.dart b/lib/screens/search/search_top_list.dart index 983d0b47..3a052221 100644 --- a/lib/screens/search/search_top_list.dart +++ b/lib/screens/search/search_top_list.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/screens/search/search_top_item.dart'; +import "package:flutter/material.dart"; +import "package:flutter_riverpod/flutter_riverpod.dart"; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/screens/search/search_top_item.dart"; class SearchTopList extends ConsumerWidget { const SearchTopList({Key? key}) : super(key: key); diff --git a/lib/theme/colors.dart b/lib/theme/colors.dart index 1bd5ba9f..1ddd012d 100644 --- a/lib/theme/colors.dart +++ b/lib/theme/colors.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; const Map _colorValues = { 50: Color.fromRGBO(217, 245, 255, 1), diff --git a/lib/theme/global_chat.dart b/lib/theme/global_chat.dart index acee0b74..2ff23b42 100644 --- a/lib/theme/global_chat.dart +++ b/lib/theme/global_chat.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_chat_ui/flutter_chat_ui.dart'; -import 'package:flutter_feather_icons/flutter_feather_icons.dart'; -import 'package:paladinsedge/theme/colors.dart'; -import 'package:paladinsedge/theme/fonts.dart'; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_chat_ui/flutter_chat_ui.dart"; +import "package:flutter_feather_icons/flutter_feather_icons.dart"; +import "package:paladinsedge/theme/colors.dart"; +import "package:paladinsedge/theme/fonts.dart"; +import "package:paladinsedge/widgets/index.dart" as widgets; final lightGlobalChatTheme = DefaultChatTheme( receivedMessageBodyTextStyle: TextStyle( diff --git a/lib/theme/index.dart b/lib/theme/index.dart index f66734d9..3daa012b 100644 --- a/lib/theme/index.dart +++ b/lib/theme/index.dart @@ -1,4 +1,4 @@ -export './colors.dart'; -export './fonts.dart'; -export './global_chat.dart'; -export './theme.dart'; +export "./colors.dart"; +export "./fonts.dart"; +export "./global_chat.dart"; +export "./theme.dart"; diff --git a/lib/theme/theme.dart b/lib/theme/theme.dart index 9b1a5b6e..14443ad6 100644 --- a/lib/theme/theme.dart +++ b/lib/theme/theme.dart @@ -1,7 +1,7 @@ import "package:flutter/material.dart"; -import 'package:flutter/services.dart'; -import 'package:paladinsedge/theme/colors.dart'; -import 'package:paladinsedge/theme/fonts.dart'; +import "package:flutter/services.dart"; +import "package:paladinsedge/theme/colors.dart"; +import "package:paladinsedge/theme/fonts.dart"; /// ThemeData for light theme final lightTheme = ThemeData( diff --git a/lib/utilities/api.dart b/lib/utilities/api.dart index cc6da4ba..90d86a19 100644 --- a/lib/utilities/api.dart +++ b/lib/utilities/api.dart @@ -1,7 +1,7 @@ -import 'package:dio/dio.dart'; -import 'package:image_picker/image_picker.dart'; -import 'package:mime/mime.dart'; -import 'package:paladinsedge/constants.dart' as constants; +import "package:dio/dio.dart"; +import "package:image_picker/image_picker.dart"; +import "package:mime/mime.dart"; +import "package:paladinsedge/constants.dart" as constants; // api singleton // authorization header is set by authProvider diff --git a/lib/utilities/asset_urls.dart b/lib/utilities/asset_urls.dart index 7c318c85..a4c15787 100644 --- a/lib/utilities/asset_urls.dart +++ b/lib/utilities/asset_urls.dart @@ -1,4 +1,4 @@ -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:paladinsedge/utilities/index.dart" as utilities; /// returns the full s3 image url from its s3 key String getUrlFromKey(String? key) { @@ -6,7 +6,7 @@ String getUrlFromKey(String? key) { if (key == null) return ""; if (key.contains("https://") || key.contains("http://")) return key; - return '${utilities.Global.essentials!.imageBaseUrl}$key'; + return "${utilities.Global.essentials!.imageBaseUrl}$key"; } /// returns the url with smaller sized version of the network image diff --git a/lib/utilities/champion_card.dart b/lib/utilities/champion_card.dart index 578ba790..d4637ac0 100644 --- a/lib/utilities/champion_card.dart +++ b/lib/utilities/champion_card.dart @@ -1,5 +1,5 @@ String _getScaledAmount(String scale, int amount) { - final temp = scale.split('|'); + final temp = scale.split("|"); final base = double.tryParse(temp.first) ?? 0; final adder = double.tryParse(temp[1]) ?? 0; @@ -23,7 +23,7 @@ List getDescriptionParts(String desc) { } String getParsedDescription(List descriptionParts, int amount) { - String desc = ''; + String desc = ""; for (int index = 0; index < descriptionParts.length; index++) { final descriptionPart = descriptionParts[index]; diff --git a/lib/utilities/crypto.dart b/lib/utilities/crypto.dart index 6581c938..c671f4f9 100644 --- a/lib/utilities/crypto.dart +++ b/lib/utilities/crypto.dart @@ -1,10 +1,10 @@ -import 'dart:convert'; -import 'dart:typed_data'; +import "dart:convert"; +import "dart:typed_data"; -import 'package:encrypt/encrypt.dart'; -import 'package:flutter/services.dart' show rootBundle; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:pointycastle/export.dart'; +import "package:encrypt/encrypt.dart"; +import "package:flutter/services.dart" show rootBundle; +import "package:paladinsedge/constants.dart" as constants; +import "package:pointycastle/export.dart"; /// Class for RSA encryption abstract class RSACrypto { @@ -12,7 +12,7 @@ abstract class RSACrypto { /// Loads the public key from the assets. static Future initialize() async { - final publicKey = await rootBundle.loadString('assets/keys/publicKey.pem'); + final publicKey = await rootBundle.loadString("assets/keys/publicKey.pem"); final parser = RSAKeyParser(); final public = parser.parse(publicKey) as RSAPublicKey; @@ -23,7 +23,7 @@ abstract class RSACrypto { /// Encrypts the given text using the public key. static String encryptRSA(String text) { // add salt in the plain text - final saltedText = '${constants.Env.saltString}:$text'; + final saltedText = "${constants.Env.saltString}:$text"; final output = _cipher.process(Uint8List.fromList(utf8.encode(saltedText))); diff --git a/lib/utilities/custom_icons.dart b/lib/utilities/custom_icons.dart index 0c4d3bc7..6ce6047a 100644 --- a/lib/utilities/custom_icons.dart +++ b/lib/utilities/custom_icons.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; class CustomIcons { static const IconData movement = @@ -19,7 +19,7 @@ class CustomIcons { IconData(0xf621, fontFamily: _kFontFam, fontPackage: _kFontPkg); static const String? _kFontPkg = null; - static const _kFontFam = 'CustomIcons'; + static const _kFontFam = "CustomIcons"; CustomIcons._(); } diff --git a/lib/utilities/data_conversion.dart b/lib/utilities/data_conversion.dart index 8cb0d178..f2431187 100644 --- a/lib/utilities/data_conversion.dart +++ b/lib/utilities/data_conversion.dart @@ -1,12 +1,12 @@ // utilities to convert data from one form to another const replaceList = { - '': 'Q', - '': 'F', - '': 'E', - '': 'Spacebar', - '': 'LMB', - '
': '\n', + "": "Q", + "": "F", + "": "E", + "": "Spacebar", + "": "LMB", + "
": "\n", }; String convertAbilityDescription(String description) { diff --git a/lib/utilities/database.dart b/lib/utilities/database.dart index 4494ad86..e98d7646 100644 --- a/lib/utilities/database.dart +++ b/lib/utilities/database.dart @@ -1,6 +1,6 @@ -import 'package:hive_flutter/hive_flutter.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/models/index.dart' as models; +import "package:hive_flutter/hive_flutter.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/models/index.dart" as models; abstract class Database { static bool _init = false; diff --git a/lib/utilities/global.dart b/lib/utilities/global.dart index 7968c61b..86e20f98 100644 --- a/lib/utilities/global.dart +++ b/lib/utilities/global.dart @@ -1,6 +1,6 @@ // a singleton class for string global variables -import 'package:paladinsedge/models/index.dart' as models; +import "package:paladinsedge/models/index.dart" as models; abstract class Global { /// Contains all the essentials data of the app diff --git a/lib/utilities/index.dart b/lib/utilities/index.dart index 6ec38427..631c9fdc 100644 --- a/lib/utilities/index.dart +++ b/lib/utilities/index.dart @@ -1,18 +1,18 @@ -export './api.dart'; -export './asset_urls.dart'; -export './champion_card.dart'; -export './crypto.dart'; -export './custom_icons.dart'; -export './data_conversion.dart'; -export './database.dart'; -export './global.dart'; -export './math.dart'; -export './messaging.dart'; -export './navigation.dart'; -export './player_utils.dart'; -export './realtime_database.dart'; -export './remote_config.dart'; -export './responsive.dart'; -export './stopwatch.dart'; -export './time.dart'; -export './ui.dart'; +export "./api.dart"; +export "./asset_urls.dart"; +export "./champion_card.dart"; +export "./crypto.dart"; +export "./custom_icons.dart"; +export "./data_conversion.dart"; +export "./database.dart"; +export "./global.dart"; +export "./math.dart"; +export "./messaging.dart"; +export "./navigation.dart"; +export "./player_utils.dart"; +export "./realtime_database.dart"; +export "./remote_config.dart"; +export "./responsive.dart"; +export "./stopwatch.dart"; +export "./time.dart"; +export "./ui.dart"; diff --git a/lib/utilities/math.dart b/lib/utilities/math.dart index 26f0224b..743da6f6 100644 --- a/lib/utilities/math.dart +++ b/lib/utilities/math.dart @@ -1,4 +1,4 @@ -import 'dart:math'; +import "dart:math"; /// Round a `number` to nearest multiple of 10 /// eg. 1733 has nearest multiple of 10 as 1000 @@ -27,20 +27,20 @@ int roundToNearestTenth( bool ceil = false, bool floor = false, }) { - final _exponent = number.toString().length - 1; - final exponent = max(_exponent - offset, 0); + double exponent = number.toString().length - 1; + exponent = max(exponent - offset, 0); final nearestMultiple = pow(10, exponent).toInt(); - double _result = (number / nearestMultiple); // 1733/1000 = 1.7 - int result; + double result = (number / nearestMultiple); // 1733/1000 = 1.7 + int intResult; if (ceil) { - result = _result.ceil() * nearestMultiple; + intResult = result.ceil() * nearestMultiple; } else if (floor) { - result = _result.floor() * nearestMultiple; + intResult = result.floor() * nearestMultiple; } else { - result = _result.round() * nearestMultiple; + intResult = result.round() * nearestMultiple; } - return result; + return intResult; } diff --git a/lib/utilities/messaging.dart b/lib/utilities/messaging.dart index d2f4da2d..97807fbf 100644 --- a/lib/utilities/messaging.dart +++ b/lib/utilities/messaging.dart @@ -1,12 +1,12 @@ -import 'dart:io'; +import "dart:io"; -import 'package:firebase_messaging/firebase_messaging.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_local_notifications/flutter_local_notifications.dart'; -import 'package:http/http.dart' as http; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/widgets/index.dart' as widgets; -import 'package:path_provider/path_provider.dart'; +import "package:firebase_messaging/firebase_messaging.dart"; +import "package:flutter/services.dart"; +import "package:flutter_local_notifications/flutter_local_notifications.dart"; +import "package:http/http.dart" as http; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/widgets/index.dart" as widgets; +import "package:path_provider/path_provider.dart"; abstract class Messaging { static final flutterLocalNotificationsPlugin = @@ -38,9 +38,9 @@ abstract class Messaging { FirebaseMessaging.onMessage.listen((message) { final data = message.data.map((key, value) => MapEntry(key, value?.toString())); - final imageUrl = data['imageUrl']; - final title = data['title']; - final body = data['body']; + final imageUrl = data["imageUrl"]; + final title = data["title"]; + final body = data["body"]; if (imageUrl == null || title == null || body == null) return; @@ -87,7 +87,7 @@ abstract class Messaging { static void registerLocalNotification() async { const initializationSettingsAndroid = - AndroidInitializationSettings('ic_stat_ic_notification'); + AndroidInitializationSettings("ic_stat_ic_notification"); const initializationSettings = InitializationSettings(android: initializationSettingsAndroid); await flutterLocalNotificationsPlugin.initialize( @@ -102,15 +102,15 @@ abstract class Messaging { message.data.map((key, value) => MapEntry(key, value?.toString())); createNotification( - imageUrl: data['imageUrl'], - title: data['title'], - body: data['body'], + imageUrl: data["imageUrl"], + title: data["title"], + body: data["body"], ); } static Future _getFileAndroidBitmap(String url) async { final Directory directory = await getApplicationDocumentsDirectory(); - final String filePath = '${directory.path}/notificationLargeIcon'; + final String filePath = "${directory.path}/notificationLargeIcon"; final http.Response response = await http.get(Uri.parse(url)); final File file = File(filePath); await file.writeAsBytes(response.bodyBytes); diff --git a/lib/utilities/navigation.dart b/lib/utilities/navigation.dart index 77f10d52..e85f531e 100644 --- a/lib/utilities/navigation.dart +++ b/lib/utilities/navigation.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:go_router/go_router.dart'; -import 'package:paladinsedge/screens/index.dart' as screens; -import 'package:paladinsedge/utilities/global.dart'; +import "package:flutter/material.dart"; +import "package:go_router/go_router.dart"; +import "package:paladinsedge/screens/index.dart" as screens; +import "package:paladinsedge/utilities/global.dart"; abstract class Navigation { /// Navigate to the screen with the name and params using go_router @@ -25,7 +25,7 @@ abstract class Navigation { /// eg. `/ => /` /// eg. `/login => /login` static String sanitizeRoutePath(String routePath) => - routePath[0] == '/' ? routePath : '/$routePath'; + routePath[0] == "/" ? routePath : "/$routePath"; /// Redirects to login screen if an unauthenticated /// user lands on a protected route diff --git a/lib/utilities/player_utils.dart b/lib/utilities/player_utils.dart index ad076aa4..7aae55f2 100644 --- a/lib/utilities/player_utils.dart +++ b/lib/utilities/player_utils.dart @@ -1,4 +1,4 @@ -import 'package:paladinsedge/models/index.dart' as models; +import "package:paladinsedge/models/index.dart" as models; models.PlayerChampion? findPlayerChampion( List? playerChampions, @@ -31,5 +31,5 @@ String shortRankName(String rankName) { if (temp[1] == "IV") tierLevel = "4"; if (temp[1] == "V") tierLevel = "5"; - return '$shortTier$tierLevel'; + return "$shortTier$tierLevel"; } diff --git a/lib/utilities/realtime_database.dart b/lib/utilities/realtime_database.dart index 439dfe47..b79ae5bd 100644 --- a/lib/utilities/realtime_database.dart +++ b/lib/utilities/realtime_database.dart @@ -1,9 +1,9 @@ -import 'dart:async'; +import "dart:async"; -import 'package:dartx/dartx.dart'; -import 'package:firebase_database/firebase_database.dart'; -import 'package:flutter_chat_types/flutter_chat_types.dart' as types; -import 'package:paladinsedge/constants.dart' as constants; +import "package:dartx/dartx.dart"; +import "package:firebase_database/firebase_database.dart"; +import "package:flutter_chat_types/flutter_chat_types.dart" as types; +import "package:paladinsedge/constants.dart" as constants; enum ChatConnectionState { connected, disconnected, unknown } @@ -237,7 +237,7 @@ class RealtimeGlobalChat { final data = snapshotValue as Map?; if (data == null) return null; final author = _convertSnapshotToUser(data["author"]); - final id = data['id']; + final id = data["id"]; final createdAt = data["createdAt"]; final text = data["text"]; @@ -263,11 +263,11 @@ class RealtimeGlobalChat { if (data == null) return null; final id = data["id"]; - final metadata = data['metadata']; + final metadata = data["metadata"]; Map? metadataMap; if (id == null) return null; if (metadata != null) { - metadataMap = {'typing': metadata['typing']}; + metadataMap = {"typing": metadata["typing"]}; } return types.User( diff --git a/lib/utilities/remote_config.dart b/lib/utilities/remote_config.dart index 8cba3bae..84231d32 100644 --- a/lib/utilities/remote_config.dart +++ b/lib/utilities/remote_config.dart @@ -1,5 +1,5 @@ -import 'package:firebase_remote_config/firebase_remote_config.dart'; -import 'package:paladinsedge/constants.dart' as constants; +import "package:firebase_remote_config/firebase_remote_config.dart"; +import "package:paladinsedge/constants.dart" as constants; abstract class RemoteConfig { static final _firebaseRemoteConfig = FirebaseRemoteConfig.instance; diff --git a/lib/utilities/responsive.dart b/lib/utilities/responsive.dart index b2698954..8a4742a6 100644 --- a/lib/utilities/responsive.dart +++ b/lib/utilities/responsive.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:responsive_framework/responsive_framework.dart'; +import "package:flutter/material.dart"; +import "package:responsive_framework/responsive_framework.dart"; T responsiveCondition( BuildContext context, { diff --git a/lib/utilities/time.dart b/lib/utilities/time.dart index 2fec2e53..0461c616 100644 --- a/lib/utilities/time.dart +++ b/lib/utilities/time.dart @@ -1,4 +1,4 @@ -import 'package:jiffy/jiffy.dart'; +import "package:jiffy/jiffy.dart"; /// Gets the time remaining between [fromDate] and [toDate] i.e. /// toDate-fromDate in appropriately formatted string @@ -41,12 +41,12 @@ String getLastPlayedTime( // if difference in lastPlayed and now is greater than 1 day, // show the full date // else from the from now duration - var lastPlayedTime = ''; + var lastPlayedTime = ""; final duration = DateTime.now().difference(lastPlayed); lastPlayedTime = const Duration(days: 1).compareTo(duration) < 0 || shortFormat ? Jiffy(lastPlayed).fromNow() - : Jiffy(lastPlayed).format('do MMM [at] HH:mm'); + : Jiffy(lastPlayed).format("do MMM [at] HH:mm"); return lastPlayedTime; } diff --git a/lib/utilities/ui.dart b/lib/utilities/ui.dart index 038d415b..ec415aba 100644 --- a/lib/utilities/ui.dart +++ b/lib/utilities/ui.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; /// Callback that is called after Flutter is done painting a frame /// eliminates the "markNeedsBuild" error diff --git a/lib/widgets/button.dart b/lib/widgets/button.dart index aca70831..32e4cf6a 100644 --- a/lib/widgets/button.dart +++ b/lib/widgets/button.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/theme/index.dart' as theme; +import "package:flutter/material.dart"; +import "package:paladinsedge/theme/index.dart" as theme; enum ButtonStyle { solid, diff --git a/lib/widgets/champion_loadout_card.dart b/lib/widgets/champion_loadout_card.dart index e52112a5..e167ec0a 100644 --- a/lib/widgets/champion_loadout_card.dart +++ b/lib/widgets/champion_loadout_card.dart @@ -1,10 +1,10 @@ -import 'package:dotted_border/dotted_border.dart'; -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; +import "package:dotted_border/dotted_border.dart"; +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 { final double imageWidth; @@ -128,7 +128,7 @@ class _LoadoutCard extends StatelessWidget { if (card.cooldown != 0) widgets.TextChip( spacing: 5, - text: '${card.cooldown.toInt().toString()} sec', + text: "${card.cooldown.toInt().toString()} sec", color: Colors.blueGrey, icon: Icons.timelapse, ), diff --git a/lib/widgets/debug_alert.dart b/lib/widgets/debug_alert.dart index 58808fa5..5e99cd4a 100644 --- a/lib/widgets/debug_alert.dart +++ b/lib/widgets/debug_alert.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/constants.dart' as constants; +import "package:flutter/material.dart"; +import "package:paladinsedge/constants.dart" as constants; void showDebugAlert({ required BuildContext context, diff --git a/lib/widgets/elevated_avatar.dart b/lib/widgets/elevated_avatar.dart index c017f614..8bee49d8 100644 --- a/lib/widgets/elevated_avatar.dart +++ b/lib/widgets/elevated_avatar.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:paladinsedge/widgets/index.dart" as widgets; class ElevatedAvatar extends StatelessWidget { final String imageUrl; diff --git a/lib/widgets/fast_image.dart b/lib/widgets/fast_image.dart index 371f17ef..56be2d31 100644 --- a/lib/widgets/fast_image.dart +++ b/lib/widgets/fast_image.dart @@ -1,6 +1,6 @@ -import 'package:cached_network_image/cached_network_image.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_blurhash/flutter_blurhash.dart'; +import "package:cached_network_image/cached_network_image.dart"; +import "package:flutter/material.dart"; +import "package:flutter_blurhash/flutter_blurhash.dart"; class FastImage extends StatelessWidget { final String imageUrl; diff --git a/lib/widgets/foreground_notification.dart b/lib/widgets/foreground_notification.dart index b2045a00..0b9993ca 100644 --- a/lib/widgets/foreground_notification.dart +++ b/lib/widgets/foreground_notification.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; -import 'package:overlay_support/overlay_support.dart'; -import 'package:paladinsedge/theme/index.dart' as theme; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:overlay_support/overlay_support.dart"; +import "package:paladinsedge/theme/index.dart" as theme; +import "package:paladinsedge/widgets/index.dart" as widgets; void showForegroundNotification({ required String title, diff --git a/lib/widgets/google_button.dart b/lib/widgets/google_button.dart index 037e6ba7..e138f897 100644 --- a/lib/widgets/google_button.dart +++ b/lib/widgets/google_button.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:paladinsedge/gen/assets.gen.dart'; -import 'package:paladinsedge/theme/index.dart' as theme; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:google_fonts/google_fonts.dart"; +import "package:paladinsedge/gen/assets.gen.dart"; +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 GoogleButton extends HookWidget { final bool isLoggingIn; @@ -61,7 +61,7 @@ class GoogleButton extends HookWidget { flex: width == null ? 0 : 1, child: Center( child: Text( - 'Sign in with Google', + "Sign in with Google", style: TextStyle( fontSize: 20, color: Colors.grey.shade800, @@ -80,7 +80,7 @@ class GoogleButton extends HookWidget { TextButton( onPressed: onGuestLogin, child: const Text( - 'Continue as guest', + "Continue as guest", style: TextStyle( color: Colors.white, fontSize: 14, diff --git a/lib/widgets/icon_button.dart b/lib/widgets/icon_button.dart index d186bf52..a6a5d700 100644 --- a/lib/widgets/icon_button.dart +++ b/lib/widgets/icon_button.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; class IconButton extends StatelessWidget { final IconData icon; diff --git a/lib/widgets/index.dart b/lib/widgets/index.dart index 8cbf6c43..f56ad21f 100644 --- a/lib/widgets/index.dart +++ b/lib/widgets/index.dart @@ -1,20 +1,20 @@ -export './button.dart'; -export './champion_loadout_card.dart'; -export './debug_alert.dart'; -export './elevated_avatar.dart'; -export './fast_image.dart'; -export './foreground_notification.dart'; -export './google_button.dart'; -export './icon_button.dart'; -export './info_alert.dart'; -export './interactive_card.dart'; -export './loading_indicator.dart'; -export './loadout_card_detail.dart'; -export './loadout_deck_card.dart'; -export './login_modal.dart'; -export './refresh.dart'; -export './reversible_column.dart'; -export './reversible_row.dart'; -export './screen_initialization.dart'; -export './text_chip.dart'; -export './toast.dart'; +export "./button.dart"; +export "./champion_loadout_card.dart"; +export "./debug_alert.dart"; +export "./elevated_avatar.dart"; +export "./fast_image.dart"; +export "./foreground_notification.dart"; +export "./google_button.dart"; +export "./icon_button.dart"; +export "./info_alert.dart"; +export "./interactive_card.dart"; +export "./loading_indicator.dart"; +export "./loadout_card_detail.dart"; +export "./loadout_deck_card.dart"; +export "./login_modal.dart"; +export "./refresh.dart"; +export "./reversible_column.dart"; +export "./reversible_row.dart"; +export "./screen_initialization.dart"; +export "./text_chip.dart"; +export "./toast.dart"; diff --git a/lib/widgets/info_alert.dart b/lib/widgets/info_alert.dart index 028e1cd0..6d1a0e3b 100644 --- a/lib/widgets/info_alert.dart +++ b/lib/widgets/info_alert.dart @@ -1,8 +1,8 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:package_info_plus/package_info_plus.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/widgets/loading_indicator.dart'; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:package_info_plus/package_info_plus.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/widgets/loading_indicator.dart"; void showInfoAlert(BuildContext context) { showDialog(context: context, builder: (_) => const _InfoAlert()); @@ -22,8 +22,7 @@ class _InfoAlert extends HookWidget { // Effects useEffect( () { - PackageInfo.fromPlatform() - .then((_packageInfo) => packageInfo.value = _packageInfo); + PackageInfo.fromPlatform().then((temp) => packageInfo.value = temp); return null; }, @@ -51,15 +50,15 @@ class _InfoAlert extends HookWidget { crossAxisAlignment: CrossAxisAlignment.start, children: [ Text( - 'Here is some info for ya', + "Here is some info for ya", style: textTheme.headline1?.copyWith(fontSize: 24), ), const SizedBox(height: 20), - Text('App Name : ${packageInfo.value!.appName}'), - Text('App Type : ${constants.Env.appType}'), - Text('Package Name : ${packageInfo.value!.packageName}'), - Text('Version: ${packageInfo.value!.version}'), - Text('API Url : ${constants.Env.baseUrl}'), + Text("App Name : ${packageInfo.value!.appName}"), + Text("App Type : ${constants.Env.appType}"), + Text("Package Name : ${packageInfo.value!.packageName}"), + Text("Version: ${packageInfo.value!.version}"), + Text("API Url : ${constants.Env.baseUrl}"), ], ), ), diff --git a/lib/widgets/interactive_card.dart b/lib/widgets/interactive_card.dart index d313e705..43218c87 100644 --- a/lib/widgets/interactive_card.dart +++ b/lib/widgets/interactive_card.dart @@ -1,6 +1,6 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:paladinsedge/theme/index.dart' as theme; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:paladinsedge/theme/index.dart" as theme; class InteractiveCard extends HookWidget { final Widget child; @@ -38,7 +38,7 @@ class InteractiveCard extends HookWidget { final isHovering = useState(false); // Hooks - final _hoverBorderColor = useMemoized( + final themeHoverBorderColor = useMemoized( () { return hoverBorderColor ?? (brightness == Brightness.light @@ -54,14 +54,6 @@ class InteractiveCard extends HookWidget { child: Card( clipBehavior: Clip.hardEdge, color: color, - child: InkWell( - onTap: onTap, - hoverColor: color ?? Theme.of(context).cardTheme.color, - child: Padding( - padding: padding, - child: child, - ), - ), elevation: isInteractive && isHovering.value ? hoverElevation : elevation, margin: margin, @@ -71,11 +63,19 @@ class InteractiveCard extends HookWidget { : BorderRadius.all(Radius.circular(borderRadius!)), side: isInteractive && isHovering.value ? BorderSide( - color: _hoverBorderColor, + color: themeHoverBorderColor, width: 3, ) : BorderSide.none, ), + child: InkWell( + onTap: onTap, + hoverColor: color ?? Theme.of(context).cardTheme.color, + child: Padding( + padding: padding, + child: child, + ), + ), ), ); } diff --git a/lib/widgets/loading_indicator.dart b/lib/widgets/loading_indicator.dart index 71029380..c1ae98d0 100644 --- a/lib/widgets/loading_indicator.dart +++ b/lib/widgets/loading_indicator.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_spinkit/flutter_spinkit.dart'; +import "package:flutter/material.dart"; +import "package:flutter_spinkit/flutter_spinkit.dart"; class LoadingIndicator extends StatelessWidget { final double size; @@ -36,8 +36,8 @@ class LoadingIndicator extends StatelessWidget { ), label != null ? Container( - child: label, margin: const EdgeInsets.only(top: 5), + child: label, ) : const SizedBox(), ], diff --git a/lib/widgets/loadout_card_detail.dart b/lib/widgets/loadout_card_detail.dart index bee8e4fa..89108f71 100644 --- a/lib/widgets/loadout_card_detail.dart +++ b/lib/widgets/loadout_card_detail.dart @@ -1,10 +1,10 @@ -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; +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; void showLoadoutCardDetailSheet( data_classes.ShowLoadoutDetailsOptions options, @@ -130,7 +130,7 @@ class _LoadoutCardDetail extends HookWidget { if (card.cooldown != 0) widgets.TextChip( spacing: 5, - text: '${card.cooldown.toInt().toString()} sec', + text: "${card.cooldown.toInt().toString()} sec", color: Colors.blueGrey, icon: Icons.timelapse, ), @@ -166,7 +166,7 @@ class _LoadoutCardDetail extends HookWidget { divisions: 4, min: 1, max: 5, - label: '${amount.value}', + label: "${amount.value}", onChanged: onChanged, ), ), @@ -174,7 +174,7 @@ class _LoadoutCardDetail extends HookWidget { sliderFixed ? const SizedBox() : Text( - '*Change slider to view the card with different points', + "*Change slider to view the card with different points", textAlign: TextAlign.center, style: textTheme.bodyText1?.copyWith(fontSize: 12), ), diff --git a/lib/widgets/loadout_deck_card.dart b/lib/widgets/loadout_deck_card.dart index 8f97e58f..80d2e11a 100644 --- a/lib/widgets/loadout_deck_card.dart +++ b/lib/widgets/loadout_deck_card.dart @@ -1,10 +1,10 @@ -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; +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 HookWidget { final double imageHeight; diff --git a/lib/widgets/login_modal.dart b/lib/widgets/login_modal.dart index e52b5d10..b30bb33c 100644 --- a/lib/widgets/login_modal.dart +++ b/lib/widgets/login_modal.dart @@ -1,11 +1,11 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/data_classes/index.dart' as data_classes; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/google_button.dart'; -import 'package:paladinsedge/widgets/toast.dart'; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/data_classes/index.dart" as data_classes; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/google_button.dart"; +import "package:paladinsedge/widgets/toast.dart"; void showLoginModal(data_classes.ShowLoginModalOptions options) { final context = options.context; @@ -53,6 +53,13 @@ class _LoginModal extends HookConsumerWidget { final isLoggingIn = useState(false); // Methods + final goBack = useCallback( + () { + utilities.Navigation.pop(context); + }, + [], + ); + final onGoogleSignIn = useCallback( () async { if (isLoggingIn.value) { @@ -63,7 +70,7 @@ class _LoginModal extends HookConsumerWidget { final response = await authProvider.signInWithGoogle(); if (response.result) { - utilities.Navigation.pop(context); + goBack(); } else { isLoggingIn.value = false; if (response.errorCode == null && response.errorMessage == null) { @@ -98,7 +105,7 @@ class _LoginModal extends HookConsumerWidget { child: Padding( padding: const EdgeInsets.only(right: 10), child: Text( - 'LOGIN REQUIRED', + "LOGIN REQUIRED", style: textTheme.headline1?.copyWith( fontSize: 24, fontWeight: FontWeight.w900, @@ -113,7 +120,7 @@ class _LoginModal extends HookConsumerWidget { ), const SizedBox(height: 10), Text( - 'To experience all features of Paladins Edge, please login', + "To experience all features of Paladins Edge, please login", style: textTheme.bodyText1?.copyWith(fontSize: 14), ), ], diff --git a/lib/widgets/refresh.dart b/lib/widgets/refresh.dart index fc322af2..b2883a1f 100644 --- a/lib/widgets/refresh.dart +++ b/lib/widgets/refresh.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; class Refresh extends StatelessWidget { final Widget child; @@ -15,11 +15,11 @@ class Refresh extends StatelessWidget { @override Widget build(BuildContext context) { return RefreshIndicator( - child: child, onRefresh: onRefresh, edgeOffset: edgeOffset, backgroundColor: Theme.of(context).cardTheme.color, color: Theme.of(context).textTheme.headline1?.color, + child: child, ); } } diff --git a/lib/widgets/reversible_column.dart b/lib/widgets/reversible_column.dart index a2422ff5..3112cbad 100644 --- a/lib/widgets/reversible_column.dart +++ b/lib/widgets/reversible_column.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; /// A column whose children can be reversed class ReversibleColumn extends StatelessWidget { diff --git a/lib/widgets/reversible_row.dart b/lib/widgets/reversible_row.dart index f3c88a2a..59ad5b8d 100644 --- a/lib/widgets/reversible_row.dart +++ b/lib/widgets/reversible_row.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import "package:flutter/material.dart"; /// A row whose children can be reversed class ReversibleRow extends StatelessWidget { diff --git a/lib/widgets/screen_initialization.dart b/lib/widgets/screen_initialization.dart index 6f47fb9b..cea6eb3c 100644 --- a/lib/widgets/screen_initialization.dart +++ b/lib/widgets/screen_initialization.dart @@ -1,12 +1,12 @@ -import 'package:firebase_analytics/firebase_analytics.dart'; -import 'package:firebase_performance/firebase_performance.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:hooks_riverpod/hooks_riverpod.dart'; -import 'package:paladinsedge/constants.dart' as constants; -import 'package:paladinsedge/providers/index.dart' as providers; -import 'package:paladinsedge/utilities/index.dart' as utilities; -import 'package:paladinsedge/widgets/index.dart' as widgets; +import "package:firebase_analytics/firebase_analytics.dart"; +import "package:firebase_performance/firebase_performance.dart"; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:hooks_riverpod/hooks_riverpod.dart"; +import "package:paladinsedge/constants.dart" as constants; +import "package:paladinsedge/providers/index.dart" as providers; +import "package:paladinsedge/utilities/index.dart" as utilities; +import "package:paladinsedge/widgets/index.dart" as widgets; /// Screen initialization widget /// Wrap a screen with this widget @@ -113,7 +113,7 @@ class ScreenInitialization extends HookConsumerWidget { ), const SizedBox(height: 15), Text( - 'Please Wait', + "Please Wait", style: textTheme.bodyText1?.copyWith( fontSize: 16, color: Colors.white.withOpacity(0.8), diff --git a/lib/widgets/text_chip.dart b/lib/widgets/text_chip.dart index 9ac912a9..ba7e2e92 100644 --- a/lib/widgets/text_chip.dart +++ b/lib/widgets/text_chip.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; -import 'package:substring_highlight/substring_highlight.dart'; +import "package:flutter/material.dart"; +import "package:substring_highlight/substring_highlight.dart"; class TextChip extends StatelessWidget { final String text; diff --git a/lib/widgets/toast.dart b/lib/widgets/toast.dart index 7d8979ee..1ac65933 100644 --- a/lib/widgets/toast.dart +++ b/lib/widgets/toast.dart @@ -1,7 +1,7 @@ -import 'package:flash/flash.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_hooks/flutter_hooks.dart'; -import 'package:paladinsedge/utilities/index.dart' as utilities; +import "package:flash/flash.dart"; +import "package:flutter/material.dart"; +import "package:flutter_hooks/flutter_hooks.dart"; +import "package:paladinsedge/utilities/index.dart" as utilities; enum ToastType { success, @@ -51,10 +51,10 @@ class _FlashBar extends HookWidget { final getToastMessage = useCallback( () { - if (type == ToastType.success) return 'Success'; - if (type == ToastType.info) return 'Info'; + if (type == ToastType.success) return "Success"; + if (type == ToastType.info) return "Info"; - return errorCode == null ? 'Error' : 'Error ($errorCode)'; + return errorCode == null ? "Error" : "Error ($errorCode)"; }, [], ); diff --git a/pubspec.lock b/pubspec.lock index 49aa287d..842c89c9 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -539,7 +539,7 @@ packages: source: hosted version: "3.3.0" flutter_chat_types: - dependency: transitive + dependency: "direct main" description: name: flutter_chat_types url: "https://pub.dartlang.org" @@ -787,7 +787,7 @@ packages: source: hosted version: "0.15.0" http: - dependency: transitive + dependency: "direct main" description: name: http url: "https://pub.dartlang.org" @@ -857,7 +857,7 @@ packages: source: hosted version: "2.4.4" intl: - dependency: transitive + dependency: "direct main" description: name: intl url: "https://pub.dartlang.org" diff --git a/pubspec.yaml b/pubspec.yaml index b7da0465..ef7307a3 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -77,6 +77,9 @@ dependencies: firebase_database: ^9.0.15 flutter_chat_ui: ^1.5.8 uuid: ^3.0.6 + flutter_chat_types: ^3.3.4 + intl: ^0.17.0 + http: ^0.13.4 dev_dependencies: flutter_test: diff --git a/test/widget_test.dart b/test/widget_test.dart index 0fd0a345..60d8855b 100644 --- a/test/widget_test.dart +++ b/test/widget_test.dart @@ -5,25 +5,25 @@ // gestures. You can also use WidgetTester to find child widgets in the widget // tree, read text, and verify that the values of widget properties are correct. -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:paladinsedge/main.dart'; +import "package:flutter/material.dart"; +import "package:flutter_test/flutter_test.dart"; +import "package:paladinsedge/main.dart"; void main() { - testWidgets('Counter increments smoke test', (WidgetTester tester) async { + testWidgets("Counter increments smoke test", (WidgetTester tester) async { // Build our app and trigger a frame. await tester.pumpWidget(const PaladinsEdgeApp()); // Verify that our counter starts at 0. - expect(find.text('0'), findsOneWidget); - expect(find.text('1'), findsNothing); + expect(find.text("0"), findsOneWidget); + expect(find.text("1"), findsNothing); // Tap the '+' icon and trigger a frame. await tester.tap(find.byIcon(Icons.add)); await tester.pump(); // Verify that our counter has incremented. - expect(find.text('0'), findsNothing); - expect(find.text('1'), findsOneWidget); + expect(find.text("0"), findsNothing); + expect(find.text("1"), findsOneWidget); }); }