Created ActiveTimeProgressesScreen and migrated ListView and Item to Platform Specific
Signed-off-by: Andreas Fahrecker <AndreasFahrecker@gmail.com>
This commit is contained in:
@ -1,3 +1,6 @@
|
||||
import 'dart:io' show Platform;
|
||||
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:percent_indicator/linear_percent_indicator.dart';
|
||||
import 'package:time_progress_tracker/models/time_progress.dart';
|
||||
@ -14,11 +17,11 @@ class ProgressListTileStrings {
|
||||
"Ended ${tp.daysSinceEnd()} Days ago.";
|
||||
}
|
||||
|
||||
class ProgressListTile extends StatelessWidget {
|
||||
class ProgressListItem extends StatelessWidget {
|
||||
final TimeProgress timeProgress;
|
||||
final Color doneColor, leftColor;
|
||||
|
||||
ProgressListTile({
|
||||
ProgressListItem({
|
||||
@required this.timeProgress,
|
||||
@required this.doneColor,
|
||||
@required this.leftColor,
|
||||
@ -43,9 +46,26 @@ class ProgressListTile extends StatelessWidget {
|
||||
void _onTileTap() =>
|
||||
Navigator.pushNamed(context, ProgressDetailScreen.routeName,
|
||||
arguments: ProgressDetailScreenArguments(timeProgress.id));
|
||||
Text titleText = Text(timeProgress.name);
|
||||
|
||||
if (Platform.isIOS)
|
||||
return CupertinoButton(
|
||||
child: Container(
|
||||
decoration: BoxDecoration(
|
||||
color: Colors.grey,
|
||||
borderRadius: BorderRadius.circular(12),
|
||||
),
|
||||
padding: EdgeInsets.fromLTRB(15, 15, 5, 5),
|
||||
child: Column(
|
||||
children: [
|
||||
titleText,
|
||||
_renderSubtitle(context),
|
||||
],
|
||||
),
|
||||
),
|
||||
onPressed: _onTileTap);
|
||||
return ListTile(
|
||||
title: Text(timeProgress.name),
|
||||
title: titleText,
|
||||
subtitle: _renderSubtitle(context),
|
||||
onTap: _onTileTap,
|
||||
);
|
@ -1,6 +1,9 @@
|
||||
import 'dart:io' show Platform;
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:time_progress_tracker/models/time_progress.dart';
|
||||
import 'package:time_progress_tracker/widgets/progress_list_view/progress_list_tile.dart';
|
||||
import 'package:time_progress_tracker/widgets/progress_list_view/progress_list_item.dart';
|
||||
|
||||
class ProgressListView extends StatelessWidget {
|
||||
final List<TimeProgress> timeProgressList;
|
||||
@ -12,15 +15,18 @@ class ProgressListView extends StatelessWidget {
|
||||
@required this.leftColor,
|
||||
});
|
||||
|
||||
Widget _renderListTile(TimeProgress tp) {
|
||||
ProgressListItem listTile = ProgressListItem(
|
||||
timeProgress: tp, doneColor: doneColor, leftColor: leftColor);
|
||||
if (Platform.isIOS) return listTile;
|
||||
return Card(
|
||||
child: listTile,
|
||||
);
|
||||
}
|
||||
|
||||
List<Widget> _renderListViewChildren() {
|
||||
return timeProgressList
|
||||
.map((e) => Card(
|
||||
child: ProgressListTile(
|
||||
timeProgress: e,
|
||||
doneColor: doneColor,
|
||||
leftColor: leftColor,
|
||||
),
|
||||
))
|
||||
.map((e) => _renderListTile(e))
|
||||
.toList(growable: false);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user