diff --git a/lib/widgets/certify/cert_state.dart b/lib/widgets/certify/cert_state.dart
index 4c7fbd87b596200d591b998a7b1d2bee52ee8398..f92bca33e5b490cf37e9abec6ca4570a0ba84d02 100644
--- a/lib/widgets/certify/cert_state.dart
+++ b/lib/widgets/certify/cert_state.dart
@@ -4,57 +4,39 @@ import 'package:gecko/widgets/certify/certify_button.dart';
 import 'package:gecko/widgets/certify/wait_to_cert.dart';
 
 class CertStateWidget extends StatelessWidget {
-  const CertStateWidget(
-      {super.key, required this.certState, required this.address});
+  const CertStateWidget({super.key, required this.certState, required this.address});
 
   final CertState certState;
   final String address;
 
   @override
   Widget build(BuildContext context) {
-    switch (certState.status) {
-      case CertStatus.canCert:
-        return CertifyButton(address);
-      case CertStatus.mustConfirmIdentity:
-        return WaitToCertWidget(
-            messageKey: 'mustConfirmHisIdentity',
-            duration: formatDuration(certState.duration!));
-      case CertStatus.canRenewIn:
-        return WaitToCertWidget(
-            messageKey: 'canRenewCertInX',
-            duration: formatDuration(certState.duration!));
-      case CertStatus.mustWaitBeforeCert:
-        return WaitToCertWidget(
-            messageKey: 'mustWaitXBeforeCertify',
-            duration: formatDuration(certState.duration!));
-      default:
-        return const SizedBox.shrink();
-    }
+    final duration = certState.duration ?? Duration.zero;
+    return switch (certState.status) {
+      CertStatus.canCert => CertifyButton(address),
+      CertStatus.mustConfirmIdentity => WaitToCertWidget(messageKey: 'mustConfirmHisIdentity', duration: formatDuration(duration)),
+      CertStatus.canRenewIn => WaitToCertWidget(messageKey: 'canRenewCertInX', duration: formatDuration(duration)),
+      CertStatus.mustWaitBeforeCert => WaitToCertWidget(messageKey: 'mustWaitXBeforeCertify', duration: formatDuration(duration)),
+      _ => const SizedBox.shrink(),
+    };
   }
 
   String formatDuration(Duration duration) {
-    final seconds = duration.inSeconds;
-    final minutes = duration.inMinutes;
-
-    if (seconds <= 0) {
-      return 'seconds'.tr(args: ['0']);
-    } else if (seconds <= 60) {
-      return 'seconds'.tr(args: [seconds.toString()]);
-    } else if (seconds <= 3600) {
-      return 'minutes'.tr(args: [minutes.toString()]);
-    } else if (seconds <= 86400) {
-      final hours = duration.inHours;
-      final minutesLeft = minutes - hours * 60;
-      String showMinutes =
-          minutesLeft < 60 ? '' : 'minutes'.tr(args: [minutesLeft.toString()]);
-      return 'hours'.tr(args: [hours.toString(), showMinutes]);
-    } else if (seconds <= 2592000) {
-      final days = duration.inDays;
-      return 'days'.tr(args: [days.toString()]);
-    } else {
-      final months = (duration.inDays / 30).round();
-      return 'months'.tr(args: [months.toString()]);
-    }
+    return switch (duration) {
+      <= Duration.zero => 'seconds'.tr(args: ['0']),
+      <= const Duration(minutes: 1) => 'seconds'.tr(args: [duration.inSeconds.toString()]),
+      <= const Duration(hours: 1) => 'minutes'.tr(args: [duration.inMinutes.toString()]),
+      <= const Duration(days: 1) => () {
+          final minutesPart = duration - Duration(hours: duration.inHours);
+          final showMinutes = minutesPart.inMinutes > 0 ? 'minutes'.tr(args: [minutesPart.inMinutes.toString()]) : '';
+          return 'hours'.tr(args: [duration.inHours.toString(), showMinutes]);
+        }(),
+      <= const Duration(days: 30) => 'days'.tr(args: [duration.inDays.toString()]),
+      _ => () {
+          final months = (duration.inDays / 30).round();
+          return 'months'.tr(args: [months.toString()]);
+        }(),
+    };
   }
 }
 
diff --git a/pubspec.yaml b/pubspec.yaml
index bc9190f284b7fe51175f44f482ba9ffce5c1d016..4e3c749ddf66a7ecf43de3e2f97eb017078e3e71 100644
--- a/pubspec.yaml
+++ b/pubspec.yaml
@@ -2,7 +2,7 @@ name: gecko
 description: Pay with G1.
 publish_to: "none"
 
-version: 0.1.8+79
+version: 0.1.9+80
 
 environment:
   sdk: ^3.5.3