You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mohemm-flutter-app/lib/ui/screens/event_activity/activity_footer.dart

95 lines
3.1 KiB
Dart

// ignore_for_file: always_specify_types
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_countdown_timer/flutter_countdown_timer.dart';
import 'package:mohem_flutter_app/app_state/app_state.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/date_uitl.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/main.dart';
import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart';
import 'package:mohem_flutter_app/ui/marathon/marathon_provider.dart';
import 'package:mohem_flutter_app/ui/marathon/widgets/countdown_timer_main_screen.dart';
import 'package:mohem_flutter_app/widgets/button/default_button.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher.dart';
class ActivityEventFooter extends StatelessWidget {
final DashboardProviderModel provider;
const ActivityEventFooter({
Key? key,
required this.provider,
}) : super(key: key);
@override
Widget build(BuildContext context) {
int remainingTime = DateTime.now().millisecondsSinceEpoch + DateUtil.convertStringToDateMarathon(provider.eventActivity!.startOn!).difference(DateTime.now()).inMilliseconds;
return Column(children: [
CountdownTimer(
endTime: remainingTime,
widgetBuilder: (context, time) {
if (time == null) {
return DefaultButton(
LocaleKeys.start.tr(),
() => launchUrl(Uri.parse(provider.eventActivity!.url!)),
color: MyColors.greenColor,
).insideContainer;
}
return Container(
height: 58,
padding: const EdgeInsets.only(
top: 15, bottom: 15, right: 30, left: 30),
margin: const EdgeInsets.only(top: 5, bottom: 5),
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(6.0),
gradient:
const LinearGradient(
transform: GradientRotation(.83),
begin: Alignment.topRight,
end: Alignment.bottomLeft,
colors: <Color>[
MyColors.gradiantEndColor,
MyColors.gradiantStartColor
],
),
),
child: CountdownTimerForMainScreen(
timeToMarathon: DateUtil
.convertStringToDateMarathon(provider.eventActivity!.startOn!)
.millisecondsSinceEpoch,
provider: context.read<MarathonProvider>(),
isEvent: true,
));
},
onEnd: (){
},
endWidget: DefaultButton(
LocaleKeys.start.tr(),
() => launchUrl(Uri.parse(provider.eventActivity!.url!)),
color: MyColors.greenColor,
).insideContainer,
)
// if (remainingTimeInMinutes < 0)
//
// else
//
//
// ,
]);
}
}