// 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,
          )
      ],
    );
  }
}