build method

  1. @override
Widget build(
  1. BuildContext context
)
override

Implementation

@override
Widget build(BuildContext context) {
  return Consumer(
    builder: (context, ref, child) {
      final currentTime = ref.watch(currentDateTimeProvider);
      final countdownText = builder(currentTime());

      return Row(
        mainAxisSize: MainAxisSize.min,
        crossAxisAlignment: CrossAxisAlignment.baseline,
        textBaseline: TextBaseline.alphabetic,
        children: [
          AnimatedSwitcher(
            duration: kSmallDuration,
            switchInCurve: Curves.fastOutSlowIn,
            transitionBuilder: transitionBuilder ??
                translateTransitionBuilder(magnitude: 0.5),
            child: Container(
              key: ValueKey(countdownText.hours),
              constraints: BoxConstraints(minWidth: minSectionWidth),
              alignment: Alignment.centerRight,
              child: Text(countdownText.hours),
            ),
          ),
          const Text(':'),
          AnimatedSwitcher(
            duration: kSmallDuration,
            switchInCurve: Curves.fastOutSlowIn,
            transitionBuilder: transitionBuilder ??
                translateTransitionBuilder(magnitude: 0.5),
            child: Container(
              key: ValueKey(countdownText.minutes),
              constraints: BoxConstraints(minWidth: minSectionWidth),
              alignment: Alignment.centerRight,
              child: Text(countdownText.minutes),
            ),
          ),
          const Text(':'),
          AnimatedSwitcher(
            duration: kSmallDuration,
            switchInCurve: Curves.fastOutSlowIn,
            transitionBuilder: transitionBuilder ??
                translateTransitionBuilder(magnitude: 0.5),
            child: Container(
              key: ValueKey(countdownText.seconds),
              constraints: BoxConstraints(minWidth: minSectionWidth),
              alignment: Alignment.centerRight,
              child: Text(countdownText.seconds),
            ),
          ),
        ],
      );
    },
  );
}