import 'package:comwell_key_app/.generated/assets/assets.gen.dart';
import 'package:comwell_key_app/routing/app_routes.dart';
import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:go_router/go_router.dart';

import '../permission_screen_template.dart';
import 'notification_permission_cubit.dart';

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

  @override
  Widget build(BuildContext context) {
    final cubit = context.watch<NotificationPermissionCubit>();
    return PermissionScreenTemplate(
      title: context.strings.accept_notifications,
      subtitle: context.strings.accept_notifications_rationale,
      image: Assets.icons.bellCircled,
      primaryButtonText: context.strings.accept_notifications,
      secondaryButtonText: context.strings.skip,
      primaryButtonOnClick: () async {
        await cubit.onAcceptClicked();
        if (context.mounted) {
          context.go(AppRoutes.overview);
        }
      },
      secondaryButtonOnClick: () {
        context.go(AppRoutes.overview);
      },
      primaryButtonIsLoading: false,
      showCloseButton: true,
    );
  }
}