Renamed Theme Utils and work on Progress List Item
Signed-off-by: Andreas Fahrecker <AndreasFahrecker@gmail.com>
This commit is contained in:
parent
d6ca3d4270
commit
e71b65bdf3
@ -5,7 +5,7 @@ import 'package:flutter_redux/flutter_redux.dart';
|
||||
import 'package:redux/redux.dart';
|
||||
import 'package:time_progress_tracker/redux/app_state.dart';
|
||||
import 'package:time_progress_tracker/ui/screens/dashboard_screen.dart';
|
||||
import 'package:time_progress_tracker/utils/color_utils.dart';
|
||||
import 'package:time_progress_tracker/utils/theme_utils.dart';
|
||||
|
||||
class TimeProgressTrackerApp extends StatelessWidget {
|
||||
static const String name = "Time Progress Tracker";
|
||||
|
@ -6,6 +6,7 @@ import 'package:flutter_platform_widgets/flutter_platform_widgets.dart';
|
||||
import 'package:percent_indicator/linear_percent_indicator.dart';
|
||||
import 'package:time_progress_tracker/models/time_progress.dart';
|
||||
import 'package:time_progress_tracker/ui/screens/progress_detail_screen.dart';
|
||||
import 'package:time_progress_tracker/utils/theme_utils.dart';
|
||||
|
||||
class ProgressListTileStrings {
|
||||
static String percentString(TimeProgress tp) =>
|
||||
@ -28,13 +29,26 @@ class ProgressListItem extends StatelessWidget {
|
||||
@required this.leftColor,
|
||||
});
|
||||
|
||||
Widget _renderSubtitle(BuildContext context) {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
void _onTileTap() =>
|
||||
Navigator.pushNamed(context, ProgressDetailScreen.routeName,
|
||||
arguments: ProgressDetailScreenArguments(timeProgress.id));
|
||||
Text _renderTitle(bool material) => Text(
|
||||
timeProgress.name,
|
||||
style: material ? null : cupertinoCardTextStyle,
|
||||
);
|
||||
|
||||
Widget _renderSubtitle() {
|
||||
if (!timeProgress.hasStarted())
|
||||
return PlatformText(ProgressListTileStrings.startsInDaysString(timeProgress));
|
||||
return PlatformText(
|
||||
ProgressListTileStrings.startsInDaysString(timeProgress));
|
||||
if (timeProgress.hasEnded())
|
||||
return PlatformText(ProgressListTileStrings.endedDaysAgoString(timeProgress));
|
||||
return PlatformText(
|
||||
ProgressListTileStrings.endedDaysAgoString(timeProgress));
|
||||
return LinearPercentIndicator(
|
||||
center: PlatformText(ProgressListTileStrings.percentString(timeProgress)),
|
||||
center:
|
||||
PlatformText(ProgressListTileStrings.percentString(timeProgress)),
|
||||
percent: timeProgress.percentDone(),
|
||||
progressColor: doneColor,
|
||||
backgroundColor: leftColor,
|
||||
@ -42,33 +56,34 @@ class ProgressListItem extends StatelessWidget {
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
void _onTileTap() =>
|
||||
Navigator.pushNamed(context, ProgressDetailScreen.routeName,
|
||||
arguments: ProgressDetailScreenArguments(timeProgress.id));
|
||||
Text titleText = Text(timeProgress.name);
|
||||
|
||||
if (Platform.isIOS)
|
||||
Widget _renderCupertino() {
|
||||
CupertinoThemeData theme = CupertinoTheme.of(context);
|
||||
return CupertinoButton(
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.grey,
|
||||
color: theme.primaryColor,
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
padding: EdgeInsets.fromLTRB(15, 15, 5, 5),
|
||||
child: Column(
|
||||
children: [
|
||||
titleText,
|
||||
_renderSubtitle(context),
|
||||
_renderTitle(false),
|
||||
_renderSubtitle(),
|
||||
],
|
||||
),
|
||||
),
|
||||
onPressed: _onTileTap);
|
||||
}
|
||||
|
||||
Widget _renderMaterial() {
|
||||
return ListTile(
|
||||
title: titleText,
|
||||
subtitle: _renderSubtitle(context),
|
||||
title: _renderTitle(true),
|
||||
subtitle: _renderSubtitle(),
|
||||
onTap: _onTileTap,
|
||||
);
|
||||
}
|
||||
|
||||
if (Platform.isIOS) return _renderCupertino();
|
||||
return _renderMaterial();
|
||||
}
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ import 'package:time_progress_tracker/ui/screens/active_time_progresses_screen.d
|
||||
import 'package:time_progress_tracker/ui/screens/inactive_time_progresses_screen.dart';
|
||||
import 'package:time_progress_tracker/ui/screens/progress_creation_screen.dart';
|
||||
import 'package:time_progress_tracker/ui/screens/settings_screen.dart';
|
||||
import 'package:time_progress_tracker/utils/color_utils.dart';
|
||||
import 'package:time_progress_tracker/utils/theme_utils.dart';
|
||||
import 'package:time_progress_tracker/utils/constants.dart';
|
||||
|
||||
class DashboardScreen extends StatefulWidget {
|
||||
|
@ -12,7 +12,7 @@ import 'package:time_progress_tracker/redux/store_connectors/create_time_progres
|
||||
import 'package:time_progress_tracker/ui/buttons/create_progress_button.dart';
|
||||
import 'package:time_progress_tracker/ui/buttons/platform_action_button.dart';
|
||||
import 'package:time_progress_tracker/ui/progress/progress_editor_widget.dart';
|
||||
import 'package:time_progress_tracker/utils/color_utils.dart';
|
||||
import 'package:time_progress_tracker/utils/theme_utils.dart';
|
||||
import 'package:time_progress_tracker/utils/helper_functions.dart';
|
||||
|
||||
class ProgressCreationScreen extends StatefulWidget {
|
||||
|
@ -17,4 +17,5 @@ final CupertinoThemeData cupertinoThemeData = CupertinoThemeData(
|
||||
scaffoldBackgroundColor: Colors.white,
|
||||
);
|
||||
final toolbarTextStyle = TextStyle(color: Colors.white, fontSize: 16);
|
||||
final cupertinoCardTextStyle = TextStyle(color: Colors.white);
|
||||
final bottomTabsBackground = Colors.indigoAccent;
|
Loading…
x
Reference in New Issue
Block a user