acivity description management, seed data mods
This commit is contained in:
parent
ebca90e69a
commit
6917754933
@ -73,7 +73,7 @@ Future<void> seedDb(AppDatabase database) async {
|
||||
|
||||
Map<Symbol, Value> payload = {
|
||||
Symbol('title'): Value<String>(exercise['name']),
|
||||
Symbol('description'): Value<String>(exercise['instructions'].toString()),
|
||||
Symbol('description'): Value<String>(json.encode(exercise['instructions'])),
|
||||
Symbol('force'): Value<String>(exercise['force'] ?? "")
|
||||
};
|
||||
|
||||
|
@ -6,10 +6,11 @@ showMediaDetailWidget(BuildContext context, MediaItem media) {
|
||||
showEditorSheet(context, MediaDetails(media: media));
|
||||
}
|
||||
|
||||
showEditorSheet(BuildContext context, Widget widget) {
|
||||
showGenericSheet(BuildContext context, Widget widget) {
|
||||
showModalBottomSheet<void>(
|
||||
shape: RoundedRectangleBorder(
|
||||
borderRadius: BorderRadius.only(topLeft: Radius.circular(10.0), topRight: Radius.circular(10.0)),
|
||||
borderRadius: BorderRadius.only(
|
||||
topLeft: Radius.circular(10.0), topRight: Radius.circular(10.0)),
|
||||
),
|
||||
context: context,
|
||||
showDragHandle: true,
|
||||
@ -19,3 +20,21 @@ showEditorSheet(BuildContext context, Widget widget) {
|
||||
return widget;
|
||||
});
|
||||
}
|
||||
|
||||
showEditorSheet(BuildContext context, Widget widget) {
|
||||
showGenericSheet(context, widget);
|
||||
}
|
||||
|
||||
String jsonToDescription(List text) {
|
||||
String content = '';
|
||||
|
||||
for (int i = 0; i < text.length; i++) {
|
||||
if (content.isEmpty) {
|
||||
content = text[i];
|
||||
} else {
|
||||
content = "$content\n\n${text[i]}";
|
||||
}
|
||||
}
|
||||
|
||||
return content;
|
||||
}
|
||||
|
@ -1,3 +1,5 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sendtrain/daos/media_items_dao.dart';
|
||||
@ -6,6 +8,7 @@ import 'package:sendtrain/database/database.dart';
|
||||
import 'package:sendtrain/extensions/string_extensions.dart';
|
||||
import 'package:sendtrain/helpers/date_time_helpers.dart';
|
||||
import 'package:sendtrain/helpers/media_helpers.dart';
|
||||
import 'package:sendtrain/helpers/widget_helpers.dart';
|
||||
import 'package:sendtrain/models/activity_timer_model.dart';
|
||||
import 'package:sendtrain/widgets/activities/activity_view.dart';
|
||||
import 'package:sendtrain/widgets/builders/dialogs.dart';
|
||||
@ -59,16 +62,22 @@ class ActivityCardState extends State<ActivityCard> {
|
||||
if (atm.activity?.id == widget.activity.id) {
|
||||
return Text(
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
"${widget.activity.title.toTitleCase()} (${formattedTime(atm.totalTime)})");
|
||||
} else {
|
||||
return Text(
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
widget.activity.title.toTitleCase());
|
||||
}
|
||||
},
|
||||
),
|
||||
subtitle: Text(
|
||||
maxLines: 2, widget.activity.description ?? ""),
|
||||
overflow: TextOverflow.ellipsis,
|
||||
maxLines: 2,
|
||||
softWrap: true,
|
||||
jsonToDescription(json
|
||||
.decode(widget.activity.description ?? ""))),
|
||||
contentPadding: EdgeInsets.only(left: 13),
|
||||
trailing: Flex(
|
||||
direction: Axis.vertical,
|
||||
|
@ -1,14 +1,16 @@
|
||||
import 'dart:convert';
|
||||
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter_expandable_fab/flutter_expandable_fab.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:sendtrain/daos/actions_dao.dart';
|
||||
import 'package:sendtrain/database/database.dart';
|
||||
import 'package:sendtrain/extensions/string_extensions.dart';
|
||||
import 'package:sendtrain/helpers/widget_helpers.dart';
|
||||
import 'package:sendtrain/models/activity_timer_model.dart';
|
||||
import 'package:sendtrain/widgets/activities/activity_action_view.dart';
|
||||
import 'package:sendtrain/widgets/activities/activity_view_categories.dart';
|
||||
import 'package:sendtrain/widgets/activities/activity_view_media.dart';
|
||||
import 'package:sendtrain/widgets/activities/activity_view_types.dart';
|
||||
|
||||
class ActivityView extends StatefulWidget {
|
||||
const ActivityView({super.key, required this.activity});
|
||||
@ -185,17 +187,43 @@ class _ActivityViewState extends State<ActivityView> {
|
||||
padding: const EdgeInsets.only(
|
||||
top: 0, bottom: 10, left: 15, right: 15),
|
||||
child: Text(
|
||||
maxLines: 5,
|
||||
maxLines: 4,
|
||||
overflow: TextOverflow. ellipsis,
|
||||
softWrap: true,
|
||||
textAlign: TextAlign.left,
|
||||
style: const TextStyle(fontSize: 15),
|
||||
activity.description ?? "")),
|
||||
jsonToDescription(json.decode(activity.description ?? "")))),
|
||||
Padding(
|
||||
padding: EdgeInsets.only(left: 15),
|
||||
child: Text("read more...",
|
||||
style: TextStyle(
|
||||
color: Colors.deepPurpleAccent))),
|
||||
padding: EdgeInsets.only(right: 15),
|
||||
child: Align(
|
||||
alignment: Alignment.topRight,
|
||||
child: TextButton(
|
||||
style: ButtonStyle(
|
||||
textStyle:
|
||||
WidgetStateProperty.all<TextStyle>(
|
||||
TextStyle(
|
||||
fontWeight:
|
||||
FontWeight.normal)),
|
||||
shape: WidgetStateProperty.all<
|
||||
RoundedRectangleBorder>(
|
||||
RoundedRectangleBorder(
|
||||
borderRadius:
|
||||
BorderRadius.circular(10.0),
|
||||
))),
|
||||
onPressed: () {
|
||||
showGenericSheet(
|
||||
context,
|
||||
Padding(
|
||||
padding: EdgeInsets.all(15),
|
||||
child: Text(jsonToDescription(
|
||||
json.decode(activity.description ??
|
||||
"")))));
|
||||
},
|
||||
child: Text("Read More...",
|
||||
textAlign: TextAlign.right),
|
||||
))),
|
||||
const Padding(
|
||||
padding: EdgeInsets.fromLTRB(15, 20, 0, 10),
|
||||
padding: EdgeInsets.fromLTRB(15, 10, 0, 10),
|
||||
child: Text(
|
||||
style: TextStyle(
|
||||
fontSize: 20,
|
||||
|
Loading…
x
Reference in New Issue
Block a user