Aller au contenu principal

Fonctionnalité de Partage de Calendrier

Cette fonctionnalité permet aux utilisateurs de partager leur calendrier de disponibilité pour les commandes sous forme d'image. Les jours OFF et les jours complets sont clairement indiqués pour faciliter la communication avec les clients.

Installation

  1. Assurez-vous d'avoir installé tous les packages nécessaires :
flutter pub add screenshot path_provider share_plus image
flutter pub get
  1. Créez la table et les politiques Supabase en exécutant le script SQL fourni :

    • Connectez-vous à votre dashboard Supabase
    • Allez dans l'éditeur SQL
    • Copiez et exécutez le contenu du fichier supabase/sql/calendar_templates.sql
  2. Créez un bucket de stockage pour les images :

    • Dans le dashboard Supabase, allez dans la section "Storage"
    • Créez un nouveau bucket nommé "calendar_images"
    • Configurez-le comme "public" pour permettre l'accès aux images partagées

Utilisation

La fonctionnalité de partage est accessible depuis la page principale du calendrier via le bouton de partage dans la barre d'actions.

Pour partager un calendrier :

  1. Ouvrez l'application et accédez à la page Calendrier
  2. Appuyez sur l'icône de partage dans la barre d'actions
  3. Sélectionnez le mois et l'année à partager
  4. Personnalisez le message de partage si nécessaire
  5. Sélectionnez un template (la version actuelle n'inclut qu'un template par défaut)
  6. Utilisez le bouton "Partager" pour partager l'image via les applications installées sur votre appareil
  7. Alternativement, utilisez "Sauvegarder" pour enregistrer l'image dans Supabase

Futures Évolutions

Les fonctionnalités suivantes sont prévues pour les prochaines versions :

  1. Ajout de plusieurs templates personnalisables
  2. Possibilité d'ajouter un logo ou une image de marque
  3. Personnalisation des couleurs et du style
  4. Planification de partages automatiques (mensuel, hebdomadaire)
  5. Partage direct sur les réseaux sociaux spécifiques (Facebook, Instagram, etc.)
  6. Génération d'URL permanente pour le calendrier des disponibilités

Structure du Code

La fonctionnalité est organisée selon l'architecture Clean :

lib/features/share_calendar/
data/
repositories/
share_repository_impl.dart - Implémentation du repository avec Supabase
domain/
entities/
calendar_template.dart - Modèle des templates de calendrier
repositories/
share_repository.dart - Interface du repository
usecases/
generate_calendar_image.dart - Génération de l'image
share_calendar_image.dart - Partage de l'image
presentation/
pages/
share_page.dart - Page principale pour le partage
widgets/
sharable_calendar_widget.dart - Widget personnalisé pour le calendrier partageable
template_selector.dart - Sélecteur de templates

Résolution de Problèmes

Si vous rencontrez des problèmes lors de l'utilisation de cette fonctionnalité :

  1. Assurez-vous que les autorisations de stockage et de partage sont accordées à l'application
  2. Vérifiez que le bucket "calendar_images" existe dans Supabase et est configuré comme public
  3. Vérifiez la connexion Internet pour le téléchargement des images
  4. Si l'image ne s'affiche pas correctement, essayez de changer l'orientation de l'appareil