import 'package:flutter/material.dart'; import 'package:url_launcher/url_launcher.dart'; class PoliciesContent extends StatelessWidget { const PoliciesContent({super.key}); Future _launchGooglePrivacyPolicy() async { final Uri url = Uri.parse('https://policies.google.com/privacy'); if (!await launchUrl(url)) { throw Exception('Could not launch $url'); } } Future _launchCustomPrivacyPolicy() async { final Uri url = Uri.parse('https://xeewy.be/travelmate/policies'); if (!await launchUrl(url)) { throw Exception('Could not launch $url'); } } Future _onBackPressed(BuildContext context) async { if (Navigator.canPop(context)) { Navigator.pop(context); } } @override Widget build(BuildContext context) { final theme = Theme.of(context); final isDark = theme.brightness == Brightness.dark; return Scaffold( backgroundColor: theme.scaffoldBackgroundColor, appBar: AppBar( backgroundColor: theme.appBarTheme.backgroundColor, elevation: 0, title: Text( 'Politiques de confidentialité', style: TextStyle( color: isDark ? Colors.white : Colors.black, fontWeight: FontWeight.w600, ), ), leading: IconButton( icon: Icon(Icons.arrow_back, color: theme.iconTheme.color), onPressed: () => _onBackPressed(context), ), ), body: SingleChildScrollView( padding: const EdgeInsets.all(16.0), child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ // Keep only the buttons const SizedBox(height: 20), // Bouton Google Privacy Policy SizedBox( width: double.infinity, child: ElevatedButton.icon( onPressed: _launchGooglePrivacyPolicy, icon: const Icon(Icons.link), label: const Text('Politique de confidentialité Google'), style: ElevatedButton.styleFrom( backgroundColor: theme.primaryColor, foregroundColor: Colors.white, padding: const EdgeInsets.symmetric(vertical: 12), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8), ), ), ), ), const SizedBox(height: 12), // Bouton Nos politiques de confidentialité SizedBox( width: double.infinity, child: ElevatedButton.icon( onPressed: _launchCustomPrivacyPolicy, icon: const Icon(Icons.policy), label: const Text('Nos politiques de confidentialités'), style: ElevatedButton.styleFrom( backgroundColor: theme.primaryColor, foregroundColor: Colors.white, padding: const EdgeInsets.symmetric(vertical: 12), shape: RoundedRectangleBorder( borderRadius: BorderRadius.circular(8), ), ), ), ), const SizedBox(height: 32), ], ), ), ); } }