import 'package:comwell_key_app/common/components/shimmer_loader/profile_shimmer_loader.dart';
import 'package:comwell_key_app/presentation/app/bloc/profile_cubit.dart';
import 'package:comwell_key_app/presentation/screens/profile/components/error_page_widget.dart';
import 'package:comwell_key_app/presentation/screens/profile/components/profile_page_widget.dart';
import 'package:concierge/presentation/theme/app_colors.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';

class ProfileScreen extends StatelessWidget {
  const ProfileScreen({super.key});

  @override
  Widget build(BuildContext context) {
    return BlocBuilder<ProfileCubit, ProfileState>(
      builder: (context, state) {
        final cubit = context.read<ProfileCubit>();
        return MultiBlocListener(
          listeners: [
            BlocListener<ProfileCubit, ProfileState>(
              listenWhen: (prev, curr) => prev.isLoading && !curr.isLoading && curr.error.isError,
              listener: (context, state) {
                // context.showErrorSnackBar(state.errorMessage);
              },
            ),
          ],
          child: Scaffold(
            backgroundColor: AppColors.sandColor[20],
            body: BlocBuilder<ProfileCubit, ProfileState>(
              builder: (context, state) {
                if (state.isLoading) {
                  return const Padding(
                    padding: EdgeInsets.symmetric(horizontal: 16.0, vertical: 40.0),
                    child: ProfileShimmerLoader(),
                  );
                } else if (state.error.isError) {
                  return const ErrorPageWidget();
                } else {
                  return ProfilePageWidget(cubit: cubit);
                }
              },
            ),
          ),
        );
      },
    );
  }
}