git-touch-android-ios-app/lib/screens/settings.dart

83 lines
2.7 KiB
Dart

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:git_touch/models/theme.dart';
import 'package:git_touch/scaffolds/single.dart';
import 'package:git_touch/utils/utils.dart';
import 'package:git_touch/widgets/app_bar_title.dart';
import 'package:provider/provider.dart';
import 'package:launch_review/launch_review.dart';
import '../widgets/table_view.dart';
final settingsRouter = RouterScreen(
'/settings',
(context, parameters) => SettingsScreen(),
);
class SettingsScreen extends StatelessWidget {
Widget _buildRightWidget(bool checked) {
if (!checked) return null;
return Icon(Octicons.check, color: CupertinoColors.activeBlue, size: 24);
}
@override
Widget build(BuildContext context) {
var themeProvider = Provider.of<ThemeModel>(context);
return SingleScaffold(
title: AppBarTitle('Settings'),
body: Column(
children: <Widget>[
CommonStyle.verticalGap,
TableView(headerText: 'ACCOUNTS', items: [
TableViewItem(
text: Text('Switch to another account'),
url: '/login',
),
]),
CommonStyle.verticalGap,
TableView(headerText: 'THEME', items: [
TableViewItem(
text: Text('Material'),
rightWidget: _buildRightWidget(
themeProvider.theme == AppThemeType.material),
onTap: () {
if (themeProvider.theme != AppThemeType.material) {
themeProvider.setTheme(AppThemeType.material);
}
},
hideRightChevron: true,
),
TableViewItem(
text: Text('Cupertino'),
rightWidget: _buildRightWidget(
themeProvider.theme == AppThemeType.cupertino),
onTap: () {
if (themeProvider.theme != AppThemeType.cupertino) {
themeProvider.setTheme(AppThemeType.cupertino);
}
},
hideRightChevron: true,
),
]),
CommonStyle.verticalGap,
TableView(headerText: 'ABOUT', items: [
TableViewItem(text: Text('Source Code'), url: '/pd4d10/git-touch'),
TableViewItem(
text: Text('Feedback'), url: '/pd4d10/git-touch/issues/new'),
TableViewItem(text: Text('Credits'), url: '/help/credits'),
TableViewItem(
text: Text('Rate This App'),
onTap: () {
LaunchReview.launch(
androidAppId: 'io.github.pd4d10.gittouch',
iOSAppId: '1452042346',
);
},
),
]),
],
),
);
}
}