Files
sendico/frontend/pweb/lib/pages/2fa/resend.dart

34 lines
980 B
Dart

import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:pweb/providers/two_factor.dart';
import 'package:pweb/utils/cooldown_format.dart';
import 'package:pweb/widgets/resend_link.dart';
import 'package:pweb/generated/i18n/app_localizations.dart';
class ResendCodeButton extends StatelessWidget {
const ResendCodeButton({super.key});
@override
Widget build(BuildContext context) {
final localizations = AppLocalizations.of(context)!;
final provider = context.watch<TwoFactorProvider>();
final isDisabled = provider.isCooldownActive || provider.isResending;
final label = provider.isCooldownActive
? '${localizations.twoFactorResend} (${formatCooldownSeconds(provider.cooldownRemainingSeconds)})'
: localizations.twoFactorResend;
return ResendLink(
label: label,
onPressed: provider.resendCode,
isDisabled: isDisabled,
isLoading: provider.isResending,
);
}
}