import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; import '../../../core/theme/halo_tokens.dart'; import '../../../core/theme/widgets/widgets.dart'; /// Result of the post-name Verif Choice Sheet. Caller routes to the matching /// onboarding sub-flow. enum VerifChoice { verified, anonymous } class VerifChoiceSheet extends StatelessWidget { const VerifChoiceSheet({super.key}); /// Show the sheet and return the user's choice (`null` if dismissed). static Future show(BuildContext context) { return HaloBottomSheet.show( context, child: const VerifChoiceSheet(), ); } @override Widget build(BuildContext context) { return Column( mainAxisSize: MainAxisSize.min, crossAxisAlignment: CrossAxisAlignment.stretch, children: [ const Text( 'Mau curhat sebagai siapa?', style: TextStyle( fontFamily: HaloTokens.fontDisplay, fontSize: 22, height: 28 / 22, fontWeight: FontWeight.w700, color: HaloTokens.ink, ), ), const SizedBox(height: HaloSpacing.s8), const Text( 'Verifikasi nomor HP biar bisa dapet diskon sesi pertama dan riwayat curhatmu kesimpan. Atau langsung curhat anonim, nggak perlu daftar.', style: TextStyle( fontFamily: HaloTokens.fontBody, fontSize: 14, height: 20 / 14, color: HaloTokens.inkSoft, ), ), const SizedBox(height: HaloSpacing.s24), HaloButton( label: 'verifikasi nomor HP', fullWidth: true, onPressed: () => Navigator.of(context).pop(VerifChoice.verified), ), const SizedBox(height: HaloSpacing.s12), HaloButton( label: 'curhat anonim', variant: HaloButtonVariant.secondary, fullWidth: true, onPressed: () => Navigator.of(context).pop(VerifChoice.anonymous), ), ], ); } } /// Helper: route to the right onboarding sub-flow for a verif choice. void routeForVerifChoice(BuildContext context, VerifChoice choice) { switch (choice) { case VerifChoice.verified: context.push('/onboarding/verif/esp'); break; case VerifChoice.anonymous: context.push('/onboarding/anon/esp'); break; } }