import 'package:comwell_key_app/domain/models/user.dart';
import 'comwell_club_signup_bottom_sheet.dart';
import 'package:comwell_key_app/presentation/app/bloc/profile_cubit.dart';
import 'package:comwell_key_app/themes/light_theme.dart';
import 'package:comwell_key_app/utils/l10n_utils.dart';
import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';

class ComwellClubContainer extends StatelessWidget {
  final User user;
  final VoidCallback onSignupClick;
  const ComwellClubContainer({super.key, required this.user, required this.onSignupClick});

  @override
  Widget build(BuildContext context) {
    final cubit = context.read<ProfileCubit>();
    
    return Container(
      margin: const EdgeInsets.symmetric(horizontal: 16),
      padding: const EdgeInsets.symmetric(vertical: 16),
      decoration: BoxDecoration(
        color: sandColor[10],
        borderRadius: const BorderRadius.all(Radius.circular(10)),
      ),
      child: Row(
        mainAxisAlignment: MainAxisAlignment.spaceAround,
        children: [
          GestureDetector(
            onTap: () async {
              await showModalBottomSheet<void>(
                context: context,
                isScrollControlled: true,
                backgroundColor: Colors.white,
                builder: (_) => BlocProvider.value(
                  value: cubit,
                  child: ComwellClubSignupBottomSheet(user: user),
                ),
              );
              if (context.mounted) {
                onSignupClick();
              }
            },
            child: Column(
              crossAxisAlignment: CrossAxisAlignment.start,
              children: [
                Text(context.strings.become_cc_member_title,
                    textAlign: TextAlign.start,
                    style: const TextStyle(
                        color: colorTertiary,
                        fontSize: 16,
                        fontWeight: FontWeight.w600)),
                SizedBox(
                  width: 250,
                  child: Text(
                    context.strings.become_cc_member_subtitle,
                    textAlign: TextAlign.start,
                    maxLines: 4,
                    style: const TextStyle(
                        color: colorTertiary,
                        fontSize: 14,
                        fontWeight: FontWeight.w500),
                  ),
                ),
              ],
            ),
          ),
          const Icon(
            Icons.chevron_right,
            color: colorTertiary,
            size: 24,
          ),
        ],
      ),
    );
  }
}