diff --git a/apps/lib/features/auth/ui/screens/register_verification_screen.dart b/apps/lib/features/auth/ui/screens/register_verification_screen.dart index 37070c7..d719379 100644 --- a/apps/lib/features/auth/ui/screens/register_verification_screen.dart +++ b/apps/lib/features/auth/ui/screens/register_verification_screen.dart @@ -1,3 +1,5 @@ +import 'dart:async'; + import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:go_router/go_router.dart'; @@ -43,13 +45,38 @@ class RegisterVerificationView extends StatefulWidget { class _RegisterVerificationViewState extends State { final _codeController = TextEditingController(); + Timer? _countdownTimer; + int _countdown = 60; + + @override + void initState() { + super.initState(); + _startCountdown(); + } @override void dispose() { + _countdownTimer?.cancel(); _codeController.dispose(); super.dispose(); } + void _startCountdown() { + setState(() { + _countdown = 60; + }); + _countdownTimer?.cancel(); + _countdownTimer = Timer.periodic(const Duration(seconds: 1), (timer) { + if (_countdown > 0) { + setState(() { + _countdown--; + }); + } else { + timer.cancel(); + } + }); + } + Future _handleComplete() async { final cubit = context.read(); cubit.verificationCodeChanged(_codeController.text);