import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_html/flutter_html.dart'; import 'package:syncrow_app/features/menu/bloc/menu_cubit.dart'; import 'package:syncrow_app/features/shared_widgets/default_scaffold.dart'; import 'package:url_launcher/url_launcher.dart'; class PrivacyPolicy extends StatefulWidget { const PrivacyPolicy({super.key}); @override _PrivacyPolicyState createState() => _PrivacyPolicyState(); } class _PrivacyPolicyState extends State { @override void initState() { super.initState(); MenuCubit.of(context).fetchPrivacyPolicy(); } @override Widget build(BuildContext context) { return DefaultScaffold( title: 'Privacy Policy', child: BlocBuilder( builder: (context, state) { if (state is MenuLoading) { return const Center(child: CircularProgressIndicator()); } else if (state is MenuLoaded) { return ListView( children: [ Html( data: state.userAgreementHtml.isNotEmpty ? state.userAgreementHtml : '', onLinkTap: (url, attributes, element) async { final uri = Uri.parse(url!); await launchUrl(uri, mode: LaunchMode.externalApplication); }, ), ], ); } else if (state is MenuError) { return Center( child: Text( 'Error: ${state.message}', style: const TextStyle(color: Colors.red), ), ); } return const Center(child: Text('Loading User Agreement...')); }, ), ); } }