diff --git a/lib/src/components/appbar.dart b/lib/src/components/appbar.dart index 8e80010572..d9785b22fb 100644 --- a/lib/src/components/appbar.dart +++ b/lib/src/components/appbar.dart @@ -1,9 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; - -import '../routes/routing.dart'; -import '../components/searchbar.dart'; -import '../global/variables.dart'; +import 'package:blt/src/components/components_import.dart'; /// The app's main Appbar AppBar buildAppBar({required BuildContext context}) { diff --git a/lib/src/components/components_import.dart b/lib/src/components/components_import.dart new file mode 100644 index 0000000000..d02080324e --- /dev/null +++ b/lib/src/components/components_import.dart @@ -0,0 +1,22 @@ +export 'package:blt/src/routes/routing.dart'; +export 'package:flutter_svg/flutter_svg.dart'; +export 'package:blt/src/components/searchbar.dart'; +export 'package:blt/src/global/variables.dart'; +export 'package:cached_network_image/cached_network_image.dart'; +export 'package:flutter/services.dart'; +export 'package:google_fonts/google_fonts.dart'; +export 'package:url_launcher/url_launcher.dart'; +export '../models/issue_model.dart'; +export '../components/issuelike.dart'; +export 'package:flutter_riverpod/flutter_riverpod.dart'; +export '../providers/login_provider.dart'; +export '../util/api/issues_api.dart'; +export '../util/enums/login_type.dart'; +export '../models/issuedata_model.dart'; +export '../components/issue_intro_card.dart'; +export 'package:blt/src/pages/welcome.dart'; +export 'package:blt/src/components/onboarding/models/onboard_page_model.dart'; +export 'package:blt/src/components/onboarding/components/drawer_paint.dart'; +export 'package:blt/src/components/onboarding/components/onboard_page.dart'; +export 'package:blt/src/components/onboarding/data/onboard_page_data.dart'; +export 'package:smooth_page_indicator/smooth_page_indicator.dart'; diff --git a/lib/src/components/contributor_card.dart b/lib/src/components/contributor_card.dart index 01d1d307df..406a03ea9d 100644 --- a/lib/src/components/contributor_card.dart +++ b/lib/src/components/contributor_card.dart @@ -1,9 +1,5 @@ -import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:url_launcher/url_launcher.dart'; +import 'package:blt/src/components/components_import.dart'; class ContributorCard extends StatelessWidget { final Map contributor; @@ -78,8 +74,8 @@ class ContributorCard extends StatelessWidget { tag: "image${contributor["id"]}", child: CircleAvatar( radius: 32, - backgroundImage: - CachedNetworkImageProvider(contributor["img"]!), + backgroundImage: CachedNetworkImageProvider( + contributor["img"]!), ), ), ), @@ -233,10 +229,12 @@ class ContributorCard extends StatelessWidget { ), IconButton( onPressed: () async { - await Clipboard.setData(ClipboardData(text: contributor["bch_addr"]!)); + await Clipboard.setData(ClipboardData( + text: contributor["bch_addr"]!)); ScaffoldMessenger.of(context).showSnackBar( SnackBar( - content: Text("Bitcoin cash address copied to clipboard!"), + content: Text( + "Bitcoin cash address copied to clipboard!"), ), ); }, diff --git a/lib/src/components/issue_intro_card.dart b/lib/src/components/issue_intro_card.dart index 0f4fa19ea5..3e76e0c3c9 100644 --- a/lib/src/components/issue_intro_card.dart +++ b/lib/src/components/issue_intro_card.dart @@ -1,10 +1,5 @@ -import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; - -import '../routes/routing.dart'; -import '../models/issue_model.dart'; -import '../components/issuelike.dart'; +import 'package:blt/src/components/components_import.dart'; /// The card used to display issues in the list of issues on the Issue Page. class IssueCard extends StatelessWidget { diff --git a/lib/src/components/issuechip.dart b/lib/src/components/issuechip.dart index 22ef49cf30..af030e8755 100644 --- a/lib/src/components/issuechip.dart +++ b/lib/src/components/issuechip.dart @@ -1,7 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; - -import '../models/issue_model.dart'; +import 'package:blt/src/components/components_import.dart'; /// Chip that shows the open/close status of an issue. class IssueStatusChip extends StatelessWidget { diff --git a/lib/src/components/issueflag.dart b/lib/src/components/issueflag.dart index 40f359250b..d067d124ee 100644 --- a/lib/src/components/issueflag.dart +++ b/lib/src/components/issueflag.dart @@ -1,10 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; - -import '../models/issue_model.dart'; -import '../providers/login_provider.dart'; -import '../util/api/issues_api.dart'; -import '../util/enums/login_type.dart'; +import 'package:blt/src/components/components_import.dart'; /// Issue flags show and toggle component. class IssueFlagButton extends ConsumerStatefulWidget { diff --git a/lib/src/components/issuelike.dart b/lib/src/components/issuelike.dart index 83e03f2e8a..1fabae277a 100644 --- a/lib/src/components/issuelike.dart +++ b/lib/src/components/issuelike.dart @@ -1,10 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; - -import '../models/issue_model.dart'; -import '../util/api/issues_api.dart'; -import '../util/enums/login_type.dart'; -import '../providers/login_provider.dart'; +import 'package:blt/src/components/components_import.dart'; /// Issue likes show and toggle component. class IssueLikeButton extends ConsumerStatefulWidget { diff --git a/lib/src/components/onboarding/components/onboard_page.dart b/lib/src/components/onboarding/components/onboard_page.dart index 326f95be47..a9dc6e2667 100644 --- a/lib/src/components/onboarding/components/onboard_page.dart +++ b/lib/src/components/onboarding/components/onboard_page.dart @@ -1,8 +1,6 @@ +import 'package:blt/src/components/components_import.dart'; + import 'package:flutter/material.dart'; -import 'package:flutter_svg/svg.dart'; -import '../../../pages/welcome.dart'; -import '../models/onboard_page_model.dart'; -import 'drawer_paint.dart'; class OnboardPage extends StatefulWidget { final PageController pageController; diff --git a/lib/src/components/onboarding/data/onboard_page_data.dart b/lib/src/components/onboarding/data/onboard_page_data.dart index cf5271ad9a..8c02bbb587 100644 --- a/lib/src/components/onboarding/data/onboard_page_data.dart +++ b/lib/src/components/onboarding/data/onboard_page_data.dart @@ -1,7 +1,6 @@ +import 'package:blt/src/components/components_import.dart'; import 'package:flutter/material.dart'; -import '../models/onboard_page_model.dart'; - List onboardData = [ OnboardPageModel( Color(0xFFDC4654), diff --git a/lib/src/components/onboarding/onboarding.dart b/lib/src/components/onboarding/onboarding.dart index 09af649273..a1cfc18d98 100644 --- a/lib/src/components/onboarding/onboarding.dart +++ b/lib/src/components/onboarding/onboarding.dart @@ -1,9 +1,5 @@ +import 'package:blt/src/components/components_import.dart'; import 'package:flutter/material.dart'; -import '../../pages/welcome.dart'; -import 'components/onboard_page.dart'; -import 'package:smooth_page_indicator/smooth_page_indicator.dart'; -import 'data/onboard_page_data.dart'; -import 'models/onboard_page_model.dart'; class Onboarding extends StatefulWidget { final Map stats; @@ -20,7 +16,8 @@ class _OnboardingState extends State { @override void initState() { super.initState(); - onboardData[2].description = '${widget.stats["bugs"]} Bugs\n${widget.stats["users"]} Users\n${widget.stats["hunts"]} Hunts\n${widget.stats["domains"]} Domains'; + onboardData[2].description = + '${widget.stats["bugs"]} Bugs\n${widget.stats["users"]} Users\n${widget.stats["hunts"]} Hunts\n${widget.stats["domains"]} Domains'; } @override diff --git a/lib/src/components/searchbar.dart b/lib/src/components/searchbar.dart index 29ce7cfc2a..51a1d15f7e 100644 --- a/lib/src/components/searchbar.dart +++ b/lib/src/components/searchbar.dart @@ -1,9 +1,5 @@ +import 'package:blt/src/components/components_import.dart'; import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; - -import '../util/api/issues_api.dart'; -import '../models/issuedata_model.dart'; -import '../components/issue_intro_card.dart'; /// The search bar of app for searching issues based on keyword. class BLTSearchDelegate extends SearchDelegate { diff --git a/lib/src/pages/auth/forgot.dart b/lib/src/pages/auth/forgot.dart index 75392cdada..56bf2b24d6 100644 --- a/lib/src/pages/auth/forgot.dart +++ b/lib/src/pages/auth/forgot.dart @@ -1,8 +1,5 @@ -import 'package:blt/src/util/api/auth_api.dart'; +import 'package:blt/src/pages/pages_import.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; /// Page for initiating the process for recovering /// a user's account password. diff --git a/lib/src/pages/auth/login.dart b/lib/src/pages/auth/login.dart index d32b169808..1c08d3400e 100644 --- a/lib/src/pages/auth/login.dart +++ b/lib/src/pages/auth/login.dart @@ -1,10 +1,5 @@ -import 'package:blt/src/providers/authstate_provider.dart'; -import 'package:blt/src/routes/routing.dart'; +import 'package:blt/src/pages/pages_import.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; /// The login page for the app. class LoginPage extends StatefulWidget { diff --git a/lib/src/pages/auth/signup.dart b/lib/src/pages/auth/signup.dart index 747a8738de..fa1b3312c6 100644 --- a/lib/src/pages/auth/signup.dart +++ b/lib/src/pages/auth/signup.dart @@ -1,10 +1,6 @@ -import 'package:blt/src/util/api/auth_api.dart'; +import 'package:blt/src/pages/pages_import.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import '../../routes/routing.dart'; /// The signup page for the app. class SignUpPage extends StatefulWidget { diff --git a/lib/src/pages/company_details.dart b/lib/src/pages/company_details.dart index 5f596f4884..a088d993f0 100644 --- a/lib/src/pages/company_details.dart +++ b/lib/src/pages/company_details.dart @@ -1,9 +1,6 @@ -import 'package:cached_network_image/cached_network_image.dart'; +import 'package:blt/src/pages/pages_import.dart'; import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; -import '../models/company_model.dart'; -import 'package:url_launcher/url_launcher.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; + /// Popup page for viewing company details when a company /// is clicked on the Company Scoreboard page. diff --git a/lib/src/pages/drawer/about.dart b/lib/src/pages/drawer/about.dart index 5cef3b5acf..8f4a509f0c 100644 --- a/lib/src/pages/drawer/about.dart +++ b/lib/src/pages/drawer/about.dart @@ -1,11 +1,5 @@ -import 'package:blt/src/components/contributor_card.dart'; -import 'package:blt/src/constants/about_constants.dart'; -import 'package:blt/src/util/api/general_api.dart'; -import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import 'package:blt/src/pages/pages_import.dart'; /// Page for describing the BLT project. class AboutPage extends StatelessWidget { diff --git a/lib/src/pages/drawer/change_password.dart b/lib/src/pages/drawer/change_password.dart index a2ce020043..f79ed4eafc 100644 --- a/lib/src/pages/drawer/change_password.dart +++ b/lib/src/pages/drawer/change_password.dart @@ -1,10 +1,5 @@ -import 'package:blt/src/util/api/auth_api.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -//import '../../routes/routing.dart'; +import '../pages_import.dart'; /// The change password page for the app. class ChangePasswordPage extends StatefulWidget { diff --git a/lib/src/pages/drawer/company_dashboard.dart b/lib/src/pages/drawer/company_dashboard.dart index 9f165a0518..ae172f3356 100644 --- a/lib/src/pages/drawer/company_dashboard.dart +++ b/lib/src/pages/drawer/company_dashboard.dart @@ -1,7 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import '../pages_import.dart'; class CompanyDashBoardPage extends ConsumerStatefulWidget { const CompanyDashBoardPage({Key? key}) : super(key: key); diff --git a/lib/src/pages/drawer/drawer_imports.dart b/lib/src/pages/drawer/drawer_imports.dart new file mode 100644 index 0000000000..cc0db9eeb8 --- /dev/null +++ b/lib/src/pages/drawer/drawer_imports.dart @@ -0,0 +1,13 @@ +export 'package:blt/src/components/contributor_card.dart'; +export 'package:blt/src/constants/about_constants.dart'; +export 'package:blt/src/util/api/general_api.dart'; +export 'package:cached_network_image/cached_network_image.dart'; +export 'package:flutter_svg/flutter_svg.dart'; +export 'package:google_fonts/google_fonts.dart'; +export 'package:blt/src/util/api/auth_api.dart'; +export 'package:flutter_riverpod/flutter_riverpod.dart'; +export 'package:flutter/services.dart'; +export 'package:flutter_markdown/flutter_markdown.dart'; +export 'package:font_awesome_flutter/font_awesome_flutter.dart'; +export 'package:url_launcher/url_launcher.dart'; +export '../../constants/socialurls_constants.dart'; diff --git a/lib/src/pages/drawer/legal.dart b/lib/src/pages/drawer/legal.dart index 4d5975a7f4..66544727d8 100644 --- a/lib/src/pages/drawer/legal.dart +++ b/lib/src/pages/drawer/legal.dart @@ -1,9 +1,6 @@ import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_markdown/flutter_markdown.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; +import '../pages_import.dart'; + /// Page stating the legal Terms and Conditions and Privacy /// Policy applying to the BLT project. diff --git a/lib/src/pages/drawer/referral.dart b/lib/src/pages/drawer/referral.dart index 5c9fba800b..4e5afc5577 100644 --- a/lib/src/pages/drawer/referral.dart +++ b/lib/src/pages/drawer/referral.dart @@ -1,6 +1,6 @@ +import 'package:blt/src/pages/pages_import.dart'; import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; + /// Page for allowing users to send referrals to their friends. class ReferralPage extends StatefulWidget { diff --git a/lib/src/pages/drawer/social.dart b/lib/src/pages/drawer/social.dart index 73a3f49f9c..4f67e4079a 100644 --- a/lib/src/pages/drawer/social.dart +++ b/lib/src/pages/drawer/social.dart @@ -1,11 +1,7 @@ +import 'package:blt/src/pages/pages_import.dart'; import 'package:flutter/material.dart'; //import 'package:flutter_inappwebview/flutter_inappwebview.dart'; -import 'package:font_awesome_flutter/font_awesome_flutter.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:url_launcher/url_launcher.dart'; -import '../../constants/socialurls_constants.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; + class SocialPage extends ConsumerStatefulWidget { const SocialPage({Key? key}) : super(key: key); diff --git a/lib/src/pages/error.dart b/lib/src/pages/error.dart index 1c85a5f4db..008ab9eb18 100644 --- a/lib/src/pages/error.dart +++ b/lib/src/pages/error.dart @@ -1,8 +1,6 @@ -import 'package:blt/src/routes/routing.dart'; +import 'package:blt/src/pages/pages_import.dart'; import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; + /// This page is thrown in case when a Navigation exception occurs. class ErrorPage extends StatelessWidget { diff --git a/lib/src/pages/home/feed.dart b/lib/src/pages/home/feed.dart index ed1726f942..65a552f690 100644 --- a/lib/src/pages/home/feed.dart +++ b/lib/src/pages/home/feed.dart @@ -1,9 +1,6 @@ +import 'package:blt/src/pages/pages_import.dart'; import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; -import '../../global/variables.dart'; /// Page for showing social activity of BLT, new issues, /// top premium subscribers. diff --git a/lib/src/pages/home/home_imports.dart b/lib/src/pages/home/home_imports.dart new file mode 100644 index 0000000000..d51214b79b --- /dev/null +++ b/lib/src/pages/home/home_imports.dart @@ -0,0 +1,40 @@ +export 'package:google_fonts/google_fonts.dart'; +export 'package:flutter_riverpod/flutter_riverpod.dart'; +export '../../global/variables.dart'; +export 'package:blt/src/pages/home/issues.dart'; +export 'package:blt/src/pages/home/leaderboard.dart'; +export 'package:blt/src/pages/home/report_bug.dart'; +export 'package:blt/src/pages/home/start_hunt.dart'; +export 'package:blt/src/providers/authstate_provider.dart'; +export 'package:blt/src/providers//dark_mode_provider.dart'; +export 'package:blt/src/providers/login_provider.dart'; +export 'package:blt/src/routes/routing.dart'; +export 'package:blt/src/util/enums/login_type.dart'; +export 'package:cached_network_image/cached_network_image.dart'; +export 'package:receive_sharing_intent/receive_sharing_intent.dart'; +export '../../components/appbar.dart'; +export '../../pages/welcome.dart'; +export 'package:blt/src/providers/issuelist_provider.dart'; +export '../../components/issue_intro_card.dart'; +export '../../models/issue_model.dart'; +export '../../util/endpoints/issue_endpoints.dart'; +export '../../constants/monthname_constants.dart'; +export '../../providers/leaderboards/globalleaderboard_povider.dart'; +export '../../providers/leaderboards/monthlyleaderboard_provider.dart'; +export '../../providers/leaderboards/companyscoreboard_provider.dart'; +export 'package:blt/src/util/api/user_api.dart'; +export 'package:image_picker/image_picker.dart'; +export '../../models/user_model.dart'; +export '../../util/api/issues_api.dart'; +export '../../components/issuechip.dart'; +export '../../models/issuedata_model.dart'; +export 'dart:io'; +export 'dart:math'; +export 'package:blt/src/util/api/general_api.dart'; +export 'package:blt/src/util/endpoints/general_endpoints.dart'; +export 'package:flutter/gestures.dart'; +export 'package:flutter_svg/flutter_svg.dart'; +export 'package:url_launcher/url_launcher.dart'; +export 'package:flutter_markdown/flutter_markdown.dart'; +export 'package:pasteboard/pasteboard.dart'; +export 'package:flutter_gen/gen_l10n/app_localizations.dart'; diff --git a/lib/src/pages/home/issues.dart b/lib/src/pages/home/issues.dart index 537dcaffb5..072f3a75a8 100644 --- a/lib/src/pages/home/issues.dart +++ b/lib/src/pages/home/issues.dart @@ -1,15 +1,6 @@ -import 'package:blt/src/providers/dark_mode_provider.dart'; -import 'package:blt/src/providers/issuelist_provider.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -import '../../components/issue_intro_card.dart'; +import 'package:blt/src/pages/home/home_imports.dart'; import 'package:flutter/material.dart'; -import '../../models/issue_model.dart'; -import '../../util/endpoints/issue_endpoints.dart'; - /// Issues page for viewing all the issues posted via the website and app. class IssuesPage extends ConsumerStatefulWidget { const IssuesPage({Key? key}) : super(key: key); diff --git a/lib/src/pages/home/leaderboard.dart b/lib/src/pages/home/leaderboard.dart index 878769dd8e..52d78a174e 100644 --- a/lib/src/pages/home/leaderboard.dart +++ b/lib/src/pages/home/leaderboard.dart @@ -1,13 +1,5 @@ -import 'package:cached_network_image/cached_network_image.dart'; +import 'package:blt/src/pages/home/home_imports.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:google_fonts/google_fonts.dart'; -import '../../constants/monthname_constants.dart'; -import '../../routes/routing.dart'; -import '../../providers/leaderboards/globalleaderboard_povider.dart'; -import '../../providers/leaderboards/monthlyleaderboard_provider.dart'; -import '../../providers/leaderboards/companyscoreboard_provider.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; /// The Leaderboards dashboard page, contains the Global, /// Monthly leaderboard, and Company Scoreboard. diff --git a/lib/src/pages/home/profile.dart b/lib/src/pages/home/profile.dart index 18f6c7410d..d9dfb681ce 100644 --- a/lib/src/pages/home/profile.dart +++ b/lib/src/pages/home/profile.dart @@ -1,22 +1,5 @@ -import 'package:blt/src/util/api/user_api.dart'; +import 'package:blt/src/pages/home/home_imports.dart'; import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:image_picker/image_picker.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -import '../../providers/login_provider.dart'; -import '../../routes/routing.dart'; -import '../../global/variables.dart'; -import '../../models/user_model.dart'; -import '../../models/issue_model.dart'; -import '../../util/api/issues_api.dart'; -import '../../components/issuechip.dart'; -import '../../providers/authstate_provider.dart'; -import '../../models/issuedata_model.dart'; -import '../../util/endpoints/issue_endpoints.dart'; -import '../../pages/welcome.dart'; -import '../../util/enums/login_type.dart'; /// Page that displays the stats of a user registered on BLT, /// shows dummy data for Guest login. diff --git a/lib/src/pages/home/report_bug.dart b/lib/src/pages/home/report_bug.dart index 308e361a4f..0f79188c1c 100644 --- a/lib/src/pages/home/report_bug.dart +++ b/lib/src/pages/home/report_bug.dart @@ -1,24 +1,5 @@ -import 'dart:io'; -import 'dart:math'; - -import 'package:blt/src/util/api/general_api.dart'; -import 'package:blt/src/util/endpoints/general_endpoints.dart'; -import 'package:flutter/gestures.dart'; +import 'package:blt/src/pages/home/home_imports.dart'; import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:image_picker/image_picker.dart'; -//import 'package:pasteboard/pasteboard.dart'; -//import 'package:path_provider/path_provider.dart'; -import 'package:receive_sharing_intent/receive_sharing_intent.dart'; -import 'package:url_launcher/url_launcher.dart'; -import 'package:flutter_markdown/flutter_markdown.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -import '../../global/variables.dart'; -import '../../util/api/issues_api.dart'; -import '../../models/issue_model.dart'; /// Report Bug and Start Bug Hunt Page, namesake, used for /// posting bugs, companies and individuals diff --git a/lib/src/pages/home/start_hunt.dart b/lib/src/pages/home/start_hunt.dart index 02b392584d..7f0dbbb30d 100644 --- a/lib/src/pages/home/start_hunt.dart +++ b/lib/src/pages/home/start_hunt.dart @@ -1,13 +1,7 @@ -import 'dart:io'; import 'dart:typed_data'; - import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:image_picker/image_picker.dart'; -import 'package:pasteboard/pasteboard.dart'; +import 'package:blt/src/pages/home/home_imports.dart'; import 'package:path_provider/path_provider.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; /// Start Bug Hunt Page /// companies and individuals diff --git a/lib/src/pages/issues/issue_detail.dart b/lib/src/pages/issues/issue_detail.dart index 0040e7d834..1c3240810e 100644 --- a/lib/src/pages/issues/issue_detail.dart +++ b/lib/src/pages/issues/issue_detail.dart @@ -1,12 +1,5 @@ +import 'package:blt/src/pages/issues/issues_import.dart'; import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_markdown/flutter_markdown.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -import '../../models/issue_model.dart'; -import '../../components/issuechip.dart'; -import '../../components/issueflag.dart'; -import '../../components/issuelike.dart'; /// Popup page when an issue is clicked to be viewed. class IssueDetailPage extends StatelessWidget { diff --git a/lib/src/pages/issues/issues_import.dart b/lib/src/pages/issues/issues_import.dart new file mode 100644 index 0000000000..f37ba412f6 --- /dev/null +++ b/lib/src/pages/issues/issues_import.dart @@ -0,0 +1,7 @@ +export 'package:google_fonts/google_fonts.dart'; +export 'package:flutter_markdown/flutter_markdown.dart'; +export '../../models/issue_model.dart'; +export '../../components/issuechip.dart'; +export '../../components/issueflag.dart'; +export '../../components/issuelike.dart'; +export 'package:flutter_gen/gen_l10n/app_localizations.dart'; diff --git a/lib/src/pages/leaderboards/company_scoreboard.dart b/lib/src/pages/leaderboards/company_scoreboard.dart index dbd6bdbf9c..4075f6e2a2 100644 --- a/lib/src/pages/leaderboards/company_scoreboard.dart +++ b/lib/src/pages/leaderboards/company_scoreboard.dart @@ -1,12 +1,5 @@ -import 'package:blt/src/util/endpoints/leaderboard_endpoints.dart'; -import 'package:cached_network_image/cached_network_image.dart'; +import 'package:blt/src/pages/leaderboards/leaderboards_imports.dart'; import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -import '../../routes/routing.dart'; -import '../../util/api/company_api.dart'; -import '../../util/api/leaderboard_api.dart'; /// Page showing the top contributing companies on BLT. class CompanyScoreBoardPage extends StatefulWidget { diff --git a/lib/src/pages/leaderboards/global_leaderboard.dart b/lib/src/pages/leaderboards/global_leaderboard.dart index c415fd60e8..daf8e07445 100644 --- a/lib/src/pages/leaderboards/global_leaderboard.dart +++ b/lib/src/pages/leaderboards/global_leaderboard.dart @@ -1,11 +1,6 @@ -import 'dart:async'; -import 'package:cached_network_image/cached_network_image.dart'; +import 'package:blt/src/pages/leaderboards/leaderboards_imports.dart'; import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -import '../../util/api/leaderboard_api.dart'; -import '../../util/endpoints/leaderboard_endpoints.dart'; +import 'dart:async'; /// Page showing the all time top contributing users. class GlobalLeaderBoardPage extends StatefulWidget { diff --git a/lib/src/pages/leaderboards/leaderboards_imports.dart b/lib/src/pages/leaderboards/leaderboards_imports.dart new file mode 100644 index 0000000000..16acd7c328 --- /dev/null +++ b/lib/src/pages/leaderboards/leaderboards_imports.dart @@ -0,0 +1,11 @@ +export 'package:blt/src/util/endpoints/leaderboard_endpoints.dart'; +export 'package:cached_network_image/cached_network_image.dart'; +export 'package:google_fonts/google_fonts.dart'; +export '../../routes/routing.dart'; +export '../../util/api/company_api.dart'; +export '../../util/api/leaderboard_api.dart'; +export 'package:blt/src/providers/leaderboards/monthlyleaderboard_provider.dart'; +export 'package:flutter_riverpod/flutter_riverpod.dart'; +export '../../models/leader_model.dart'; +export '../../constants/monthname_constants.dart'; +export 'package:flutter_gen/gen_l10n/app_localizations.dart'; diff --git a/lib/src/pages/leaderboards/monthly_leaderboard.dart b/lib/src/pages/leaderboards/monthly_leaderboard.dart index 9fafc88c09..0480729253 100644 --- a/lib/src/pages/leaderboards/monthly_leaderboard.dart +++ b/lib/src/pages/leaderboards/monthly_leaderboard.dart @@ -1,11 +1,5 @@ -import 'package:blt/src/providers/leaderboards/monthlyleaderboard_provider.dart'; -import 'package:cached_network_image/cached_network_image.dart'; +import 'package:blt/src/pages/leaderboards/leaderboards_imports.dart'; import 'package:flutter/material.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../../models/leader_model.dart'; -import '../../constants/monthname_constants.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; /// Page showing the top contributing users for the current month. class MonthlyLeaderBoardPage extends ConsumerStatefulWidget { diff --git a/lib/src/pages/onboarding_main_page.dart b/lib/src/pages/onboarding_main_page.dart index d7d32181fa..f03036b08d 100644 --- a/lib/src/pages/onboarding_main_page.dart +++ b/lib/src/pages/onboarding_main_page.dart @@ -1,9 +1,5 @@ +import 'package:blt/src/pages/pages_import.dart'; import 'package:flutter/material.dart'; -import '../components/onboarding/onboarding.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:blt/src/providers/authstate_provider.dart'; - -import '../util/api/general_api.dart'; class OnboardingMainPage extends ConsumerStatefulWidget { @override diff --git a/lib/src/pages/pages_import.dart b/lib/src/pages/pages_import.dart new file mode 100644 index 0000000000..7f8916ed8c --- /dev/null +++ b/lib/src/pages/pages_import.dart @@ -0,0 +1,36 @@ +export 'package:cached_network_image/cached_network_image.dart'; +export 'package:google_fonts/google_fonts.dart'; +export '../models/company_model.dart'; +export 'package:url_launcher/url_launcher.dart'; +export 'package:blt/src/routes/routing.dart'; +export 'package:flutter_svg/flutter_svg.dart'; +export '../components/onboarding/onboarding.dart'; +export 'package:flutter_riverpod/flutter_riverpod.dart'; +export 'package:blt/src/providers/authstate_provider.dart'; +export '../util/api/general_api.dart'; +export 'package:blt/src/util/api/auth_api.dart'; +export 'package:blt/src/constants/about_constants.dart'; +export 'package:blt/src/components/contributor_card.dart'; +export 'package:flutter/services.dart'; +export 'package:flutter_markdown/flutter_markdown.dart'; +export 'package:font_awesome_flutter/font_awesome_flutter.dart'; +export 'package:blt/src/constants/socialurls_constants.dart'; +export 'package:blt/src/pages/home/issues.dart'; +export 'package:blt/src/pages/home/leaderboard.dart'; +export 'package:blt/src/pages/home/report_bug.dart'; +export 'package:blt/src/pages/home/start_hunt.dart'; +export 'package:blt/src/providers/login_provider.dart'; +export 'package:blt/src/util/enums/login_type.dart'; +export 'package:receive_sharing_intent/receive_sharing_intent.dart'; +export 'package:blt/src/providers/issuelist_provider.dart'; +export 'package:blt/src/util/api/user_api.dart'; +export 'package:image_picker/image_picker.dart'; +export 'dart:io'; +export 'dart:math'; +export 'package:blt/src/util/endpoints/general_endpoints.dart'; +export 'package:flutter/gestures.dart'; +export 'package:pasteboard/pasteboard.dart'; +export 'package:blt/src/global/variables.dart'; +export 'package:blt/src/pages/welcome.dart'; +export 'package:flutter_gen/gen_l10n/app_localizations.dart'; +export 'package:blt/src/providers/language_provider.dart'; diff --git a/lib/src/pages/welcome.dart b/lib/src/pages/welcome.dart index 53fcaababa..dd14eb156d 100644 --- a/lib/src/pages/welcome.dart +++ b/lib/src/pages/welcome.dart @@ -1,13 +1,6 @@ -import 'package:blt/src/providers/authstate_provider.dart'; -import 'package:blt/src/providers/language_provider.dart'; +import 'package:blt/src/pages/pages_import.dart'; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; -import 'package:flutter_svg/flutter_svg.dart'; -import 'package:google_fonts/google_fonts.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:flutter_gen/gen_l10n/app_localizations.dart'; - -import '../routes/routing.dart'; /// The Landing page for unauthenticated users, or if a /// user wants to try the guest mode of the app. diff --git a/lib/src/providers/authstate_provider.dart b/lib/src/providers/authstate_provider.dart index dc5dd674af..05161e147b 100644 --- a/lib/src/providers/authstate_provider.dart +++ b/lib/src/providers/authstate_provider.dart @@ -1,16 +1,4 @@ -import 'package:blt/src/pages/welcome.dart'; -import 'package:blt/src/util/api/user_api.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import 'package:flutter_secure_storage/flutter_secure_storage.dart'; - -import './login_provider.dart'; -import '../models/user_model.dart'; -import '../routes/routing.dart'; -import '../global/variables.dart'; -import '../util/api/auth_api.dart'; -import '../util/enums/authstate_type.dart'; -import '../util/enums/login_type.dart'; +import 'package:blt/src/providers/providers_imports.dart'; /// The provider which exposes the state management for user authentication. final authStateNotifier = @@ -39,13 +27,14 @@ class AuthNotifier extends StateNotifier> { read(loginProvider.notifier).setGuestLogin(); } - Future checkFirstLogin(BuildContext context) async{ + Future checkFirstLogin(BuildContext context) async { String? firstLogin = await storage.read(key: "firstLogin"); - if(firstLogin == null) { + if (firstLogin == null) { await storage.write(key: "firstLogin", value: "false"); - }else if(firstLogin == "false"){ - Navigator.of(context).pushAndRemoveUntil(MaterialPageRoute( - builder: (context) => WelcomePage()), (Route route) => false); + } else if (firstLogin == "false") { + Navigator.of(context).pushAndRemoveUntil( + MaterialPageRoute(builder: (context) => WelcomePage()), + (Route route) => false); } } diff --git a/lib/src/providers/issuelist_provider.dart b/lib/src/providers/issuelist_provider.dart index f7369e9a43..c5b86103c9 100644 --- a/lib/src/providers/issuelist_provider.dart +++ b/lib/src/providers/issuelist_provider.dart @@ -1,9 +1,4 @@ -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../models/issue_model.dart'; -import '../models/issuedata_model.dart'; - -import '../util/api/issues_api.dart'; -import '../util/endpoints/issue_endpoints.dart'; +import 'package:blt/src/providers/providers_imports.dart'; /// The provider which exposes the state management /// for issues in the issue list. diff --git a/lib/src/providers/leaderboards/companyscoreboard_provider.dart b/lib/src/providers/leaderboards/companyscoreboard_provider.dart index d2b502e544..1ed0ea987d 100644 --- a/lib/src/providers/leaderboards/companyscoreboard_provider.dart +++ b/lib/src/providers/leaderboards/companyscoreboard_provider.dart @@ -1,7 +1,4 @@ -import 'package:blt/src/models/company_model.dart'; -import 'package:blt/src/util/api/leaderboard_api.dart'; -import 'package:blt/src/util/endpoints/leaderboard_endpoints.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:blt/src/providers/providers_imports.dart'; /// The provider which exposes the state management /// for companies in the company scoreboard list. diff --git a/lib/src/providers/leaderboards/globalleaderboard_povider.dart b/lib/src/providers/leaderboards/globalleaderboard_povider.dart index 25639cbbfb..e012f7d29e 100644 --- a/lib/src/providers/leaderboards/globalleaderboard_povider.dart +++ b/lib/src/providers/leaderboards/globalleaderboard_povider.dart @@ -1,7 +1,4 @@ -import 'package:blt/src/models/leader_model.dart'; -import 'package:blt/src/util/api/leaderboard_api.dart'; -import 'package:blt/src/util/endpoints/leaderboard_endpoints.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:blt/src/providers/providers_imports.dart'; /// The provider which exposes the state management /// for users in the global leaderboard list. diff --git a/lib/src/providers/leaderboards/monthlyleaderboard_provider.dart b/lib/src/providers/leaderboards/monthlyleaderboard_provider.dart index f9ada918da..5dcac3ff41 100644 --- a/lib/src/providers/leaderboards/monthlyleaderboard_provider.dart +++ b/lib/src/providers/leaderboards/monthlyleaderboard_provider.dart @@ -1,14 +1,11 @@ -import 'package:blt/src/models/leader_model.dart'; -import 'package:blt/src/util/api/leaderboard_api.dart'; -import 'package:blt/src/util/endpoints/leaderboard_endpoints.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; -import '../../models/leaderdata_model.dart'; +import 'package:blt/src/models/leaderdata_model.dart'; +import 'package:blt/src/providers/providers_imports.dart'; final monthlyLeaderBoardProvider = StateNotifierProvider< - MonthlyLeaderBoardNotifier, AsyncValue?>?>((ref){ - return MonthlyLeaderBoardNotifier(ref.read); - }); - + MonthlyLeaderBoardNotifier, AsyncValue?>?>((ref) { + return MonthlyLeaderBoardNotifier(ref.read); +}); + class MonthlyLeaderBoardNotifier extends StateNotifier?>?> { final Reader read; @@ -17,45 +14,44 @@ class MonthlyLeaderBoardNotifier MonthlyLeaderBoardNotifier(this.read, [AsyncValue>? leaderList]) : super(leaderList ?? const AsyncValue.loading()) { - _retrieveMonthlyLeaderList(DateTime.now().year,DateTime.now().month); + _retrieveMonthlyLeaderList(DateTime.now().year, DateTime.now().month); } - - Future _retrieveMonthlyLeaderList(int? year , int? month) async{ + Future _retrieveMonthlyLeaderList(int? year, int? month) async { try { - final LeaderData? monthlyLeaderData = - await LeaderboardApiClient.getMonthlyLeaderData( - LeaderboardEndpoints.monthly_leaderboard, - year, - month, - ); - nextUrl = monthlyLeaderData!.nextQuery; - state = AsyncValue.data(monthlyLeaderData.leaderList); - } catch(e) { + final LeaderData? monthlyLeaderData = + await LeaderboardApiClient.getMonthlyLeaderData( + LeaderboardEndpoints.monthly_leaderboard, + year, + month, + ); + nextUrl = monthlyLeaderData!.nextQuery; + state = AsyncValue.data(monthlyLeaderData.leaderList); + } catch (e) { AsyncValue.error(e); } } - Future getMoreMontlyLeaders () async{ + Future getMoreMontlyLeaders() async { _cacheState(); - try{ - final LeaderData leaderData = await LeaderboardApiClient.getMoreMonthlyLeaders(nextUrl); - nextUrl = leaderData.nextQuery; - state = state!.whenData((leaderList){ - leaderList!.addAll(leaderData.leaderList!); - return leaderList; - }); - } - catch(e){ + try { + final LeaderData leaderData = + await LeaderboardApiClient.getMoreMonthlyLeaders(nextUrl); + nextUrl = leaderData.nextQuery; + state = state!.whenData((leaderList) { + leaderList!.addAll(leaderData.leaderList!); + return leaderList; + }); + } catch (e) { _handleException(e); } } - Future refreshMonthlyLeaderList(int? year , int? month) async{ + Future refreshMonthlyLeaderList(int? year, int? month) async { state = const AsyncValue.loading(); - try{ + try { await _retrieveMonthlyLeaderList(year, month); - }catch(e){ + } catch (e) { AsyncValue.error(e); } } @@ -65,7 +61,7 @@ class MonthlyLeaderBoardNotifier previousState = state; } - void _resetState() { + void _resetState() { if (previousState != null) { state = previousState; previousState = null; @@ -76,4 +72,4 @@ class MonthlyLeaderBoardNotifier print(e); _resetState(); } - } \ No newline at end of file +} diff --git a/lib/src/providers/login_provider.dart b/lib/src/providers/login_provider.dart index 21469cfce6..fdd223cfa6 100644 --- a/lib/src/providers/login_provider.dart +++ b/lib/src/providers/login_provider.dart @@ -1,5 +1,4 @@ -import 'package:blt/src/util/enums/login_type.dart'; -import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:blt/src/providers/providers_imports.dart'; /// The provider which exposes the state management for /// the type of login (guest or user or logged out). diff --git a/lib/src/providers/providers_imports.dart b/lib/src/providers/providers_imports.dart new file mode 100644 index 0000000000..615342ee64 --- /dev/null +++ b/lib/src/providers/providers_imports.dart @@ -0,0 +1,20 @@ +export 'package:blt/src/util/enums/login_type.dart'; +export 'package:flutter_riverpod/flutter_riverpod.dart'; +export '../models/issue_model.dart'; +export '../models/issuedata_model.dart'; +export '../util/api/issues_api.dart'; +export '../util/endpoints/issue_endpoints.dart'; +export 'package:blt/src/pages/welcome.dart'; +export 'package:blt/src/util/api/user_api.dart'; +export 'package:flutter/material.dart'; +export 'package:flutter_secure_storage/flutter_secure_storage.dart'; +export './login_provider.dart'; +export '../models/user_model.dart'; +export '../routes/routing.dart'; +export '../global/variables.dart'; +export '../util/api/auth_api.dart'; +export '../util/enums/authstate_type.dart'; +export 'package:blt/src/models/company_model.dart'; +export 'package:blt/src/util/api/leaderboard_api.dart'; +export 'package:blt/src/util/endpoints/leaderboard_endpoints.dart'; +export 'package:blt/src/models/leader_model.dart'; diff --git a/lib/src/routes/routes_import.dart b/lib/src/routes/routes_import.dart new file mode 100644 index 0000000000..a7ec5ac9f1 --- /dev/null +++ b/lib/src/routes/routes_import.dart @@ -0,0 +1,21 @@ +export 'package:blt/src/models/issue_model.dart'; +export 'package:blt/src/pages/auth/forgot.dart'; +export 'package:blt/src/pages/auth/signup.dart'; +export 'package:blt/src/pages/drawer/change_password.dart'; +export 'package:blt/src/pages/error.dart'; +export 'package:blt/src/pages/home/home.dart'; +export 'package:blt/src/pages/drawer/legal.dart'; +export 'package:blt/src/pages/auth/login.dart'; +export 'package:blt/src/pages/home/profile.dart'; +export 'package:flutter/material.dart'; +export '../models/company_model.dart'; +export '../pages/company_details.dart'; +export '../pages/drawer/company_dashboard.dart'; +export '../pages/drawer/referral.dart'; +export '../pages/welcome.dart'; +export '../pages/drawer/about.dart'; +export '../pages/leaderboards/company_scoreboard.dart'; +export '../pages/leaderboards/global_leaderboard.dart'; +export '../pages/issues/issue_detail.dart'; +export '../pages/leaderboards/monthly_leaderboard.dart'; +export '../pages/drawer/social.dart'; diff --git a/lib/src/routes/routing.dart b/lib/src/routes/routing.dart index e874c88030..ec017a04b3 100644 --- a/lib/src/routes/routing.dart +++ b/lib/src/routes/routing.dart @@ -1,26 +1,4 @@ -import 'package:blt/src/models/issue_model.dart'; -import 'package:blt/src/pages/auth/forgot.dart'; -import 'package:blt/src/pages/auth/signup.dart'; -import 'package:blt/src/pages/drawer/change_password.dart'; -import 'package:blt/src/pages/error.dart'; -import 'package:blt/src/pages/home/home.dart'; -import 'package:blt/src/pages/drawer/legal.dart'; -import 'package:blt/src/pages/auth/login.dart'; -import 'package:blt/src/pages/home/profile.dart'; -import 'package:flutter/material.dart'; - -import '../models/company_model.dart'; -import '../pages/company_details.dart'; -import '../pages/drawer/company_dashboard.dart'; -import '../pages/drawer/referral.dart'; -import '../pages/welcome.dart'; -import '../pages/drawer/about.dart'; -import '../pages/leaderboards/company_scoreboard.dart'; -import '../pages/leaderboards/global_leaderboard.dart'; -import '../pages/issues/issue_detail.dart'; -import '../pages/leaderboards/monthly_leaderboard.dart'; -import '../pages/drawer/social.dart'; - +import 'package:blt/src/routes/routes_import.dart'; /// The managing class for App Navigation, also adds custom page transitions. class RouteManager { @@ -72,7 +50,7 @@ class RouteManager { case profilePage: return PageRouteBuilder( pageBuilder: (context, animation, secondaryAnimation) { - return UserProfile(); + return UserProfile(); }, transitionsBuilder: (context, animation, secondaryAnimation, child) { const begin = Offset(-1.0, 0); @@ -91,10 +69,9 @@ class RouteManager { ); case welcomePage: return PageRouteBuilder( - pageBuilder: (context, animation, secondaryAnimation) => - WelcomePage( - snackBarMessage: arguments as String?, - ), + pageBuilder: (context, animation, secondaryAnimation) => WelcomePage( + snackBarMessage: arguments as String?, + ), transitionsBuilder: (context, animation, secondaryAnimation, child) { const begin = Offset(1.0, 0); const end = Offset.zero; @@ -368,14 +345,14 @@ class RouteManager { case changePassword: return PageRouteBuilder( pageBuilder: (context, animation, secondaryAnimation) => - const ChangePasswordPage(), + const ChangePasswordPage(), transitionsBuilder: (context, animation, secondaryAnimation, child) { const begin = Offset(1.0, 0); const end = Offset.zero; const curve = Curves.ease; var tween = - Tween(begin: begin, end: end).chain(CurveTween(curve: curve)); + Tween(begin: begin, end: end).chain(CurveTween(curve: curve)); return SlideTransition( position: animation.drive(tween), @@ -385,7 +362,6 @@ class RouteManager { transitionDuration: const Duration(milliseconds: 750), ); - default: return PageRouteBuilder( pageBuilder: (context, animation, secondaryAnimation) => ErrorPage(), diff --git a/lib/src/util/api/auth_api.dart b/lib/src/util/api/auth_api.dart index 3a107a046b..4e5a134f08 100644 --- a/lib/src/util/api/auth_api.dart +++ b/lib/src/util/api/auth_api.dart @@ -1,12 +1,8 @@ import 'dart:convert'; - -import 'package:blt/src/models/user_model.dart'; -import 'package:blt/src/util/endpoints/auth_endpoints.dart'; +import 'package:blt/src/util/util_import.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; -import '../../global/variables.dart'; - /// Class for accessing the auth client. class AuthApiClient { AuthApiClient._(); diff --git a/lib/src/util/api/company_api.dart b/lib/src/util/api/company_api.dart index 08e4ae6310..bad053b5d9 100644 --- a/lib/src/util/api/company_api.dart +++ b/lib/src/util/api/company_api.dart @@ -1,10 +1,7 @@ import 'dart:convert'; - -import 'package:blt/src/util/endpoints/company_endpoints.dart'; +import 'package:blt/src/util/util_import.dart'; import 'package:http/http.dart' as http; -import '../../models/company_model.dart'; - /// CLass for accessing the company client. class CompanyApiClient { CompanyApiClient._(); diff --git a/lib/src/util/api/general_api.dart b/lib/src/util/api/general_api.dart index e3ffd8deb1..1c2506aabe 100644 --- a/lib/src/util/api/general_api.dart +++ b/lib/src/util/api/general_api.dart @@ -1,6 +1,5 @@ import 'dart:convert'; - -import 'package:blt/src/util/endpoints/general_endpoints.dart'; +import 'package:blt/src/util/util_import.dart'; import 'package:http/http.dart' as http; /// Class for accessing the general client. diff --git a/lib/src/util/api/issues_api.dart b/lib/src/util/api/issues_api.dart index a277dabde6..370d1ae7b9 100644 --- a/lib/src/util/api/issues_api.dart +++ b/lib/src/util/api/issues_api.dart @@ -1,12 +1,7 @@ import 'dart:convert'; -import 'package:blt/src/global/variables.dart'; -import 'package:blt/src/models/user_model.dart'; -import 'package:blt/src/routes/routing.dart'; -import 'package:blt/src/util/endpoints/issue_endpoints.dart'; +import 'package:blt/src/util/util_import.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; -import '../../models/issuedata_model.dart'; -import '../../models/issue_model.dart'; /// Class for accessing the issue client. class IssueApiClient { diff --git a/lib/src/util/api/leaderboard_api.dart b/lib/src/util/api/leaderboard_api.dart index d219f05289..45bb3043ab 100644 --- a/lib/src/util/api/leaderboard_api.dart +++ b/lib/src/util/api/leaderboard_api.dart @@ -1,8 +1,6 @@ -import 'package:blt/src/models/company_model.dart'; -import 'package:blt/src/models/leaderdata_model.dart'; import 'package:http/http.dart' as http; import 'dart:convert'; -import '../../models/leader_model.dart'; +import 'package:blt/src/util/util_import.dart'; class LeaderboardApiClient { LeaderboardApiClient._(); @@ -21,48 +19,51 @@ class LeaderboardApiClient { }); } - static Future getMonthlyLeaderData(String paginatedUrl,int? year , int? month) async{ + static Future getMonthlyLeaderData( + String paginatedUrl, int? year, int? month) async { final queryParams = { - "filter" : '1', - "year" : year.toString() , - "month" : month.toString() , + "filter": '1', + "year": year.toString(), + "month": month.toString(), }; print(Uri.parse(paginatedUrl).replace(queryParameters: queryParams)); return http - .get( + .get( Uri.parse(paginatedUrl).replace(queryParameters: queryParams), ) - .then((http.Response response){ - List leaderList = []; - var decodedResponse = jsonDecode(utf8.decode(response.bodyBytes)); - decodedResponse["results"].forEach((element) { - leaderList.add(Leaders.fromJson(element)); - }); - LeaderData leaderData = LeaderData( - count: decodedResponse["count"], - nextQuery: decodedResponse["next"], - previousQuery: decodedResponse["previous"], - leaderList: leaderList, - ); + .then((http.Response response) { + List leaderList = []; + var decodedResponse = jsonDecode(utf8.decode(response.bodyBytes)); + decodedResponse["results"].forEach((element) { + leaderList.add(Leaders.fromJson(element)); + }); + LeaderData leaderData = LeaderData( + count: decodedResponse["count"], + nextQuery: decodedResponse["next"], + previousQuery: decodedResponse["previous"], + leaderList: leaderList, + ); return leaderData; }); } - static Future getMoreMonthlyLeaders (String? nextUrl) async{ - return http.get( + static Future getMoreMonthlyLeaders(String? nextUrl) async { + return http + .get( Uri.parse(nextUrl!), - ).then((http.Response response){ - List leaderList = []; - var decodedResponse = jsonDecode(utf8.decode(response.bodyBytes)); - decodedResponse["results"].forEach((element) { + ) + .then((http.Response response) { + List leaderList = []; + var decodedResponse = jsonDecode(utf8.decode(response.bodyBytes)); + decodedResponse["results"].forEach((element) { leaderList.add(Leaders.fromJson(element)); - }); - LeaderData leaderData = LeaderData( - count: decodedResponse["count"], - nextQuery: decodedResponse["next"], - previousQuery: decodedResponse["previous"], - leaderList: leaderList, - ); + }); + LeaderData leaderData = LeaderData( + count: decodedResponse["count"], + nextQuery: decodedResponse["next"], + previousQuery: decodedResponse["previous"], + leaderList: leaderList, + ); return leaderData; }); } diff --git a/lib/src/util/api/user_api.dart b/lib/src/util/api/user_api.dart index 1f152497cc..06760456ee 100644 --- a/lib/src/util/api/user_api.dart +++ b/lib/src/util/api/user_api.dart @@ -1,9 +1,6 @@ import 'dart:convert'; - -import 'package:blt/src/util/endpoints/user_endpoints.dart'; +import 'package:blt/src/util/util_import.dart'; import 'package:http/http.dart' as http; -import 'package:blt/src/models/user_model.dart'; -import 'package:image_picker/image_picker.dart'; class UserApiClient { UserApiClient._(); @@ -58,7 +55,8 @@ class UserApiClient { final uri = Uri.parse(updateUrl); var request = new http.MultipartRequest('PUT', uri); - final httpImage = await http.MultipartFile.fromPath('user_avatar', image.path, + final httpImage = await http.MultipartFile.fromPath( + 'user_avatar', image.path, filename: image.name); request.files.add(httpImage); request.headers.addAll( diff --git a/lib/src/util/endpoints/auth_endpoints.dart b/lib/src/util/endpoints/auth_endpoints.dart index 73d9e5d6e5..3f17900255 100644 --- a/lib/src/util/endpoints/auth_endpoints.dart +++ b/lib/src/util/endpoints/auth_endpoints.dart @@ -6,7 +6,8 @@ class AuthEndPoints { static const String authBaseUrl = GeneralEndPoints.baseUrl + "auth/"; - static const String emailpasswordLogin = GeneralEndPoints.baseUrl + "authenticate/"; + static const String emailpasswordLogin = + GeneralEndPoints.baseUrl + "authenticate/"; static const String logout = authBaseUrl + "logout/"; diff --git a/lib/src/util/endpoints/leaderboard_endpoints.dart b/lib/src/util/endpoints/leaderboard_endpoints.dart index f079b69cc9..d4bdb88c9c 100644 --- a/lib/src/util/endpoints/leaderboard_endpoints.dart +++ b/lib/src/util/endpoints/leaderboard_endpoints.dart @@ -3,9 +3,12 @@ import 'general_endpoints.dart'; class LeaderboardEndpoints { LeaderboardEndpoints._(); - static const String globalLeaderboard = GeneralEndPoints.apiBaseUrl + "userscore/"; + static const String globalLeaderboard = + GeneralEndPoints.apiBaseUrl + "userscore/"; - static const String monthly_leaderboard = GeneralEndPoints.apiBaseUrl + "leaderboard/"; + static const String monthly_leaderboard = + GeneralEndPoints.apiBaseUrl + "leaderboard/"; - static const String companyScoreboard = GeneralEndPoints.apiBaseUrl + "scoreboard/"; + static const String companyScoreboard = + GeneralEndPoints.apiBaseUrl + "scoreboard/"; } diff --git a/lib/src/util/endpoints/user_endpoints.dart b/lib/src/util/endpoints/user_endpoints.dart index 2ba1fdddf2..367fe7fd18 100644 --- a/lib/src/util/endpoints/user_endpoints.dart +++ b/lib/src/util/endpoints/user_endpoints.dart @@ -6,5 +6,6 @@ class UserEndPoints { static const String userInfo = GeneralEndPoints.apiBaseUrl + "profile/"; - static const String userData = GeneralEndPoints.apiBaseUrl + "profile/auth/user/"; + static const String userData = + GeneralEndPoints.apiBaseUrl + "profile/auth/user/"; } diff --git a/lib/src/util/services/shared_preferences.dart b/lib/src/util/services/shared_preferences.dart index 1852bcb86c..5a19d3e58d 100644 --- a/lib/src/util/services/shared_preferences.dart +++ b/lib/src/util/services/shared_preferences.dart @@ -1,7 +1,8 @@ -import '../../models/user_model.dart'; -import 'package:shared_preferences/shared_preferences.dart'; import 'dart:async'; +import 'package:blt/src/util/util_import.dart'; +import 'package:shared_preferences/shared_preferences.dart'; + class UserPreferences { Future saveUser(User user) async { final SharedPreferences prefs = await SharedPreferences.getInstance(); diff --git a/lib/src/util/util_import.dart b/lib/src/util/util_import.dart new file mode 100644 index 0000000000..428eab13bb --- /dev/null +++ b/lib/src/util/util_import.dart @@ -0,0 +1,14 @@ +export 'package:blt/src/models/user_model.dart'; +export 'package:blt/src/util/endpoints/auth_endpoints.dart'; +export 'package:blt/src/util/endpoints/company_endpoints.dart'; +export 'package:blt/src/util/endpoints/general_endpoints.dart'; +export 'package:blt/src/global/variables.dart'; +export 'package:blt/src/routes/routing.dart'; +export 'package:blt/src/util/endpoints/issue_endpoints.dart'; +export 'package:blt/src/models/company_model.dart'; +export 'package:blt/src/models/leaderdata_model.dart'; +export 'package:blt/src/util/endpoints/user_endpoints.dart'; +export 'package:image_picker/image_picker.dart'; +export 'package:blt/src/models/leader_model.dart'; +export 'package:blt/src/models/issuedata_model.dart'; +export 'package:blt/src/models/issue_model.dart';