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 _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: [ // Section Collecte d'informations Text( 'Collecte d\'informations', style: theme.textTheme.titleLarge?.copyWith( fontWeight: FontWeight.w600, color: isDark ? Colors.white : Colors.black, ), ), const SizedBox(height: 10), Text( 'Nous collectons des informations que vous nous fournissez directement, comme votre nom, adresse e-mail et préférences de voyage.', style: theme.textTheme.bodyLarge?.copyWith( color: isDark ? Colors.grey[300] : Colors.grey[800], ), ), const SizedBox(height: 20), // Section Utilisation des données Text( 'Utilisation des données', style: theme.textTheme.titleLarge?.copyWith( fontWeight: FontWeight.w600, color: isDark ? Colors.white : Colors.black, ), ), const SizedBox(height: 10), Text( 'Vos données sont utilisées pour améliorer votre expérience utilisateur et vous proposer des recommandations personnalisées.', style: theme.textTheme.bodyLarge?.copyWith( color: isDark ? Colors.grey[300] : Colors.grey[800], ), ), const SizedBox(height: 20), // Section Protection des données Text( 'Protection des données', style: theme.textTheme.titleLarge?.copyWith( fontWeight: FontWeight.w600, color: isDark ? Colors.white : Colors.black, ), ), const SizedBox(height: 10), Text( 'Nous mettons en place des mesures de sécurité appropriées pour protéger vos informations personnelles.', style: theme.textTheme.bodyLarge?.copyWith( color: isDark ? Colors.grey[300] : Colors.grey[800], ), ), const SizedBox(height: 20), // Section Partage des données Text( 'Partage des données', style: theme.textTheme.titleLarge?.copyWith( fontWeight: FontWeight.w600, color: isDark ? Colors.white : Colors.black, ), ), const SizedBox(height: 10), Text( 'Nous ne partageons pas vos informations personnelles avec des tiers sans votre consentement explicite.', style: theme.textTheme.bodyLarge?.copyWith( color: isDark ? Colors.grey[300] : Colors.grey[800], ), ), const SizedBox(height: 20), // Section Droits de l'utilisateur Text( 'Vos droits', style: theme.textTheme.titleLarge?.copyWith( fontWeight: FontWeight.w600, color: isDark ? Colors.white : Colors.black, ), ), const SizedBox(height: 10), Text( 'Vous avez le droit d\'accéder, de corriger ou de supprimer vos données personnelles à tout moment. Veuillez nous contacter pour toute demande.', style: theme.textTheme.bodyLarge?.copyWith( color: isDark ? Colors.grey[300] : Colors.grey[800], ), ), const SizedBox(height: 20), // Section Contact Text( 'Nous contacter', style: theme.textTheme.titleLarge?.copyWith( fontWeight: FontWeight.w600, color: isDark ? Colors.white : Colors.black, ), ), const SizedBox(height: 10), Text( 'Pour toute question concernant cette politique de confidentialité, veuillez nous contacter à support@travelmate.com', style: theme.textTheme.bodyLarge?.copyWith( color: isDark ? Colors.grey[300] : Colors.grey[800], ), ), 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: 32), ], ), ), ); } }