mirror of
https://github.com/git-touch/git-touch
synced 2025-03-13 17:50:23 +01:00
refactor: drop material widgets
This commit is contained in:
parent
084bc3c86a
commit
4af23c160d
25
lib/app.dart
25
lib/app.dart
@ -1,5 +1,4 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/theme.dart';
|
import 'package:git_touch/models/theme.dart';
|
||||||
@ -48,8 +47,7 @@ class MyApp extends StatelessWidget {
|
|||||||
|
|
||||||
return Container(
|
return Container(
|
||||||
key: auth.rootKey,
|
key: auth.rootKey,
|
||||||
child: theme.theme == AppThemeType.cupertino
|
child: CupertinoApp.router(
|
||||||
? CupertinoApp.router(
|
|
||||||
routeInformationProvider: router.routeInformationProvider,
|
routeInformationProvider: router.routeInformationProvider,
|
||||||
routeInformationParser: router.routeInformationParser,
|
routeInformationParser: router.routeInformationParser,
|
||||||
routerDelegate: router.routerDelegate,
|
routerDelegate: router.routerDelegate,
|
||||||
@ -57,27 +55,6 @@ class MyApp extends StatelessWidget {
|
|||||||
localizationsDelegates: AppLocalizations.localizationsDelegates,
|
localizationsDelegates: AppLocalizations.localizationsDelegates,
|
||||||
supportedLocales: AppLocalizations.supportedLocales,
|
supportedLocales: AppLocalizations.supportedLocales,
|
||||||
localeListResolutionCallback: localeListResolutionCallback,
|
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,
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/notification.dart';
|
import 'package:git_touch/models/notification.dart';
|
||||||
@ -247,8 +246,6 @@ class _HomeState extends State<Home> {
|
|||||||
|
|
||||||
final navigationItems = _buildNavigationItems(auth.activeAccount!.platform);
|
final navigationItems = _buildNavigationItems(auth.activeAccount!.platform);
|
||||||
|
|
||||||
switch (theme.theme) {
|
|
||||||
case AppThemeType.cupertino:
|
|
||||||
return WillPopScope(
|
return WillPopScope(
|
||||||
onWillPop: () async {
|
onWillPop: () async {
|
||||||
return !(await getNavigatorKey(auth.activeTab)
|
return !(await getNavigatorKey(auth.activeTab)
|
||||||
@ -279,24 +276,5 @@ class _HomeState extends State<Home> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
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) {
|
|
||||||
auth.setActiveTab(index);
|
|
||||||
},
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:git_touch/app.dart';
|
import 'package:git_touch/app.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/code.dart';
|
import 'package:git_touch/models/code.dart';
|
||||||
import 'package:git_touch/models/notification.dart';
|
import 'package:git_touch/models/notification.dart';
|
||||||
import 'package:git_touch/models/theme.dart';
|
import 'package:git_touch/models/theme.dart';
|
||||||
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:sentry_flutter/sentry_flutter.dart';
|
import 'package:sentry_flutter/sentry_flutter.dart';
|
||||||
|
@ -1,21 +1,23 @@
|
|||||||
import 'dart:convert';
|
|
||||||
import 'dart:async';
|
import 'dart:async';
|
||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:ferry/ferry.dart';
|
import 'package:ferry/ferry.dart';
|
||||||
// import 'package:in_app_review/in_app_review.dart';
|
import 'package:fimber/fimber.dart';
|
||||||
import 'package:universal_io/io.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:git_touch/models/bitbucket.dart';
|
import 'package:git_touch/models/bitbucket.dart';
|
||||||
import 'package:git_touch/models/gitea.dart';
|
import 'package:git_touch/models/gitea.dart';
|
||||||
import 'package:git_touch/models/gitee.dart';
|
import 'package:git_touch/models/gitee.dart';
|
||||||
import 'package:github/github.dart';
|
import 'package:github/github.dart';
|
||||||
import 'package:gql_http_link/gql_http_link.dart';
|
import 'package:gql_http_link/gql_http_link.dart';
|
||||||
import 'package:fimber/fimber.dart';
|
|
||||||
import 'package:http/http.dart' as http;
|
import 'package:http/http.dart' as http;
|
||||||
import 'package:uni_links/uni_links.dart';
|
|
||||||
import 'package:nanoid/nanoid.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: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 '../utils/utils.dart';
|
||||||
import 'account.dart';
|
import 'account.dart';
|
||||||
import 'gitlab.dart';
|
import 'gitlab.dart';
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:fimber/fimber.dart';
|
import 'package:fimber/fimber.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_highlight/theme_map.dart';
|
import 'package:flutter_highlight/theme_map.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:google_fonts/google_fonts.dart';
|
import 'package:google_fonts/google_fonts.dart';
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:git_touch/models/github.dart';
|
import 'package:git_touch/models/github.dart';
|
||||||
import 'package:tuple/tuple.dart';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@ import 'dart:async';
|
|||||||
|
|
||||||
import 'package:fimber/fimber.dart';
|
import 'package:fimber/fimber.dart';
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/services.dart';
|
import 'package:flutter/services.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
|
@ -1,5 +1,4 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:git_touch/models/theme.dart';
|
import 'package:git_touch/models/theme.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
@ -7,13 +6,11 @@ class CommonScaffold extends StatelessWidget {
|
|||||||
final Widget title;
|
final Widget title;
|
||||||
final Widget body;
|
final Widget body;
|
||||||
final Widget? action;
|
final Widget? action;
|
||||||
final PreferredSizeWidget? bottom;
|
|
||||||
|
|
||||||
const CommonScaffold({
|
const CommonScaffold({
|
||||||
required this.title,
|
required this.title,
|
||||||
required this.body,
|
required this.body,
|
||||||
this.action,
|
this.action,
|
||||||
this.bottom,
|
|
||||||
});
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
@ -22,8 +19,6 @@ class CommonScaffold extends StatelessWidget {
|
|||||||
// FIXME: A hack to get brightness before MaterialApp been built
|
// FIXME: A hack to get brightness before MaterialApp been built
|
||||||
theme.setSystemBrightness(MediaQuery.of(context).platformBrightness);
|
theme.setSystemBrightness(MediaQuery.of(context).platformBrightness);
|
||||||
|
|
||||||
switch (theme.theme) {
|
|
||||||
case AppThemeType.cupertino:
|
|
||||||
return CupertinoPageScaffold(
|
return CupertinoPageScaffold(
|
||||||
navigationBar: CupertinoNavigationBar(
|
navigationBar: CupertinoNavigationBar(
|
||||||
middle: title,
|
middle: title,
|
||||||
@ -31,17 +26,5 @@ class CommonScaffold extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
child: SafeArea(child: body),
|
child: SafeArea(child: body),
|
||||||
);
|
);
|
||||||
default:
|
|
||||||
return Scaffold(
|
|
||||||
appBar: AppBar(
|
|
||||||
title: title,
|
|
||||||
actions: [
|
|
||||||
if (action != null) action!,
|
|
||||||
],
|
|
||||||
bottom: bottom,
|
|
||||||
),
|
|
||||||
body: body,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,12 +1,10 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:git_touch/models/theme.dart';
|
|
||||||
import 'package:git_touch/scaffolds/common.dart';
|
import 'package:git_touch/scaffolds/common.dart';
|
||||||
import 'package:git_touch/utils/utils.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/error_reload.dart';
|
||||||
import 'package:git_touch/widgets/loading.dart';
|
import 'package:git_touch/widgets/loading.dart';
|
||||||
import 'package:git_touch/widgets/empty.dart';
|
|
||||||
export 'package:git_touch/utils/utils.dart';
|
export 'package:git_touch/utils/utils.dart';
|
||||||
|
|
||||||
// This is a scaffold for infinite scroll screens
|
// This is a scaffold for infinite scroll screens
|
||||||
@ -139,28 +137,11 @@ class _ListStatefulScaffoldState<T, K>
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildMaterial() {
|
@override
|
||||||
if (error.isNotEmpty) {
|
Widget build(BuildContext context) {
|
||||||
return ErrorReload(text: error, onTap: _refresh);
|
return CommonScaffold(
|
||||||
} else if (loading && items.isEmpty) {
|
title: widget.title,
|
||||||
return const Loading(more: false);
|
body: CupertinoScrollbar(
|
||||||
} 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<ThemeModel>(context).theme) {
|
|
||||||
case AppThemeType.cupertino:
|
|
||||||
return CupertinoScrollbar(
|
|
||||||
child: CustomScrollView(
|
child: CustomScrollView(
|
||||||
controller: _controller,
|
controller: _controller,
|
||||||
slivers: [
|
slivers: [
|
||||||
@ -168,20 +149,7 @@ class _ListStatefulScaffoldState<T, K>
|
|||||||
_buildCupertinoSliver(),
|
_buildCupertinoSliver(),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
),
|
||||||
default:
|
|
||||||
return RefreshIndicator(
|
|
||||||
onRefresh: _refresh,
|
|
||||||
child: _buildMaterial(),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
return CommonScaffold(
|
|
||||||
title: widget.title,
|
|
||||||
body: _buildBody(),
|
|
||||||
action: widget.actionBuilder?.call(),
|
action: widget.actionBuilder?.call(),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:git_touch/models/theme.dart';
|
import 'package:git_touch/models/theme.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import '../widgets/loading.dart';
|
|
||||||
import '../widgets/link.dart';
|
|
||||||
import '../widgets/error_reload.dart';
|
import '../widgets/error_reload.dart';
|
||||||
|
import '../widgets/link.dart';
|
||||||
|
import '../widgets/loading.dart';
|
||||||
|
|
||||||
class LongListPayload<T, K> {
|
class LongListPayload<T, K> {
|
||||||
T header;
|
T header;
|
||||||
@ -177,11 +177,7 @@ class _LongListStatefulScaffoldState<T, K>
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
switch (Provider.of<ThemeModel>(context).theme) {
|
List<Widget> slivers = [CupertinoSliverRefreshControl(onRefresh: _refresh)];
|
||||||
case AppThemeType.cupertino:
|
|
||||||
List<Widget> slivers = [
|
|
||||||
CupertinoSliverRefreshControl(onRefresh: _refresh)
|
|
||||||
];
|
|
||||||
if (payload != null) {
|
if (payload != null) {
|
||||||
slivers.add(
|
slivers.add(
|
||||||
SliverToBoxAdapter(child: widget.headerBuilder(payload!.header)),
|
SliverToBoxAdapter(child: widget.headerBuilder(payload!.header)),
|
||||||
@ -192,9 +188,8 @@ class _LongListStatefulScaffoldState<T, K>
|
|||||||
return CupertinoPageScaffold(
|
return CupertinoPageScaffold(
|
||||||
navigationBar: CupertinoNavigationBar(
|
navigationBar: CupertinoNavigationBar(
|
||||||
middle: widget.title,
|
middle: widget.title,
|
||||||
trailing: payload == null
|
trailing:
|
||||||
? null
|
payload == null ? null : widget.trailingBuilder!(payload!.header),
|
||||||
: widget.trailingBuilder!(payload!.header),
|
|
||||||
),
|
),
|
||||||
child: SafeArea(
|
child: SafeArea(
|
||||||
child: CupertinoScrollbar(
|
child: CupertinoScrollbar(
|
||||||
@ -202,26 +197,5 @@ class _LongListStatefulScaffoldState<T, K>
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
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(),
|
|
||||||
]),
|
|
||||||
),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:git_touch/scaffolds/common.dart';
|
import 'package:git_touch/scaffolds/common.dart';
|
||||||
import 'package:git_touch/scaffolds/utils.dart';
|
import 'package:git_touch/scaffolds/utils.dart';
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:git_touch/scaffolds/common.dart';
|
import 'package:git_touch/scaffolds/common.dart';
|
||||||
|
|
||||||
class SingleScaffold extends StatelessWidget {
|
class SingleScaffold extends StatelessWidget {
|
||||||
@ -16,7 +16,7 @@ class SingleScaffold extends StatelessWidget {
|
|||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return CommonScaffold(
|
return CommonScaffold(
|
||||||
title: title,
|
title: title,
|
||||||
body: Scrollbar(child: SingleChildScrollView(child: body)),
|
body: CupertinoScrollbar(child: SingleChildScrollView(child: body)),
|
||||||
action: action,
|
action: action,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
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/common.dart';
|
||||||
import 'package:git_touch/scaffolds/utils.dart';
|
import 'package:git_touch/scaffolds/utils.dart';
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
|
|
||||||
class TabScaffold extends StatelessWidget {
|
class TabScaffold extends StatelessWidget {
|
||||||
final Widget title;
|
final Widget title;
|
||||||
@ -24,10 +21,10 @@ class TabScaffold extends StatelessWidget {
|
|||||||
required this.onTabSwitch,
|
required this.onTabSwitch,
|
||||||
});
|
});
|
||||||
|
|
||||||
Widget _buildTitle(BuildContext context) {
|
@override
|
||||||
switch (Provider.of<ThemeModel>(context).theme) {
|
Widget build(BuildContext context) {
|
||||||
case AppThemeType.cupertino:
|
return CommonScaffold(
|
||||||
return DefaultTextStyle(
|
title: DefaultTextStyle(
|
||||||
style: DefaultTextStyle.of(context).style.copyWith(fontSize: 14),
|
style: DefaultTextStyle.of(context).style.copyWith(fontSize: 14),
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
@ -48,32 +45,9 @@ class TabScaffold extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
),
|
||||||
default:
|
|
||||||
return title;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@override
|
|
||||||
Widget build(BuildContext context) {
|
|
||||||
final scaffold = CommonScaffold(
|
|
||||||
title: _buildTitle(context),
|
|
||||||
body: RefreshWrapper(body: body, onRefresh: onRefresh),
|
body: RefreshWrapper(body: body, onRefresh: onRefresh),
|
||||||
// action: action, // TODO:
|
// action: action, // TODO:
|
||||||
bottom: TabBar(
|
|
||||||
onTap: onTabSwitch,
|
|
||||||
tabs: tabs.map((text) => Tab(text: text.toUpperCase())).toList(),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
|
|
||||||
switch (Provider.of<ThemeModel>(context).theme) {
|
|
||||||
case AppThemeType.cupertino:
|
|
||||||
return scaffold;
|
|
||||||
default:
|
|
||||||
return DefaultTabController(
|
|
||||||
length: tabs.length,
|
|
||||||
child: scaffold,
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:git_touch/scaffolds/tab.dart';
|
import 'package:git_touch/scaffolds/tab.dart';
|
||||||
import 'package:git_touch/scaffolds/utils.dart';
|
import 'package:git_touch/scaffolds/utils.dart';
|
||||||
|
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
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/error_reload.dart';
|
||||||
import 'package:git_touch/widgets/loading.dart';
|
import 'package:git_touch/widgets/loading.dart';
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
|
|
||||||
class RefreshWrapper extends StatelessWidget {
|
class RefreshWrapper extends StatelessWidget {
|
||||||
final Widget body;
|
final Widget body;
|
||||||
@ -16,8 +13,6 @@ class RefreshWrapper extends StatelessWidget {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
switch (Provider.of<ThemeModel>(context).theme) {
|
|
||||||
case AppThemeType.cupertino:
|
|
||||||
return CupertinoScrollbar(
|
return CupertinoScrollbar(
|
||||||
child: CustomScrollView(
|
child: CustomScrollView(
|
||||||
slivers: <Widget>[
|
slivers: <Widget>[
|
||||||
@ -27,14 +22,6 @@ class RefreshWrapper extends StatelessWidget {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
default:
|
|
||||||
return RefreshIndicator(
|
|
||||||
onRefresh: onRefresh as Future<void> Function(),
|
|
||||||
child: Scrollbar(
|
|
||||||
child: SingleChildScrollView(child: body),
|
|
||||||
),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -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/models/theme.dart';
|
||||||
// import 'package:git_touch/scaffolds/single.dart';
|
// import 'package:git_touch/scaffolds/single.dart';
|
||||||
// import 'package:git_touch/widgets/app_bar_title.dart';
|
// import 'package:git_touch/widgets/app_bar_title.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/auth.dart';
|
||||||
import 'package:git_touch/models/bitbucket.dart';
|
import 'package:git_touch/models/bitbucket.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/commit_item.dart';
|
import 'package:git_touch/widgets/commit_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class BbCommitsScreen extends StatelessWidget {
|
class BbCommitsScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/bitbucket.dart';
|
import 'package:git_touch/models/bitbucket.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/repository_item.dart';
|
import 'package:git_touch/widgets/repository_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class BbExploreScreen extends StatelessWidget {
|
class BbExploreScreen extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
|
@ -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/bitbucket.dart';
|
||||||
|
import 'package:git_touch/models/theme.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:git_touch/widgets/action_entry.dart';
|
import 'package:git_touch/widgets/action_entry.dart';
|
||||||
import 'package:git_touch/widgets/avatar.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/comment_item.dart';
|
||||||
|
import 'package:git_touch/widgets/link.dart';
|
||||||
import 'package:primer/primer.dart';
|
import 'package:primer/primer.dart';
|
||||||
import 'package:provider/provider.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';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
class BbIssueScreen extends StatelessWidget {
|
class BbIssueScreen extends StatelessWidget {
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/bitbucket.dart';
|
import 'package:git_touch/models/bitbucket.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/action_entry.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/issue_item.dart';
|
import 'package:git_touch/widgets/issue_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class BbIssuesScreen extends StatelessWidget {
|
class BbIssuesScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
import 'dart:convert';
|
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/auth.dart';
|
||||||
import 'package:git_touch/models/bitbucket.dart';
|
import 'package:git_touch/models/bitbucket.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/action_entry.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/blob_view.dart';
|
import 'package:git_touch/widgets/blob_view.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/auth.dart';
|
||||||
import 'package:git_touch/models/bitbucket.dart';
|
import 'package:git_touch/models/bitbucket.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/issue_item.dart';
|
import 'package:git_touch/widgets/issue_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class BbPullsScreen extends StatelessWidget {
|
class BbPullsScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:filesize/filesize.dart';
|
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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/bitbucket.dart';
|
import 'package:git_touch/models/bitbucket.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/auth.dart';
|
||||||
import 'package:git_touch/models/bitbucket.dart';
|
import 'package:git_touch/models/bitbucket.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/user_item.dart';
|
import 'package:git_touch/widgets/user_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:timeago/timeago.dart' as timeago;
|
import 'package:timeago/timeago.dart' as timeago;
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class BbTeamsScreen extends StatelessWidget {
|
class BbTeamsScreen extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
|
@ -1,14 +1,13 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/bitbucket.dart';
|
import 'package:git_touch/models/bitbucket.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.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/action_entry.dart';
|
||||||
import 'package:git_touch/widgets/repository_item.dart';
|
import 'package:git_touch/widgets/repository_item.dart';
|
||||||
import 'package:git_touch/widgets/user_header.dart';
|
import 'package:git_touch/widgets/user_header.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:tuple/tuple.dart';
|
import 'package:tuple/tuple.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
|
||||||
|
|
||||||
class BbUserScreen extends StatelessWidget {
|
class BbUserScreen extends StatelessWidget {
|
||||||
final String? login;
|
final String? login;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/cupertino.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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:flutter_highlight/flutter_highlight.dart';
|
import 'package:flutter_highlight/flutter_highlight.dart';
|
||||||
import 'package:flutter_highlight/theme_map.dart';
|
import 'package:flutter_highlight/theme_map.dart';
|
||||||
@ -13,7 +13,7 @@ import 'package:provider/provider.dart';
|
|||||||
|
|
||||||
class CodeThemeScreen extends StatelessWidget {
|
class CodeThemeScreen extends StatelessWidget {
|
||||||
String _getCode(bool isDark) => '''// ${isDark ? 'Dark' : 'Light'} Mode
|
String _getCode(bool isDark) => '''// ${isDark ? 'Dark' : 'Light'} Mode
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
|
|
||||||
class MyApp extends StatelessWidget {
|
class MyApp extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gitee.dart';
|
import 'package:git_touch/models/gitee.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.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/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/blob_view.dart';
|
import 'package:git_touch/widgets/blob_view.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GeBlobScreen extends StatelessWidget {
|
class GeBlobScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
@ -25,7 +25,8 @@ class GeBlobScreen extends StatelessWidget {
|
|||||||
final res = await auth.fetchGitee('/repos/$owner/$name/git/blobs/$sha');
|
final res = await auth.fetchGitee('/repos/$owner/$name/git/blobs/$sha');
|
||||||
return GiteeBlob.fromJson(res).content;
|
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, _) {
|
bodyBuilder: (content, _) {
|
||||||
return BlobView(path, base64Text: content);
|
return BlobView(path, base64Text: content);
|
||||||
},
|
},
|
||||||
|
@ -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/gitee.dart';
|
||||||
|
import 'package:git_touch/models/theme.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:git_touch/widgets/action_button.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/files_item.dart';
|
||||||
import 'package:git_touch/widgets/link.dart';
|
import 'package:git_touch/widgets/link.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
|
||||||
import 'package:git_touch/models/theme.dart';
|
|
||||||
|
|
||||||
class GeCommitScreen extends StatelessWidget {
|
class GeCommitScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gitee.dart';
|
import 'package:git_touch/models/gitee.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/commit_item.dart';
|
import 'package:git_touch/widgets/commit_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GeCommitsScreen extends StatelessWidget {
|
class GeCommitsScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -1,12 +1,13 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/gitee.dart';
|
||||||
import 'package:git_touch/models/theme.dart';
|
import 'package:git_touch/models/theme.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/app_bar_title.dart';
|
||||||
import 'package:provider/provider.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 {
|
class GeContributorsScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
@ -65,8 +66,7 @@ class GeContributorsScreen extends StatelessWidget {
|
|||||||
color: theme.palette.secondaryText,
|
color: theme.palette.secondaryText,
|
||||||
fontSize: 16,
|
fontSize: 16,
|
||||||
),
|
),
|
||||||
child: Text(
|
child: Text("Contributions: ${v.contributions}"),
|
||||||
"Contributions: ${v.contributions}"),
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
@ -1,13 +1,14 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/gitee.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/action_button.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.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/widgets/files_item.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GeFilesScreen extends StatelessWidget {
|
class GeFilesScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -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/gitee.dart';
|
||||||
|
import 'package:git_touch/models/theme.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:git_touch/widgets/action_button.dart';
|
import 'package:git_touch/widgets/action_button.dart';
|
||||||
import 'package:git_touch/widgets/action_entry.dart';
|
import 'package:git_touch/widgets/action_entry.dart';
|
||||||
import 'package:git_touch/widgets/avatar.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/comment_item.dart';
|
||||||
|
import 'package:git_touch/widgets/link.dart';
|
||||||
import 'package:primer/primer.dart';
|
import 'package:primer/primer.dart';
|
||||||
import 'package:provider/provider.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';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
class GeIssueScreen extends StatelessWidget {
|
class GeIssueScreen extends StatelessWidget {
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gitee.dart';
|
import 'package:git_touch/models/gitee.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/action_entry.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/hex_color_tag.dart';
|
import 'package:git_touch/widgets/hex_color_tag.dart';
|
||||||
|
@ -1,16 +1,16 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gitee.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/scaffolds/refresh_stateful.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:git_touch/widgets/action_button.dart';
|
import 'package:git_touch/widgets/action_button.dart';
|
||||||
import 'package:git_touch/widgets/action_entry.dart';
|
import 'package:git_touch/widgets/action_entry.dart';
|
||||||
import 'package:git_touch/widgets/avatar.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/comment_item.dart';
|
||||||
|
import 'package:git_touch/widgets/link.dart';
|
||||||
import 'package:primer/primer.dart';
|
import 'package:primer/primer.dart';
|
||||||
import 'package:provider/provider.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';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
class GePullScreen extends StatelessWidget {
|
class GePullScreen extends StatelessWidget {
|
||||||
@ -89,7 +89,8 @@ class GePullScreen extends StatelessWidget {
|
|||||||
additions += int.parse(file.additions!);
|
additions += int.parse(file.additions!);
|
||||||
deletions += int.parse(file.deletions!);
|
deletions += int.parse(file.deletions!);
|
||||||
}
|
}
|
||||||
return Column(children: <Widget>[
|
return Column(
|
||||||
|
children: <Widget>[
|
||||||
Container(
|
Container(
|
||||||
padding: CommonStyle.padding,
|
padding: CommonStyle.padding,
|
||||||
child: Column(
|
child: Column(
|
||||||
@ -149,7 +150,8 @@ class GePullScreen extends StatelessWidget {
|
|||||||
LinkWidget(
|
LinkWidget(
|
||||||
url: '/gitee/$owner/$name/pulls/$number/files',
|
url: '/gitee/$owner/$name/pulls/$number/files',
|
||||||
child: Container(
|
child: Container(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 8),
|
padding:
|
||||||
|
const EdgeInsets.symmetric(vertical: 8),
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment:
|
mainAxisAlignment:
|
||||||
MainAxisAlignment.spaceBetween,
|
MainAxisAlignment.spaceBetween,
|
||||||
@ -206,8 +208,8 @@ class GePullScreen extends StatelessWidget {
|
|||||||
url:
|
url:
|
||||||
'/gitee/$owner/$name/commits/${commit.sha}',
|
'/gitee/$owner/$name/commits/${commit.sha}',
|
||||||
child: Container(
|
child: Container(
|
||||||
padding:
|
padding: const EdgeInsets.symmetric(
|
||||||
const EdgeInsets.symmetric(vertical: 8),
|
vertical: 8),
|
||||||
child: Row(
|
child: Row(
|
||||||
mainAxisAlignment:
|
mainAxisAlignment:
|
||||||
MainAxisAlignment.spaceBetween,
|
MainAxisAlignment.spaceBetween,
|
||||||
@ -227,14 +229,17 @@ class GePullScreen extends StatelessWidget {
|
|||||||
)
|
)
|
||||||
]
|
]
|
||||||
],
|
],
|
||||||
)),
|
),
|
||||||
]),
|
),
|
||||||
|
],
|
||||||
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
CommonStyle.border,
|
CommonStyle.border,
|
||||||
],
|
],
|
||||||
)),
|
)),
|
||||||
Column(children: [
|
Column(
|
||||||
|
children: [
|
||||||
for (var comment in comments) ...[
|
for (var comment in comments) ...[
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.only(left: 10),
|
padding: const EdgeInsets.only(left: 10),
|
||||||
@ -253,8 +258,10 @@ class GePullScreen extends StatelessWidget {
|
|||||||
CommonStyle.border,
|
CommonStyle.border,
|
||||||
const SizedBox(height: 16),
|
const SizedBox(height: 16),
|
||||||
],
|
],
|
||||||
]),
|
],
|
||||||
]);
|
),
|
||||||
|
],
|
||||||
|
);
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gitee.dart';
|
import 'package:git_touch/models/gitee.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/hex_color_tag.dart';
|
import 'package:git_touch/widgets/hex_color_tag.dart';
|
||||||
import 'package:git_touch/widgets/issue_item.dart';
|
import 'package:git_touch/widgets/issue_item.dart';
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'dart:io';
|
import 'dart:io';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gitee.dart';
|
import 'package:git_touch/models/gitee.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/models/gitee.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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/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:git_touch/widgets/repository_item.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
import 'package:timeago/timeago.dart' as timeago;
|
import 'package:timeago/timeago.dart' as timeago;
|
||||||
|
|
||||||
class GeReposScreen extends StatelessWidget {
|
class GeReposScreen extends StatelessWidget {
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
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/scaffolds/common.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:git_touch/widgets/issue_item.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:git_touch/widgets/user_item.dart';
|
||||||
import 'package:primer/primer.dart';
|
import 'package:primer/primer.dart';
|
||||||
import 'package:provider/provider.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;
|
import 'package:timeago/timeago.dart' as timeago;
|
||||||
|
|
||||||
class GeSearchScreen extends StatefulWidget {
|
class GeSearchScreen extends StatefulWidget {
|
||||||
@ -71,37 +70,6 @@ class _GeSearchScreenState extends State<GeSearchScreen> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildInput() {
|
|
||||||
final theme = Provider.of<ThemeModel>(context);
|
|
||||||
switch (Provider.of<ThemeModel>(context).theme) {
|
|
||||||
case AppThemeType.cupertino:
|
|
||||||
return Container(
|
|
||||||
color: theme.palette.background,
|
|
||||||
child: CupertinoTextField(
|
|
||||||
prefix: Row(
|
|
||||||
children: const <Widget>[
|
|
||||||
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) {
|
_onTabSwitch(int? index) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_activeTab = index;
|
_activeTab = index;
|
||||||
@ -150,10 +118,25 @@ class _GeSearchScreenState extends State<GeSearchScreen> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final theme = Provider.of<ThemeModel>(context).theme;
|
final theme = Provider.of<ThemeModel>(context);
|
||||||
|
|
||||||
final scaffold = CommonScaffold(
|
return CommonScaffold(
|
||||||
title: _buildInput(),
|
title: Container(
|
||||||
|
color: theme.palette.background,
|
||||||
|
child: CupertinoTextField(
|
||||||
|
prefix: Row(
|
||||||
|
children: const <Widget>[
|
||||||
|
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(
|
body: SingleChildScrollView(
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
@ -168,7 +151,8 @@ class _GeSearchScreenState extends State<GeSearchScreen> {
|
|||||||
key,
|
key,
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 8),
|
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<GeSearchScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/cupertino.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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gitee.dart';
|
import 'package:git_touch/models/gitee.dart';
|
||||||
|
@ -1,18 +1,18 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/models/gitee.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
||||||
import 'package:git_touch/utils/utils.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/action_entry.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.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/entry_item.dart';
|
||||||
import 'package:git_touch/widgets/repository_item.dart';
|
import 'package:git_touch/widgets/repository_item.dart';
|
||||||
import 'package:git_touch/widgets/user_header.dart';
|
import 'package:git_touch/widgets/user_header.dart';
|
||||||
import 'package:provider/provider.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:timeago/timeago.dart' as timeago;
|
||||||
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
class GeUserScreen extends StatelessWidget {
|
class GeUserScreen extends StatelessWidget {
|
||||||
final String login;
|
final String login;
|
||||||
|
@ -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/models/gitee.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/user_item.dart';
|
import 'package:git_touch/widgets/user_item.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
class GeUsersScreen extends StatelessWidget {
|
class GeUsersScreen extends StatelessWidget {
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
import 'package:ferry/ferry.dart';
|
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.data.gql.dart';
|
||||||
import 'package:git_touch/graphql/__generated__/github.req.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/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/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/commit_item.dart';
|
import 'package:git_touch/widgets/commit_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GhCommits extends StatelessWidget {
|
class GhCommits extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
@ -21,7 +21,8 @@ class GhCommits extends StatelessWidget {
|
|||||||
const size = 18.0;
|
const size = 18.0;
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case GStatusState.SUCCESS:
|
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:
|
case GStatusState.FAILURE:
|
||||||
return const Icon(Octicons.x, color: GithubPalette.closed, size: size);
|
return const Icon(Octicons.x, color: GithubPalette.closed, size: size);
|
||||||
default:
|
default:
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/github.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.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: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 {
|
class GhComparisonScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/github.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/contributor_item.dart';
|
import 'package:git_touch/widgets/contributor_item.dart';
|
||||||
import 'package:provider/provider.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 {
|
class GhContributorsScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/github.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.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/widgets/event_item.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GhEventsScreen extends StatelessWidget {
|
class GhEventsScreen extends StatelessWidget {
|
||||||
final String login;
|
final String login;
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/github.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/action_button.dart';
|
import 'package:git_touch/widgets/action_button.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.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/widgets/files_item.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GhFilesScreen extends StatelessWidget {
|
class GhFilesScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -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/scaffolds/common.dart';
|
||||||
import 'package:git_touch/utils/utils.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/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/blob_view.dart';
|
import 'package:git_touch/widgets/blob_view.dart';
|
||||||
import 'package:git_touch/widgets/action_entry.dart';
|
|
||||||
|
|
||||||
class GistObjectScreen extends StatelessWidget {
|
class GistObjectScreen extends StatelessWidget {
|
||||||
final String login;
|
final String login;
|
||||||
@ -12,7 +12,8 @@ class GistObjectScreen extends StatelessWidget {
|
|||||||
final String? raw;
|
final String? raw;
|
||||||
final String? content;
|
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
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
@ -1,15 +1,15 @@
|
|||||||
import 'package:ferry/ferry.dart';
|
import 'package:ferry/ferry.dart';
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/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/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/gists_item.dart';
|
import 'package:git_touch/widgets/gists_item.dart';
|
||||||
import 'package:provider/provider.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 {
|
class GhGistsScreen extends StatelessWidget {
|
||||||
final String login;
|
final String login;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import 'package:ferry/ferry.dart';
|
import 'package:ferry/ferry.dart';
|
||||||
import 'package:flutter/cupertino.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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/graphql/__generated__/github.data.gql.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.req.gql.dart';
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:ferry/ferry.dart';
|
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.data.gql.dart';
|
||||||
import 'package:git_touch/graphql/__generated__/github.req.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/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/avatar.dart';
|
||||||
import 'package:git_touch/widgets/link.dart';
|
import 'package:git_touch/widgets/link.dart';
|
||||||
import 'package:git_touch/widgets/timeline_item.dart';
|
import 'package:git_touch/widgets/timeline_item.dart';
|
||||||
|
import 'package:github/github.dart' as github;
|
||||||
import 'package:primer/primer.dart';
|
import 'package:primer/primer.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:github/github.dart' as github;
|
|
||||||
import '../scaffolds/long_list.dart';
|
import '../scaffolds/long_list.dart';
|
||||||
import '../widgets/comment_item.dart';
|
import '../widgets/comment_item.dart';
|
||||||
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:ferry/ferry.dart';
|
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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/graphql/__generated__/github.data.gql.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.req.gql.dart';
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/github.dart';
|
||||||
import 'package:git_touch/models/notification.dart';
|
import 'package:git_touch/models/notification.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.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/widgets/event_item.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GhNewsScreen extends StatefulWidget {
|
class GhNewsScreen extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/models/theme.dart';
|
||||||
import 'package:git_touch/scaffolds/tab_stateful.dart';
|
import 'package:git_touch/scaffolds/tab_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:github/github.dart';
|
import 'package:github/github.dart';
|
||||||
import 'package:provider/provider.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 '../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 {
|
class GhNotificationScreen extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
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/models/auth.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.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/models/auth.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/repository_item.dart';
|
import 'package:git_touch/widgets/repository_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
|
||||||
import 'package:github/github.dart';
|
import 'package:github/github.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
import 'package:timeago/timeago.dart' as timeago;
|
import 'package:timeago/timeago.dart' as timeago;
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
/// There are some restrictions of organization repos with OAuth
|
/// There are some restrictions of organization repos with OAuth
|
||||||
///
|
///
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/github.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/user_item.dart';
|
import 'package:git_touch/widgets/user_item.dart';
|
||||||
import 'package:provider/provider.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 {
|
class GhUserOrganizationScreen extends StatelessWidget {
|
||||||
final String login;
|
final String login;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:ferry/ferry.dart';
|
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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/graphql/__generated__/github.data.gql.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.req.gql.dart';
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:ferry/ferry.dart';
|
import 'package:ferry/ferry.dart';
|
||||||
import 'package:flutter/cupertino.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/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/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/release_item.dart';
|
import 'package:git_touch/widgets/release_item.dart';
|
||||||
import 'package:provider/provider.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 {
|
class GhReleasesScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -2,7 +2,7 @@ import 'package:antd_mobile/antd_mobile.dart';
|
|||||||
import 'package:ferry/ferry.dart';
|
import 'package:ferry/ferry.dart';
|
||||||
import 'package:filesize/filesize.dart';
|
import 'package:filesize/filesize.dart';
|
||||||
import 'package:flutter/cupertino.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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/graphql/__generated__/github.data.gql.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.req.gql.dart';
|
||||||
|
@ -1,13 +1,13 @@
|
|||||||
import 'package:ferry/ferry.dart';
|
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.data.gql.dart';
|
||||||
import 'package:git_touch/graphql/__generated__/github.req.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/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/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.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:git_touch/widgets/repository_item.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
import 'package:timeago/timeago.dart' as timeago;
|
import 'package:timeago/timeago.dart' as timeago;
|
||||||
|
|
||||||
class GhRepos extends StatelessWidget {
|
class GhRepos extends StatelessWidget {
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/models/theme.dart';
|
||||||
import 'package:git_touch/scaffolds/common.dart';
|
import 'package:git_touch/scaffolds/common.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:git_touch/widgets/issue_item.dart';
|
import 'package:git_touch/widgets/issue_item.dart';
|
||||||
import 'package:git_touch/widgets/loading.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:git_touch/widgets/user_item.dart';
|
||||||
import 'package:primer/primer.dart';
|
import 'package:primer/primer.dart';
|
||||||
import 'package:provider/provider.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:timeago/timeago.dart' as timeago;
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GhSearchScreen extends StatefulWidget {
|
class GhSearchScreen extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
@ -113,37 +112,6 @@ class _GhSearchScreenState extends State<GhSearchScreen> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildInput() {
|
|
||||||
final theme = Provider.of<ThemeModel>(context);
|
|
||||||
switch (Provider.of<ThemeModel>(context).theme) {
|
|
||||||
case AppThemeType.cupertino:
|
|
||||||
return Container(
|
|
||||||
color: theme.palette.background,
|
|
||||||
child: CupertinoTextField(
|
|
||||||
prefix: Row(
|
|
||||||
children: const <Widget>[
|
|
||||||
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) {
|
_onTabSwitch(int? index) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_activeTab = index;
|
_activeTab = index;
|
||||||
@ -210,10 +178,25 @@ class _GhSearchScreenState extends State<GhSearchScreen> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final theme = Provider.of<ThemeModel>(context).theme;
|
final theme = Provider.of<ThemeModel>(context);
|
||||||
|
|
||||||
final scaffold = CommonScaffold(
|
return CommonScaffold(
|
||||||
title: _buildInput(),
|
title: Container(
|
||||||
|
color: theme.palette.background,
|
||||||
|
child: CupertinoTextField(
|
||||||
|
prefix: Row(
|
||||||
|
children: const <Widget>[
|
||||||
|
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(
|
body: SingleChildScrollView(
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
@ -228,7 +211,8 @@ class _GhSearchScreenState extends State<GhSearchScreen> {
|
|||||||
key,
|
key,
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsets.symmetric(horizontal: 8),
|
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<GhSearchScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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/models/theme.dart';
|
||||||
import 'package:git_touch/scaffolds/tab_stateful.dart';
|
import 'package:git_touch/scaffolds/tab_stateful.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/link.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:git_touch/widgets/user_item.dart';
|
||||||
import 'package:github_trending/github_trending.dart';
|
import 'package:github_trending/github_trending.dart';
|
||||||
import 'package:git_touch/widgets/repository_item.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GhTrendingScreen extends StatelessWidget {
|
class GhTrendingScreen extends StatelessWidget {
|
||||||
static final trending = GithubTrending(prefix: 'https://gtrend.yapie.me');
|
static final trending = GithubTrending(prefix: 'https://gtrend.yapie.me');
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import 'package:ferry/ferry.dart';
|
import 'package:ferry/ferry.dart';
|
||||||
import 'package:flutter/cupertino.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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/graphql/__generated__/github.data.gql.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.req.gql.dart';
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
import 'package:ferry/ferry.dart';
|
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.data.gql.dart';
|
||||||
import 'package:git_touch/graphql/__generated__/github.req.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/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/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/user_item.dart';
|
import 'package:git_touch/widgets/user_item.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
class GhFollowers extends StatelessWidget {
|
class GhFollowers extends StatelessWidget {
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.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');
|
'/projects/$id/repository/files/${path!.urlencode}?ref=$ref');
|
||||||
return GitlabBlob.fromJson(res);
|
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, _) {
|
bodyBuilder: (data, _) {
|
||||||
return BlobView(path, base64Text: data.content);
|
return BlobView(path, base64Text: data.content);
|
||||||
},
|
},
|
||||||
|
@ -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/flutter_highlight.dart';
|
||||||
import 'package:flutter_highlight/theme_map.dart';
|
import 'package:flutter_highlight/theme_map.dart';
|
||||||
import 'package:git_touch/models/auth.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/utils/utils.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
// TODO:
|
// TODO:
|
||||||
class GlCommitScreen extends StatelessWidget {
|
class GlCommitScreen extends StatelessWidget {
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/commit_item.dart';
|
import 'package:git_touch/widgets/commit_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GlCommitsScreen extends StatelessWidget {
|
class GlCommitsScreen extends StatelessWidget {
|
||||||
final String id;
|
final String id;
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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:git_touch/widgets/repository_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:timeago/timeago.dart' as timeago;
|
import 'package:timeago/timeago.dart' as timeago;
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GlExploreScreen extends StatelessWidget {
|
class GlExploreScreen extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/widgets.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/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.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/entry_item.dart';
|
||||||
import 'package:git_touch/widgets/repository_item.dart';
|
import 'package:git_touch/widgets/repository_item.dart';
|
||||||
import 'package:git_touch/widgets/user_header.dart';
|
import 'package:git_touch/widgets/user_header.dart';
|
||||||
import 'package:provider/provider.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:timeago/timeago.dart' as timeago;
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
class GlGroupScreen extends StatelessWidget {
|
class GlGroupScreen extends StatelessWidget {
|
||||||
final int id;
|
final int id;
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/user_item.dart';
|
import 'package:git_touch/widgets/user_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GlGroupsScreenn extends StatelessWidget {
|
class GlGroupsScreenn extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
|
@ -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/models/gitlab.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:git_touch/widgets/avatar.dart';
|
import 'package:git_touch/widgets/avatar.dart';
|
||||||
import 'package:git_touch/widgets/comment_item.dart';
|
import 'package:git_touch/widgets/comment_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
|
||||||
import 'package:tuple/tuple.dart';
|
import 'package:tuple/tuple.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GlIssueScreen extends StatelessWidget {
|
class GlIssueScreen extends StatelessWidget {
|
||||||
final int projectId;
|
final int projectId;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.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/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/user_item.dart';
|
import 'package:git_touch/widgets/user_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GlMembersScreen extends StatelessWidget {
|
class GlMembersScreen extends StatelessWidget {
|
||||||
final int id;
|
final int id;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import 'package:filesize/filesize.dart';
|
import 'package:filesize/filesize.dart';
|
||||||
import 'package:flutter/cupertino.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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.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/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
import 'package:git_touch/models/theme.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/avatar.dart';
|
||||||
import 'package:git_touch/widgets/link.dart';
|
import 'package:git_touch/widgets/link.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GlProjectActivityScreen extends StatelessWidget {
|
class GlProjectActivityScreen extends StatelessWidget {
|
||||||
final int id;
|
final int id;
|
||||||
|
@ -1,17 +1,16 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/cupertino.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/models/theme.dart';
|
||||||
import 'package:git_touch/scaffolds/common.dart';
|
import 'package:git_touch/scaffolds/common.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:git_touch/widgets/loading.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:git_touch/widgets/user_item.dart';
|
||||||
import 'package:primer/primer.dart';
|
import 'package:primer/primer.dart';
|
||||||
import 'package:provider/provider.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:timeago/timeago.dart' as timeago;
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GlSearchScreen extends StatefulWidget {
|
class GlSearchScreen extends StatefulWidget {
|
||||||
@override
|
@override
|
||||||
@ -62,37 +61,6 @@ class _GlSearchScreenState extends State<GlSearchScreen> {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget _buildInput() {
|
|
||||||
final theme = Provider.of<ThemeModel>(context);
|
|
||||||
switch (Provider.of<ThemeModel>(context).theme) {
|
|
||||||
case AppThemeType.cupertino:
|
|
||||||
return Container(
|
|
||||||
color: theme.palette.background,
|
|
||||||
child: CupertinoTextField(
|
|
||||||
prefix: Row(
|
|
||||||
children: const <Widget>[
|
|
||||||
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) {
|
_onTabSwitch(int? index) {
|
||||||
setState(() {
|
setState(() {
|
||||||
_activeTab = index;
|
_activeTab = index;
|
||||||
@ -126,14 +94,28 @@ class _GlSearchScreenState extends State<GlSearchScreen> {
|
|||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
final theme = Provider.of<ThemeModel>(context).theme;
|
final theme = Provider.of<ThemeModel>(context);
|
||||||
|
|
||||||
final scaffold = CommonScaffold(
|
return CommonScaffold(
|
||||||
title: _buildInput(),
|
title: Container(
|
||||||
|
color: theme.palette.background,
|
||||||
|
child: CupertinoTextField(
|
||||||
|
prefix: Row(
|
||||||
|
children: const <Widget>[
|
||||||
|
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(
|
body: SingleChildScrollView(
|
||||||
child: Column(
|
child: Column(
|
||||||
children: [
|
children: [
|
||||||
if (theme == AppThemeType.cupertino)
|
|
||||||
Center(
|
Center(
|
||||||
child: Padding(
|
child: Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 8),
|
padding: const EdgeInsets.symmetric(vertical: 8),
|
||||||
@ -158,19 +140,6 @@ class _GlSearchScreenState extends State<GlSearchScreen> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
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;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.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:git_touch/widgets/user_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:timeago/timeago.dart' as timeago;
|
import 'package:timeago/timeago.dart' as timeago;
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GlStarrersScreen extends StatelessWidget {
|
class GlStarrersScreen extends StatelessWidget {
|
||||||
final int id;
|
final int id;
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
import 'package:git_touch/models/theme.dart';
|
import 'package:git_touch/models/theme.dart';
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/cupertino.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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
|
@ -1,16 +1,15 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/widgets.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/auth.dart';
|
||||||
import 'package:git_touch/models/gitlab.dart';
|
import 'package:git_touch/models/gitlab.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.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/action_entry.dart';
|
||||||
import 'package:git_touch/widgets/repository_item.dart';
|
import 'package:git_touch/widgets/repository_item.dart';
|
||||||
import 'package:git_touch/widgets/user_header.dart';
|
import 'package:git_touch/widgets/user_header.dart';
|
||||||
import 'package:provider/provider.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:timeago/timeago.dart' as timeago;
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
class GlUserScreen extends StatelessWidget {
|
class GlUserScreen extends StatelessWidget {
|
||||||
final int? id;
|
final int? id;
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gogs.dart';
|
import 'package:git_touch/models/gogs.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/commit_item.dart';
|
import 'package:git_touch/widgets/commit_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GoCommitsScreen extends StatelessWidget {
|
class GoCommitsScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gogs.dart';
|
import 'package:git_touch/models/gogs.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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gogs.dart';
|
import 'package:git_touch/models/gogs.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/auth.dart';
|
||||||
import 'package:git_touch/models/gogs.dart';
|
import 'package:git_touch/models/gogs.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.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/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/user_item.dart';
|
import 'package:git_touch/widgets/user_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GoOrgsScreen extends StatelessWidget {
|
class GoOrgsScreen extends StatelessWidget {
|
||||||
final String api;
|
final String api;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gogs.dart';
|
import 'package:git_touch/models/gogs.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/models/gogs.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.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:git_touch/widgets/repository_item.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
class GoReposScreen extends StatelessWidget {
|
class GoReposScreen extends StatelessWidget {
|
||||||
final String api;
|
final String api;
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'package:flutter/cupertino.dart';
|
import 'package:flutter/cupertino.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
|
|
||||||
class GoSearchScreen extends StatelessWidget {
|
class GoSearchScreen extends StatelessWidget {
|
||||||
@override
|
@override
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gogs.dart';
|
import 'package:git_touch/models/gogs.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/models/gogs.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/user_item.dart';
|
import 'package:git_touch/widgets/user_item.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
|
||||||
class GoUsersScreen extends StatelessWidget {
|
class GoUsersScreen extends StatelessWidget {
|
||||||
|
@ -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/auth.dart';
|
||||||
import 'package:git_touch/models/gitea.dart';
|
import 'package:git_touch/models/gitea.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/commit_item.dart';
|
import 'package:git_touch/widgets/commit_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GtCommitsScreen extends StatelessWidget {
|
class GtCommitsScreen extends StatelessWidget {
|
||||||
final String owner;
|
final String owner;
|
||||||
|
@ -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/gitea.dart';
|
||||||
|
import 'package:git_touch/models/theme.dart';
|
||||||
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
import 'package:git_touch/scaffolds/refresh_stateful.dart';
|
||||||
import 'package:git_touch/utils/utils.dart';
|
import 'package:git_touch/utils/utils.dart';
|
||||||
import 'package:git_touch/widgets/action_button.dart';
|
import 'package:git_touch/widgets/action_button.dart';
|
||||||
import 'package:git_touch/widgets/action_entry.dart';
|
import 'package:git_touch/widgets/action_entry.dart';
|
||||||
import 'package:git_touch/widgets/avatar.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/comment_item.dart';
|
||||||
|
import 'package:git_touch/widgets/link.dart';
|
||||||
import 'package:primer/primer.dart';
|
import 'package:primer/primer.dart';
|
||||||
import 'package:provider/provider.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';
|
import 'package:tuple/tuple.dart';
|
||||||
|
|
||||||
class GtIssueScreen extends StatelessWidget {
|
class GtIssueScreen extends StatelessWidget {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gitea.dart';
|
import 'package:git_touch/models/gitea.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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gitea.dart';
|
import 'package:git_touch/models/gitea.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/auth.dart';
|
||||||
import 'package:git_touch/models/gitea.dart';
|
import 'package:git_touch/models/gitea.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/user_item.dart';
|
import 'package:git_touch/widgets/user_item.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
|
||||||
|
|
||||||
class GtOrgsScreen extends StatelessWidget {
|
class GtOrgsScreen extends StatelessWidget {
|
||||||
final String api;
|
final String api;
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:filesize/filesize.dart';
|
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:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gitea.dart';
|
import 'package:git_touch/models/gitea.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/models/gitea.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.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:git_touch/widgets/repository_item.dart';
|
||||||
|
import 'package:provider/provider.dart';
|
||||||
import 'package:timeago/timeago.dart' as timeago;
|
import 'package:timeago/timeago.dart' as timeago;
|
||||||
|
|
||||||
class GtReposScreen extends StatelessWidget {
|
class GtReposScreen extends StatelessWidget {
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/S.dart';
|
import 'package:flutter_gen/gen_l10n/S.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
|
@ -1,4 +1,3 @@
|
|||||||
import 'package:flutter/material.dart';
|
|
||||||
import 'package:flutter/widgets.dart';
|
import 'package:flutter/widgets.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
import 'package:git_touch/models/auth.dart';
|
||||||
import 'package:git_touch/models/gitea.dart';
|
import 'package:git_touch/models/gitea.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/models/gitea.dart';
|
||||||
import 'package:git_touch/scaffolds/list_stateful.dart';
|
import 'package:git_touch/scaffolds/list_stateful.dart';
|
||||||
import 'package:git_touch/widgets/app_bar_title.dart';
|
import 'package:git_touch/widgets/app_bar_title.dart';
|
||||||
import 'package:git_touch/widgets/user_item.dart';
|
import 'package:git_touch/widgets/user_item.dart';
|
||||||
import 'package:git_touch/models/auth.dart';
|
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
import 'package:timeago/timeago.dart' as timeago;
|
import 'package:timeago/timeago.dart' as timeago;
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user