From 4af23c160d2434f1415f87024a57a40b4d79ad87 Mon Sep 17 00:00:00 2001 From: Rongjian Zhang Date: Sat, 17 Sep 2022 20:35:45 +0800 Subject: [PATCH] refactor: drop material widgets --- lib/app.dart | 41 ++----- lib/home.dart | 78 +++++--------- lib/main.dart | 3 +- lib/models/auth.dart | 18 ++-- lib/models/code.dart | 2 +- lib/models/notification.dart | 2 +- lib/models/theme.dart | 1 - lib/scaffolds/common.dart | 31 ++---- lib/scaffolds/list_stateful.dart | 54 ++-------- lib/scaffolds/long_list.dart | 70 ++++-------- lib/scaffolds/refresh_stateful.dart | 2 +- lib/scaffolds/single.dart | 4 +- lib/scaffolds/tab.dart | 72 ++++--------- lib/scaffolds/tab_stateful.dart | 2 +- lib/scaffolds/utils.dart | 31 ++---- lib/screens/about.dart | 2 +- lib/screens/bb_commits.dart | 5 +- lib/screens/bb_explore.dart | 5 +- lib/screens/bb_issue.dart | 8 +- lib/screens/bb_issues.dart | 5 +- lib/screens/bb_object.dart | 3 +- lib/screens/bb_pulls.dart | 5 +- lib/screens/bb_repo.dart | 2 +- lib/screens/bb_teams.dart | 5 +- lib/screens/bb_user.dart | 3 +- lib/screens/code_theme.dart | 4 +- lib/screens/ge_blob.dart | 7 +- lib/screens/ge_commit.dart | 6 +- lib/screens/ge_commits.dart | 5 +- lib/screens/ge_contributors.dart | 10 +- lib/screens/ge_files.dart | 9 +- lib/screens/ge_issue.dart | 8 +- lib/screens/ge_issues.dart | 3 +- lib/screens/ge_pull.dart | 155 ++++++++++++++------------- lib/screens/ge_pulls.dart | 3 +- lib/screens/ge_repo.dart | 2 +- lib/screens/ge_repos.dart | 7 +- lib/screens/ge_search.dart | 77 +++++-------- lib/screens/ge_tree.dart | 2 +- lib/screens/ge_user.dart | 8 +- lib/screens/ge_users.dart | 4 +- lib/screens/gh_commits.dart | 7 +- lib/screens/gh_compare.dart | 12 +-- lib/screens/gh_contributors.dart | 6 +- lib/screens/gh_events.dart | 8 +- lib/screens/gh_files.dart | 8 +- lib/screens/gh_gist_object.dart | 7 +- lib/screens/gh_gists.dart | 10 +- lib/screens/gh_gists_files.dart | 2 +- lib/screens/gh_issue.dart | 5 +- lib/screens/gh_issues.dart | 2 +- lib/screens/gh_news.dart | 8 +- lib/screens/gh_notification.dart | 17 +-- lib/screens/gh_object.dart | 2 +- lib/screens/gh_org_repos.dart | 6 +- lib/screens/gh_orgs.dart | 6 +- lib/screens/gh_pulls.dart | 2 +- lib/screens/gh_releases.dart | 8 +- lib/screens/gh_repo.dart | 2 +- lib/screens/gh_repos.dart | 6 +- lib/screens/gh_search.dart | 75 ++++--------- lib/screens/gh_trending.dart | 6 +- lib/screens/gh_user.dart | 2 +- lib/screens/gh_users.dart | 4 +- lib/screens/gl_blob.dart | 5 +- lib/screens/gl_commit.dart | 4 +- lib/screens/gl_commits.dart | 4 +- lib/screens/gl_explore.dart | 4 +- lib/screens/gl_group.dart | 7 +- lib/screens/gl_groups.dart | 4 +- lib/screens/gl_issue.dart | 6 +- lib/screens/gl_issues.dart | 2 +- lib/screens/gl_members.dart | 4 +- lib/screens/gl_merge_requests.dart | 2 +- lib/screens/gl_project.dart | 2 +- lib/screens/gl_project_activity.dart | 4 +- lib/screens/gl_search.dart | 101 ++++++----------- lib/screens/gl_starrers.dart | 4 +- lib/screens/gl_todos.dart | 2 +- lib/screens/gl_tree.dart | 2 +- lib/screens/gl_user.dart | 7 +- lib/screens/go_commits.dart | 4 +- lib/screens/go_issues.dart | 2 +- lib/screens/go_object.dart | 2 +- lib/screens/go_orgs.dart | 4 +- lib/screens/go_repo.dart | 2 +- lib/screens/go_repos.dart | 6 +- lib/screens/go_search.dart | 2 +- lib/screens/go_user.dart | 1 - lib/screens/go_users.dart | 4 +- lib/screens/gt_commits.dart | 4 +- lib/screens/gt_issue.dart | 8 +- lib/screens/gt_issues.dart | 2 +- lib/screens/gt_object.dart | 2 +- lib/screens/gt_orgs.dart | 4 +- lib/screens/gt_repo.dart | 2 +- lib/screens/gt_repos.dart | 6 +- lib/screens/gt_status.dart | 2 +- lib/screens/gt_user.dart | 1 - lib/screens/gt_users.dart | 4 +- lib/screens/image_view.dart | 2 +- lib/screens/login.dart | 7 +- lib/screens/not_found.dart | 4 +- lib/screens/settings.dart | 2 +- lib/utils/utils.dart | 13 ++- lib/widgets/action_button.dart | 116 ++++++++------------ lib/widgets/action_entry.dart | 30 ++---- lib/widgets/app_bar_title.dart | 2 +- lib/widgets/avatar.dart | 3 +- lib/widgets/blob_view.dart | 7 +- lib/widgets/border_view.dart | 2 +- lib/widgets/comment_item.dart | 2 +- lib/widgets/commit_item.dart | 2 +- lib/widgets/contribution.dart | 2 +- lib/widgets/contributor_item.dart | 2 +- lib/widgets/diff_view.dart | 2 +- lib/widgets/empty.dart | 2 +- lib/widgets/error_reload.dart | 3 +- lib/widgets/event_item.dart | 14 +-- lib/widgets/files_item.dart | 6 +- lib/widgets/gists_item.dart | 2 +- lib/widgets/hex_color_tag.dart | 2 +- lib/widgets/html_view.dart | 3 +- lib/widgets/issue_icon.dart | 2 +- lib/widgets/issue_item.dart | 6 +- lib/widgets/link.dart | 40 +++---- lib/widgets/list_group.dart | 3 +- lib/widgets/loading.dart | 18 +--- lib/widgets/markdown_view.dart | 4 +- lib/widgets/notification_item.dart | 8 +- lib/widgets/object_tree.dart | 2 +- lib/widgets/release_item.dart | 2 +- lib/widgets/repo_header.dart | 2 +- lib/widgets/repository_item.dart | 2 +- lib/widgets/table_view.dart | 2 +- lib/widgets/text_with_at.dart | 2 +- lib/widgets/timeline_item.dart | 2 +- lib/widgets/user_header.dart | 2 +- lib/widgets/user_item.dart | 2 +- lib/widgets/user_name.dart | 2 +- 140 files changed, 626 insertions(+), 906 deletions(-) diff --git a/lib/app.dart b/lib/app.dart index e4b9fe5..d686f2c 100644 --- a/lib/app.dart +++ b/lib/app.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/theme.dart'; @@ -48,37 +47,15 @@ class MyApp extends StatelessWidget { return Container( key: auth.rootKey, - child: theme.theme == AppThemeType.cupertino - ? CupertinoApp.router( - routeInformationProvider: router.routeInformationProvider, - routeInformationParser: router.routeInformationParser, - routerDelegate: router.routerDelegate, - theme: CupertinoThemeData(brightness: theme.brightness), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - localeListResolutionCallback: localeListResolutionCallback, - ) - : MaterialApp.router( - routeInformationProvider: router.routeInformationProvider, - routeInformationParser: router.routeInformationParser, - routerDelegate: router.routerDelegate, - theme: ThemeData( - brightness: theme.brightness, - primaryColor: - theme.brightness == Brightness.dark ? null : Colors.white, - scaffoldBackgroundColor: theme.palette.background, - pageTransitionsTheme: const PageTransitionsTheme( - builders: { - TargetPlatform.android: ZoomPageTransitionsBuilder(), - }, - ), - colorScheme: ColorScheme.fromSwatch() - .copyWith(secondary: theme.palette.primary), - ), - localizationsDelegates: AppLocalizations.localizationsDelegates, - supportedLocales: AppLocalizations.supportedLocales, - localeListResolutionCallback: localeListResolutionCallback, - ), + child: CupertinoApp.router( + routeInformationProvider: router.routeInformationProvider, + routeInformationParser: router.routeInformationParser, + routerDelegate: router.routerDelegate, + theme: CupertinoThemeData(brightness: theme.brightness), + localizationsDelegates: AppLocalizations.localizationsDelegates, + supportedLocales: AppLocalizations.supportedLocales, + localeListResolutionCallback: localeListResolutionCallback, + ), ); } } diff --git a/lib/home.dart b/lib/home.dart index a68c013..87b7e37 100644 --- a/lib/home.dart +++ b/lib/home.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/notification.dart'; @@ -247,56 +246,35 @@ class _HomeState extends State { final navigationItems = _buildNavigationItems(auth.activeAccount!.platform); - switch (theme.theme) { - case AppThemeType.cupertino: - return WillPopScope( - onWillPop: () async { - return !(await getNavigatorKey(auth.activeTab) - .currentState - ?.maybePop())!; - }, - child: CupertinoTabScaffold( - tabBuilder: (context, index) { - return CupertinoTabView( - navigatorKey: getNavigatorKey(index), - builder: (context) { - return _buildScreen(index); - }, - ); + return WillPopScope( + onWillPop: () async { + return !(await getNavigatorKey(auth.activeTab) + .currentState + ?.maybePop())!; + }, + child: CupertinoTabScaffold( + tabBuilder: (context, index) { + return CupertinoTabView( + navigatorKey: getNavigatorKey(index), + builder: (context) { + return _buildScreen(index); }, - tabBar: CupertinoTabBar( - items: navigationItems, - currentIndex: auth.activeTab, - onTap: (index) { - if (auth.activeTab == index) { - getNavigatorKey(index) - .currentState - ?.popUntil((route) => route.isFirst); - } else { - auth.setActiveTab(index); - } - }, - ), - ), - ); - default: - return Scaffold( - body: IndexedStack( - index: auth.activeTab, - children: [ - for (var i = 0; i < navigationItems.length; i++) _buildScreen(i) - ], - ), - bottomNavigationBar: BottomNavigationBar( - selectedItemColor: theme.palette.primary, - items: navigationItems, - currentIndex: auth.activeTab, - type: BottomNavigationBarType.fixed, - onTap: (int index) { + ); + }, + tabBar: CupertinoTabBar( + items: navigationItems, + currentIndex: auth.activeTab, + onTap: (index) { + if (auth.activeTab == index) { + getNavigatorKey(index) + .currentState + ?.popUntil((route) => route.isFirst); + } else { auth.setActiveTab(index); - }, - ), - ); - } + } + }, + ), + ), + ); } } diff --git a/lib/main.dart b/lib/main.dart index 08d0065..c3b336b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,10 +1,11 @@ -import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/app.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/code.dart'; import 'package:git_touch/models/notification.dart'; import 'package:git_touch/models/theme.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:provider/provider.dart'; import 'package:sentry_flutter/sentry_flutter.dart'; diff --git a/lib/models/auth.dart b/lib/models/auth.dart index a8e76b5..fef6a0f 100644 --- a/lib/models/auth.dart +++ b/lib/models/auth.dart @@ -1,21 +1,23 @@ -import 'dart:convert'; import 'dart:async'; +import 'dart:convert'; + import 'package:ferry/ferry.dart'; -// import 'package:in_app_review/in_app_review.dart'; -import 'package:universal_io/io.dart'; +import 'package:fimber/fimber.dart'; +import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/bitbucket.dart'; import 'package:git_touch/models/gitea.dart'; import 'package:git_touch/models/gitee.dart'; import 'package:github/github.dart'; import 'package:gql_http_link/gql_http_link.dart'; -import 'package:fimber/fimber.dart'; import 'package:http/http.dart' as http; -import 'package:uni_links/uni_links.dart'; import 'package:nanoid/nanoid.dart'; -import 'package:url_launcher/url_launcher.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter/cupertino.dart'; import 'package:shared_preferences/shared_preferences.dart'; +import 'package:uni_links/uni_links.dart'; +// import 'package:in_app_review/in_app_review.dart'; +import 'package:universal_io/io.dart'; +import 'package:url_launcher/url_launcher.dart'; + import '../utils/utils.dart'; import 'account.dart'; import 'gitlab.dart'; diff --git a/lib/models/code.dart b/lib/models/code.dart index 429487a..ca860bc 100644 --- a/lib/models/code.dart +++ b/lib/models/code.dart @@ -1,5 +1,5 @@ import 'package:fimber/fimber.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_highlight/theme_map.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:google_fonts/google_fonts.dart'; diff --git a/lib/models/notification.dart b/lib/models/notification.dart index 4f2e0db..93988d7 100644 --- a/lib/models/notification.dart +++ b/lib/models/notification.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/github.dart'; import 'package:tuple/tuple.dart'; diff --git a/lib/models/theme.dart b/lib/models/theme.dart index 975bde4..840a139 100644 --- a/lib/models/theme.dart +++ b/lib/models/theme.dart @@ -2,7 +2,6 @@ import 'dart:async'; import 'package:fimber/fimber.dart'; import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/utils/utils.dart'; diff --git a/lib/scaffolds/common.dart b/lib/scaffolds/common.dart index 7938054..0bf8c7c 100644 --- a/lib/scaffolds/common.dart +++ b/lib/scaffolds/common.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; import 'package:git_touch/models/theme.dart'; import 'package:provider/provider.dart'; @@ -7,13 +6,11 @@ class CommonScaffold extends StatelessWidget { final Widget title; final Widget body; final Widget? action; - final PreferredSizeWidget? bottom; const CommonScaffold({ required this.title, required this.body, this.action, - this.bottom, }); @override @@ -22,26 +19,12 @@ class CommonScaffold extends StatelessWidget { // FIXME: A hack to get brightness before MaterialApp been built theme.setSystemBrightness(MediaQuery.of(context).platformBrightness); - switch (theme.theme) { - case AppThemeType.cupertino: - return CupertinoPageScaffold( - navigationBar: CupertinoNavigationBar( - middle: title, - trailing: action, - ), - child: SafeArea(child: body), - ); - default: - return Scaffold( - appBar: AppBar( - title: title, - actions: [ - if (action != null) action!, - ], - bottom: bottom, - ), - body: body, - ); - } + return CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar( + middle: title, + trailing: action, + ), + child: SafeArea(child: body), + ); } } diff --git a/lib/scaffolds/list_stateful.dart b/lib/scaffolds/list_stateful.dart index 045372f..c10f79b 100644 --- a/lib/scaffolds/list_stateful.dart +++ b/lib/scaffolds/list_stateful.dart @@ -1,12 +1,10 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; -import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/common.dart'; import 'package:git_touch/utils/utils.dart'; -import 'package:provider/provider.dart'; +import 'package:git_touch/widgets/empty.dart'; import 'package:git_touch/widgets/error_reload.dart'; import 'package:git_touch/widgets/loading.dart'; -import 'package:git_touch/widgets/empty.dart'; + export 'package:git_touch/utils/utils.dart'; // This is a scaffold for infinite scroll screens @@ -139,49 +137,19 @@ class _ListStatefulScaffoldState } } - Widget _buildMaterial() { - if (error.isNotEmpty) { - return ErrorReload(text: error, onTap: _refresh); - } else if (loading && items.isEmpty) { - return const Loading(more: false); - } else if (items.isEmpty) { - return EmptyWidget(); - } else { - return Scrollbar( - child: ListView.builder( - controller: _controller, - itemCount: 2 * items.length + 1, - itemBuilder: _buildItem, - ), - ); - } - } - - Widget _buildBody() { - switch (Provider.of(context).theme) { - case AppThemeType.cupertino: - return CupertinoScrollbar( - child: CustomScrollView( - controller: _controller, - slivers: [ - CupertinoSliverRefreshControl(onRefresh: _refresh), - _buildCupertinoSliver(), - ], - ), - ); - default: - return RefreshIndicator( - onRefresh: _refresh, - child: _buildMaterial(), - ); - } - } - @override Widget build(BuildContext context) { return CommonScaffold( title: widget.title, - body: _buildBody(), + body: CupertinoScrollbar( + child: CustomScrollView( + controller: _controller, + slivers: [ + CupertinoSliverRefreshControl(onRefresh: _refresh), + _buildCupertinoSliver(), + ], + ), + ), action: widget.actionBuilder?.call(), ); } diff --git a/lib/scaffolds/long_list.dart b/lib/scaffolds/long_list.dart index f7c29b9..2fc639e 100644 --- a/lib/scaffolds/long_list.dart +++ b/lib/scaffolds/long_list.dart @@ -1,11 +1,11 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:provider/provider.dart'; -import '../widgets/loading.dart'; -import '../widgets/link.dart'; + import '../widgets/error_reload.dart'; +import '../widgets/link.dart'; +import '../widgets/loading.dart'; class LongListPayload { T header; @@ -177,51 +177,25 @@ class _LongListStatefulScaffoldState @override Widget build(BuildContext context) { - switch (Provider.of(context).theme) { - case AppThemeType.cupertino: - List slivers = [ - CupertinoSliverRefreshControl(onRefresh: _refresh) - ]; - if (payload != null) { - slivers.add( - SliverToBoxAdapter(child: widget.headerBuilder(payload!.header)), - ); - } - slivers.add(_buildSliver()); - - return CupertinoPageScaffold( - navigationBar: CupertinoNavigationBar( - middle: widget.title, - trailing: payload == null - ? null - : widget.trailingBuilder!(payload!.header), - ), - child: SafeArea( - child: CupertinoScrollbar( - child: CustomScrollView(slivers: slivers), - ), - ), - ); - default: - return Scaffold( - appBar: AppBar( - title: widget.title, - actions: payload == null - ? null - : [widget.trailingBuilder!(payload!.header)], - ), - body: RefreshIndicator( - onRefresh: _refresh, - child: Scrollbar( - child: CustomScrollView(slivers: [ - if (payload != null) - SliverToBoxAdapter( - child: widget.headerBuilder(payload!.header)), - _buildSliver(), - ]), - ), - ), - ); + List slivers = [CupertinoSliverRefreshControl(onRefresh: _refresh)]; + if (payload != null) { + slivers.add( + SliverToBoxAdapter(child: widget.headerBuilder(payload!.header)), + ); } + slivers.add(_buildSliver()); + + return CupertinoPageScaffold( + navigationBar: CupertinoNavigationBar( + middle: widget.title, + trailing: + payload == null ? null : widget.trailingBuilder!(payload!.header), + ), + child: SafeArea( + child: CupertinoScrollbar( + child: CustomScrollView(slivers: slivers), + ), + ), + ); } } diff --git a/lib/scaffolds/refresh_stateful.dart b/lib/scaffolds/refresh_stateful.dart index 167f56d..672bd79 100644 --- a/lib/scaffolds/refresh_stateful.dart +++ b/lib/scaffolds/refresh_stateful.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/scaffolds/common.dart'; import 'package:git_touch/scaffolds/utils.dart'; diff --git a/lib/scaffolds/single.dart b/lib/scaffolds/single.dart index e0ac8e8..70b5ff4 100644 --- a/lib/scaffolds/single.dart +++ b/lib/scaffolds/single.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/cupertino.dart'; import 'package:git_touch/scaffolds/common.dart'; class SingleScaffold extends StatelessWidget { @@ -16,7 +16,7 @@ class SingleScaffold extends StatelessWidget { Widget build(BuildContext context) { return CommonScaffold( title: title, - body: Scrollbar(child: SingleChildScrollView(child: body)), + body: CupertinoScrollbar(child: SingleChildScrollView(child: body)), action: action, ); } diff --git a/lib/scaffolds/tab.dart b/lib/scaffolds/tab.dart index 88a3f77..ef0fe86 100644 --- a/lib/scaffolds/tab.dart +++ b/lib/scaffolds/tab.dart @@ -1,9 +1,6 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/common.dart'; import 'package:git_touch/scaffolds/utils.dart'; -import 'package:provider/provider.dart'; class TabScaffold extends StatelessWidget { final Widget title; @@ -24,56 +21,33 @@ class TabScaffold extends StatelessWidget { required this.onTabSwitch, }); - Widget _buildTitle(BuildContext context) { - switch (Provider.of(context).theme) { - case AppThemeType.cupertino: - return DefaultTextStyle( - style: DefaultTextStyle.of(context).style.copyWith(fontSize: 14), - child: Row( - children: [ - Expanded( - child: CupertinoSlidingSegmentedControl( - groupValue: activeTab, - onValueChanged: (v) { - if (v == null) return; - onTabSwitch(v); - }, - children: tabs.asMap().map((key, text) => MapEntry( - key, - Padding( - padding: const EdgeInsets.symmetric(horizontal: 8), - child: Text(text), - ))), - ), - ), - ], - ), - ); - default: - return title; - } - } - @override Widget build(BuildContext context) { - final scaffold = CommonScaffold( - title: _buildTitle(context), + return CommonScaffold( + title: DefaultTextStyle( + style: DefaultTextStyle.of(context).style.copyWith(fontSize: 14), + child: Row( + children: [ + Expanded( + child: CupertinoSlidingSegmentedControl( + groupValue: activeTab, + onValueChanged: (v) { + if (v == null) return; + onTabSwitch(v); + }, + children: tabs.asMap().map((key, text) => MapEntry( + key, + Padding( + padding: const EdgeInsets.symmetric(horizontal: 8), + child: Text(text), + ))), + ), + ), + ], + ), + ), body: RefreshWrapper(body: body, onRefresh: onRefresh), // action: action, // TODO: - bottom: TabBar( - onTap: onTabSwitch, - tabs: tabs.map((text) => Tab(text: text.toUpperCase())).toList(), - ), ); - - switch (Provider.of(context).theme) { - case AppThemeType.cupertino: - return scaffold; - default: - return DefaultTabController( - length: tabs.length, - child: scaffold, - ); - } } } diff --git a/lib/scaffolds/tab_stateful.dart b/lib/scaffolds/tab_stateful.dart index 93d5123..72dd543 100644 --- a/lib/scaffolds/tab_stateful.dart +++ b/lib/scaffolds/tab_stateful.dart @@ -1,5 +1,5 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/scaffolds/tab.dart'; import 'package:git_touch/scaffolds/utils.dart'; diff --git a/lib/scaffolds/utils.dart b/lib/scaffolds/utils.dart index eb29324..5ee2fbf 100644 --- a/lib/scaffolds/utils.dart +++ b/lib/scaffolds/utils.dart @@ -1,9 +1,6 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; -import 'package:git_touch/models/theme.dart'; import 'package:git_touch/widgets/error_reload.dart'; import 'package:git_touch/widgets/loading.dart'; -import 'package:provider/provider.dart'; class RefreshWrapper extends StatelessWidget { final Widget body; @@ -16,25 +13,15 @@ class RefreshWrapper extends StatelessWidget { @override Widget build(BuildContext context) { - switch (Provider.of(context).theme) { - case AppThemeType.cupertino: - return CupertinoScrollbar( - child: CustomScrollView( - slivers: [ - CupertinoSliverRefreshControl( - onRefresh: onRefresh as Future Function()?), - SliverToBoxAdapter(child: body), - ], - ), - ); - default: - return RefreshIndicator( - onRefresh: onRefresh as Future Function(), - child: Scrollbar( - child: SingleChildScrollView(child: body), - ), - ); - } + return CupertinoScrollbar( + child: CustomScrollView( + slivers: [ + CupertinoSliverRefreshControl( + onRefresh: onRefresh as Future Function()?), + SliverToBoxAdapter(child: body), + ], + ), + ); } } diff --git a/lib/screens/about.dart b/lib/screens/about.dart index ae8c2c0..6b4f935 100644 --- a/lib/screens/about.dart +++ b/lib/screens/about.dart @@ -1,4 +1,4 @@ -// import 'package:flutter/material.dart'; +// import 'package:flutter/widgets.dart'; // import 'package:git_touch/models/theme.dart'; // import 'package:git_touch/scaffolds/single.dart'; // import 'package:git_touch/widgets/app_bar_title.dart'; diff --git a/lib/screens/bb_commits.dart b/lib/screens/bb_commits.dart index 337942b..141ae9a 100644 --- a/lib/screens/bb_commits.dart +++ b/lib/screens/bb_commits.dart @@ -1,11 +1,12 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/bitbucket.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/commit_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class BbCommitsScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/bb_explore.dart b/lib/screens/bb_explore.dart index 6b43f74..fc466f3 100644 --- a/lib/screens/bb_explore.dart +++ b/lib/screens/bb_explore.dart @@ -1,11 +1,12 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/bitbucket.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/repository_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class BbExploreScreen extends StatelessWidget { @override diff --git a/lib/screens/bb_issue.dart b/lib/screens/bb_issue.dart index 4674c82..6d78e35 100644 --- a/lib/screens/bb_issue.dart +++ b/lib/screens/bb_issue.dart @@ -1,15 +1,15 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/bitbucket.dart'; +import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/avatar.dart'; -import 'package:git_touch/widgets/link.dart'; import 'package:git_touch/widgets/comment_item.dart'; +import 'package:git_touch/widgets/link.dart'; import 'package:primer/primer.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:git_touch/models/theme.dart'; import 'package:tuple/tuple.dart'; class BbIssueScreen extends StatelessWidget { diff --git a/lib/screens/bb_issues.dart b/lib/screens/bb_issues.dart index 98f30ea..651fa36 100644 --- a/lib/screens/bb_issues.dart +++ b/lib/screens/bb_issues.dart @@ -1,12 +1,13 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/bitbucket.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/issue_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class BbIssuesScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/bb_object.dart b/lib/screens/bb_object.dart index 6cc93c2..2e40b9b 100644 --- a/lib/screens/bb_object.dart +++ b/lib/screens/bb_object.dart @@ -1,9 +1,10 @@ import 'dart:convert'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/bitbucket.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/blob_view.dart'; diff --git a/lib/screens/bb_pulls.dart b/lib/screens/bb_pulls.dart index c9d6b3e..f266ab9 100644 --- a/lib/screens/bb_pulls.dart +++ b/lib/screens/bb_pulls.dart @@ -1,11 +1,12 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/bitbucket.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/issue_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class BbPullsScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/bb_repo.dart b/lib/screens/bb_repo.dart index e34852c..c39caea 100644 --- a/lib/screens/bb_repo.dart +++ b/lib/screens/bb_repo.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'package:filesize/filesize.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/bitbucket.dart'; diff --git a/lib/screens/bb_teams.dart b/lib/screens/bb_teams.dart index 76536bb..0a718aa 100644 --- a/lib/screens/bb_teams.dart +++ b/lib/screens/bb_teams.dart @@ -1,12 +1,13 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/bitbucket.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/user_item.dart'; import 'package:provider/provider.dart'; import 'package:timeago/timeago.dart' as timeago; -import 'package:flutter_gen/gen_l10n/S.dart'; class BbTeamsScreen extends StatelessWidget { @override diff --git a/lib/screens/bb_user.dart b/lib/screens/bb_user.dart index 08f736a..4efe7e8 100644 --- a/lib/screens/bb_user.dart +++ b/lib/screens/bb_user.dart @@ -1,14 +1,13 @@ -import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/bitbucket.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/repository_item.dart'; import 'package:git_touch/widgets/user_header.dart'; import 'package:provider/provider.dart'; import 'package:tuple/tuple.dart'; -import 'package:git_touch/utils/utils.dart'; class BbUserScreen extends StatelessWidget { final String? login; diff --git a/lib/screens/code_theme.dart b/lib/screens/code_theme.dart index d67d9a6..4226a7f 100644 --- a/lib/screens/code_theme.dart +++ b/lib/screens/code_theme.dart @@ -1,5 +1,5 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:flutter_highlight/flutter_highlight.dart'; import 'package:flutter_highlight/theme_map.dart'; @@ -13,7 +13,7 @@ import 'package:provider/provider.dart'; class CodeThemeScreen extends StatelessWidget { String _getCode(bool isDark) => '''// ${isDark ? 'Dark' : 'Light'} Mode -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; class MyApp extends StatelessWidget { @override diff --git a/lib/screens/ge_blob.dart b/lib/screens/ge_blob.dart index 5e24b16..3dc88d4 100644 --- a/lib/screens/ge_blob.dart +++ b/lib/screens/ge_blob.dart @@ -1,4 +1,5 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; @@ -7,7 +8,6 @@ import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/blob_view.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GeBlobScreen extends StatelessWidget { final String owner; @@ -25,7 +25,8 @@ class GeBlobScreen extends StatelessWidget { final res = await auth.fetchGitee('/repos/$owner/$name/git/blobs/$sha'); return GiteeBlob.fromJson(res).content; }, - action: const ActionEntry(iconData: Ionicons.cog, url: '/choose-code-theme'), + action: + const ActionEntry(iconData: Ionicons.cog, url: '/choose-code-theme'), bodyBuilder: (content, _) { return BlobView(path, base64Text: content); }, diff --git a/lib/screens/ge_commit.dart b/lib/screens/ge_commit.dart index 1fe4e1b..26bcf1d 100644 --- a/lib/screens/ge_commit.dart +++ b/lib/screens/ge_commit.dart @@ -1,5 +1,7 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; +import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/action_button.dart'; @@ -7,8 +9,6 @@ import 'package:git_touch/widgets/avatar.dart'; import 'package:git_touch/widgets/files_item.dart'; import 'package:git_touch/widgets/link.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:git_touch/models/theme.dart'; class GeCommitScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/ge_commits.dart b/lib/screens/ge_commits.dart index 92df6ef..f186d80 100644 --- a/lib/screens/ge_commits.dart +++ b/lib/screens/ge_commits.dart @@ -1,11 +1,12 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/commit_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GeCommitsScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/ge_contributors.dart b/lib/screens/ge_contributors.dart index 75f61fd..20bc304 100644 --- a/lib/screens/ge_contributors.dart +++ b/lib/screens/ge_contributors.dart @@ -1,12 +1,13 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GeContributorsScreen extends StatelessWidget { final String owner; @@ -65,8 +66,7 @@ class GeContributorsScreen extends StatelessWidget { color: theme.palette.secondaryText, fontSize: 16, ), - child: Text( - "Contributions: ${v.contributions}"), + child: Text("Contributions: ${v.contributions}"), ), ], ), diff --git a/lib/screens/ge_files.dart b/lib/screens/ge_files.dart index 198739d..18bdb92 100644 --- a/lib/screens/ge_files.dart +++ b/lib/screens/ge_files.dart @@ -1,13 +1,14 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/action_button.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; -import 'package:provider/provider.dart'; import 'package:git_touch/widgets/files_item.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:provider/provider.dart'; class GeFilesScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/ge_issue.dart b/lib/screens/ge_issue.dart index 3570ac0..b2a6099 100644 --- a/lib/screens/ge_issue.dart +++ b/lib/screens/ge_issue.dart @@ -1,16 +1,16 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; +import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/action_button.dart'; import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/avatar.dart'; -import 'package:git_touch/widgets/link.dart'; import 'package:git_touch/widgets/comment_item.dart'; +import 'package:git_touch/widgets/link.dart'; import 'package:primer/primer.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:git_touch/models/theme.dart'; import 'package:tuple/tuple.dart'; class GeIssueScreen extends StatelessWidget { diff --git a/lib/screens/ge_issues.dart b/lib/screens/ge_issues.dart index 265b94d..21ad7a6 100644 --- a/lib/screens/ge_issues.dart +++ b/lib/screens/ge_issues.dart @@ -1,7 +1,8 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/hex_color_tag.dart'; diff --git a/lib/screens/ge_pull.dart b/lib/screens/ge_pull.dart index 0724b84..4abf436 100644 --- a/lib/screens/ge_pull.dart +++ b/lib/screens/ge_pull.dart @@ -1,16 +1,16 @@ import 'package:flutter/material.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; +import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/action_button.dart'; import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/avatar.dart'; -import 'package:git_touch/widgets/link.dart'; import 'package:git_touch/widgets/comment_item.dart'; +import 'package:git_touch/widgets/link.dart'; import 'package:primer/primer.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:git_touch/models/theme.dart'; import 'package:tuple/tuple.dart'; class GePullScreen extends StatelessWidget { @@ -89,17 +89,18 @@ class GePullScreen extends StatelessWidget { additions += int.parse(file.additions!); deletions += int.parse(file.deletions!); } - return Column(children: [ - Container( - padding: CommonStyle.padding, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - LinkWidget( - url: '/gitee/$owner/$name', - child: Container( - padding: const EdgeInsets.symmetric(vertical: 8), - child: Column( + return Column( + children: [ + Container( + padding: CommonStyle.padding, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + LinkWidget( + url: '/gitee/$owner/$name', + child: Container( + padding: const EdgeInsets.symmetric(vertical: 8), + child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ LinkWidget( @@ -149,7 +150,8 @@ class GePullScreen extends StatelessWidget { LinkWidget( url: '/gitee/$owner/$name/pulls/$number/files', child: Container( - padding: const EdgeInsets.symmetric(vertical: 8), + padding: + const EdgeInsets.symmetric(vertical: 8), child: Row( mainAxisAlignment: MainAxisAlignment.spaceBetween, @@ -190,71 +192,76 @@ class GePullScreen extends StatelessWidget { ), CommonStyle.border, ListTileTheme( - contentPadding: EdgeInsets.zero, - child: ExpansionTile( - title: Text( - 'Commits', - style: TextStyle( - color: theme.palette.primary, - fontSize: 18, - fontWeight: FontWeight.w600, - ), + contentPadding: EdgeInsets.zero, + child: ExpansionTile( + title: Text( + 'Commits', + style: TextStyle( + color: theme.palette.primary, + fontSize: 18, + fontWeight: FontWeight.w600, ), - children: [ - for (var commit in commits) ...[ - LinkWidget( - url: - '/gitee/$owner/$name/commits/${commit.sha}', - child: Container( - padding: - const EdgeInsets.symmetric(vertical: 8), - child: Row( - mainAxisAlignment: - MainAxisAlignment.spaceBetween, - children: [ - Text( - commit.sha!.substring(0, 7), - style: TextStyle( - color: theme.palette.primary, - fontSize: 17, - fontFamily: - CommonStyle.monospace, - ), + ), + children: [ + for (var commit in commits) ...[ + LinkWidget( + url: + '/gitee/$owner/$name/commits/${commit.sha}', + child: Container( + padding: const EdgeInsets.symmetric( + vertical: 8), + child: Row( + mainAxisAlignment: + MainAxisAlignment.spaceBetween, + children: [ + Text( + commit.sha!.substring(0, 7), + style: TextStyle( + color: theme.palette.primary, + fontSize: 17, + fontFamily: + CommonStyle.monospace, ), - ], - ), + ), + ], ), - ) - ] - ], - )), - ]), + ), + ) + ] + ], + ), + ), + ], + ), + ), ), - ), + CommonStyle.border, + ], + )), + Column( + children: [ + for (var comment in comments) ...[ + Padding( + padding: const EdgeInsets.only(left: 10), + child: CommentItem( + avatar: Avatar( + url: comment.user!.avatarUrl, + linkUrl: '/gitee/${comment.user!.login}', + ), + createdAt: DateTime.parse(comment.createdAt!), + body: comment.body, + login: comment.user!.login, + prefix: 'gitee', + commentActionItemList: + _buildCommentActionItem(context, comment), + )), CommonStyle.border, + const SizedBox(height: 16), ], - )), - Column(children: [ - for (var comment in comments) ...[ - Padding( - padding: const EdgeInsets.only(left: 10), - child: CommentItem( - avatar: Avatar( - url: comment.user!.avatarUrl, - linkUrl: '/gitee/${comment.user!.login}', - ), - createdAt: DateTime.parse(comment.createdAt!), - body: comment.body, - login: comment.user!.login, - prefix: 'gitee', - commentActionItemList: - _buildCommentActionItem(context, comment), - )), - CommonStyle.border, - const SizedBox(height: 16), - ], - ]), - ]); + ], + ), + ], + ); }, ); } diff --git a/lib/screens/ge_pulls.dart b/lib/screens/ge_pulls.dart index c2af774..44701b5 100644 --- a/lib/screens/ge_pulls.dart +++ b/lib/screens/ge_pulls.dart @@ -1,7 +1,8 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/hex_color_tag.dart'; import 'package:git_touch/widgets/issue_item.dart'; diff --git a/lib/screens/ge_repo.dart b/lib/screens/ge_repo.dart index 1141120..a0fdf1f 100644 --- a/lib/screens/ge_repo.dart +++ b/lib/screens/ge_repo.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'dart:io'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; diff --git a/lib/screens/ge_repos.dart b/lib/screens/ge_repos.dart index adcc5b6..3355e3e 100644 --- a/lib/screens/ge_repos.dart +++ b/lib/screens/ge_repos.dart @@ -1,10 +1,11 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:provider/provider.dart'; import 'package:git_touch/widgets/repository_item.dart'; +import 'package:provider/provider.dart'; import 'package:timeago/timeago.dart' as timeago; class GeReposScreen extends StatelessWidget { diff --git a/lib/screens/ge_search.dart b/lib/screens/ge_search.dart index 0bba85e..5aabe51 100644 --- a/lib/screens/ge_search.dart +++ b/lib/screens/ge_search.dart @@ -1,5 +1,8 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; +import 'package:git_touch/models/gitee.dart'; +import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/common.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/issue_item.dart'; @@ -8,10 +11,6 @@ import 'package:git_touch/widgets/repository_item.dart'; import 'package:git_touch/widgets/user_item.dart'; import 'package:primer/primer.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; -import 'package:git_touch/models/gitee.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:git_touch/models/theme.dart'; import 'package:timeago/timeago.dart' as timeago; class GeSearchScreen extends StatefulWidget { @@ -71,37 +70,6 @@ class _GeSearchScreenState extends State { } } - Widget _buildInput() { - final theme = Provider.of(context); - switch (Provider.of(context).theme) { - case AppThemeType.cupertino: - return Container( - color: theme.palette.background, - child: CupertinoTextField( - prefix: Row( - children: const [ - SizedBox(width: 8), - Icon(Octicons.search, size: 20, color: PrimerColors.gray400), - ], - ), - placeholder: AppLocalizations.of(context)!.search, - clearButtonMode: OverlayVisibilityMode.editing, - textInputAction: TextInputAction.go, - onSubmitted: (_) => _query(), - controller: _controller, - ), - ); - default: - return TextField( - decoration: InputDecoration.collapsed( - hintText: AppLocalizations.of(context)!.search), - textInputAction: TextInputAction.go, - onSubmitted: (_) => _query(), - controller: _controller, - ); - } - } - _onTabSwitch(int? index) { setState(() { _activeTab = index; @@ -150,10 +118,25 @@ class _GeSearchScreenState extends State { @override Widget build(BuildContext context) { - final theme = Provider.of(context).theme; + final theme = Provider.of(context); - final scaffold = CommonScaffold( - title: _buildInput(), + return CommonScaffold( + title: Container( + color: theme.palette.background, + child: CupertinoTextField( + prefix: Row( + children: const [ + SizedBox(width: 8), + Icon(Octicons.search, size: 20, color: PrimerColors.gray400), + ], + ), + placeholder: AppLocalizations.of(context)!.search, + clearButtonMode: OverlayVisibilityMode.editing, + textInputAction: TextInputAction.go, + onSubmitted: (_) => _query(), + controller: _controller, + ), + ), body: SingleChildScrollView( child: Column( children: [ @@ -168,7 +151,8 @@ class _GeSearchScreenState extends State { key, Padding( padding: const EdgeInsets.symmetric(horizontal: 8), - child: Text(text, style: const TextStyle(fontSize: 14)), + child: + Text(text, style: const TextStyle(fontSize: 14)), ))), ), ), @@ -180,19 +164,6 @@ class _GeSearchScreenState extends State { ], ), ), - bottom: TabBar( - onTap: _onTabSwitch, - tabs: tabs.map((text) => Tab(text: text.toUpperCase())).toList(), - ), ); - - if (theme == AppThemeType.material) { - return DefaultTabController( - length: tabs.length, - child: scaffold, - ); - } else { - return scaffold; - } } } diff --git a/lib/screens/ge_tree.dart b/lib/screens/ge_tree.dart index 5206247..772dc2e 100644 --- a/lib/screens/ge_tree.dart +++ b/lib/screens/ge_tree.dart @@ -1,5 +1,5 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; diff --git a/lib/screens/ge_user.dart b/lib/screens/ge_user.dart index 5445695..b77e930 100644 --- a/lib/screens/ge_user.dart +++ b/lib/screens/ge_user.dart @@ -1,18 +1,18 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; import 'package:git_touch/utils/utils.dart'; +import 'package:git_touch/widgets/action_button.dart'; import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; -import 'package:git_touch/models/auth.dart'; import 'package:git_touch/widgets/entry_item.dart'; import 'package:git_touch/widgets/repository_item.dart'; import 'package:git_touch/widgets/user_header.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/widgets/action_button.dart'; -import 'package:tuple/tuple.dart'; import 'package:timeago/timeago.dart' as timeago; +import 'package:tuple/tuple.dart'; class GeUserScreen extends StatelessWidget { final String login; diff --git a/lib/screens/ge_users.dart b/lib/screens/ge_users.dart index c54b348..04e9220 100644 --- a/lib/screens/ge_users.dart +++ b/lib/screens/ge_users.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitee.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/user_item.dart'; -import 'package:git_touch/models/auth.dart'; import 'package:provider/provider.dart'; class GeUsersScreen extends StatelessWidget { diff --git a/lib/screens/gh_commits.dart b/lib/screens/gh_commits.dart index 1c3a7e1..454a9ef 100644 --- a/lib/screens/gh_commits.dart +++ b/lib/screens/gh_commits.dart @@ -1,5 +1,6 @@ import 'package:ferry/ferry.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; import 'package:git_touch/graphql/__generated__/github.var.gql.dart'; @@ -9,7 +10,6 @@ import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/commit_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GhCommits extends StatelessWidget { final String owner; @@ -21,7 +21,8 @@ class GhCommits extends StatelessWidget { const size = 18.0; switch (state) { case GStatusState.SUCCESS: - return const Icon(Octicons.check, color: GithubPalette.open, size: size); + return const Icon(Octicons.check, + color: GithubPalette.open, size: size); case GStatusState.FAILURE: return const Icon(Octicons.x, color: GithubPalette.closed, size: size); default: diff --git a/lib/screens/gh_compare.dart b/lib/screens/gh_compare.dart index 05abce1..683ad9e 100644 --- a/lib/screens/gh_compare.dart +++ b/lib/screens/gh_compare.dart @@ -1,13 +1,13 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/github.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; -import 'package:git_touch/widgets/app_bar_title.dart'; -import 'package:provider/provider.dart'; -import 'package:git_touch/widgets/files_item.dart'; -import 'package:git_touch/models/auth.dart'; import 'package:git_touch/widgets/action_button.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/widgets/app_bar_title.dart'; +import 'package:git_touch/widgets/files_item.dart'; +import 'package:provider/provider.dart'; class GhComparisonScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/gh_contributors.dart b/lib/screens/gh_contributors.dart index 093dce7..a798769 100644 --- a/lib/screens/gh_contributors.dart +++ b/lib/screens/gh_contributors.dart @@ -1,12 +1,12 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/github.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/contributor_item.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GhContributorsScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/gh_events.dart b/lib/screens/gh_events.dart index 151c8fa..890e728 100644 --- a/lib/screens/gh_events.dart +++ b/lib/screens/gh_events.dart @@ -1,12 +1,12 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/github.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; -import 'package:provider/provider.dart'; import 'package:git_touch/widgets/event_item.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:provider/provider.dart'; class GhEventsScreen extends StatelessWidget { final String login; diff --git a/lib/screens/gh_files.dart b/lib/screens/gh_files.dart index a2afca4..ef1339f 100644 --- a/lib/screens/gh_files.dart +++ b/lib/screens/gh_files.dart @@ -1,13 +1,13 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/github.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/action_button.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; -import 'package:provider/provider.dart'; import 'package:git_touch/widgets/files_item.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:provider/provider.dart'; class GhFilesScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/gh_gist_object.dart b/lib/screens/gh_gist_object.dart index 0056863..0c3de1f 100644 --- a/lib/screens/gh_gist_object.dart +++ b/lib/screens/gh_gist_object.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/scaffolds/common.dart'; import 'package:git_touch/utils/utils.dart'; +import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/blob_view.dart'; -import 'package:git_touch/widgets/action_entry.dart'; class GistObjectScreen extends StatelessWidget { final String login; @@ -12,7 +12,8 @@ class GistObjectScreen extends StatelessWidget { final String? raw; final String? content; - const GistObjectScreen(this.login, this.id, this.file, {this.raw, this.content}); + const GistObjectScreen(this.login, this.id, this.file, + {this.raw, this.content}); @override Widget build(BuildContext context) { diff --git a/lib/screens/gh_gists.dart b/lib/screens/gh_gists.dart index 286bd95..76d2d5b 100644 --- a/lib/screens/gh_gists.dart +++ b/lib/screens/gh_gists.dart @@ -1,15 +1,15 @@ import 'package:ferry/ferry.dart'; -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; +import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; import 'package:git_touch/graphql/__generated__/github.var.gql.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/gists_item.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; -import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; -import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; class GhGistsScreen extends StatelessWidget { final String login; diff --git a/lib/screens/gh_gists_files.dart b/lib/screens/gh_gists_files.dart index 37c4e8a..8f0809f 100644 --- a/lib/screens/gh_gists_files.dart +++ b/lib/screens/gh_gists_files.dart @@ -1,6 +1,6 @@ import 'package:ferry/ferry.dart'; import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; diff --git a/lib/screens/gh_issue.dart b/lib/screens/gh_issue.dart index 4c01c0a..4b64bb7 100644 --- a/lib/screens/gh_issue.dart +++ b/lib/screens/gh_issue.dart @@ -1,5 +1,5 @@ import 'package:ferry/ferry.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; import 'package:git_touch/graphql/__generated__/github.var.gql.dart'; @@ -10,9 +10,10 @@ import 'package:git_touch/widgets/action_button.dart'; import 'package:git_touch/widgets/avatar.dart'; import 'package:git_touch/widgets/link.dart'; import 'package:git_touch/widgets/timeline_item.dart'; +import 'package:github/github.dart' as github; import 'package:primer/primer.dart'; import 'package:provider/provider.dart'; -import 'package:github/github.dart' as github; + import '../scaffolds/long_list.dart'; import '../widgets/comment_item.dart'; diff --git a/lib/screens/gh_issues.dart b/lib/screens/gh_issues.dart index 5420a4b..54fb7f9 100644 --- a/lib/screens/gh_issues.dart +++ b/lib/screens/gh_issues.dart @@ -1,5 +1,5 @@ import 'package:ferry/ferry.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; diff --git a/lib/screens/gh_news.dart b/lib/screens/gh_news.dart index 8941a21..86b069c 100644 --- a/lib/screens/gh_news.dart +++ b/lib/screens/gh_news.dart @@ -1,13 +1,13 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/github.dart'; import 'package:git_touch/models/notification.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; -import 'package:provider/provider.dart'; import 'package:git_touch/widgets/event_item.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:provider/provider.dart'; class GhNewsScreen extends StatefulWidget { @override diff --git a/lib/screens/gh_notification.dart b/lib/screens/gh_notification.dart index 5f48c26..1be8b2c 100644 --- a/lib/screens/gh_notification.dart +++ b/lib/screens/gh_notification.dart @@ -1,18 +1,19 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; +import 'package:git_touch/models/github.dart'; +import 'package:git_touch/models/notification.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/tab_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:github/github.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/notification.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:git_touch/models/github.dart'; -import '../widgets/notification_item.dart'; -import '../widgets/list_group.dart'; -import '../widgets/empty.dart'; + import '../utils/utils.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; +import '../widgets/empty.dart'; +import '../widgets/list_group.dart'; +import '../widgets/notification_item.dart'; class GhNotificationScreen extends StatefulWidget { @override diff --git a/lib/screens/gh_object.dart b/lib/screens/gh_object.dart index c8e8528..97c6d32 100644 --- a/lib/screens/gh_object.dart +++ b/lib/screens/gh_object.dart @@ -1,5 +1,5 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; import 'package:git_touch/utils/utils.dart'; diff --git a/lib/screens/gh_org_repos.dart b/lib/screens/gh_org_repos.dart index 54bddce..662ccf1 100644 --- a/lib/screens/gh_org_repos.dart +++ b/lib/screens/gh_org_repos.dart @@ -1,12 +1,12 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/repository_item.dart'; -import 'package:provider/provider.dart'; import 'package:github/github.dart'; +import 'package:provider/provider.dart'; import 'package:timeago/timeago.dart' as timeago; -import 'package:flutter_gen/gen_l10n/S.dart'; /// There are some restrictions of organization repos with OAuth /// diff --git a/lib/screens/gh_orgs.dart b/lib/screens/gh_orgs.dart index c6aea5d..374bcc0 100644 --- a/lib/screens/gh_orgs.dart +++ b/lib/screens/gh_orgs.dart @@ -1,12 +1,12 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/github.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/user_item.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GhUserOrganizationScreen extends StatelessWidget { final String login; diff --git a/lib/screens/gh_pulls.dart b/lib/screens/gh_pulls.dart index f213bbe..2087602 100644 --- a/lib/screens/gh_pulls.dart +++ b/lib/screens/gh_pulls.dart @@ -1,5 +1,5 @@ import 'package:ferry/ferry.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; diff --git a/lib/screens/gh_releases.dart b/lib/screens/gh_releases.dart index 9519a31..0444ea0 100644 --- a/lib/screens/gh_releases.dart +++ b/lib/screens/gh_releases.dart @@ -1,14 +1,14 @@ -import 'package:flutter/material.dart'; import 'package:ferry/ferry.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; +import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; import 'package:git_touch/graphql/__generated__/github.var.gql.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/release_item.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; -import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; class GhReleasesScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/gh_repo.dart b/lib/screens/gh_repo.dart index 60adb2a..c4f4c4b 100644 --- a/lib/screens/gh_repo.dart +++ b/lib/screens/gh_repo.dart @@ -2,7 +2,7 @@ import 'package:antd_mobile/antd_mobile.dart'; import 'package:ferry/ferry.dart'; import 'package:filesize/filesize.dart'; import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; diff --git a/lib/screens/gh_repos.dart b/lib/screens/gh_repos.dart index 76f41ad..f73e606 100644 --- a/lib/screens/gh_repos.dart +++ b/lib/screens/gh_repos.dart @@ -1,13 +1,13 @@ import 'package:ferry/ferry.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; import 'package:git_touch/graphql/__generated__/github.var.gql.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:provider/provider.dart'; import 'package:git_touch/widgets/repository_item.dart'; +import 'package:provider/provider.dart'; import 'package:timeago/timeago.dart' as timeago; class GhRepos extends StatelessWidget { diff --git a/lib/screens/gh_search.dart b/lib/screens/gh_search.dart index 0a5ee84..4f9b8fe 100644 --- a/lib/screens/gh_search.dart +++ b/lib/screens/gh_search.dart @@ -1,17 +1,16 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/common.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/issue_item.dart'; import 'package:git_touch/widgets/loading.dart'; +import 'package:git_touch/widgets/repository_item.dart'; import 'package:git_touch/widgets/user_item.dart'; import 'package:primer/primer.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:git_touch/widgets/repository_item.dart'; import 'package:timeago/timeago.dart' as timeago; -import 'package:flutter_gen/gen_l10n/S.dart'; class GhSearchScreen extends StatefulWidget { @override @@ -113,37 +112,6 @@ class _GhSearchScreenState extends State { } } - Widget _buildInput() { - final theme = Provider.of(context); - switch (Provider.of(context).theme) { - case AppThemeType.cupertino: - return Container( - color: theme.palette.background, - child: CupertinoTextField( - prefix: Row( - children: const [ - SizedBox(width: 8), - Icon(Octicons.search, size: 20, color: PrimerColors.gray400), - ], - ), - placeholder: AppLocalizations.of(context)!.search, - clearButtonMode: OverlayVisibilityMode.editing, - textInputAction: TextInputAction.go, - onSubmitted: (_) => _query(), - controller: _controller, - ), - ); - default: - return TextField( - decoration: InputDecoration.collapsed( - hintText: AppLocalizations.of(context)!.search), - textInputAction: TextInputAction.go, - onSubmitted: (_) => _query(), - controller: _controller, - ); - } - } - _onTabSwitch(int? index) { setState(() { _activeTab = index; @@ -210,10 +178,25 @@ class _GhSearchScreenState extends State { @override Widget build(BuildContext context) { - final theme = Provider.of(context).theme; + final theme = Provider.of(context); - final scaffold = CommonScaffold( - title: _buildInput(), + return CommonScaffold( + title: Container( + color: theme.palette.background, + child: CupertinoTextField( + prefix: Row( + children: const [ + SizedBox(width: 8), + Icon(Octicons.search, size: 20, color: PrimerColors.gray400), + ], + ), + placeholder: AppLocalizations.of(context)!.search, + clearButtonMode: OverlayVisibilityMode.editing, + textInputAction: TextInputAction.go, + onSubmitted: (_) => _query(), + controller: _controller, + ), + ), body: SingleChildScrollView( child: Column( children: [ @@ -228,7 +211,8 @@ class _GhSearchScreenState extends State { key, Padding( padding: const EdgeInsets.symmetric(horizontal: 8), - child: Text(text, style: const TextStyle(fontSize: 14)), + child: + Text(text, style: const TextStyle(fontSize: 14)), ))), ), ), @@ -240,19 +224,6 @@ class _GhSearchScreenState extends State { ], ), ), - bottom: TabBar( - onTap: _onTabSwitch, - tabs: tabs.map((text) => Tab(text: text.toUpperCase())).toList(), - ), ); - - if (theme == AppThemeType.material) { - return DefaultTabController( - length: tabs.length, - child: scaffold, - ); - } else { - return scaffold; - } } } diff --git a/lib/screens/gh_trending.dart b/lib/screens/gh_trending.dart index eecd879..9f6c636 100644 --- a/lib/screens/gh_trending.dart +++ b/lib/screens/gh_trending.dart @@ -1,14 +1,14 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/tab_stateful.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/link.dart'; +import 'package:git_touch/widgets/repository_item.dart'; import 'package:git_touch/widgets/user_item.dart'; import 'package:github_trending/github_trending.dart'; -import 'package:git_touch/widgets/repository_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GhTrendingScreen extends StatelessWidget { static final trending = GithubTrending(prefix: 'https://gtrend.yapie.me'); diff --git a/lib/screens/gh_user.dart b/lib/screens/gh_user.dart index 1c86ab0..b09ed25 100644 --- a/lib/screens/gh_user.dart +++ b/lib/screens/gh_user.dart @@ -1,6 +1,6 @@ import 'package:ferry/ferry.dart'; import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; diff --git a/lib/screens/gh_users.dart b/lib/screens/gh_users.dart index 8612776..c9a6cc7 100644 --- a/lib/screens/gh_users.dart +++ b/lib/screens/gh_users.dart @@ -1,12 +1,12 @@ import 'package:ferry/ferry.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/graphql/__generated__/github.req.gql.dart'; import 'package:git_touch/graphql/__generated__/github.var.gql.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/user_item.dart'; -import 'package:git_touch/models/auth.dart'; import 'package:provider/provider.dart'; class GhFollowers extends StatelessWidget { diff --git a/lib/screens/gl_blob.dart b/lib/screens/gl_blob.dart index def3c82..41e443b 100644 --- a/lib/screens/gl_blob.dart +++ b/lib/screens/gl_blob.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; @@ -24,7 +24,8 @@ class GlBlobScreen extends StatelessWidget { '/projects/$id/repository/files/${path!.urlencode}?ref=$ref'); return GitlabBlob.fromJson(res); }, - action: const ActionEntry(iconData: Ionicons.cog, url: '/choose-code-theme'), + action: + const ActionEntry(iconData: Ionicons.cog, url: '/choose-code-theme'), bodyBuilder: (data, _) { return BlobView(path, base64Text: data.content); }, diff --git a/lib/screens/gl_commit.dart b/lib/screens/gl_commit.dart index 9a8278d..288eec3 100644 --- a/lib/screens/gl_commit.dart +++ b/lib/screens/gl_commit.dart @@ -1,4 +1,5 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:flutter_highlight/flutter_highlight.dart'; import 'package:flutter_highlight/theme_map.dart'; import 'package:git_touch/models/auth.dart'; @@ -9,7 +10,6 @@ import 'package:git_touch/scaffolds/refresh_stateful.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; // TODO: class GlCommitScreen extends StatelessWidget { diff --git a/lib/screens/gl_commits.dart b/lib/screens/gl_commits.dart index 826d88c..da6db39 100644 --- a/lib/screens/gl_commits.dart +++ b/lib/screens/gl_commits.dart @@ -1,11 +1,11 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/commit_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GlCommitsScreen extends StatelessWidget { final String id; diff --git a/lib/screens/gl_explore.dart b/lib/screens/gl_explore.dart index 4dbcb52..bff658e 100644 --- a/lib/screens/gl_explore.dart +++ b/lib/screens/gl_explore.dart @@ -1,4 +1,5 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; @@ -6,7 +7,6 @@ import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/repository_item.dart'; import 'package:provider/provider.dart'; import 'package:timeago/timeago.dart' as timeago; -import 'package:flutter_gen/gen_l10n/S.dart'; class GlExploreScreen extends StatelessWidget { @override diff --git a/lib/screens/gl_group.dart b/lib/screens/gl_group.dart index 552393a..4595ba1 100644 --- a/lib/screens/gl_group.dart +++ b/lib/screens/gl_group.dart @@ -1,16 +1,15 @@ -import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/entry_item.dart'; import 'package:git_touch/widgets/repository_item.dart'; import 'package:git_touch/widgets/user_header.dart'; import 'package:provider/provider.dart'; -import 'package:tuple/tuple.dart'; -import 'package:git_touch/utils/utils.dart'; import 'package:timeago/timeago.dart' as timeago; -import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:tuple/tuple.dart'; class GlGroupScreen extends StatelessWidget { final int id; diff --git a/lib/screens/gl_groups.dart b/lib/screens/gl_groups.dart index e40855b..d7db77c 100644 --- a/lib/screens/gl_groups.dart +++ b/lib/screens/gl_groups.dart @@ -1,11 +1,11 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/user_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GlGroupsScreenn extends StatelessWidget { @override diff --git a/lib/screens/gl_issue.dart b/lib/screens/gl_issue.dart index 12ef305..a21a498 100644 --- a/lib/screens/gl_issue.dart +++ b/lib/screens/gl_issue.dart @@ -1,13 +1,13 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/avatar.dart'; import 'package:git_touch/widgets/comment_item.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; import 'package:tuple/tuple.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GlIssueScreen extends StatelessWidget { final int projectId; diff --git a/lib/screens/gl_issues.dart b/lib/screens/gl_issues.dart index 6772393..c228c68 100644 --- a/lib/screens/gl_issues.dart +++ b/lib/screens/gl_issues.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; diff --git a/lib/screens/gl_members.dart b/lib/screens/gl_members.dart index c49eccd..812921a 100644 --- a/lib/screens/gl_members.dart +++ b/lib/screens/gl_members.dart @@ -1,11 +1,11 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/user_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GlMembersScreen extends StatelessWidget { final int id; diff --git a/lib/screens/gl_merge_requests.dart b/lib/screens/gl_merge_requests.dart index 052c373..f8c8a8a 100644 --- a/lib/screens/gl_merge_requests.dart +++ b/lib/screens/gl_merge_requests.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; diff --git a/lib/screens/gl_project.dart b/lib/screens/gl_project.dart index adfced4..49c3ce8 100644 --- a/lib/screens/gl_project.dart +++ b/lib/screens/gl_project.dart @@ -1,6 +1,6 @@ import 'package:filesize/filesize.dart'; import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; diff --git a/lib/screens/gl_project_activity.dart b/lib/screens/gl_project_activity.dart index a1f1f3d..1878d0d 100644 --- a/lib/screens/gl_project_activity.dart +++ b/lib/screens/gl_project_activity.dart @@ -1,4 +1,5 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/models/theme.dart'; @@ -7,7 +8,6 @@ import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/avatar.dart'; import 'package:git_touch/widgets/link.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GlProjectActivityScreen extends StatelessWidget { final int id; diff --git a/lib/screens/gl_search.dart b/lib/screens/gl_search.dart index 95eebb5..4e9bdff 100644 --- a/lib/screens/gl_search.dart +++ b/lib/screens/gl_search.dart @@ -1,17 +1,16 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:git_touch/models/auth.dart'; +import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/common.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/loading.dart'; +import 'package:git_touch/widgets/repository_item.dart'; import 'package:git_touch/widgets/user_item.dart'; import 'package:primer/primer.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:git_touch/widgets/repository_item.dart'; import 'package:timeago/timeago.dart' as timeago; -import 'package:git_touch/models/gitlab.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GlSearchScreen extends StatefulWidget { @override @@ -62,37 +61,6 @@ class _GlSearchScreenState extends State { } } - Widget _buildInput() { - final theme = Provider.of(context); - switch (Provider.of(context).theme) { - case AppThemeType.cupertino: - return Container( - color: theme.palette.background, - child: CupertinoTextField( - prefix: Row( - children: const [ - SizedBox(width: 8), - Icon(Octicons.search, size: 20, color: PrimerColors.gray400), - ], - ), - placeholder: AppLocalizations.of(context)!.search, - clearButtonMode: OverlayVisibilityMode.editing, - textInputAction: TextInputAction.go, - onSubmitted: (_) => _query(), - controller: _controller, - ), - ); - default: - return TextField( - decoration: InputDecoration.collapsed( - hintText: AppLocalizations.of(context)!.search), - textInputAction: TextInputAction.go, - onSubmitted: (_) => _query(), - controller: _controller, - ); - } - } - _onTabSwitch(int? index) { setState(() { _activeTab = index; @@ -126,29 +94,43 @@ class _GlSearchScreenState extends State { @override Widget build(BuildContext context) { - final theme = Provider.of(context).theme; + final theme = Provider.of(context); - final scaffold = CommonScaffold( - title: _buildInput(), + return CommonScaffold( + title: Container( + color: theme.palette.background, + child: CupertinoTextField( + prefix: Row( + children: const [ + SizedBox(width: 8), + Icon(Octicons.search, size: 20, color: PrimerColors.gray400), + ], + ), + placeholder: AppLocalizations.of(context)!.search, + clearButtonMode: OverlayVisibilityMode.editing, + textInputAction: TextInputAction.go, + onSubmitted: (_) => _query(), + controller: _controller, + ), + ), body: SingleChildScrollView( child: Column( children: [ - if (theme == AppThemeType.cupertino) - Center( - child: Padding( - padding: const EdgeInsets.symmetric(vertical: 8), - child: CupertinoSlidingSegmentedControl( - groupValue: _activeTab, - onValueChanged: _onTabSwitch, - children: tabs.asMap().map((key, text) => MapEntry( - key, - Padding( - padding: const EdgeInsets.symmetric(horizontal: 8), - child: Text(text, style: const TextStyle(fontSize: 14)), - ))), - ), + Center( + child: Padding( + padding: const EdgeInsets.symmetric(vertical: 8), + child: CupertinoSlidingSegmentedControl( + groupValue: _activeTab, + onValueChanged: _onTabSwitch, + children: tabs.asMap().map((key, text) => MapEntry( + key, + Padding( + padding: const EdgeInsets.symmetric(horizontal: 8), + child: Text(text, style: const TextStyle(fontSize: 14)), + ))), ), ), + ), if (_loading) const Loading() else if (_activeTab == 0) @@ -158,19 +140,6 @@ class _GlSearchScreenState extends State { ], ), ), - bottom: TabBar( - onTap: _onTabSwitch, - tabs: tabs.map((text) => Tab(text: text.toUpperCase())).toList(), - ), ); - - if (theme == AppThemeType.material) { - return DefaultTabController( - length: tabs.length, - child: scaffold, - ); - } else { - return scaffold; - } } } diff --git a/lib/screens/gl_starrers.dart b/lib/screens/gl_starrers.dart index 10408e0..7ace4a9 100644 --- a/lib/screens/gl_starrers.dart +++ b/lib/screens/gl_starrers.dart @@ -1,4 +1,5 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; @@ -6,7 +7,6 @@ import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/user_item.dart'; import 'package:provider/provider.dart'; import 'package:timeago/timeago.dart' as timeago; -import 'package:flutter_gen/gen_l10n/S.dart'; class GlStarrersScreen extends StatelessWidget { final int id; diff --git a/lib/screens/gl_todos.dart b/lib/screens/gl_todos.dart index 36423f4..cc4dcba 100644 --- a/lib/screens/gl_todos.dart +++ b/lib/screens/gl_todos.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/models/theme.dart'; diff --git a/lib/screens/gl_tree.dart b/lib/screens/gl_tree.dart index 9dd1ab6..676383b 100644 --- a/lib/screens/gl_tree.dart +++ b/lib/screens/gl_tree.dart @@ -1,5 +1,5 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; diff --git a/lib/screens/gl_user.dart b/lib/screens/gl_user.dart index 0e1c97a..a3884d8 100644 --- a/lib/screens/gl_user.dart +++ b/lib/screens/gl_user.dart @@ -1,16 +1,15 @@ -import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitlab.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/repository_item.dart'; import 'package:git_touch/widgets/user_header.dart'; import 'package:provider/provider.dart'; -import 'package:tuple/tuple.dart'; -import 'package:git_touch/utils/utils.dart'; import 'package:timeago/timeago.dart' as timeago; -import 'package:flutter_gen/gen_l10n/S.dart'; +import 'package:tuple/tuple.dart'; class GlUserScreen extends StatelessWidget { final int? id; diff --git a/lib/screens/go_commits.dart b/lib/screens/go_commits.dart index 204378e..33c6d87 100644 --- a/lib/screens/go_commits.dart +++ b/lib/screens/go_commits.dart @@ -1,11 +1,11 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gogs.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/commit_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GoCommitsScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/go_issues.dart b/lib/screens/go_issues.dart index c19f7d1..ed23cac 100644 --- a/lib/screens/go_issues.dart +++ b/lib/screens/go_issues.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gogs.dart'; diff --git a/lib/screens/go_object.dart b/lib/screens/go_object.dart index 2308bd3..fd9ab1e 100644 --- a/lib/screens/go_object.dart +++ b/lib/screens/go_object.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gogs.dart'; diff --git a/lib/screens/go_orgs.dart b/lib/screens/go_orgs.dart index 5fc9331..d81978b 100644 --- a/lib/screens/go_orgs.dart +++ b/lib/screens/go_orgs.dart @@ -1,4 +1,5 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gogs.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; @@ -6,7 +7,6 @@ import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/user_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GoOrgsScreen extends StatelessWidget { final String api; diff --git a/lib/screens/go_repo.dart b/lib/screens/go_repo.dart index e23f54e..16b53cc 100644 --- a/lib/screens/go_repo.dart +++ b/lib/screens/go_repo.dart @@ -1,6 +1,6 @@ import 'dart:convert'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gogs.dart'; diff --git a/lib/screens/go_repos.dart b/lib/screens/go_repos.dart index 7798929..e9a16bc 100644 --- a/lib/screens/go_repos.dart +++ b/lib/screens/go_repos.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gogs.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:provider/provider.dart'; import 'package:git_touch/widgets/repository_item.dart'; +import 'package:provider/provider.dart'; class GoReposScreen extends StatelessWidget { final String api; diff --git a/lib/screens/go_search.dart b/lib/screens/go_search.dart index c23423f..d5b642c 100644 --- a/lib/screens/go_search.dart +++ b/lib/screens/go_search.dart @@ -1,5 +1,5 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; class GoSearchScreen extends StatelessWidget { @override diff --git a/lib/screens/go_user.dart b/lib/screens/go_user.dart index 7bd7db8..0ba1e65 100644 --- a/lib/screens/go_user.dart +++ b/lib/screens/go_user.dart @@ -1,4 +1,3 @@ -import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gogs.dart'; diff --git a/lib/screens/go_users.dart b/lib/screens/go_users.dart index dcd89ff..a3f23f6 100644 --- a/lib/screens/go_users.dart +++ b/lib/screens/go_users.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gogs.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/user_item.dart'; -import 'package:git_touch/models/auth.dart'; import 'package:provider/provider.dart'; class GoUsersScreen extends StatelessWidget { diff --git a/lib/screens/gt_commits.dart b/lib/screens/gt_commits.dart index b407b8f..97fdea5 100644 --- a/lib/screens/gt_commits.dart +++ b/lib/screens/gt_commits.dart @@ -1,11 +1,11 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitea.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/commit_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GtCommitsScreen extends StatelessWidget { final String owner; diff --git a/lib/screens/gt_issue.dart b/lib/screens/gt_issue.dart index 2965a7b..488ea4c 100644 --- a/lib/screens/gt_issue.dart +++ b/lib/screens/gt_issue.dart @@ -1,16 +1,16 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitea.dart'; +import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/refresh_stateful.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/action_button.dart'; import 'package:git_touch/widgets/action_entry.dart'; import 'package:git_touch/widgets/avatar.dart'; -import 'package:git_touch/widgets/link.dart'; import 'package:git_touch/widgets/comment_item.dart'; +import 'package:git_touch/widgets/link.dart'; import 'package:primer/primer.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:git_touch/models/theme.dart'; import 'package:tuple/tuple.dart'; class GtIssueScreen extends StatelessWidget { diff --git a/lib/screens/gt_issues.dart b/lib/screens/gt_issues.dart index 41bcc68..5f3e6aa 100644 --- a/lib/screens/gt_issues.dart +++ b/lib/screens/gt_issues.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitea.dart'; diff --git a/lib/screens/gt_object.dart b/lib/screens/gt_object.dart index 7b1bf28..f6c50f0 100644 --- a/lib/screens/gt_object.dart +++ b/lib/screens/gt_object.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitea.dart'; diff --git a/lib/screens/gt_orgs.dart b/lib/screens/gt_orgs.dart index 8413065..5baf888 100644 --- a/lib/screens/gt_orgs.dart +++ b/lib/screens/gt_orgs.dart @@ -1,11 +1,11 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitea.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/user_item.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class GtOrgsScreen extends StatelessWidget { final String api; diff --git a/lib/screens/gt_repo.dart b/lib/screens/gt_repo.dart index 74e01cb..9541c2e 100644 --- a/lib/screens/gt_repo.dart +++ b/lib/screens/gt_repo.dart @@ -1,7 +1,7 @@ import 'dart:convert'; import 'package:filesize/filesize.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitea.dart'; diff --git a/lib/screens/gt_repos.dart b/lib/screens/gt_repos.dart index c0215f0..2a5f390 100644 --- a/lib/screens/gt_repos.dart +++ b/lib/screens/gt_repos.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitea.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:provider/provider.dart'; import 'package:git_touch/widgets/repository_item.dart'; +import 'package:provider/provider.dart'; import 'package:timeago/timeago.dart' as timeago; class GtReposScreen extends StatelessWidget { diff --git a/lib/screens/gt_status.dart b/lib/screens/gt_status.dart index 3a30d12..64f86dc 100644 --- a/lib/screens/gt_status.dart +++ b/lib/screens/gt_status.dart @@ -1,5 +1,5 @@ import 'dart:convert'; -import 'package:flutter/material.dart'; + import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; diff --git a/lib/screens/gt_user.dart b/lib/screens/gt_user.dart index f7f0b88..f277a8f 100644 --- a/lib/screens/gt_user.dart +++ b/lib/screens/gt_user.dart @@ -1,4 +1,3 @@ -import 'package:flutter/material.dart'; import 'package:flutter/widgets.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitea.dart'; diff --git a/lib/screens/gt_users.dart b/lib/screens/gt_users.dart index 4ac5737..3dc072b 100644 --- a/lib/screens/gt_users.dart +++ b/lib/screens/gt_users.dart @@ -1,9 +1,9 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/gitea.dart'; import 'package:git_touch/scaffolds/list_stateful.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/user_item.dart'; -import 'package:git_touch/models/auth.dart'; import 'package:provider/provider.dart'; import 'package:timeago/timeago.dart' as timeago; diff --git a/lib/screens/image_view.dart b/lib/screens/image_view.dart index bc367dd..b282a3e 100644 --- a/lib/screens/image_view.dart +++ b/lib/screens/image_view.dart @@ -1,4 +1,4 @@ -// import 'package:flutter/material.dart'; +// import 'package:flutter/widgets.dart'; // import 'package:git_touch/models/theme.dart'; // import 'package:git_touch/scaffolds/common.dart'; // import 'package:photo_view/photo_view.dart'; diff --git a/lib/screens/login.dart b/lib/screens/login.dart index 94c04bd..cfb0ee7 100644 --- a/lib/screens/login.dart +++ b/lib/screens/login.dart @@ -1,6 +1,7 @@ import 'package:flutter/cupertino.dart'; import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/scaffolds/single.dart'; @@ -9,10 +10,10 @@ import 'package:git_touch/widgets/action_button.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; import 'package:git_touch/widgets/text_field.dart'; import 'package:provider/provider.dart'; + +import '../widgets/avatar.dart'; import '../widgets/link.dart'; import '../widgets/loading.dart'; -import '../widgets/avatar.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class LoginScreen extends StatefulWidget { @override diff --git a/lib/screens/not_found.dart b/lib/screens/not_found.dart index 44ce85a..cbecec7 100644 --- a/lib/screens/not_found.dart +++ b/lib/screens/not_found.dart @@ -1,7 +1,7 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/scaffolds/single.dart'; import 'package:git_touch/widgets/app_bar_title.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; class NotFoundScreen extends StatelessWidget { @override diff --git a/lib/screens/settings.dart b/lib/screens/settings.dart index 782b047..8ef5fde 100644 --- a/lib/screens/settings.dart +++ b/lib/screens/settings.dart @@ -1,5 +1,5 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/code.dart'; diff --git a/lib/utils/utils.dart b/lib/utils/utils.dart index de07b22..1a58199 100644 --- a/lib/utils/utils.dart +++ b/lib/utils/utils.dart @@ -1,5 +1,6 @@ +import 'package:antd_mobile/antd_mobile.dart'; import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/widgets/border_view.dart'; import 'package:intl/intl.dart'; @@ -9,6 +10,8 @@ import 'package:tuple/tuple.dart'; import 'package:universal_io/io.dart'; import 'package:url_launcher/url_launcher.dart'; +export 'package:flutter/material.dart' + show Colors, Brightness, Card, ExpansionTile, IconButton; // TODO: remove export 'package:flutter_vector_icons/flutter_vector_icons.dart' show Octicons, Ionicons; @@ -47,7 +50,7 @@ Color getFontColorByBrightness(Color color) { // Fimber.d('color: $color, $grayscale'); var showWhite = grayscale < 128; - return showWhite ? Colors.white : Colors.black; + return showWhite ? AntTheme.white : AntTheme.text; } TextSpan createLinkSpan( @@ -84,10 +87,10 @@ class GithubPalette { // final pageSize = 5; const PAGE_SIZE = 30; -var createWarning = (String text) => - Text(text, style: const TextStyle(color: Colors.redAccent)); +var createWarning = + (String text) => Text(text, style: const TextStyle(color: AntTheme.danger)); var warningSpan = - const TextSpan(text: 'xxx', style: TextStyle(color: Colors.redAccent)); + const TextSpan(text: 'xxx', style: TextStyle(color: AntTheme.danger)); List join(T seperator, List xs) { List result = []; diff --git a/lib/widgets/action_button.dart b/lib/widgets/action_button.dart index be230d2..21f221a 100644 --- a/lib/widgets/action_button.dart +++ b/lib/widgets/action_button.dart @@ -1,8 +1,7 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/models/theme.dart'; import 'package:share_plus/share_plus.dart'; class ActionItem { @@ -56,79 +55,54 @@ class ActionButton extends StatelessWidget { @override Widget build(BuildContext context) { final theme = Provider.of(context); - switch (theme.theme) { - case AppThemeType.cupertino: - return CupertinoButton( - minSize: 0, - padding: EdgeInsets.zero, - onPressed: () async { - var value = await showCupertinoModalPopup( - context: context, - builder: (BuildContext context) { - return CupertinoActionSheet( - title: Text(title), - actions: items.asMap().entries.map((entry) { - return CupertinoActionSheetAction( - child: Row( - children: [ - Icon(entry.value.iconData), - const SizedBox(width: 10), - Text( - entry.value.text!, - style: TextStyle( - fontWeight: selected == entry.key - ? FontWeight.w500 - : FontWeight.w400), - ), - ], + return CupertinoButton( + minSize: 0, + padding: EdgeInsets.zero, + onPressed: () async { + var value = await showCupertinoModalPopup( + context: context, + builder: (BuildContext context) { + return CupertinoActionSheet( + title: Text(title), + actions: items.asMap().entries.map((entry) { + return CupertinoActionSheetAction( + child: Row( + children: [ + Icon(entry.value.iconData), + const SizedBox(width: 10), + Text( + entry.value.text!, + style: TextStyle( + fontWeight: selected == entry.key + ? FontWeight.w500 + : FontWeight.w400), ), - onPressed: () { - Navigator.pop(context, entry.key); - }, - ); - }).toList(), - cancelButton: CupertinoActionSheetAction( - isDefaultAction: true, - onPressed: () { - Navigator.pop(context); - }, - child: const Text('Cancel'), + ], ), + onPressed: () { + Navigator.pop(context, entry.key); + }, ); - }, + }).toList(), + cancelButton: CupertinoActionSheetAction( + isDefaultAction: true, + onPressed: () { + Navigator.pop(context); + }, + child: const Text('Cancel'), + ), ); + }, + ); - if (value != null) { - if (items[value].onTap != null) items[value].onTap!(context); - if (items[value].url != null) { - theme.push(context, items[value].url!); - } - } - }, - child: Icon(iconData, size: 22), - ); - default: - return PopupMenuButton( - icon: Icon(iconData), - initialValue: selected, - itemBuilder: (context) { - return items.asMap().entries.map((entry) { - return PopupMenuItem( - value: entry.key, - child: Row( - children: [ - Icon(entry.value.iconData), - const SizedBox(width: 10), - Text(entry.value.text!) - ], - ), - ); - }).toList(); - }, - onSelected: (dynamic value) { - items[value].onTap!(context); - }, - ); - } + if (value != null) { + if (items[value].onTap != null) items[value].onTap!(context); + if (items[value].url != null) { + theme.push(context, items[value].url!); + } + } + }, + child: Icon(iconData, size: 22), + ); } } diff --git a/lib/widgets/action_entry.dart b/lib/widgets/action_entry.dart index 6cd099d..9943e97 100644 --- a/lib/widgets/action_entry.dart +++ b/lib/widgets/action_entry.dart @@ -1,5 +1,4 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; import 'package:git_touch/models/theme.dart'; import 'package:provider/provider.dart'; @@ -12,25 +11,14 @@ class ActionEntry extends StatelessWidget { @override Widget build(BuildContext context) { final theme = Provider.of(context); - switch (theme.theme) { - case AppThemeType.cupertino: - return CupertinoButton( - minSize: 0, - padding: EdgeInsets.zero, - onPressed: () { - if (onTap != null) onTap!(); - if (url != null) theme.push(context, url!); - }, - child: Icon(iconData, size: 22), - ); - default: - return IconButton( - icon: Icon(iconData), - onPressed: () { - if (onTap != null) onTap!(); - if (url != null) theme.push(context, url!); - }, - ); - } + return CupertinoButton( + minSize: 0, + padding: EdgeInsets.zero, + onPressed: () { + if (onTap != null) onTap!(); + if (url != null) theme.push(context, url!); + }, + child: Icon(iconData, size: 22), + ); } } diff --git a/lib/widgets/app_bar_title.dart b/lib/widgets/app_bar_title.dart index 6661346..8592d2f 100644 --- a/lib/widgets/app_bar_title.dart +++ b/lib/widgets/app_bar_title.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; class AppBarTitle extends StatelessWidget { final String? text; diff --git a/lib/widgets/avatar.dart b/lib/widgets/avatar.dart index 13d1c97..d90a541 100644 --- a/lib/widgets/avatar.dart +++ b/lib/widgets/avatar.dart @@ -1,6 +1,7 @@ import 'package:fimber/fimber.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/theme.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/link.dart'; import 'package:provider/provider.dart'; diff --git a/lib/widgets/blob_view.dart b/lib/widgets/blob_view.dart index 8a6e1b9..d108333 100644 --- a/lib/widgets/blob_view.dart +++ b/lib/widgets/blob_view.dart @@ -1,14 +1,15 @@ import 'dart:convert'; + import 'package:flutter/cupertino.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_highlight/flutter_highlight.dart'; import 'package:flutter_highlight/theme_map.dart'; import 'package:git_touch/models/code.dart'; import 'package:git_touch/models/theme.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/loading.dart'; import 'package:git_touch/widgets/markdown_view.dart'; -import 'package:flutter/material.dart'; -import 'package:flutter_highlight/flutter_highlight.dart'; import 'package:provider/provider.dart'; -import 'package:git_touch/utils/utils.dart'; class BlobView extends StatelessWidget { final String? name; diff --git a/lib/widgets/border_view.dart b/lib/widgets/border_view.dart index 72622c4..1b6b960 100644 --- a/lib/widgets/border_view.dart +++ b/lib/widgets/border_view.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/theme.dart'; import 'package:provider/provider.dart'; diff --git a/lib/widgets/comment_item.dart b/lib/widgets/comment_item.dart index a8cf60a..1dbf233 100644 --- a/lib/widgets/comment_item.dart +++ b/lib/widgets/comment_item.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/graphql/__generated__/schema.schema.gql.dart'; import 'package:git_touch/models/auth.dart'; diff --git a/lib/widgets/commit_item.dart b/lib/widgets/commit_item.dart index 78f8937..26edd6b 100644 --- a/lib/widgets/commit_item.dart +++ b/lib/widgets/commit_item.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/avatar.dart'; diff --git a/lib/widgets/contribution.dart b/lib/widgets/contribution.dart index df34534..8dfd5ce 100644 --- a/lib/widgets/contribution.dart +++ b/lib/widgets/contribution.dart @@ -1,6 +1,6 @@ import 'dart:math'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:from_css_color/from_css_color.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; diff --git a/lib/widgets/contributor_item.dart b/lib/widgets/contributor_item.dart index 30a753b..4d4f302 100644 --- a/lib/widgets/contributor_item.dart +++ b/lib/widgets/contributor_item.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/avatar.dart'; diff --git a/lib/widgets/diff_view.dart b/lib/widgets/diff_view.dart index 5e12b5f..2a7433e 100644 --- a/lib/widgets/diff_view.dart +++ b/lib/widgets/diff_view.dart @@ -1,4 +1,4 @@ -// import 'package:flutter/material.dart'; +// import 'package:flutter/widgets.dart'; // import 'package:git_touch/models/code.dart'; // import 'package:git_touch/models/theme.dart'; // import 'package:provider/provider.dart'; diff --git a/lib/widgets/empty.dart b/lib/widgets/empty.dart index 1b0afc1..4ae44e5 100644 --- a/lib/widgets/empty.dart +++ b/lib/widgets/empty.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; class EmptyWidget extends StatelessWidget { @override diff --git a/lib/widgets/error_reload.dart b/lib/widgets/error_reload.dart index 6765b66..464a41a 100644 --- a/lib/widgets/error_reload.dart +++ b/lib/widgets/error_reload.dart @@ -1,4 +1,5 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/utils/utils.dart'; class ErrorReload extends StatelessWidget { final String text; diff --git a/lib/widgets/event_item.dart b/lib/widgets/event_item.dart index 5ab59c2..4b3537f 100644 --- a/lib/widgets/event_item.dart +++ b/lib/widgets/event_item.dart @@ -1,15 +1,16 @@ -import 'package:flutter/gestures.dart'; -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; +import 'package:flutter/gestures.dart'; +import 'package:flutter/widgets.dart'; +import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/models/github.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/widgets/issue_icon.dart'; import 'package:provider/provider.dart'; import 'package:timeago/timeago.dart' as timeago; -import 'avatar.dart'; -import '../widgets/link.dart'; + import '../utils/utils.dart'; -import 'package:flutter_gen/gen_l10n/S.dart'; +import '../widgets/link.dart'; +import 'avatar.dart'; class EventItem extends StatelessWidget { final GithubEvent e; @@ -440,7 +441,8 @@ class EventItem extends StatelessWidget { "${AppLocalizations.of(context)!.wereAddedTo(addedRepos, e.payload!.installation!.id.toString())}\n "; } if (removedRepos != "") { - finalListOfRepos += "$removedRepos ${AppLocalizations.of(context)!.wereRemovedFrom(removedRepos, e.payload!.installation!.id.toString())}"; + finalListOfRepos += + "$removedRepos ${AppLocalizations.of(context)!.wereRemovedFrom(removedRepos, e.payload!.installation!.id.toString())}"; } return _buildItem( context: context, diff --git a/lib/widgets/files_item.dart b/lib/widgets/files_item.dart index be3d551..c27c600 100644 --- a/lib/widgets/files_item.dart +++ b/lib/widgets/files_item.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_highlight/flutter_highlight.dart'; -import 'package:git_touch/models/theme.dart'; +import 'package:flutter_highlight/theme_map.dart'; import 'package:git_touch/models/code.dart'; +import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:provider/provider.dart'; -import 'package:flutter_highlight/theme_map.dart'; class FilesItem extends StatelessWidget { final String? filename; diff --git a/lib/widgets/gists_item.dart b/lib/widgets/gists_item.dart index 8d06e51..f13cf89 100644 --- a/lib/widgets/gists_item.dart +++ b/lib/widgets/gists_item.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:from_css_color/from_css_color.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; diff --git a/lib/widgets/hex_color_tag.dart b/lib/widgets/hex_color_tag.dart index 366188f..be2fd73 100644 --- a/lib/widgets/hex_color_tag.dart +++ b/lib/widgets/hex_color_tag.dart @@ -1,5 +1,5 @@ import 'package:antd_mobile/antd_mobile.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:from_css_color/from_css_color.dart'; class HexColorTag extends StatelessWidget { diff --git a/lib/widgets/html_view.dart b/lib/widgets/html_view.dart index 0b012ff..2428bfc 100644 --- a/lib/widgets/html_view.dart +++ b/lib/widgets/html_view.dart @@ -1,6 +1,7 @@ import 'dart:async'; import 'dart:convert'; -import 'package:flutter/material.dart'; + +import 'package:flutter/widgets.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:webview_flutter/webview_flutter.dart'; diff --git a/lib/widgets/issue_icon.dart b/lib/widgets/issue_icon.dart index b12dff6..e37b312 100644 --- a/lib/widgets/issue_icon.dart +++ b/lib/widgets/issue_icon.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/utils/utils.dart'; enum IssueIconState { diff --git a/lib/widgets/issue_item.dart b/lib/widgets/issue_item.dart index daadc00..5388a24 100644 --- a/lib/widgets/issue_item.dart +++ b/lib/widgets/issue_item.dart @@ -1,8 +1,9 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/widgets/avatar.dart'; import 'package:provider/provider.dart'; import 'package:timeago/timeago.dart' as timeago; + import '../utils/utils.dart'; import '../widgets/link.dart'; @@ -115,7 +116,8 @@ class IssueItem extends StatelessWidget { const SizedBox(width: 4), Text( author!, - style: const TextStyle(fontWeight: FontWeight.w600), + style: const TextStyle( + fontWeight: FontWeight.w600), ), ], Expanded( diff --git a/lib/widgets/link.dart b/lib/widgets/link.dart index eb2fbe7..a202c7c 100644 --- a/lib/widgets/link.dart +++ b/lib/widgets/link.dart @@ -1,6 +1,6 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; import 'package:git_touch/models/theme.dart'; +import 'package:git_touch/utils/utils.dart'; import 'package:provider/provider.dart'; // TODO: @@ -64,31 +64,19 @@ class LinkWidget extends StatelessWidget { Widget build(BuildContext context) { final theme = Provider.of(context); - switch (theme.theme) { - case AppThemeType.cupertino: - Widget w = CupertinoButton( - minSize: 0, - padding: EdgeInsets.zero, - onPressed: () async { - if (onTap != null) onTap!(); - if (url != null) theme.push(context, url!); - }, - child: child, - ); - if (onLongPress != null) { - w = GestureDetector( - onLongPress: onLongPress as void Function()?, child: w); - } - return w; - default: - return InkWell( - onTap: () async { - if (onTap != null) onTap!(); - if (url != null) theme.push(context, url!); - }, - onLongPress: onLongPress as void Function()?, - child: child, - ); + Widget w = CupertinoButton( + minSize: 0, + padding: EdgeInsets.zero, + onPressed: () async { + if (onTap != null) onTap!(); + if (url != null) theme.push(context, url!); + }, + child: child, + ); + if (onLongPress != null) { + w = GestureDetector( + onLongPress: onLongPress as void Function()?, child: w); } + return w; } } diff --git a/lib/widgets/list_group.dart b/lib/widgets/list_group.dart index ecca8e6..08dbc24 100644 --- a/lib/widgets/list_group.dart +++ b/lib/widgets/list_group.dart @@ -1,5 +1,6 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:provider/provider.dart'; + import '../models/theme.dart'; import '../widgets/empty.dart'; diff --git a/lib/widgets/loading.dart b/lib/widgets/loading.dart index 2709ad0..0684664 100644 --- a/lib/widgets/loading.dart +++ b/lib/widgets/loading.dart @@ -1,32 +1,16 @@ -import 'package:flutter/material.dart'; import 'package:flutter/cupertino.dart'; -import 'package:git_touch/models/theme.dart'; -import 'package:provider/provider.dart'; class Loading extends StatelessWidget { final bool more; const Loading({this.more = false}); - Widget _buildIndicator(BuildContext context) { - switch (Provider.of(context).theme) { - case AppThemeType.cupertino: - return const CupertinoActivityIndicator(radius: 12); - default: - return const SizedBox( - width: 24, - height: 24, - child: CircularProgressIndicator(), - ); - } - } - @override Widget build(BuildContext context) { return Center( child: Padding( padding: EdgeInsets.symmetric(vertical: more ? 20 : 100), - child: _buildIndicator(context), + child: const CupertinoActivityIndicator(radius: 12), ), ); } diff --git a/lib/widgets/markdown_view.dart b/lib/widgets/markdown_view.dart index 1a2a811..7100731 100644 --- a/lib/widgets/markdown_view.dart +++ b/lib/widgets/markdown_view.dart @@ -1,12 +1,12 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:git_touch/models/code.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/html_view.dart'; +import 'package:path/path.dart' as path; import 'package:provider/provider.dart'; import 'package:uri/uri.dart'; -import 'package:path/path.dart' as path; class MarkdownViewData { final Future future; diff --git a/lib/widgets/notification_item.dart b/lib/widgets/notification_item.dart index 35cc8bf..05772d2 100644 --- a/lib/widgets/notification_item.dart +++ b/lib/widgets/notification_item.dart @@ -1,10 +1,10 @@ -import 'package:flutter/material.dart'; -import 'package:git_touch/widgets/issue_icon.dart'; +import 'package:flutter/widgets.dart'; +import 'package:git_touch/models/auth.dart'; import 'package:git_touch/models/github.dart'; import 'package:git_touch/utils/utils.dart'; -import 'package:git_touch/models/auth.dart'; -import 'package:provider/provider.dart'; +import 'package:git_touch/widgets/issue_icon.dart'; import 'package:git_touch/widgets/link.dart'; +import 'package:provider/provider.dart'; import '../models/theme.dart'; diff --git a/lib/widgets/object_tree.dart b/lib/widgets/object_tree.dart index bc023d4..1319a7e 100644 --- a/lib/widgets/object_tree.dart +++ b/lib/widgets/object_tree.dart @@ -1,6 +1,6 @@ import 'package:file_icon/file_icon.dart'; import 'package:filesize/filesize.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/table_view.dart'; import 'package:primer/primer.dart'; diff --git a/lib/widgets/release_item.dart b/lib/widgets/release_item.dart index c9ffde3..f9e76d5 100644 --- a/lib/widgets/release_item.dart +++ b/lib/widgets/release_item.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/models/theme.dart'; diff --git a/lib/widgets/repo_header.dart b/lib/widgets/repo_header.dart index 1a0ea7a..85319c0 100644 --- a/lib/widgets/repo_header.dart +++ b/lib/widgets/repo_header.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/avatar.dart'; diff --git a/lib/widgets/repository_item.dart b/lib/widgets/repository_item.dart index d04a249..e10def5 100644 --- a/lib/widgets/repository_item.dart +++ b/lib/widgets/repository_item.dart @@ -1,5 +1,5 @@ import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:from_css_color/from_css_color.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/models/bitbucket.dart'; diff --git a/lib/widgets/table_view.dart b/lib/widgets/table_view.dart index 6c24111..d42f8fa 100644 --- a/lib/widgets/table_view.dart +++ b/lib/widgets/table_view.dart @@ -1,6 +1,6 @@ import 'package:antd_mobile/antd_mobile.dart'; import 'package:flutter/cupertino.dart'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/link.dart'; diff --git a/lib/widgets/text_with_at.dart b/lib/widgets/text_with_at.dart index 9ecd4f7..6e12faf 100644 --- a/lib/widgets/text_with_at.dart +++ b/lib/widgets/text_with_at.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/utils/utils.dart'; class TextWithAt extends StatelessWidget { diff --git a/lib/widgets/timeline_item.dart b/lib/widgets/timeline_item.dart index 5107ef7..8e4b2fb 100644 --- a/lib/widgets/timeline_item.dart +++ b/lib/widgets/timeline_item.dart @@ -1,6 +1,6 @@ import 'dart:core'; -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:flutter_gen/gen_l10n/S.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/graphql/__generated__/schema.schema.gql.dart'; diff --git a/lib/widgets/user_header.dart b/lib/widgets/user_header.dart index 60df12e..15dd2e6 100644 --- a/lib/widgets/user_header.dart +++ b/lib/widgets/user_header.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; import 'package:git_touch/widgets/avatar.dart'; diff --git a/lib/widgets/user_item.dart b/lib/widgets/user_item.dart index aa9f340..74414ec 100644 --- a/lib/widgets/user_item.dart +++ b/lib/widgets/user_item.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/graphql/__generated__/github.data.gql.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/utils/utils.dart'; diff --git a/lib/widgets/user_name.dart b/lib/widgets/user_name.dart index 3cff628..afd11d7 100644 --- a/lib/widgets/user_name.dart +++ b/lib/widgets/user_name.dart @@ -1,4 +1,4 @@ -import 'package:flutter/material.dart'; +import 'package:flutter/widgets.dart'; import 'package:git_touch/models/theme.dart'; import 'package:git_touch/widgets/link.dart'; import 'package:provider/provider.dart';