refactoring
This commit is contained in:
@@ -49,30 +49,30 @@ class _AboutPageState extends State<AboutPage> {
|
||||
],
|
||||
),
|
||||
body: SingleChildScrollView(
|
||||
padding: const EdgeInsets.all(16),
|
||||
padding: const EdgeInsets.all(12),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.start,
|
||||
children: [
|
||||
// Header harmonisé
|
||||
_buildHeader(),
|
||||
const SizedBox(height: 16),
|
||||
|
||||
const SizedBox(height: 8),
|
||||
|
||||
// Informations de l'application
|
||||
_buildAppInfoSection(),
|
||||
const SizedBox(height: 16),
|
||||
|
||||
const SizedBox(height: 8),
|
||||
|
||||
// Équipe de développement
|
||||
_buildTeamSection(),
|
||||
const SizedBox(height: 16),
|
||||
|
||||
const SizedBox(height: 8),
|
||||
|
||||
// Fonctionnalités
|
||||
_buildFeaturesSection(),
|
||||
const SizedBox(height: 16),
|
||||
|
||||
const SizedBox(height: 8),
|
||||
|
||||
// Liens utiles
|
||||
_buildLinksSection(),
|
||||
const SizedBox(height: 16),
|
||||
|
||||
const SizedBox(height: 8),
|
||||
|
||||
// Support et contact
|
||||
_buildSupportSection(),
|
||||
const SizedBox(height: 80),
|
||||
@@ -88,18 +88,18 @@ class _AboutPageState extends State<AboutPage> {
|
||||
child: Column(
|
||||
children: [
|
||||
Container(
|
||||
padding: const EdgeInsets.all(16),
|
||||
padding: const EdgeInsets.all(10),
|
||||
decoration: BoxDecoration(
|
||||
color: AppColors.primaryGreen.withOpacity(0.1),
|
||||
borderRadius: BorderRadius.circular(20),
|
||||
borderRadius: BorderRadius.circular(10),
|
||||
),
|
||||
child: const Icon(
|
||||
Icons.account_balance,
|
||||
color: AppColors.primaryGreen,
|
||||
size: 48,
|
||||
size: 32,
|
||||
),
|
||||
),
|
||||
const SizedBox(height: 16),
|
||||
const SizedBox(height: 8),
|
||||
Text(
|
||||
'UNIONFLOW MOBILE',
|
||||
style: AppTypography.headerSmall.copyWith(fontWeight: FontWeight.bold, letterSpacing: 1.2),
|
||||
@@ -130,7 +130,7 @@ class _AboutPageState extends State<AboutPage> {
|
||||
'INFORMATIONS',
|
||||
style: AppTypography.subtitleSmall.copyWith(fontWeight: FontWeight.bold, letterSpacing: 1.1),
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
const SizedBox(height: 8),
|
||||
_buildInfoRow('Construction', _packageInfo?.buildNumber ?? '...'),
|
||||
_buildInfoRow('Package', _packageInfo?.packageName ?? '...'),
|
||||
_buildInfoRow('Plateforme', 'Android / iOS'),
|
||||
@@ -173,7 +173,7 @@ class _AboutPageState extends State<AboutPage> {
|
||||
'ÉQUIPE',
|
||||
style: AppTypography.subtitleSmall.copyWith(fontWeight: FontWeight.bold, letterSpacing: 1.1),
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
const SizedBox(height: 8),
|
||||
_buildTeamMember(
|
||||
'UnionFlow Team',
|
||||
'Architecture & Dev',
|
||||
@@ -184,7 +184,7 @@ class _AboutPageState extends State<AboutPage> {
|
||||
'Design System',
|
||||
'UI / UX Focus',
|
||||
Icons.design_services,
|
||||
AppColors.info,
|
||||
AppColors.brandGreenLight,
|
||||
),
|
||||
],
|
||||
),
|
||||
@@ -230,9 +230,9 @@ class _AboutPageState extends State<AboutPage> {
|
||||
'FONCTIONNALITÉS',
|
||||
style: AppTypography.subtitleSmall.copyWith(fontWeight: FontWeight.bold, letterSpacing: 1.1),
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
const SizedBox(height: 8),
|
||||
_buildFeatureItem('Membres', 'Administration complète', Icons.people, AppColors.primaryGreen),
|
||||
_buildFeatureItem('Organisations', 'Syndicats & Fédérations', Icons.business, AppColors.info),
|
||||
_buildFeatureItem('Organisations', 'Syndicats & Fédérations', Icons.business, AppColors.brandGreenLight),
|
||||
_buildFeatureItem('Événements', 'Planification & Suivi', Icons.event, AppColors.success),
|
||||
_buildFeatureItem('Sécurité', 'Auth Keycloak OIDC', Icons.security, AppColors.warning),
|
||||
],
|
||||
@@ -272,7 +272,7 @@ class _AboutPageState extends State<AboutPage> {
|
||||
'LIENS UTILES',
|
||||
style: AppTypography.subtitleSmall.copyWith(fontWeight: FontWeight.bold, letterSpacing: 1.1),
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
const SizedBox(height: 8),
|
||||
_buildLinkItem('Site Web', 'https://unionflow.com', Icons.web, () => _launchUrl('https://unionflow.com')),
|
||||
_buildLinkItem('Documentation', 'Guide d\'utilisation', Icons.book, () => _launchUrl('https://docs.unionflow.com')),
|
||||
_buildLinkItem('Confidentialité', 'Protection des données', Icons.privacy_tip, () => _launchUrl('https://unionflow.com/privacy')),
|
||||
@@ -319,10 +319,10 @@ class _AboutPageState extends State<AboutPage> {
|
||||
'SUPPORT',
|
||||
style: AppTypography.subtitleSmall.copyWith(fontWeight: FontWeight.bold, letterSpacing: 1.1),
|
||||
),
|
||||
const SizedBox(height: 12),
|
||||
const SizedBox(height: 8),
|
||||
_buildSupportItem('Email', 'support@unionflow.com', Icons.email, () => _launchUrl('mailto:support@unionflow.com')),
|
||||
_buildSupportItem('Bug', 'Signaler un problème', Icons.bug_report, () => _showBugReportDialog()),
|
||||
const SizedBox(height: 24),
|
||||
const SizedBox(height: 12),
|
||||
const Center(
|
||||
child: Column(
|
||||
children: [
|
||||
@@ -398,8 +398,8 @@ class _AboutPageState extends State<AboutPage> {
|
||||
_launchUrl('mailto:support@unionflow.com?subject=Rapport de bug - UnionFlow Mobile');
|
||||
},
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: ColorTokens.primary,
|
||||
foregroundColor: ColorTokens.onPrimary,
|
||||
backgroundColor: AppColors.primaryGreen,
|
||||
foregroundColor: Colors.white,
|
||||
),
|
||||
child: const Text('Envoyer un email'),
|
||||
),
|
||||
@@ -429,8 +429,8 @@ class _AboutPageState extends State<AboutPage> {
|
||||
_launchUrl('mailto:support@unionflow.com?subject=Suggestion d\'amélioration - UnionFlow Mobile');
|
||||
},
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: ColorTokens.primary,
|
||||
foregroundColor: ColorTokens.onPrimary,
|
||||
backgroundColor: AppColors.primaryGreen,
|
||||
foregroundColor: Colors.white,
|
||||
),
|
||||
child: const Text('Envoyer une suggestion'),
|
||||
),
|
||||
@@ -460,8 +460,8 @@ class _AboutPageState extends State<AboutPage> {
|
||||
_launchStoreForRating();
|
||||
},
|
||||
style: ElevatedButton.styleFrom(
|
||||
backgroundColor: ColorTokens.primary,
|
||||
foregroundColor: ColorTokens.onPrimary,
|
||||
backgroundColor: AppColors.primaryGreen,
|
||||
foregroundColor: Colors.white,
|
||||
),
|
||||
child: const Text('Évaluer maintenant'),
|
||||
),
|
||||
@@ -514,7 +514,7 @@ class _AboutPageState extends State<AboutPage> {
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
SnackBar(
|
||||
content: Text(message),
|
||||
backgroundColor: const Color(0xFFE74C3C),
|
||||
backgroundColor: AppColors.error,
|
||||
behavior: SnackBarBehavior.floating,
|
||||
),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user