didvan-app/lib/views/authentication/widgets/authentication_app_bar.dart

53 lines
1.9 KiB
Dart

// lib/views/authentication/widgets/authentication_app_bar.dart
import 'package:didvan/config/theme_data.dart';
import 'package:didvan/constants/app_icons.dart';
import 'package:didvan/views/authentication/authentication_state.dart';
import 'package:didvan/views/widgets/didvan/icon_button.dart';
import 'package:didvan/views/widgets/didvan/text.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
class AuthenticationAppBar extends StatelessWidget {
final String? title;
const AuthenticationAppBar({Key? key, this.title}) : super(key: key);
@override
Widget build(BuildContext context) {
final state = context.read<AuthenticationState>();
return Row(
children: [
DidvanIconButton(
icon: DidvanIcons.back_regular,
onPressed: () {
// اگر در صفحه اول باشیم، از صفحه احراز هویت خارج می‌شویم
if (state.currentPageIndex == 0) {
Navigator.of(context).pop();
return;
}
// ** منطق جدید برای بازگشت از صفحه OTP **
// اگر کاربر رمز عبور نداشته و در صفحه OTP باشد
if (state.currentPageIndex == 2 && !state.hasPassword) {
// او را به صفحه اول (ورود شماره) برمی‌گردانیم
state.currentPageIndex = 0;
return;
}
// در غیر این صورت، به صفحه قبلی برمی‌گردیم
state.currentPageIndex--;
},
),
const SizedBox(
width: 4,
),
if (title != null)
DidvanText(
title!,
style: Theme.of(context).textTheme.titleSmall,
color: Theme.of(context).colorScheme.title,
)
],
);
}
}