diff --git a/refonte_graphique/accouplement.html b/refonte_graphique/accouplement.html new file mode 100755 index 0000000..3d00966 --- /dev/null +++ b/refonte_graphique/accouplement.html @@ -0,0 +1,260 @@ + + + + + + + + + + + + + +
+
+
+Dashboard +Enclos +Statistiques +
+
+
+
+
+ +
+ +
+ +
+
+

Sélection du Parent 1

+MÂLE REQUIS +
+
+
+
+add +
+

Cliquer pour choisir un mâle

+
+
+
+ +
+
+favorite +
+
+
+ + +
+
+ + +
+
+ +
+ +
+
+

Sélection du Parent 2

+FEMELLE REQUISE +
+
+
+
+add +
+

Cliquer pour choisir une femelle

+
+
+
+
+ +
+ +
+Générations + + + + + + + + + + + +
+ +
+ +
+
+stylized digital illustration of a colorful fantasy creature icon +
GEN 1
+
+
+

Rousse

+
+Niv. 17 + +
+
+
+
+
+stylized digital illustration +
GEN 1
+
+
+

Amande

+
+Niv. 94 + +
+
+
+
+
+stylized digital illustration +
GEN 1
+
+
+

Dorée

+
+Niv. 80 + +
+
+
+
+
+stylized digital illustration +
GEN 2
+
+
+

Indigo

+
+Niv. 46 + +
+
+
+
+ +
+ +
+
+
+ +
+
+Archive ID: #882-AMTHST +Total Accouplements: 1,204 +
+
+ + SYSTEM ONLINE +
+
+ \ No newline at end of file diff --git a/refonte_graphique/accouplement.png b/refonte_graphique/accouplement.png new file mode 100755 index 0000000..2866456 Binary files /dev/null and b/refonte_graphique/accouplement.png differ diff --git a/refonte_graphique/dashboard.html b/refonte_graphique/dashboard.html new file mode 100755 index 0000000..0fb29cf --- /dev/null +++ b/refonte_graphique/dashboard.html @@ -0,0 +1,361 @@ + + + + + +Minuteur Dragodinde - L'Archive d'Obsidienne + + + + + + + +
+
+
+
+ + Tableau de bord + + +Enclos +Statistiques +
+
+
+
+
+
+
+

Statistiques Globales

+ +
+
+
+

Total Bébés

+
+13 ++2 +
+
+
+

Dragodindes Actives

+15 +
+
+

Couples Formés

+35 +
+
+

Taux de Réussite

+37% +
+
+

Races Obtenues

+2 +
+
+
+
+
+
+

Aperçu - Tous les enclos

+
+ +
+
+
+

ENCLOS ALPHA

+

+ Actif +

+
+
+
+

10 DD

+

Capacité max

+
+
+

+hourglass_top + Restant: 02:45:00 +

+

+schedule + Écoulé: 01:15:00 +

+
+
+
+
+ +restaurant Mangeoire + + +spa Caresseur + +
+ +
+ +
+
+
+

ENCLOS GAMMA

+

+ Actif +

+
+
+
+

5 DD

+

Capacité max

+
+
+

+hourglass_top + Restant: 12:00:00 +

+

+schedule + Écoulé: 24:00:00 +

+
+
+
+
+ +restaurant Mangeoire + +
+ +
+ +
+
+
+

ENCLOS BETA

+

+ Inactif +

+
+
+
+

0 DD

+

Capacité max

+
+
+

+hourglass_empty + --:--:-- +

+

+schedule + --:--:-- +

+
+
+
+
+ + Aucune jauge active + +
+ +
+ +
+
+
+

ENCLOS EPSILON

+

+ Actif +

+
+
+
+

2 DD

+

Capacité max

+
+
+

+hourglass_top + Restant: 00:30:15 +

+

+schedule + Écoulé: 05:20:00 +

+
+
+
+
+ +spa Caresseur + +
+ +
+
+
+
+
+
+

Activité récente

+
+
    +
  • +
    +
    +

    Naissance réussie

    +

    2 Dragodindes rousses • Il y a 10 min

    +
    +
  • +
  • +
    +
    +

    Enclos Alpha - Mangeoires

    +

    Réapprovisionnement requis • Il y a 1h

    +
    +
  • +
  • +
    +
    +

    Nouvelle race découverte

    +

    Ébène enregistrée • Il y a 3h

    +
    +
  • +
  • +
    +
    +

    Accouplement programmé

    +

    Enclos Gamma • Il y a 4h

    +
    +
  • +
  • +
    +
    +

    Sérénité stabilisée

    +

    Enclos Epsilon • Il y a 5h

    +
    +
  • +
+
+
+
+

Progression des races

+
+
+
+Dorée et Rousse +10/10 (Terminé) +
+
+
+
+
+
+
+Ébène +3/10 +
+
+
+
+
+
+
+Indigo +0/10 +
+
+
+
+
+
+
+Amande +0/10 +
+
+
+
+
+
+
+Émeraude +0/10 +
+
+
+
+
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/refonte_graphique/dashboard.png b/refonte_graphique/dashboard.png new file mode 100755 index 0000000..bcf54a9 Binary files /dev/null and b/refonte_graphique/dashboard.png differ diff --git a/refonte_graphique/enclos.html b/refonte_graphique/enclos.html new file mode 100755 index 0000000..286c1cb --- /dev/null +++ b/refonte_graphique/enclos.html @@ -0,0 +1,228 @@ + + + + + +Minuteur Dragodinde - Enclos 1 + + + + + + +
+
+
+
+Tableau de bord + + Enclos + + +Statistiques +
+
+
+
+
+
+

Enclos 1

+ +
+
+
+
+Temps Écoulé +
+00:00:00 +
+
+
+notifications +Alarme dans +
+--:--:-- +
+ +
+
+ +
+Jauges Actives : + + + + + + +
+ +
+
+
+
+restaurant +Mangeoire +
+Tier 3 · ±30/tick +
+
+
+
+
+90 000 / 100 000 +Vide en 17h 07m 50s +
+
+
+
+
+add +Caresseur +
+Tier 3 · ±10/tick +
+
+
+
+
+0 / 100 000 +Vide en 0s +
+
+
+
+
+

+ Dragodindes 10/10 +

+ +
+
+ +
+
+
+
+ \ No newline at end of file diff --git a/refonte_graphique/enclos.png b/refonte_graphique/enclos.png new file mode 100755 index 0000000..5c56d8d Binary files /dev/null and b/refonte_graphique/enclos.png differ diff --git a/refonte_graphique/icone_archive_obsidienne.ico b/refonte_graphique/icone_archive_obsidienne.ico new file mode 100755 index 0000000..8fbacdf Binary files /dev/null and b/refonte_graphique/icone_archive_obsidienne.ico differ diff --git a/refonte_graphique/icone_sidebar.png b/refonte_graphique/icone_sidebar.png new file mode 100755 index 0000000..2f0f8a8 Binary files /dev/null and b/refonte_graphique/icone_sidebar.png differ diff --git a/refonte_graphique/inventaire.html b/refonte_graphique/inventaire.html new file mode 100755 index 0000000..1f8ec49 --- /dev/null +++ b/refonte_graphique/inventaire.html @@ -0,0 +1,396 @@ + + + + + +Obsidian Archive - Inventaire & Breeding Planner + + + + + + + + +
+
+
+Dashboard +Enclos +Statistiques +
+
+
+ + +
+
+
+ +
+
+

Inventaire Actuel

+348 Dragons au total +
+ +
+
+ +
+search + +
+
+
+ +
+ + + + + + +
+
+ +
+
+ +
+GEN 1 +
+Dragodinde Amande +
+
+

Amande

+
+♂ 12 +♀ 8 +
+
+
+ +
+GEN 1 +
+Dragodinde Rousse +
+
+

Rousse

+
+♂ 15 +♀ 11 +
+
+
+ +
+GEN 2 +
+Dragodinde Pourpre +
+
+

Pourpre

+
+♂ 4 +♀ 2 +
+
+
+ +
+GEN 3 +
+Dragodinde Emeraude +
+
+

Émeraude

+
+♂ 8 +♀ 10 +
+
+
+ +
+GEN 4 +
+Dragodinde Ivoire +
+
+

Ivoire

+
+♂ 2 +♀ 1 +
+
+
+ +
+GEN 1 +
+Dragodinde Indigo +
+
+

Indigo

+
+♂ 5 +♀ 3 +
+
+
+ +
+GEN 1 +
+Dragodinde Ébène +
+
+

Ébène

+
+♂ 7 +♀ 6 +
+
+
+ +
+GEN 2 +
+Dragodinde Turquoise +
+
+

Turquoise

+
+♂ 5 +♀ 2 +
+
+
+
+
+ +
+
+science +

Calculateur de Croisements

+
+
+ +
+
+Étape 01 +

Parents Requis

+
+
+
+
+Dragon +
♂ x3
+
+
+Dragon +
♀ x3
+
+
+arrow_forward +
+RÉSULTAT +
+Résultat +
+Amande & Rousse +
+
+
+ +
+Nb couples + +
+
+
+ +
+
+Étape 02 +

Parents Requis

+
+
+
+
+Dragon +
♂ x1
+
+
+Dragon +
♀ x1
+
+
+arrow_forward +
+RÉSULTAT +
+Résultat +
+Indigo & Ébène +
+
+
+ +
+Nb couples + +
+
+
+
+
+ +
+
+

Dragodindes Restantes

+Non-utilisées dans le plan +
+
+
+
+Dragon +
+
+

Turquoise

+

♂ 5 ♀ 2

+
+
+
+
+Dragon +
+
+

Orchidée

+

♂ 1 ♀ 4

+
+
+
+
+Dragon +
+
+

Prune

+

♂ 3 ♀ 0

+
+
+
+
+Dragon +
+
+

Dorée

+

♂ 0 ♀ 2

+
+
+
+
+
+ \ No newline at end of file diff --git a/refonte_graphique/inventaire.png b/refonte_graphique/inventaire.png new file mode 100755 index 0000000..ef57aa9 Binary files /dev/null and b/refonte_graphique/inventaire.png differ diff --git a/refonte_graphique/palette_couleurs_typo.html b/refonte_graphique/palette_couleurs_typo.html new file mode 100755 index 0000000..7b0a5aa --- /dev/null +++ b/refonte_graphique/palette_couleurs_typo.html @@ -0,0 +1,342 @@ + + + + + +Obsidian Amethyst - Guide de Style + + + + + + + + + +
+
Obsidian Amethyst
+
+Foundations +Components +Tokens +Patterns +
+
+contrast +settings +
+User profile avatar +
+
+
+ +
+
+
+
+auto_awesome +
+

Design System

+
+

v1.0.4

+
+
+
+palette +Colors +
+
+text_fields +Typography +
+
+layers +Elevation +
+
+grid_view +Layout +
+
+auto_awesome +Motion +
+
+
+
+description +Documentation +
+ +
+
+ +
+ +
+

Guide de Style

+

Spécifications visuelles et identité de l'archive Obsidian.

+
+ +
+ +
+
+palette +

Palette de Couleurs

+
+
+ +
+
+
+

Améthyste Primaire

+
+#8B5CF6 +content_copy +
+
+
+ +
+
+
+

Améthyste Éclat

+
+#CB97FF +content_copy +
+
+
+ +
+
+
+

Rose Secondaire

+
+#F673B7 +content_copy +
+
+
+ +
+
+
+

Noir Profond

+
+#0A0A0F +content_copy +
+
+
+ +
+
+
+

Surface Obsidian

+
+#1C1724 +content_copy +
+
+
+ +
+
+
+

Gris d'Interface

+
+#4B4652 +content_copy +
+
+
+
+
+ +
+
+text_fields +

Typographie

+
+
+
+

Police Headline: Manrope

+
+

Affichage Large

+

Titre de Section

+

Sous-titre informatif

+
+
+
+

Police Body: Inter

+
+

+ Le corps de texte utilise Inter pour une lisibilité maximale. Idéal pour les descriptions longues et les données complexes. +

+
+
+
+

Police Label: Plus Jakarta Sans

+
+

Metadata et petits détails

+

Boutons et Indicateurs

+
+
+
+
+ +
+
+widgets +

Composants & Glassmorphism

+
+
+ +
+
+diamond +

Carte Vitrée

+

Illustration du style glassmorphism avec flou d'arrière-plan et bordures fantômes subtiles.

+
+
+
+
+Progression +66% +
+
+ +
+

Boutons & Actions

+
+ + +
+ + +
+
+
+ +
+Imagery Style +
+

Style Imagerie

+

Sombres, cinématiques, avec accents néon.

+
+
+
+
+
+ +
+
+
Ω
+
+

Obsidian Amethyst System

+

Propriété de l'Archive Améthyste © 2024

+
+
+
+
+ + Export Prêt +
+
+ A3 / Digital Standard +
+
+
+
+ + \ No newline at end of file diff --git a/refonte_graphique/parametres.html b/refonte_graphique/parametres.html new file mode 100755 index 0000000..54bbb27 --- /dev/null +++ b/refonte_graphique/parametres.html @@ -0,0 +1,215 @@ + + + + + + + + + + + + + + +
+
+
+Tableau de bord +Enclos +Statistiques +
+
+
+
+
+
+
+

Paramètres

+

Personnalisez votre expérience au sein du coffre-fort éthéré.

+
+
+ +
+
+
+ + + +
+
+
+ +
+ +
+
+campaign +

Son de l'alarme

+
+

Définissez l'ambiance sonore qui marquera vos rappels d'archivage.

+
+ +
+ +
+expand_more +
+
+
+play_circle +Écouter l'aperçu +
+
+
+ +
+
+notifications_active +

Notifications

+
+
+ +
+
+
+desktop_windows +
+
+

Notifications PC Windows

+

Alertes natives sur votre système d'exploitation.

+
+
+ + +
+ +
+
+
+smartphone +
+
+

Notifications Mobile

+

Synchronisez vos alertes sur iOS ou Android.

+
+
+ +
+
+
+ +
+
+
+
+
+
+ © 2024 L'Archive d'Obsidienne. Tous droits réservés. +
+
+Confidentialité +Aide +Conditions d'utilisation +
+
+
+ \ No newline at end of file diff --git a/refonte_graphique/parametres.png b/refonte_graphique/parametres.png new file mode 100755 index 0000000..237d313 Binary files /dev/null and b/refonte_graphique/parametres.png differ diff --git a/refonte_graphique/parametres_modal.html b/refonte_graphique/parametres_modal.html new file mode 100755 index 0000000..bc6fa73 --- /dev/null +++ b/refonte_graphique/parametres_modal.html @@ -0,0 +1,157 @@ + + + + + +NOTIFICATIONS MOBILES - The Obsidian Archive + + + + + + + + + +
+ +
+

NOTIFICATIONS MOBILES

+ +
+ +
+ +
+

1. Installer l'app ntfy

+

+ Téléchargez l'application ntfy sur votre appareil mobile. Scannez ce code pour ouvrir directement la page sur l'App Store ou le Play Store. +

+
+QR Code +
+
+phone_iphone +shop +
+
+ +
+

2. Scanne pour t'abonner

+

+ Une fois l'application installée, scannez ce code pour ajouter automatiquement le canal de l'Archive et recevoir vos alertes en temps réel. +

+
+QR Code +
+
+notifications_active +key +
+
+
+ +
+ + +
+ +
+
+ +
+
+ \ No newline at end of file diff --git a/refonte_graphique/parametres_modal.png b/refonte_graphique/parametres_modal.png new file mode 100755 index 0000000..ee58134 Binary files /dev/null and b/refonte_graphique/parametres_modal.png differ diff --git a/refonte_graphique/reapprovisionnement.html b/refonte_graphique/reapprovisionnement.html new file mode 100755 index 0000000..466fcd0 --- /dev/null +++ b/refonte_graphique/reapprovisionnement.html @@ -0,0 +1,464 @@ + + + + + +L'Archive d'Obsidienne - Réapprovisionnement + + + + + + +
+
+
+ + Tableau de bord + + + Enclos + + + Statistiques + +
+
+v1.1.5 +
+
+
+ +
+
+
+

Sélectionne ta cible

+
+
+
+ + + + + +
+
+
+
+
+Gen 5 +
+
+Dragodinde Pourpre +
+

Pourpre

+
+
+ +
+
+ +
+
+

Plan de Croisement

+
+
+
+ +
+
+

+1 + MATIÈRES PREMIÈRES — GÉNÉRATION 1 +

+Total : 16 dragodindes requises +
+
+
+
+
+
+

Amande ♂

+

×6

+
+
+
+
+
+

Rousse ♂

+

×2

+
+
+
+
+
+

Rousse ♀

+

×4

+
+
+
+
+
+

Dorée ♀

+

×4

+
+
+
+
+expand_more +
+ +
+
+

+2 + CROISEMENTS — GÉNÉRATION 2 +

+
+
+ +
+
+
+
+

Amande ♂

+
+add +
+
+

Rousse ♀

+
+arrow_forward +
+
+G2 +
+
+

Amande & Rousse

+
+
+
+ +
+ +Couples +
+
+
+ +
+
+
+
+

Dorée ♂

+
+add +
+
+

Rousse ♀

+
+arrow_forward +
+
+G2 +
+
+

Dorée & Rousse

+
+
+
+ +
+ +Couples +
+
+
+
+
+
+expand_more +
+ +
+
+

+3 + CROISEMENTS — GÉNÉRATION 3 +

+
+
+
+
+
+
+

Amande/Rousse

+
+add +
+
+

Dorée/Rousse

+
+arrow_forward +
+
+G3 +
+
+

Ebène

+
+
+
+ +
+ +Couples +
+
+
+
+
+
+expand_more +
+ +
+
+

+4 + CROISEMENTS — GÉNÉRATION 4 +

+
+
+
+
+
+
+

Ebène ♂

+
+add +
+
+

Indigo ♀

+
+arrow_forward +
+
+G4 +
+
+

Turquoise

+
+
+
+ +
+ +Couples +
+
+
+
+
+
+expand_more +
+ +
+
+

+5 + ÉTAPE FINALE — GÉNÉRATION 5 +

+Objectif final +
+
+
+
+
+
+

Émeraude ♂

+
+add +
+
+

Turquoise ♀

+
+arrow_forward +
+
+CIBLE +Pourpre +
+

Pourpre

+

×1

+
+
+
+ +
+group + +Couples +
+
+
+
+
+
+
+
+
+
+
+
+auto_awesome +
+
+

Cible de réapprovisionnement

+

Pourpre (Génération 5)

+
+
+
+
+ + +
+
+
+ + \ No newline at end of file diff --git a/refonte_graphique/reapprovisionnement.png b/refonte_graphique/reapprovisionnement.png new file mode 100755 index 0000000..76e86de Binary files /dev/null and b/refonte_graphique/reapprovisionnement.png differ diff --git a/refonte_graphique/sidebar.html b/refonte_graphique/sidebar.html new file mode 100755 index 0000000..643ba76 --- /dev/null +++ b/refonte_graphique/sidebar.html @@ -0,0 +1,203 @@ + + + + + + + + + + + + + +
+ + + + +
+ +
+
+
+Logo L'Archive d'Obsidienne +
+
+
+Obsidienne +Gestion d'élevage +
+
+ +
+ +
+

Principal

+
+ + + +dashboard +Tableau de bord + +
+
+ +
+

Enclos

+
+ + + + +pentagon +Enclos Alpha + + +pentagon +Enclos Bêta + + +pentagon +Enclos Gamma + + +pentagon +Enclos Delta + + +pentagon +Enclos Epsilon + + +pentagon +Enclos Zêta + +
+
+ +
+

Outils

+
+ +favorite +Accouplement + + +inventory_2 +Inventaire + + +account_tree +Workflows + +
+
+
+ +
+
+ +settings +Paramètres + +
+info +v1.1.5 DEV +
+
+
+
+ +
+ \ No newline at end of file diff --git a/refonte_graphique/sidebar.png b/refonte_graphique/sidebar.png new file mode 100755 index 0000000..70e550e Binary files /dev/null and b/refonte_graphique/sidebar.png differ diff --git a/refonte_graphique/statistiques.html b/refonte_graphique/statistiques.html new file mode 100755 index 0000000..26045c0 --- /dev/null +++ b/refonte_graphique/statistiques.html @@ -0,0 +1,225 @@ + + + + + +L'Archive d'Obsidienne - Statistiques + + + + + + + +
+ +
+ +
+
+
+
+Tableau de bord +Enclos +Statistiques +
+
+
+
+
+
+
+ +
+

Statistiques d'Élevage

+

Aperçu analytique approfondi des performances biologiques de votre archive.

+
+ +
+
+

Total Naissances

+
+1,284 ++12% +
+
+
+

Taux de Réussite

+
+87% ++3.2% +
+
+
+

Couples Actifs

+
+42 +-2 +
+
+
+

Races obtenues

+
+12 +Rare +
+
+
+ +
+ +
+
+

Évolution des Naissances

+30 DERNIERS JOURS +
+ +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+

Répartition des Races

+
+
+
+
+
+12 +TYPES +
+
+
+
+
+
+Ebène +
+45% +
+
+
+
+Indigo +
+35% +
+
+
+
+Dores +
+20% +
+
+
+
+
+
+
+
+ \ No newline at end of file diff --git a/refonte_graphique/statistiques.png b/refonte_graphique/statistiques.png new file mode 100755 index 0000000..53ab776 Binary files /dev/null and b/refonte_graphique/statistiques.png differ diff --git a/refonte_graphique/workflows_detail.html b/refonte_graphique/workflows_detail.html new file mode 100755 index 0000000..b860fe7 --- /dev/null +++ b/refonte_graphique/workflows_detail.html @@ -0,0 +1,305 @@ + + + + + +L'Archive d'Obsidienne - Suivi de Workflow + + + + + + + + + +
+
+
+ +
+
+
+timeline +
+

Objectif : Pourpre et Rousse

+
+
+
+
+Progression Globale +14% +
+
+
+
+
+
+
+
+
+
+
+
+Dragodinde Cible +
+GEN 6 +
+
+

1x Pourpre et Rousse

+

Estimation : ~42 jours de reproduction • Plan de croisement optimisé

+
+
+
+
+

Naissances

+

0 / 21

+
+
+

Croisements

+

0 / 8

+
+
+
+
+
+Étape 1/6 +

Géniteurs de Base (Matières Premières)

+
+
+
+
+Rousse +G1 +
+
+

Dragodinde Rousse

+
+Besoin: 5 +
+0 / 5 +
+
+
+
+
+
+
+
+
+Amande +G1 +
+
+
+

Dragodinde Amande

+check_circle +
+
+Besoin: 4 +
+4 / 4 +
+
+
+
+
+
+
+
+
+Dorée +G1 +
+
+

Dragodinde Dorée

+
+Besoin: 2 +
+0 / 2 +
+
+
+
+
+
+
+
+
+
+
+
+Étape 2/6 +

Croisements — Génération 2

+
+
+
+
Couple Actif
+
+
+
+Parent 1 +G1 +
++ +
+Parent 2 +G1 +
+
+double_arrow +
+
+Result +G2 +
+
+

Amande et Rousse

+

Objectif : 3 réussis

+
+
+ + + +
+1 / 3 +
+
+
+
+
+
+
+
+
+Parent 1 +G1 +
++ +
+Parent 2 +G1 +
+
+double_arrow +
+
+Result +G2 +
+
+

Dorée et Rousse

+

Objectif : 1 réussi

+
+
+ +
+0 / 1 +
+
+
+
+
+
+
+
+
+
+Étape 3/6 +

Croisements — Génération 3

+
+
+
+lock +

Terminez les étapes précédentes pour débloquer

+
+
+
+
+
+
+
+
+
+État du stock global +
+
+ +4 Amandes +
+
+ +0/5 Rousses +
+
+ +0/2 Dorées +
+
+
+
+
+
+auto_awesome + Calculateur de rentabilité : Optimal +
+ +
+
+ \ No newline at end of file diff --git a/refonte_graphique/workflows_detail.png b/refonte_graphique/workflows_detail.png new file mode 100755 index 0000000..8b133c1 Binary files /dev/null and b/refonte_graphique/workflows_detail.png differ diff --git a/refonte_graphique/workflows_summary.html b/refonte_graphique/workflows_summary.html new file mode 100755 index 0000000..be554fb --- /dev/null +++ b/refonte_graphique/workflows_summary.html @@ -0,0 +1,231 @@ + + + + + +The Obsidian Archive - Sommaire des Workflows + + + + + + + + +
+
+
+Tableau de bord +Enclos +Statistiques +
+
+
+
+
+ +
+ +
+ +
+
+

Sommaire des Plans

+

Gérez et suivez l'évolution de vos plans de reproduction.

+
+
+3 Plans Actifs +
+
+ +
+ +
+
+
+Lignée Royale +

Amande/Rousse

+
+
+genetics +
+
+
+
+Progression Actuelle +85% +
+
+
+
+
+
+history +Dernière modif : Hier, 14:20 +
+ +
+
+
+ +
+
+
+Lignée Expérimentale +

Rousse/Dorée

+
+
+hub +
+
+
+
+Progression Actuelle +32% +
+
+
+
+
+
+history +Dernière modif : 3 janv. +
+ +
+
+
+ +
+
+
+Lignée Défensive +

Amande/Dorée

+
+
+shield +
+
+
+
+Progression Actuelle +61% +
+
+
+
+
+
+history +Dernière modif : 22 déc. +
+ +
+
+
+ +
+
+add_circle +
+
+

Nouveau Plan

+

Lancer un nouveau cycle de sélection

+
+
+
+
+
+ \ No newline at end of file diff --git a/refonte_graphique/workflows_summary.png b/refonte_graphique/workflows_summary.png new file mode 100755 index 0000000..2450a8e Binary files /dev/null and b/refonte_graphique/workflows_summary.png differ diff --git a/src/presentation/components/AccouplementView.ts b/src/presentation/components/AccouplementView.ts new file mode 100644 index 0000000..58d8689 --- /dev/null +++ b/src/presentation/components/AccouplementView.ts @@ -0,0 +1,458 @@ +import type { CommandBus } from '@application/handlers/CommandBus'; +import type { QueryBus } from '@application/handlers/QueryBus'; +import { RACES_DATA, GEN_COLORS, RACE_GEN, BREEDING_BY_PARENTS, COMPATIBLE_PARTNERS } from '@domain/value-objects/Race'; +import { getDDImage } from '@presentation/helpers/dd-image'; +import { esc } from '@presentation/helpers/format'; +import { Toast } from './Toast'; + +interface AccoupState { + parent1: string | null; + parent2: string | null; + filterGen: number | null; + search: string; + couples: string; + babies: string; + selectingSlot: 1 | 2; +} + +export class AccouplementView { + private el: HTMLElement | null = null; + private accoupState: AccoupState = { + parent1: null, parent2: null, + filterGen: null, search: '', + couples: '', babies: '', + selectingSlot: 1, + }; + private dirty = true; + private dragScrollRAF: number | null = null; + private dragMouseY = 0; + + constructor( + private commandBus: CommandBus, + private queryBus: QueryBus, + ) {} + + render(container: HTMLElement): void { + this.el = document.createElement('div'); + this.el.className = 'accoup-view'; + container.appendChild(this.el); + this.dirty = true; + this.update(); + } + + update(): void { + if (!this.el || !this.dirty) return; + this.dirty = false; + this.renderSinglePage(); + } + + destroy(): void { + this.el?.remove(); + this.el = null; + } + + /* ── All races list ── */ + private getAllRaces(): { name: string; gen: number }[] { + const all: { name: string; gen: number }[] = []; + for (const base of ['Rousse', 'Amande', 'Dorée']) + all.push({ name: base, gen: 1 }); + for (const [g, rs] of Object.entries(RACES_DATA)) + for (const r of rs) + all.push({ name: r.name, gen: parseInt(g) }); + return all; + } + + /* ── Filtered races (gen filter, search, partner compat) ── */ + private getFilteredRaces(): { name: string; gen: number }[] { + const { filterGen, search, parent1, selectingSlot } = this.accoupState; + let races = this.getAllRaces(); + + // If selecting parent 2, only show compatible partners + if (selectingSlot === 2 && parent1) { + const partners = COMPATIBLE_PARTNERS[parent1] ?? []; + const partnerNames = new Set(partners.map(p => p.partner)); + races = races.filter(r => partnerNames.has(r.name)); + } + + const q = search.trim().toLowerCase(); + return races.filter(r => + (filterGen ? r.gen === filterGen : true) && + (q ? r.name.toLowerCase().includes(q) : true) + ); + } + + /* ── Baby name from parents ── */ + private getBabyName(): string | null { + const { parent1, parent2 } = this.accoupState; + if (!parent1 || !parent2) return null; + return BREEDING_BY_PARENTS[parent1 + '|' + parent2] ?? null; + } + + /* ── Auto-scroll during drag ── */ + private getScrollContainer(): HTMLElement | null { + return this.el?.closest('.main-content') as HTMLElement | null; + } + + private startDragAutoScroll(): void { + const container = this.getScrollContainer(); + if (!container) return; + + const onDragOver = (e: DragEvent) => { this.dragMouseY = e.clientY; }; + container.addEventListener('dragover', onDragOver); + + const EDGE = 80; // zone de déclenchement (px depuis le bord) + const SPEED = 28; // vitesse de scroll (px par frame) + + const tick = () => { + const rect = container.getBoundingClientRect(); + const y = this.dragMouseY; + + if (y > 0 && y < rect.top + EDGE) { + // Proche du haut → scroll vers le haut + container.scrollTop -= SPEED; + } else if (y > rect.bottom - EDGE && y < rect.bottom) { + // Proche du bas → scroll vers le bas + container.scrollTop += SPEED; + } + + this.dragScrollRAF = requestAnimationFrame(tick); + }; + + this.dragScrollRAF = requestAnimationFrame(tick); + // Store cleanup ref + (this as any)._dragOverCleanup = () => container.removeEventListener('dragover', onDragOver); + } + + private stopDragAutoScroll(): void { + if (this.dragScrollRAF !== null) { + cancelAnimationFrame(this.dragScrollRAF); + this.dragScrollRAF = null; + } + if ((this as any)._dragOverCleanup) { + (this as any)._dragOverCleanup(); + delete (this as any)._dragOverCleanup; + } + } + + /* ── Assign a race to a parent slot ── */ + private assignRaceToSlot(race: string, forceSlot?: 1 | 2): void { + const slot = forceSlot ?? (this.accoupState.parent1 ? 2 : 1); + + if (slot === 1) { + this.accoupState.parent1 = race; + this.accoupState.parent2 = null; // Reset P2 since partners depend on P1 + this.accoupState.selectingSlot = 2; + this.accoupState.filterGen = null; + this.accoupState.search = ''; + } else { + // Check partner compatibility if P1 is set + if (this.accoupState.parent1) { + const partners = COMPATIBLE_PARTNERS[this.accoupState.parent1] ?? []; + const isCompat = partners.some(p => p.partner === race); + if (!isCompat) return; // Ignore incompatible drop + } + this.accoupState.parent2 = race; + } + + this.dirty = true; + this.update(); + } + + /* ── Single page render ── */ + private renderSinglePage(): void { + if (!this.el) return; + const { parent1, parent2, filterGen, search, couples, babies } = this.accoupState; + const baby = this.getBabyName(); + const hasBoth = !!(parent1 && parent2 && baby); + + let html = ''; + + /* ── Parent panels row ── */ + html += `
`; + + // Parent 1 section + html += `
`; + html += `
+ Parent 1 +
`; + if (parent1) { + const gen1 = RACE_GEN[parent1] ?? 1; + html += `
+ ${getDDImage(parent1)} + ${esc(parent1)} + Gen ${gen1} + +
`; + } else { + html += `
+
+
+ add +
+

Cliquer ou glisser un mâle ici

+
+
`; + } + html += `
`; + + // Center column + html += `
`; + html += `
+ favorite +
`; + html += `
+
+ + +
+
+ + +
+
`; + + // Baby preview (if both parents selected) + if (hasBoth && baby) { + const babyGen = RACE_GEN[baby] ?? 0; + html += `
+
Résultat
+ ${getDDImage(baby)} +
${esc(baby)}
+ Gen ${babyGen} +
`; + } + + html += ``; + html += `
`; + + // Parent 2 section + html += `
`; + html += `
+ Parent 2 +
`; + if (parent2) { + const gen2 = RACE_GEN[parent2] ?? 1; + html += `
+ ${getDDImage(parent2)} + ${esc(parent2)} + Gen ${gen2} + +
`; + } else { + html += `
+
+
+ add +
+

Cliquer ou glisser une femelle ici

+
+
`; + } + html += `
`; + html += `
`; // .accoup-parents + + /* ── Grid panel ── */ + html += `
`; + + // Gen chips + html += `
`; + html += `Générations`; + html += ``; + for (let g = 1; g <= 10; g++) { + html += ``; + } + html += `
`; + + // Search + html += `
+ + ${search ? `` : ''} +
`; + + // Race grid + const filtered = this.getFilteredRaces(); + if (filtered.length === 0) { + html += `
Aucune race trouvée
`; + } else { + html += `
`; + for (const race of filtered) { + const genCol = GEN_COLORS[race.gen] ?? '#888'; + html += `
+
+ ${getDDImage(race.name)} +
GEN ${race.gen}
+
+
${esc(race.name)}
+
`; + } + html += `
`; + } + + html += `
`; // .accoup-grid-panel + + this.el.innerHTML = html; + this.bindEvents(); + + // Restore search focus if active + if (search) { + const inp = this.el.querySelector('#accoup-search-input'); + if (inp) { inp.focus(); inp.setSelectionRange(inp.value.length, inp.value.length); } + } + } + + /* ── Event binding ── */ + private bindEvents(): void { + if (!this.el) return; + + // Gen chips + this.el.querySelectorAll('.accoup-gen-chip').forEach(btn => { + btn.addEventListener('click', () => { + const val = (btn as HTMLElement).dataset.gen; + this.accoupState.filterGen = val === 'all' ? null : parseInt(val!); + this.dirty = true; this.update(); + }); + }); + + // Search + const searchInput = this.el.querySelector('#accoup-search-input'); + if (searchInput) { + searchInput.addEventListener('input', () => { + this.accoupState.search = searchInput.value; + this.dirty = true; this.update(); + }); + } + const clearBtn = this.el.querySelector('.accoup-search-clear'); + if (clearBtn) { + clearBtn.addEventListener('click', () => { + this.accoupState.search = ''; + this.dirty = true; this.update(); + }); + } + + // Placeholder clicks (select slot) + this.el.querySelectorAll('[data-select-slot]').forEach(ph => { + ph.addEventListener('click', () => { + this.accoupState.selectingSlot = parseInt(ph.dataset.selectSlot!) as 1 | 2; + }); + }); + + // Clear parent buttons + this.el.querySelectorAll('.accoup-selected-parent-clear').forEach(btn => { + btn.addEventListener('click', (e) => { + e.stopPropagation(); + const slot = parseInt(btn.dataset.clear!); + if (slot === 1) { + this.accoupState.parent1 = null; + this.accoupState.parent2 = null; + this.accoupState.selectingSlot = 1; + } else { + this.accoupState.parent2 = null; + this.accoupState.selectingSlot = 2; + } + this.dirty = true; this.update(); + }); + }); + + // Race card clicks + this.el.querySelectorAll('.accoup-race-card').forEach(card => { + card.addEventListener('click', () => { + this.assignRaceToSlot(card.dataset.race!); + }); + + // Drag start + card.addEventListener('dragstart', (e) => { + e.dataTransfer!.setData('text/plain', card.dataset.race!); + e.dataTransfer!.effectAllowed = 'copy'; + card.classList.add('dragging'); + this.startDragAutoScroll(); + }); + card.addEventListener('dragend', () => { + card.classList.remove('dragging'); + this.stopDragAutoScroll(); + }); + }); + + // Drop zones + this.el.querySelectorAll('.accoup-drop-zone').forEach(zone => { + zone.addEventListener('dragover', (e) => { + e.preventDefault(); + e.dataTransfer!.dropEffect = 'copy'; + }); + zone.addEventListener('dragenter', (e) => { + e.preventDefault(); + zone.classList.add('drag-over'); + }); + zone.addEventListener('dragleave', () => { + zone.classList.remove('drag-over'); + }); + zone.addEventListener('drop', (e) => { + e.preventDefault(); + zone.classList.remove('drag-over'); + const race = e.dataTransfer!.getData('text/plain'); + if (!race) return; + const slot = parseInt(zone.dataset.dropSlot!) as 1 | 2; + this.assignRaceToSlot(race, slot); + }); + }); + + // Couples / babies inputs + const couplesInput = this.el.querySelector('#accoup-couples'); + const babiesInput = this.el.querySelector('#accoup-babies'); + if (couplesInput) { + let prev = couplesInput.value; + couplesInput.addEventListener('focus', () => { prev = couplesInput.value; couplesInput.value = ''; }); + couplesInput.addEventListener('blur', () => { + if (couplesInput.value === '') couplesInput.value = prev; + this.accoupState.couples = couplesInput.value; + }); + } + if (babiesInput) { + let prev = babiesInput.value; + babiesInput.addEventListener('focus', () => { prev = babiesInput.value; babiesInput.value = ''; }); + babiesInput.addEventListener('blur', () => { + if (babiesInput.value === '') babiesInput.value = prev; + this.accoupState.babies = babiesInput.value; + }); + } + + // Register button + const registerBtn = this.el.querySelector('#accoup-register'); + if (registerBtn) { + registerBtn.addEventListener('click', () => { + const { parent1, parent2 } = this.accoupState; + if (!parent1 || !parent2) return; + const baby = BREEDING_BY_PARENTS[parent1 + '|' + parent2] ?? ''; + if (!baby) return; + const c = parseInt(this.accoupState.couples) || 0; + const b = parseInt(this.accoupState.babies) || 0; + if (c <= 0) return; + + this.commandBus.execute({ + type: 'register-accouplement', + parent1, + parent2, + baby, + gen: RACE_GEN[baby] ?? 0, + couples: c, + babiesObtained: b, + }); + + Toast.show('success', 'Accouplement enregistré.'); + + // Reset + this.accoupState = { + parent1: null, parent2: null, + filterGen: null, search: '', + couples: '', babies: '', + selectingSlot: 1, + }; + this.dirty = true; this.update(); + }); + } + } +} diff --git a/src/presentation/components/App.ts b/src/presentation/components/App.ts new file mode 100644 index 0000000..4743ec7 --- /dev/null +++ b/src/presentation/components/App.ts @@ -0,0 +1,365 @@ +import type { CommandBus } from '@application/handlers/CommandBus'; +import type { QueryBus } from '@application/handlers/QueryBus'; +import type { UIState } from '@presentation/state/UIState'; +import type { DashboardResult } from '@application/queries/GetDashboard'; +import { Sidebar } from './Sidebar'; +import { Dashboard } from './Dashboard'; +import { EnclosView } from './EnclosView'; +import { AccouplementView } from './AccouplementView'; +import { ReapproView } from './ReapproView'; +import { InventaireView } from './InventaireView'; +import { ParametresView } from './ParametresView'; +import { WorkflowsView } from './WorkflowsView'; +import { StatistiquesView } from './StatistiquesView'; +import { UpdateBanner } from './UpdateBanner'; +import { Toast } from './Toast'; +import { ConfirmModal } from './ConfirmModal'; +import { UndoManager } from '@presentation/services/UndoManager'; +import { esc } from '@presentation/helpers/format'; +import { enclosGlobalState } from '@presentation/helpers/gauge-live'; +import { MAX_ENCLOS } from '@domain/entities/Enclos'; +import type { Enclos } from '@domain/entities/Enclos'; + +type ChildComponent = { update(): void; destroy(): void }; + +export class App { + private root: HTMLElement; + private sidebar: Sidebar; + private updateBanner: UpdateBanner; + private activeChild: ChildComponent | null = null; + private unsubscribe: (() => void) | null = null; + private rafId: number | null = null; + private completionIntervalId: number | null = null; + private lastView: string | number | null = null; + + // Tab drag-and-drop state + private dragSrcIdx: number | null = null; + + constructor( + private commandBus: CommandBus, + private queryBus: QueryBus, + private uiState: UIState, + rootElement: HTMLElement, + private playSound?: (name: string) => void, + ) { + this.root = rootElement; + this.sidebar = new Sidebar(uiState, queryBus); + this.updateBanner = new UpdateBanner(); + } + + render(): void { + this.root.innerHTML = ` +
+
+
+
+ +
+

⚔ Minuteur Dragodinde

+

Dofus 3 · Gestion multi-enclos en temps réel

+
+
+
+
+
+
+
+
+ `; + + // Mount sidebar + const sbContainer = this.root.querySelector('#sb-container') as HTMLElement; + this.sidebar.render(sbContainer); + + // Mount update banner + const bannerRoot = this.root.querySelector('#update-banner-root') as HTMLElement; + this.updateBanner.render(bannerRoot); + + // Mount toast container + const appShell = this.root.querySelector('.app-shell') as HTMLElement; + Toast.mount(appShell); + + // Ctrl+Z → undo + document.addEventListener('keydown', (e) => { + if ((e.ctrlKey || e.metaKey) && e.key === 'z' && UndoManager.canUndo()) { + e.preventDefault(); + UndoManager.undo(); + } + }); + + // Hamburger toggle + const hamburgerBtn = this.root.querySelector('#hamburger-btn') as HTMLElement; + hamburgerBtn.addEventListener('click', () => this.uiState.toggleSidebar()); + + // Subscribe to UI state changes + this.unsubscribe = this.uiState.subscribe(() => this.onStateChange()); + + // Initial renders + this.renderTabs(); + this.renderContent(); + this.updateSidebarState(); + + // Start animation loop + this.startAnimationLoop(); + + // Interval indépendant du focus fenêtre pour la détection de fin de session + this.completionIntervalId = window.setInterval(() => { + this.checkAllEnclosCompletion(); + }, 1000); + } + + private onStateChange(): void { + this.renderTabs(); + this.renderContent(); + this.sidebar.update(); + this.updateSidebarState(); + } + + private updateSidebarState(): void { + const sidebarEl = this.root.querySelector('.sidebar-new') as HTMLElement | null; + if (sidebarEl) { + sidebarEl.classList.toggle('sidebar-closed', !this.uiState.sidebarOpen); + } + } + + private getDashboardData(): DashboardResult { + return this.queryBus.execute({ type: 'get-dashboard' }); + } + + // ── Tabs ────────────────────────────────────────────────────── + private renderTabs(): void { + const tabsRow = this.root.querySelector('#tabs-row') as HTMLElement | null; + if (!tabsRow) return; + + const data = this.getDashboardData(); + const enclosList = data.enclosSummaries; + const activeView = this.uiState.activeView; + + let html = ''; + + // Dashboard tab + const dashActive = activeView === 'dashboard' ? ' active' : ''; + html += `
dashboardDashboard
`; + + // Statistiques tab + const statsActive = activeView === 'statistiques' ? ' active' : ''; + html += `
bar_chartStatistiques
`; + + // Enclos tabs + enclosList.forEach((enc, idx) => { + const isActive = activeView === enc.id ? ' active' : ''; + const isRunning = enc.running ? ' running' : ''; + const canDelete = enclosList.length > 1; + html += `
`; + html += ``; + html += `${esc(enc.name)}`; + if (canDelete) { + html += ``; + } + html += `
`; + }); + + // Add enclos button + const disabled = enclosList.length >= MAX_ENCLOS ? ' disabled' : ''; + html += ``; + + tabsRow.innerHTML = html; + + // Tab click events + tabsRow.querySelectorAll('.tab[data-view]').forEach(tab => { + tab.addEventListener('click', (e) => { + const target = e.target as HTMLElement; + if (target.classList.contains('tab-del')) return; + const view = (tab as HTMLElement).dataset['view']!; + const viewValue = /^\d+$/.test(view) ? Number(view) : view; + this.uiState.setActiveView(viewValue); + }); + }); + + // Delete events + tabsRow.querySelectorAll('.tab-del').forEach(btn => { + btn.addEventListener('click', async (e) => { + e.stopPropagation(); + const id = Number((btn as HTMLElement).dataset['deleteId']); + const ok = await ConfirmModal.show('Supprimer l\'enclos', 'Cette action est irréversible. Continuer ?'); + if (!ok) return; + const hasSnap = await UndoManager.snapshotCurrent('Suppression enclos'); + this.commandBus.execute({ type: 'delete-enclos', enclosId: id }); + Toast.show('success', 'Enclos supprimé.', hasSnap ? { label: 'Annuler', callback: () => UndoManager.undo() } : undefined); + if (this.uiState.activeView === id) { + const newData = this.getDashboardData(); + const firstEnclos = newData.enclosSummaries[0]; + this.uiState.setActiveView(firstEnclos ? firstEnclos.id : 'dashboard'); + } else { + this.uiState.notify(); + } + }); + }); + + // Add enclos button + const addBtn = tabsRow.querySelector('#add-enclos-btn') as HTMLElement | null; + if (addBtn) { + addBtn.addEventListener('click', () => { + this.commandBus.execute({ type: 'create-enclos' }); + const newData = this.getDashboardData(); + const last = newData.enclosSummaries[newData.enclosSummaries.length - 1]; + if (last) this.uiState.setActiveView(last.id); + }); + } + + // Drag and drop + this.setupTabDragAndDrop(tabsRow); + } + + private setupTabDragAndDrop(tabsRow: HTMLElement): void { + const tabs = tabsRow.querySelectorAll('.tab[draggable=true]') as NodeListOf; + + tabs.forEach(tab => { + tab.addEventListener('dragstart', (e) => { + this.dragSrcIdx = Number(tab.dataset['idx']); + (e as DragEvent).dataTransfer!.effectAllowed = 'move'; + tab.classList.add('dragging'); + }); + + tab.addEventListener('dragover', (e) => { + e.preventDefault(); + (e as DragEvent).dataTransfer!.dropEffect = 'move'; + tab.classList.add('drag-over'); + }); + + tab.addEventListener('dragleave', () => { + tab.classList.remove('drag-over'); + }); + + tab.addEventListener('dragend', () => { + tab.classList.remove('dragging'); + tabs.forEach(t => t.classList.remove('drag-over')); + }); + + tab.addEventListener('drop', (e) => { + e.preventDefault(); + tab.classList.remove('drag-over'); + const destIdx = Number(tab.dataset['idx']); + if (this.dragSrcIdx !== null && this.dragSrcIdx !== destIdx) { + this.commandBus.execute({ + type: 'reorder-enclos', + fromIndex: this.dragSrcIdx, + toIndex: destIdx, + }); + this.uiState.notify(); + } + this.dragSrcIdx = null; + }); + }); + } + + // ── Content routing ─────────────────────────────────────────── + private renderContent(): void { + const view = this.uiState.activeView; + + if (view === this.lastView && this.activeChild) { + this.activeChild.update(); + return; + } + + if (this.activeChild) { + this.activeChild.destroy(); + this.activeChild = null; + } + + const container = this.root.querySelector('#enclos-content') as HTMLElement | null; + if (!container) return; + container.innerHTML = ''; + + this.lastView = view; + + if (view === 'dashboard') { + const child = new Dashboard(this.commandBus, this.queryBus, this.uiState); + child.render(container); + this.activeChild = child; + } else if (view === 'accouplement') { + const child = new AccouplementView(this.commandBus, this.queryBus); + child.render(container); + this.activeChild = child; + } else if (view === 'appro') { + const child = new ReapproView(this.commandBus, this.queryBus); + child.render(container); + this.activeChild = child; + } else if (view === 'inventaire') { + const child = new InventaireView(this.commandBus, this.queryBus); + child.render(container); + this.activeChild = child; + } else if (view === 'workflows') { + const child = new WorkflowsView(this.commandBus, this.queryBus, this.uiState); + child.render(container); + this.activeChild = child; + } else if (view === 'statistiques') { + const child = new StatistiquesView(this.commandBus, this.queryBus); + child.render(container); + this.activeChild = child; + } else if (view === 'parametres') { + const child = new ParametresView(this.commandBus, this.queryBus, this.playSound); + child.render(container); + this.activeChild = child; + } else if (typeof view === 'number') { + const child = new EnclosView(this.commandBus, this.queryBus, this.uiState); + child.render(container, view); + this.activeChild = child; + } + } + + // ── Live update loop ────────────────────────────────────────── + private startAnimationLoop(): void { + const loop = () => { + this.updateTabDots(); + if (this.activeChild) this.activeChild.update(); + this.rafId = requestAnimationFrame(loop); + }; + this.rafId = requestAnimationFrame(loop); + } + + private updateTabDots(): void { + const data = this.getDashboardData(); + data.enclosSummaries.forEach(enc => { + const tab = this.root.querySelector(`#tab-enc-${enc.id}`) as HTMLElement | null; + if (!tab) return; + tab.classList.toggle('running', enc.running); + }); + } + + /** Appelle complete-timer sur tout enclos dont toutes les cibles sont atteintes. */ + private checkAllEnclosCompletion(): void { + const data = this.getDashboardData(); + data.enclosSummaries.forEach(summary => { + if (!summary.running) return; + const enc = this.queryBus.execute({ type: 'get-enclos-detail', enclosId: summary.id }); + if (!enc.dragodindes.length || !enc.activeGauges.length) return; + const { allDone } = enclosGlobalState(enc); + if (allDone) { + this.commandBus.execute({ type: 'complete-timer', enclosId: summary.id }); + } + }); + } + + destroy(): void { + if (this.rafId !== null) { + cancelAnimationFrame(this.rafId); + this.rafId = null; + } + if (this.completionIntervalId !== null) { + clearInterval(this.completionIntervalId); + this.completionIntervalId = null; + } + if (this.unsubscribe) { + this.unsubscribe(); + this.unsubscribe = null; + } + if (this.activeChild) { + this.activeChild.destroy(); + this.activeChild = null; + } + this.sidebar.destroy(); + this.updateBanner.destroy(); + this.root.innerHTML = ''; + } +} diff --git a/src/presentation/components/ConfirmModal.ts b/src/presentation/components/ConfirmModal.ts new file mode 100644 index 0000000..50affa3 --- /dev/null +++ b/src/presentation/components/ConfirmModal.ts @@ -0,0 +1,79 @@ +/** + * Modale de confirmation glassmorphism. + * + * Remplace les confirm() / electronAPI.showConfirm() natifs + * par une modale cohérente avec le design Obsidienne. + */ + +let overlay: HTMLElement | null = null; + +function ensureOverlay(): HTMLElement { + if (overlay && overlay.parentNode) return overlay; + overlay = document.createElement('div'); + overlay.className = 'confirm-overlay confirm-hidden'; + document.body.appendChild(overlay); + return overlay; +} + +export const ConfirmModal = { + /** + * Affiche une modale de confirmation. + * @returns true si l'utilisateur confirme, false sinon. + */ + show(title: string, message: string): Promise { + return new Promise(resolve => { + const ov = ensureOverlay(); + + const box = document.createElement('div'); + box.className = 'confirm-box'; + + const iconEl = document.createElement('span'); + iconEl.className = 'confirm-icon material-symbols-outlined'; + iconEl.textContent = 'warning'; + + const titleEl = document.createElement('h3'); + titleEl.className = 'confirm-title'; + titleEl.textContent = title; + + const msgEl = document.createElement('p'); + msgEl.className = 'confirm-msg'; + msgEl.textContent = message; + + const footer = document.createElement('div'); + footer.className = 'confirm-footer'; + + const cancelBtn = document.createElement('button'); + cancelBtn.className = 'confirm-btn confirm-btn-cancel'; + cancelBtn.textContent = 'Annuler'; + + const okBtn = document.createElement('button'); + okBtn.className = 'confirm-btn confirm-btn-ok'; + okBtn.textContent = 'Confirmer'; + + footer.appendChild(cancelBtn); + footer.appendChild(okBtn); + box.appendChild(iconEl); + box.appendChild(titleEl); + box.appendChild(msgEl); + box.appendChild(footer); + ov.innerHTML = ''; + ov.appendChild(box); + + ov.classList.remove('confirm-hidden'); + + const close = (result: boolean) => { + ov.classList.add('confirm-hidden'); + resolve(result); + }; + + cancelBtn.addEventListener('click', () => close(false), { once: true }); + okBtn.addEventListener('click', () => close(true), { once: true }); + ov.addEventListener('click', (e) => { + if (e.target === ov) close(false); + }, { once: true }); + + // Focus sur le bouton Annuler pour éviter les confirmations accidentelles + requestAnimationFrame(() => cancelBtn.focus()); + }); + }, +}; diff --git a/src/presentation/components/Dashboard.ts b/src/presentation/components/Dashboard.ts new file mode 100644 index 0000000..64a2644 --- /dev/null +++ b/src/presentation/components/Dashboard.ts @@ -0,0 +1,254 @@ +import type { CommandBus } from '@application/handlers/CommandBus'; +import type { QueryBus } from '@application/handlers/QueryBus'; +import type { UIState } from '@presentation/state/UIState'; +import type { DashboardResult } from '@application/queries/GetDashboard'; +import type { Enclos } from '@domain/entities/Enclos'; +import { MAX_DD } from '@domain/entities/Enclos'; +import { GAUGE_DEFS } from '@domain/value-objects/GaugeType'; +import { raceColor } from '@domain/value-objects/Race'; +import { enclosGlobalState, enclosGaugeCurGl } from '@presentation/helpers/gauge-live'; +import { esc, fmtClock } from '@presentation/helpers/format'; +import { Toast } from './Toast'; +import { ConfirmModal } from './ConfirmModal'; +import { UndoManager } from '@presentation/services/UndoManager'; + +export class Dashboard { + private el: HTMLElement | null = null; + private lastRenderTime = 0; + + constructor( + private commandBus: CommandBus, + private queryBus: QueryBus, + private uiState: UIState, + ) {} + + render(container: HTMLElement): void { + this.el = document.createElement('div'); + this.el.className = 'dash-new'; + container.appendChild(this.el); + this.renderAll(); + } + + private getData(): DashboardResult { + return this.queryBus.execute({ type: 'get-dashboard' }); + } + + private renderAll(): void { + if (!this.el) return; + const data = this.getData(); + + // ── KPI Section ────────────────────────────────────────────── + const activeDD = data.enclosSummaries.reduce((s, e) => s + e.ddCount, 0); + const racesObtained = Object.keys(data.raceBreakdown).length; + const kpis = [ + { label: 'Total Bébés', value: String(data.totalBabies) }, + { label: 'Dragodindes Actives', value: String(activeDD) }, + { label: 'Couples Formés', value: String(data.totalCouples) }, + { label: 'Taux de Réussite', value: `${data.successRate}%` }, + { label: 'Races Obtenues', value: String(racesObtained) }, + ]; + + let kpiHtml = ` +
+
+ Statistiques Globales + +
+
+ `; + for (const kpi of kpis) { + kpiHtml += ` +
+

${esc(kpi.label)}

+ ${esc(kpi.value)} +
+ `; + } + kpiHtml += `
`; + + // ── Two-column section ─────────────────────────────────────── + let enclosHtml = ` +
+
+ Aperçu — Tous les enclos +
+
+ `; + + for (const summary of data.enclosSummaries) { + const enc = this.queryBus.execute({ type: 'get-enclos-detail', enclosId: summary.id }); + const gs = enc ? enclosGlobalState(enc) : null; + const started = !!enc?.timer.startTime; + const running = !!enc?.timer.running; + const allDone = !!gs?.allDone && started; + + // Status + let statusClass = 'idle'; + let statusLabel = 'Inactif'; + if (running) { statusClass = 'running'; statusLabel = 'Actif'; } + else if (started) { statusClass = 'paused'; statusLabel = 'Pause'; } + + const cardClass = `dash-enc-card${running ? ' running' : ''}${allDone ? ' done-enc' : ''}`; + + // Gauge tags — détecte les jauges vides en cours de session + const gaugeTags = summary.activeGauges.map(gid => { + const def = GAUGE_DEFS[gid as keyof typeof GAUGE_DEFS]; + if (!def) return ''; + const cssVar = `var(${def.cssVar})`; + const curGl = (enc && started) ? enclosGaugeCurGl(enc, gid as any) : (enc?.gaugeLevels[gid as keyof typeof enc.gaugeLevels] ?? 0); + const isEmpty = curGl <= 0 && started; + if (isEmpty) { + return ` + ⚠ ${esc(def.label)} + `; + } + return ` + ${def.icon} ${esc(def.label)} + `; + }).join(''); + const gaugesRow = summary.activeGauges.length > 0 + ? `
${gaugeTags}
` + : `
Aucune jauge active
`; + + // Sous-label capacité max (uniquement quand l'enclos est plein) + const capaciteLabel = summary.ddCount >= MAX_DD ? 'Capacit\u00e9 max' : ''; + const cdText = started && gs ? (gs.allDone ? '✅' : (!isFinite(gs.globalMax) ? '∞' : fmtClock(gs.globalMax))) : '--:--:--'; + const elText = started && gs ? fmtClock(gs.el) : '--:--:--'; + + // Button style: active = primary button if running and approaching end + const btnClass = allDone ? 'dash-enc-btn btn-active' : 'dash-enc-btn'; + + enclosHtml += ` +
+
+ ${esc(summary.name.toUpperCase())} +
+ + ${esc(statusLabel)} +
+
+ +
+
+
${summary.ddCount} DD
+ ${capaciteLabel ? `
${capaciteLabel}
` : ''} +
+
+
+ hourglass_top + Restant : ${cdText} +
+
+ schedule + Écoulé : ${elText} +
+
+
+ + ${gaugesRow} + + +
+ `; + } + + enclosHtml += `
`; + + // ── Race progression panel (right col) ─────────────────────── + const raceEntries = Object.entries(data.raceBreakdown).sort((a, b) => b[1] - a[1]); + const maxCount = raceEntries.length > 0 ? raceEntries[0][1] : 1; + + let raceHtml = ` +
+
+ Progression des races +
+
+ `; + + if (raceEntries.length === 0) { + raceHtml += `

Aucune race enregistrée

`; + } else { + for (const [race, count] of raceEntries) { + const pct = maxCount > 0 ? (count / maxCount) * 100 : 0; + const col = raceColor(race); + raceHtml += ` +
+
+ ${esc(race)} + ${count} +
+
+
+
+
+ `; + } + } + raceHtml += `
`; + + // ── Assemble ────────────────────────────────────────────────── + this.el.innerHTML = + kpiHtml + + `
` + + `
${enclosHtml}
` + + raceHtml + + `
`; + + this.bindEvents(); + } + + private bindEvents(): void { + if (!this.el) return; + + // "Gérer" buttons — navigate with stopPropagation + this.el.querySelectorAll('button[data-enc-id]').forEach(btn => { + btn.addEventListener('click', (e) => { + e.stopPropagation(); + const id = Number(btn.dataset['encId']); + if (id) this.uiState.setActiveView(id); + }); + }); + + // Card click (excluding button area) + this.el.querySelectorAll('.dash-enc-card[id^="dash-enc-"]').forEach(card => { + card.addEventListener('click', (e) => { + if ((e.target as HTMLElement).closest('button')) return; + const id = Number(card.id.replace('dash-enc-', '')); + if (id) this.uiState.setActiveView(id); + }); + }); + + // Reset stats + this.el.querySelector('#dash-reset-btn')?.addEventListener('click', async () => { + const ok = await ConfirmModal.show('Réinitialiser les statistiques', 'Toutes les statistiques seront effacées. Continuer ?'); + if (!ok) return; + const hasSnap = await UndoManager.snapshotCurrent('Reset statistiques'); + this.commandBus.execute({ type: 'reset-stats' }); + Toast.show('success', 'Statistiques réinitialisées.', hasSnap ? { label: 'Annuler', callback: () => UndoManager.undo() } : undefined); + this.renderAll(); + }); + } + + update(): void { + if (!this.el) return; + const now = Date.now(); + if (now - this.lastRenderTime >= 1000) { + this.lastRenderTime = now; + this.renderAll(); + } + } + + destroy(): void { + this.el?.remove(); + this.el = null; + } +} diff --git a/src/presentation/components/DragodindeCard.ts b/src/presentation/components/DragodindeCard.ts new file mode 100644 index 0000000..8610929 --- /dev/null +++ b/src/presentation/components/DragodindeCard.ts @@ -0,0 +1,466 @@ +import type { CommandBus } from '@application/handlers/CommandBus'; +import type { QueryBus } from '@application/handlers/QueryBus'; +import type { Enclos } from '@domain/entities/Enclos'; +import type { Dragodinde } from '@domain/entities/Dragodinde'; +import type { GaugeType, StatType } from '@domain/value-objects/GaugeType'; +import { GAUGE_DEFS, STAT_DEFS } from '@domain/value-objects/GaugeType'; +import { tierNum, tierRate } from '@domain/value-objects/Tier'; +import { computeGaugeLive, calcSerenEtaLive, calcLevelEtaLive, calcLevel200EtaLive, elapsedLive } from '@presentation/helpers/gauge-live'; +import { esc, fmt, fmtClock } from '@presentation/helpers/format'; +import { Toast } from './Toast'; +import { ConfirmModal } from './ConfirmModal'; +import { UndoManager } from '@presentation/services/UndoManager'; + +interface StatPillDef { + key: StatType; + icon: string; + color: string; + min: number; + max: number; +} + +const STAT_PILLS: StatPillDef[] = [ + { key: 'serenite', icon: 'sentiment_satisfied_alt', color: '96,165,250', min: -5000, max: 5000 }, + { key: 'endurance', icon: 'bolt', color: '250,204,21', min: 0, max: 20000 }, + { key: 'maturite', icon: 'water_drop', color: '34,211,238', min: 0, max: 20000 }, + { key: 'amour', icon: 'favorite', color: '248,113,113', min: 0, max: 20000 }, + { key: 'xp', icon: 'star', color: '254,240,138', min: 1, max: 200 }, +]; + +export class DragodindeCard { + private el: HTMLElement | null = null; + private enclosId = 0; + private ddId = 0; + private lastTick = -1; + + constructor( + private commandBus: CommandBus, + private queryBus: QueryBus, + private onReorder?: () => void, + ) {} + + render(container: HTMLElement, enclosId: number, ddId: number): void { + this.enclosId = enclosId; + this.ddId = ddId; + + this.el = document.createElement('div'); + this.el.className = 'dd-card enc-dd-card'; + this.el.id = `ddc-${enclosId}-${ddId}`; + this.el.draggable = true; + + this.el.addEventListener('dragstart', (e) => { + e.dataTransfer!.effectAllowed = 'move'; + e.dataTransfer?.setData('text/dd-id', String(ddId)); + e.dataTransfer?.setData('text/enc-id', String(enclosId)); + // Délai pour que le navigateur capture le snapshot avant d'appliquer l'opacité + requestAnimationFrame(() => this.el!.classList.add('dragging')); + }); + this.el.addEventListener('dragend', () => { + this.el!.classList.remove('dragging'); + this.el!.classList.remove('drag-over'); + }); + this.el.addEventListener('dragover', (e) => { + e.preventDefault(); + e.dataTransfer!.dropEffect = 'move'; + this.el!.classList.add('drag-over'); + }); + this.el.addEventListener('dragleave', (e) => { + // Ignorer si on entre dans un élément enfant + if (this.el!.contains(e.relatedTarget as Node)) return; + this.el!.classList.remove('drag-over'); + }); + this.el.addEventListener('drop', (e) => { + e.preventDefault(); + this.el!.classList.remove('drag-over'); + const srcDdId = e.dataTransfer?.getData('text/dd-id'); + const srcEncId = e.dataTransfer?.getData('text/enc-id'); + if (srcEncId === String(enclosId) && srcDdId && srcDdId !== String(ddId)) { + this.commandBus.execute({ + type: 'reorder-dragodinde', + enclosId, + fromDdId: Number(srcDdId), + toDdId: ddId, + }); + this.onReorder?.(); + } + }); + + container.appendChild(this.el); + this.renderInner(); + } + + private renderInner(): void { + if (!this.el) return; + const enc = this.queryBus.execute({ type: 'get-enclos-detail', enclosId: this.enclosId }); + const dd = enc.dragodindes.find(d => d.id === this.ddId); + if (!dd) return; + + const eId = this.enclosId; + const dId = this.ddId; + + /* stat pills */ + const pillsHtml = STAT_PILLS.map(sp => { + const val = dd.stats[sp.key]; + const atMax = val >= sp.max; + const atMin = sp.key === 'serenite' && val <= sp.min; + const atLimit = atMax || atMin; + return `
+ ${sp.icon} + + +
`; + }).join(''); + + /* Mapping icônes Material Symbols pour boutons jauges */ + const GAUGE_MS_ICONS: Partial> = { + baffeur: 'remove', caresseur: 'add', foudroyeur: 'bolt', + abreuvoir: 'water_drop', dragofesse: 'favorite', + }; + + /* active gauge blocks */ + const gaugeBlocksHtml = enc.activeGauges.map(gid => { + const def = GAUGE_DEFS[gid]; + if (gid === 'mangeoire') { + return `
+
+
+ NIV. 1 + XP 0% +
+ --:--:-- +
+ → NIV. 200 : — +
+
+
+
+
+
+ +
`; + } + const msIcon = GAUGE_MS_ICONS[gid] ?? 'circle'; + return `
+
+ + ${msIcon} + ${def.label.toUpperCase()} + + + + --:--:-- +
+
+
+
+
`; + }).join(''); + + this.el.innerHTML = ` +
✓ TERMINÉ
+
+ ⠿ + + +
+
+
${pillsHtml}
+
+
+
+ sentiment_satisfied_alt + Cible +
+
+ + + — +
+
+
+
+ stars + Niveau +
+
+ + + — +
+
+
+
${gaugeBlocksHtml}
+
+ `; + + this.bindEvents(dd); + } + + private bindEvents(dd: Dragodinde): void { + if (!this.el) return; + const eId = this.enclosId; + const dId = this.ddId; + + /* Delete button */ + const delBtn = this.el.querySelector('.dd-del'); + delBtn?.addEventListener('click', async () => { + const ok = await ConfirmModal.show('Retirer la dragodinde', 'Retirer cette dragodinde de l\'enclos ?'); + if (!ok) return; + const hasSnap = await UndoManager.snapshotCurrent('Dragodinde retirée'); + this.commandBus.execute({ type: 'remove-dragodinde', enclosId: eId, ddId: dId }); + Toast.show('success', 'Dragodinde retirée.', hasSnap ? { label: 'Annuler', callback: () => UndoManager.undo() } : undefined); + }); + + /* Name input */ + const nameInput = this.el.querySelector('.dd-name'); + if (nameInput) { + nameInput.addEventListener('focus', () => { + nameInput.dataset.prev = nameInput.value; + nameInput.value = ''; + }); + nameInput.addEventListener('blur', () => { + const v = nameInput.value.trim(); + if (!v) nameInput.value = nameInput.dataset.prev || dd.name; + else this.commandBus.execute({ type: 'rename-dragodinde', enclosId: eId, ddId: dId, name: v }); + }); + nameInput.addEventListener('keydown', (e) => { + if (e.key === 'Escape') { nameInput.value = nameInput.dataset.prev || dd.name; nameInput.blur(); } + else if (e.key === 'Enter') nameInput.blur(); + }); + } + + /* Stat pill inputs */ + this.el.querySelectorAll('.pill-input').forEach(inp => { + const stat = inp.dataset.stat as StatType; + inp.addEventListener('focus', () => { + inp.dataset.prev = inp.value; + inp.value = ''; + }); + inp.addEventListener('input', () => { + if (!inp.value) return; + const v = Number(inp.value); + if (!isNaN(v)) this.commandBus.execute({ type: 'update-dd-stat', enclosId: eId, ddId: dId, stat, value: v }); + }); + inp.addEventListener('blur', () => { + if (inp.value === '') { inp.value = inp.dataset.prev || '0'; return; } + const v = Number(inp.value); + if (!isNaN(v)) this.commandBus.execute({ type: 'update-dd-stat', enclosId: eId, ddId: dId, stat, value: v }); + }); + inp.addEventListener('keydown', (e) => { + if (e.key === 'Escape') { inp.value = inp.dataset.prev || '0'; inp.blur(); } + else if (e.key === 'Enter') inp.blur(); + }); + }); + + /* Clear buttons */ + this.el.querySelector(`#ser-clr-${eId}-${dId}`)?.addEventListener('click', () => { + this.commandBus.execute({ type: 'update-dd-seren-target', enclosId: eId, ddId: dId, target: null }); + const inp = this.el?.querySelector(`#ser-tgt-${eId}-${dId}`); + if (inp) inp.value = ''; + const btn = this.el?.querySelector(`#ser-clr-${eId}-${dId}`); + if (btn) btn.style.visibility = 'hidden'; + }); + this.el.querySelector(`#lvl-clr-${eId}-${dId}`)?.addEventListener('click', () => { + this.commandBus.execute({ type: 'update-dd-level-target', enclosId: eId, ddId: dId, target: null }); + const inp = this.el?.querySelector(`#lvl-tgt-${eId}-${dId}`); + if (inp) inp.value = ''; + const btn = this.el?.querySelector(`#lvl-clr-${eId}-${dId}`); + if (btn) btn.style.visibility = 'hidden'; + }); + + /* Serenite target — clamp selon la jauge active (baffeur → négatif, caresseur → positif) */ + const serTgt = this.el.querySelector(`#ser-tgt-${eId}-${dId}`); + if (serTgt) { + const clampSeren = (raw: number): number => { + const enc = this.queryBus.execute({ type: 'get-enclos-detail', enclosId: eId }); + if (enc.activeGauges.includes('baffeur')) return Math.min(0, Math.max(-5000, raw)); + if (enc.activeGauges.includes('caresseur')) return Math.max(0, Math.min(5000, raw)); + return Math.min(5000, Math.max(-5000, raw)); + }; + serTgt.addEventListener('focus', () => { serTgt.dataset.prev = serTgt.value; serTgt.value = ''; }); + serTgt.addEventListener('input', () => { + if (!serTgt.value) return; + const v = Number(serTgt.value); + if (isNaN(v)) return; + const clamped = clampSeren(v); + this.commandBus.execute({ type: 'update-dd-seren-target', enclosId: eId, ddId: dId, target: clamped }); + }); + serTgt.addEventListener('blur', () => { + if (serTgt.value === '') { serTgt.value = serTgt.dataset.prev || ''; return; } + const v = Number(serTgt.value); + if (isNaN(v)) { serTgt.value = serTgt.dataset.prev || ''; return; } + const clamped = clampSeren(v); + this.commandBus.execute({ type: 'update-dd-seren-target', enclosId: eId, ddId: dId, target: clamped }); + serTgt.value = String(clamped); + }); + serTgt.addEventListener('keydown', (e) => { + if (e.key === 'Escape') { serTgt.value = serTgt.dataset.prev || ''; serTgt.blur(); } + else if (e.key === 'Enter') serTgt.blur(); + }); + } + + /* Level target */ + const lvlTgt = this.el.querySelector(`#lvl-tgt-${eId}-${dId}`); + if (lvlTgt) { + lvlTgt.addEventListener('focus', () => { lvlTgt.dataset.prev = lvlTgt.value; lvlTgt.value = ''; }); + lvlTgt.addEventListener('input', () => { + if (!lvlTgt.value) return; + const v = Number(lvlTgt.value); + this.commandBus.execute({ type: 'update-dd-level-target', enclosId: eId, ddId: dId, target: isNaN(v) ? null : v }); + }); + lvlTgt.addEventListener('blur', () => { + if (lvlTgt.value === '') { lvlTgt.value = lvlTgt.dataset.prev || ''; return; } + const v = Number(lvlTgt.value); + this.commandBus.execute({ type: 'update-dd-level-target', enclosId: eId, ddId: dId, target: isNaN(v) ? null : v }); + }); + lvlTgt.addEventListener('keydown', (e) => { + if (e.key === 'Escape') { lvlTgt.value = lvlTgt.dataset.prev || ''; lvlTgt.blur(); } + else if (e.key === 'Enter') lvlTgt.blur(); + }); + } + } + + update(enc: Enclos, dd: Dragodinde, el: number, started: boolean): void { + if (!this.el) return; + const eId = this.enclosId; + const dId = this.ddId; + + /* Détection de tick (toutes les 10 sec). + * Après complétion automatique, le temps réel continue pour que les animations + * continuent sur toutes les jauges qui se vident en fond. */ + const elForTick = started ? elapsedLive(enc) : 0; + const tick = started ? Math.floor(elForTick / 10) : -1; + if (!started) { + this.lastTick = -1; + } else if (this.lastTick === -1) { + this.lastTick = tick; // initialise sans déclencher au démarrage + } + const newTick = started && tick !== this.lastTick; + if (newTick) this.lastTick = tick; + + let allDone = enc.activeGauges.length > 0; + + /* Update active gauge blocks */ + enc.activeGauges.forEach(gid => { + const r = computeGaugeLive(enc, dd, gid, el, started); + const def = GAUGE_DEFS[gid]; + + // Toutes les jauges comptent pour le badge "✓ TERMINÉ" + if (!r.done) allDone = false; + + const lvEl = this.el!.querySelector(`#slv-${eId}-${dId}-${gid}`); + if (lvEl) lvEl.textContent = r.liveText; + + /* Delta live-delta : pop à chaque tick. + * Continue jusqu'au cap absolu de la stat (pas juste la cible). */ + const sd = def.isXp ? null : STAT_DEFS[def.stat as keyof typeof STAT_DEFS]; + const atAbsCap = def.isXp + ? (r.estStat as number) >= 200 + : (def.dir > 0 ? (r.estStat as number) >= sd!.max : (r.estStat as number) <= sd!.min); + const deltaActive = started && !atAbsCap; + const deltaEl = this.el!.querySelector(`#sdelta-${eId}-${dId}-${gid}`); + if (deltaEl) { + deltaEl.textContent = r.deltaText; + if (newTick && deltaActive) { + deltaEl.classList.remove('show'); + void deltaEl.offsetWidth; // force reflow pour relancer l'animation + deltaEl.classList.add('show'); + } else if (!deltaActive) { + deltaEl.classList.remove('show'); + } + } + + const cdEl = this.el!.querySelector(`#scd-${eId}-${dId}-${gid}`); + if (cdEl) cdEl.textContent = r.done ? '✅' : (!isFinite(r.cntDown) ? '∞' : fmtClock(r.cntDown)); + + /* ETA + barre de progression niveau 200 (mangeoire uniquement) */ + if (gid === 'mangeoire') { + const eta200El = this.el!.querySelector(`#eta200-${eId}-${dId}`); + if (eta200El) { + const eta = calcLevel200EtaLive(enc, dd, el, started); + eta200El.textContent = `→ NIV. 200 : ${eta || '—'}`; + } + const pct200 = Math.min(100, Math.max(0, ((r.estStat as number) - 1) / 199 * 100)); + const barFillEl = this.el!.querySelector(`#eta200-bar-${eId}-${dId}`); + if (barFillEl) barFillEl.style.width = `${pct200.toFixed(1)}%`; + const pctEl = this.el!.querySelector(`#eta200-pct-${eId}-${dId}`); + if (pctEl) pctEl.textContent = `${Math.round(pct200)}%`; + } + + const pbEl = this.el!.querySelector(`#spb-${eId}-${dId}-${gid}`); + if (pbEl) pbEl.style.width = `${r.progPct.toFixed(1)}%`; + + /* Mise à jour live du badge de stat correspondant. + * Désactivée après complétion (__done__) : dd.stats est déjà à jour + * et l'utilisateur doit pouvoir corriger les valeurs à la main. */ + if (started && !enc.alerted['__done__']) { + const pillInput = this.el!.querySelector(`#pstat-${eId}-${dId}-${def.stat}`); + if (pillInput && document.activeElement !== pillInput) { + pillInput.value = String(Math.round(r.estStat as number)); + } + const sp = STAT_PILLS.find(p => p.key === def.stat); + if (sp) { + const val = Math.round(r.estStat as number); + const atLimit = val >= sp.max || (sp.key === 'serenite' && val <= sp.min); + const pill = pillInput?.closest('.dd-stat-pill'); + if (pill) { + pill.classList.toggle('at-max', atLimit); + pill.style.background = atLimit ? `rgba(${sp.color},0.18)` : ''; + pill.style.boxShadow = atLimit ? `0 0 8px rgba(${sp.color},0.5)` : ''; + } + } + } + + /* Pill delta : pop à chaque tick — uniquement endurance, maturite, amour */ + const pillDeltaStats = ['endurance', 'maturite', 'amour']; + if (pillDeltaStats.includes(def.stat)) { + const pillDelta = this.el!.querySelector(`#pill-delta-${eId}-${dId}-${def.stat}`); + if (pillDelta) { + pillDelta.textContent = r.deltaText; + if (newTick && started && !r.done) { + pillDelta.classList.remove('show'); + void pillDelta.offsetWidth; + pillDelta.classList.add('show'); + } else if (!started || r.done) { + pillDelta.classList.remove('show'); + } + } + } + }); + + /* Done badge */ + const doneBadge = this.el.querySelector(`#dd-done-${eId}-${dId}`); + if (doneBadge) { + doneBadge.style.display = (allDone && started && enc.activeGauges.length > 0) ? '' : 'none'; + } + + /* Serenity ETA */ + const serEta = this.el.querySelector(`#ser-eta-${eId}-${dId}`); + if (serEta) serEta.innerHTML = calcSerenEtaLive(enc, dd, el, started); + const serClr = this.el.querySelector(`#ser-clr-${eId}-${dId}`); + if (serClr) serClr.style.visibility = dd.sereniteTarget == null ? 'hidden' : 'visible'; + + /* Level ETA */ + const lvlEta = this.el.querySelector(`#lvl-eta-${eId}-${dId}`); + if (lvlEta) lvlEta.innerHTML = calcLevelEtaLive(enc, dd, el, started); + const lvlClr = this.el.querySelector(`#lvl-clr-${eId}-${dId}`); + if (lvlClr) lvlClr.style.visibility = dd.levelTarget == null ? 'hidden' : 'visible'; + } + + destroy(): void { + this.el?.remove(); + this.el = null; + } +} diff --git a/src/presentation/components/EnclosView.ts b/src/presentation/components/EnclosView.ts new file mode 100644 index 0000000..b4a38d5 --- /dev/null +++ b/src/presentation/components/EnclosView.ts @@ -0,0 +1,445 @@ +import type { CommandBus } from '@application/handlers/CommandBus'; +import type { QueryBus } from '@application/handlers/QueryBus'; +import type { UIState } from '@presentation/state/UIState'; +import type { Enclos } from '@domain/entities/Enclos'; +import type { GaugeType } from '@domain/value-objects/GaugeType'; +import { GAUGE_DEFS } from '@domain/value-objects/GaugeType'; +import { tierNum, tierRate } from '@domain/value-objects/Tier'; +import { elapsed, timeToGain } from '@domain/services/GaugeCalculator'; +import { enclosGlobalState, enclosGaugeCurGl, computeGaugeLive, calcSerenEtaLive, calcLevelEtaLive } from '@presentation/helpers/gauge-live'; +import { esc, fmt, fmtClock } from '@presentation/helpers/format'; +import { DragodindeCard } from './DragodindeCard'; +import { Toast } from './Toast'; +import { ConfirmModal } from './ConfirmModal'; +import { UndoManager } from '@presentation/services/UndoManager'; + +const ALL_GAUGES: GaugeType[] = ['baffeur', 'caresseur', 'foudroyeur', 'abreuvoir', 'dragofesse', 'mangeoire']; + +export class EnclosView { + private el: HTMLElement | null = null; + private enclosId = 0; + private ddCards: Map = new Map(); + + constructor( + private commandBus: CommandBus, + private queryBus: QueryBus, + private uiState: UIState, + ) {} + + render(container: HTMLElement, enclosId: number): void { + this.enclosId = enclosId; + this.el = document.createElement('div'); + this.el.className = 'enclos-view'; + container.appendChild(this.el); + this.renderInner(); + } + + private getEnc(): Enclos { + return this.queryBus.execute({ type: 'get-enclos-detail', enclosId: this.enclosId }); + } + + private renderInner(): void { + if (!this.el) return; + const enc = this.getEnc(); + const eId = this.enclosId; + const started = !!enc.timer.startTime; + const running = enc.timer.running; + + /* Gauge toggle buttons */ + const SEREN_PAIR: Record = { baffeur: 'caresseur', caresseur: 'baffeur' }; + const gaugeBtnsHtml = ALL_GAUGES.map(gid => { + const def = GAUGE_DEFS[gid]; + const active = enc.activeGauges.includes(gid); + const locked = started && !enc.alerted['__done__']; + // Exclusion mutuelle : si la jauge opposée (baffeur↔caresseur) est active, on bloque + const opposite = SEREN_PAIR[gid]; + const blocked = !active && !!opposite && enc.activeGauges.includes(opposite); + const cls = `gauge-btn enc-gauge-toggle${active ? ' on' : ''}${locked || blocked ? ' locked' : ''}`; + return ``; + }).join(''); + + /* Active gauge config blocks */ + const gaugeConfigsHtml = enc.activeGauges.map(gid => { + const def = GAUGE_DEFS[gid]; + const lvl = enc.gaugeLevels[gid] || 0; + const tn = tierNum(lvl); + const tr = tierRate(lvl); + const pct = Math.min(100, (lvl / 100000) * 100); + const emptyTime = timeToGain(lvl, lvl); + const emptyStr = emptyTime === Infinity ? '∞' : fmt(emptyTime); + return `
+
+
${def.icon} ${def.label.toUpperCase()}
+ Tier ${tn} · ±${tr}/tick +
+
+
+
+
+
+
+
+ + / 100 000 +
+
Vide en ${emptyStr}
+
+
`; + }).join(''); + + /* Timer button */ + const timerIcon = running ? 'pause' : 'play_arrow'; + const timerBtnClass = running ? 'enc-start-btn enc-btn-pause' : 'enc-start-btn'; + const timerBtnText = running ? 'PAUSE' : (enc.timer.pausedAt && !enc.alerted['__done__'] ? 'REPRENDRE' : 'DÉMARRER'); + + /* DD count */ + const ddCount = enc.dragodindes.length; + const ddMax = 10; + + this.el.innerHTML = ` +
+ + +
+ + +
+ +
+ + +
+ +
+
+
Temps Écoulé
+
00:00:00
+
+
+
+ notifications + Alarme dans +
+
--:--:--
+
+ + +
+
+ + +
Jauges Actives :
+
${gaugeBtnsHtml}
+
${gaugeConfigsHtml}
+ +
+ + +
+ check_circle +
+
Session terminée !
+
Toutes les cibles ont été atteintes
+
+ +
+ + +
+
+

+ Dragodindes ${ddCount}/${ddMax} +

+ +
+
+
+ +
+ `; + + this.bindEvents(enc); + this.renderDdCards(enc); + } + + private bindEvents(enc: Enclos): void { + if (!this.el) return; + const eId = this.enclosId; + + /* Enclos name input */ + const nameInput = this.el.querySelector(`#ename-${eId}`); + if (nameInput) { + nameInput.addEventListener('focus', () => { + nameInput.dataset.prev = nameInput.value; + nameInput.value = ''; + }); + nameInput.addEventListener('blur', () => { + const v = nameInput.value.trim(); + if (!v) nameInput.value = nameInput.dataset.prev || enc.name; + else this.commandBus.execute({ type: 'rename-enclos', enclosId: eId, name: v }); + }); + nameInput.addEventListener('keydown', (e) => { + if (e.key === 'Escape') { nameInput.value = nameInput.dataset.prev || enc.name; nameInput.blur(); } + else if (e.key === 'Enter') nameInput.blur(); + }); + } + + /* Clear enclos */ + this.el.querySelector(`#eclear-${eId}`)?.addEventListener('click', async () => { + const ok = await ConfirmModal.show('Vider l\'enclos', 'Toutes les dragodindes seront supprimées. Continuer ?'); + if (!ok) return; + const hasSnap = await UndoManager.snapshotCurrent('Enclos vidé'); + this.commandBus.execute({ type: 'clear-enclos', enclosId: eId }); + Toast.show('success', 'Enclos vidé.', hasSnap ? { label: 'Annuler', callback: () => UndoManager.undo() } : undefined); + this.renderInner(); + }); + + /* Gauge toggles */ + this.el.querySelectorAll('.gauge-btn').forEach(btn => { + btn.addEventListener('click', () => { + const gid = btn.dataset.gid as GaugeType; + this.commandBus.execute({ type: 'toggle-gauge', enclosId: eId, gaugeId: gid }); + this.renderInner(); + }); + }); + + /* Gauge level inputs */ + this.el.querySelectorAll('.gauge-inp').forEach(inp => { + inp.addEventListener('focus', () => { + inp.dataset.prev = inp.value; + inp.value = ''; + }); + inp.addEventListener('blur', () => { + if (inp.value === '') { inp.value = inp.dataset.prev || '0'; return; } + const v = Math.min(100000, Math.max(0, Number(inp.value))); + if (isNaN(v)) { inp.value = inp.dataset.prev || '0'; return; } + const gid = inp.dataset.gid as GaugeType; + if (inp.dataset.running === '1') { + this.commandBus.execute({ type: 'recharge-gauge', enclosId: eId, gaugeId: gid, level: v }); + } else { + this.commandBus.execute({ type: 'update-gauge-level', enclosId: eId, gaugeId: gid, level: v }); + } + inp.value = String(v); + }); + inp.addEventListener('input', () => { + if (!inp.value) return; + const v = Math.min(100000, Math.max(0, Number(inp.value))); + if (isNaN(v)) return; + const gid = inp.dataset.gid as GaugeType; + if (inp.dataset.running === '1') { + // Recharge en temps réel pendant la session (consolidé côté command) + this.commandBus.execute({ type: 'recharge-gauge', enclosId: eId, gaugeId: gid, level: v }); + } else { + this.commandBus.execute({ type: 'update-gauge-level', enclosId: eId, gaugeId: gid, level: v }); + } + }); + inp.addEventListener('keydown', (e) => { + if (e.key === 'Escape') { inp.value = inp.dataset.prev || '0'; inp.blur(); } + else if (e.key === 'Enter') inp.blur(); + }); + }); + + /* Timer start/pause */ + this.el.querySelector(`#tbtn-${eId}`)?.addEventListener('click', () => { + const freshEnc = this.getEnc(); + if (freshEnc.timer.running) { + this.commandBus.execute({ type: 'stop-timer', enclosId: eId }); + } else { + this.commandBus.execute({ type: 'start-timer', enclosId: eId }); + } + this.renderInner(); + }); + + /* Reset timer */ + this.el.querySelector(`#treset-${eId}`)?.addEventListener('click', () => { + this.commandBus.execute({ type: 'reset-timer', enclosId: eId }); + this.renderInner(); + }); + + /* Done banner — Nouvelle fournée */ + this.el.querySelector(`#done-reset-${eId}`)?.addEventListener('click', () => { + this.commandBus.execute({ type: 'nouvelle-fournee', enclosId: eId }); + Toast.show('success', 'Nouvelle fournée lancée.'); + this.renderInner(); + }); + + /* Add DD */ + this.el.querySelector(`#adddd-${eId}`)?.addEventListener('click', () => { + this.commandBus.execute({ type: 'add-dragodinde', enclosId: eId }); + this.renderInner(); + }); + } + + private renderDdCards(enc: Enclos): void { + const grid = this.el?.querySelector(`#dd-grid-${this.enclosId}`); + if (!grid) return; + + /* Destroy old cards */ + this.ddCards.forEach(card => card.destroy()); + this.ddCards.clear(); + + /* Create new cards */ + enc.dragodindes.forEach(dd => { + const card = new DragodindeCard(this.commandBus, this.queryBus, () => this.renderInner()); + card.render(grid as HTMLElement, this.enclosId, dd.id); + this.ddCards.set(dd.id, card); + }); + } + + update(): void { + if (!this.el) return; + const enc = this.getEnc(); + const eId = this.enclosId; + const { globalMax, allDone, started, el: elSec, ddDone } = enclosGlobalState(enc); + const running = enc.timer.running; + + /* Complétion automatique : toutes les cibles atteintes → une seule alarme */ + if (allDone && running && enc.dragodindes.length > 0 && enc.activeGauges.length > 0) { + this.commandBus.execute({ type: 'complete-timer', enclosId: eId }); + this.renderInner(); + return; + } + + /* Elapsed clock */ + const elapsedEl = this.el.querySelector(`#elapsed-${eId}`); + if (elapsedEl) elapsedEl.textContent = fmtClock(elSec); + + /* Global countdown */ + const gcdEl = this.el.querySelector(`#gcd-${eId}`); + if (gcdEl) { + if (enc.activeGauges.length > 0 && enc.dragodindes.length > 0) { + if (allDone) { + gcdEl.textContent = '✅'; + } else if (!isFinite(globalMax)) { + gcdEl.textContent = '∞'; + } else { + gcdEl.textContent = fmtClock(globalMax); + } + } else { + gcdEl.textContent = '--:--:--'; + } + } + + /* Timer button state */ + const tbtn = this.el.querySelector(`#tbtn-${eId}`); + if (tbtn) { + const timerIcon = running ? 'pause' : 'play_arrow'; + const timerText = running ? 'PAUSE' : (enc.timer.pausedAt && !enc.alerted['__done__'] ? 'REPRENDRE' : 'DÉMARRER'); + tbtn.className = running ? 'enc-start-btn enc-btn-pause' : 'enc-start-btn'; + tbtn.innerHTML = `${timerIcon}${timerText}`; + } + + /* Reset button visibility */ + const resetBtn = this.el.querySelector(`#treset-${eId}`); + if (resetBtn) resetBtn.style.display = started ? '' : 'none'; + + /* Gauge config live updates (tier badges and bars decay over time) */ + enc.activeGauges.forEach(gid => { + const startGl = started ? (enc.timer.snapGauges[gid] ?? enc.gaugeLevels[gid]) : enc.gaugeLevels[gid]; + const curGl = started ? enclosGaugeCurGl(enc, gid) : startGl; + const tn = tierNum(curGl); + const tr = curGl > 0 ? tierRate(curGl) : 0; + const pct = Math.min(100, (curGl / 100000) * 100); + const emptyTime = curGl > 0 ? timeToGain(curGl, curGl) : 0; + const emptyStr = emptyTime === Infinity ? '∞' : fmt(emptyTime); + + const tierEl = this.el!.querySelector(`#gtier-${eId}-${gid}`); + if (tierEl) { + tierEl.textContent = curGl > 0 ? `Tier ${tn} · ±${tr}/tick` : 'Jauge vide'; + } + + const barEl = this.el!.querySelector(`#gbar-${eId}-${gid}`); + if (barEl) barEl.style.width = `${pct.toFixed(1)}%`; + + const emptyEl = this.el!.querySelector(`#gempty-${eId}-${gid}`); + if (emptyEl) { + if (curGl > 0) { + emptyEl.textContent = `Vide en ${emptyStr}`; + emptyEl.classList.remove('enc-gauge-alert'); + } else if (started && running) { + emptyEl.textContent = '⚠ Rechargez la jauge'; + emptyEl.classList.add('enc-gauge-alert'); + } else { + emptyEl.textContent = 'Vide'; + emptyEl.classList.remove('enc-gauge-alert'); + } + } + + /* Mettre à jour la valeur affichée de l'input et son état en temps réel */ + const inp = this.el!.querySelector(`#glvl-${eId}-${gid}`); + if (inp) { + // Synchroniser data-running avec l'état réel du timer + inp.dataset.running = started ? '1' : '0'; + // Mettre à jour la valeur affichée (sauf si l'utilisateur est en train de taper) + if (document.activeElement !== inp) { + inp.value = String(Math.round(started ? curGl : (enc.gaugeLevels[gid] ?? 0))); + } + } + }); + + /* Done banner */ + const doneBanner = this.el.querySelector(`#done-banner-${eId}`); + if (doneBanner) { + doneBanner.style.display = (allDone && started && enc.dragodindes.length > 0 && enc.activeGauges.length > 0) ? '' : 'none'; + } + + /* Bouton "Nouvelle fournée" — visible uniquement si toutes les DD ont 20000 en maturité, endurance et amour */ + const doneResetBtn = this.el.querySelector(`#done-reset-${eId}`); + if (doneResetBtn) { + const allMaxed = enc.dragodindes.length > 0 && enc.dragodindes.every(dd => + dd.stats.maturite >= 20000 && dd.stats.endurance >= 20000 && dd.stats.amour >= 20000 + ); + doneResetBtn.style.display = allMaxed ? '' : 'none'; + } + + /* DD count */ + const ddCountEl = this.el.querySelector(`#ddcount-${eId}`); + if (ddCountEl) ddCountEl.textContent = `${enc.dragodindes.length}/10`; + + /* Add button state */ + const addBtn = this.el.querySelector(`#adddd-${eId}`); + if (addBtn) addBtn.disabled = enc.dragodindes.length >= 10; + + /* Update each DD card */ + enc.dragodindes.forEach(dd => { + const card = this.ddCards.get(dd.id); + if (card) card.update(enc, dd, elSec, started); + }); + + /* Clean up cards for removed DDs */ + const currentDdIds = new Set(enc.dragodindes.map(d => d.id)); + this.ddCards.forEach((card, id) => { + if (!currentDdIds.has(id)) { + card.destroy(); + this.ddCards.delete(id); + } + }); + } + + destroy(): void { + this.ddCards.forEach(card => card.destroy()); + this.ddCards.clear(); + this.el?.remove(); + this.el = null; + } +} diff --git a/src/presentation/components/GaugePill.ts b/src/presentation/components/GaugePill.ts new file mode 100644 index 0000000..6fffe1e --- /dev/null +++ b/src/presentation/components/GaugePill.ts @@ -0,0 +1,48 @@ +/** + * GaugePill — minimal wrapper for gauge configuration display in EnclosView. + * Renders a gauge level bar with tier badge and "vide en" info. + */ + +import type { GaugeType } from '@domain/value-objects/GaugeType'; +import { GAUGE_DEFS } from '@domain/value-objects/GaugeType'; +import { tierNum, tierRate } from '@domain/value-objects/Tier'; +import { timeToGain } from '@domain/services/GaugeCalculator'; +import { fmt } from '@presentation/helpers/format'; + +export class GaugePill { + private el: HTMLElement | null = null; + + render(container: HTMLElement, gaugeId: string, value: number, max: number): void { + this.el = document.createElement('div'); + this.el.className = 'gauge-pill'; + container.appendChild(this.el); + this.update(value, max); + } + + update(value: number, max: number): void { + if (!this.el) return; + const pct = max > 0 ? Math.min(100, (value / max) * 100) : 0; + const gid = this.el.dataset.gaugeId as GaugeType | undefined; + const def = gid ? GAUGE_DEFS[gid] : null; + const tn = tierNum(value); + const tr = tierRate(value); + const empty = timeToGain(value, value); + const emptyStr = empty === Infinity ? '∞' : fmt(empty); + + this.el.innerHTML = ` +
+ ${def ? `${def.icon} ${def.label}` : ''} + Tier ${tn} · ±${tr}/tick +
+
+
+
+
Vide en ${emptyStr}
+ `; + } + + destroy(): void { + this.el?.remove(); + this.el = null; + } +} diff --git a/src/presentation/components/InventaireView.ts b/src/presentation/components/InventaireView.ts new file mode 100644 index 0000000..fe195db --- /dev/null +++ b/src/presentation/components/InventaireView.ts @@ -0,0 +1,449 @@ +import type { CommandBus } from '@application/handlers/CommandBus'; +import type { QueryBus } from '@application/handlers/QueryBus'; +import { GEN_COLORS, RACE_GEN, RACES_DATA } from '@domain/value-objects/Race'; +import { simulateStock, type SimulationCrossing } from '@domain/services/StockSimulator'; +import { getDDImage } from '@presentation/helpers/dd-image'; +import { esc } from '@presentation/helpers/format'; + +interface StockEntry { + m: number; + f: number; +} + +export class InventaireView { + private el: HTMLElement | null = null; + private genFilter = 0; + private search = ''; + private inventaire: Record = {}; + private calcResults: SimulationCrossing[] | null = null; + private unusedStock: { race: string; m: number; f: number }[] | null = null; + + constructor( + private commandBus: CommandBus, + private queryBus: QueryBus, + ) {} + + render(container: HTMLElement): void { + this.el = document.createElement('div'); + this.el.className = 'inv-view-new'; + container.appendChild(this.el); + + const stored = this.queryBus.execute>({ type: 'get-inventaire' }); + if (stored && typeof stored === 'object') { + this.inventaire = { ...stored }; + } + + this.updateDOM(); + } + + update(): void {} + + destroy(): void { + this.saveInventaire(); + this.el?.remove(); + this.el = null; + } + + private getStock(race: string): StockEntry { + if (!this.inventaire[race]) this.inventaire[race] = { m: 0, f: 0 }; + return this.inventaire[race]; + } + + private totalStock(): { total: number; races: number } { + let total = 0, races = 0; + for (const v of Object.values(this.inventaire)) { + const sum = (v.m || 0) + (v.f || 0); + if (sum > 0) { total += sum; races++; } + } + return { total, races }; + } + + private saveInventaire(): void { + this.commandBus.execute({ type: 'update-settings', inventaire: { ...this.inventaire } }); + } + + private updateDOM(): void { + if (!this.el) return; + + if (this.calcResults !== null) { + this.renderResultsView(); + } else { + this.renderInventoryView(); + } + } + + private renderInventoryView(): void { + if (!this.el) return; + const { genFilter, search } = this; + + const allRaces: { name: string; gen: number }[] = []; + for (const base of ['Rousse', 'Amande', 'Dorée']) allRaces.push({ name: base, gen: 1 }); + for (const [g, rs] of Object.entries(RACES_DATA)) { + for (const r of rs) allRaces.push({ name: r.name, gen: parseInt(g) }); + } + + const q = search.trim().toLowerCase(); + const filtered = allRaces.filter(r => + (genFilter > 0 ? r.gen === genFilter : true) && + (q ? r.name.toLowerCase().includes(q) : true) + ); + const { total } = this.totalStock(); + + let html = ''; + + /* ── Header ── */ + html += `
+
+

Inventaire Actuel

+
+
+ ${total} Dragons au total +
`; + + /* ── Search + Gen chips + Action buttons ── */ + html += `
+
+
+ +
+ + ${search ? `` : ''} +
+
+
+ +
+ `; + for (let g = 1; g <= 10; g++) { + html += ``; + } + html += `
+
+
+
+ + +
+
`; + + /* ── Race grid ── */ + if (filtered.length === 0) { + html += `
Aucune race trouvée
`; + } else { + html += `
`; + for (const race of filtered) { + const stock = this.getStock(race.name); + const genCol = GEN_COLORS[race.gen] ?? '#888'; + html += `
+ GEN ${race.gen} +
+ ${getDDImage(race.name)} +
+

${esc(race.name)}

+
+
+ ♂ + +
+
+ ♀ + +
+
+
`; + } + html += `
`; + } + + this.el.innerHTML = html; + this.bindInventoryEvents(); + + if (search) { + const inp = this.el.querySelector('#inv-search-input'); + if (inp) { inp.focus(); inp.setSelectionRange(inp.value.length, inp.value.length); } + } + } + + private renderResultsView(): void { + if (!this.el) return; + let html = ''; + + /* Back button */ + html += `
+ +
`; + + html += this.renderCalcResults(); + + this.el.innerHTML = html; + this.bindResultsEvents(); + } + + private renderCalcResults(): string { + const crossings = this.calcResults!; + + if (crossings.length === 0) { + return `
+ egg +

Aucun croisement possible avec le stock actuel.

+
`; + } + + // Group by gen + const byGen = new Map(); + for (const c of crossings) { + if (!byGen.has(c.gen)) byGen.set(c.gen, []); + byGen.get(c.gen)!.push(c); + } + const gens = Array.from(byGen.keys()).sort((a, b) => a - b); + const totalBabies = crossings.reduce((s, c) => s + c.count, 0); + + let html = ''; + + /* Glass panel wrapper */ + html += `
`; + + /* Panel header */ + html += `
+
+ science +

Calculateur de Croisements

+
+
+ ${totalBabies} + bébés possibles sur ${gens.length} génération${gens.length > 1 ? 's' : ''} +
+
`; + + /* Crossings by gen */ + for (let gi = 0; gi < gens.length; gi++) { + const g = gens[gi]; + const gCrossings = byGen.get(g)!; + const genTotal = gCrossings.reduce((s, c) => s + c.count, 0); + const genCol = GEN_COLORS[g] ?? '#888'; + + html += `
+
+
+ 0${gi + 1} + Étape +
+

Génération ${g}

+ ${genTotal} bébé${genTotal > 1 ? 's' : ''} +
`; + + for (const c of gCrossings) { + html += `
`; + + // Parent A + html += this.renderCalcParent(c.parentA, c.pAMale, c.pAFemale); + html += `add`; + // Parent B + html += this.renderCalcParent(c.parentB, c.pBMale, c.pBFemale); + html += `arrow_forward`; + // Baby + const babyGen = RACE_GEN[c.baby] ?? 0; + html += `
+
+ ${getDDImage(c.baby)} + G${babyGen} +
+ ${esc(c.baby)} + ×${c.count} +
`; + + html += `
`; // .inv-calc-crossing + } + + html += `
`; // .inv-calc-step + } + + /* Save workflow button */ + html += `
+ +
`; + + html += `
`; // .inv-calc-panel + + /* Unused stock */ + if (this.unusedStock && this.unusedStock.length > 0) { + html += `
+
+

Dragodindes Restantes

+
+
`; + for (const u of this.unusedStock) { + const gen = RACE_GEN[u.race] ?? 1; + html += `
+
+ ${getDDImage(u.race)} +
+
+

${esc(u.race)}

+

+ ${u.m > 0 ? `♂ ${u.m}` : ''} + ${u.f > 0 ? `♀ ${u.f}` : ''} +

+
+
`; + } + html += `
`; + } + + return html; + } + + private renderCalcParent(race: string, maleUsed: number, femaleUsed: number): string { + const parts: string[] = []; + if (maleUsed > 0) parts.push(`♂ ${maleUsed}`); + if (femaleUsed > 0) parts.push(`♀ ${femaleUsed}`); + return `
+
+ ${getDDImage(race)} +
+ ${esc(race)} + ${parts.join(' ')} +
`; + } + + private bindInventoryEvents(): void { + if (!this.el) return; + + // Search + const searchInput = this.el.querySelector('#inv-search-input'); + if (searchInput) { + searchInput.addEventListener('input', () => { this.search = searchInput.value; this.updateDOM(); }); + } + const clearBtn = this.el.querySelector('.accoup-search-clear'); + if (clearBtn) { + clearBtn.addEventListener('click', () => { this.search = ''; this.updateDOM(); }); + } + + // Gen filter chips + this.el.querySelectorAll('.accoup-gen-chip[data-gen]').forEach(btn => { + btn.addEventListener('click', () => { + this.genFilter = parseInt((btn as HTMLElement).dataset.gen ?? '0'); + this.updateDOM(); + }); + }); + + // Stock inputs — focus/blur + this.el.querySelectorAll('.inv-gender-input input').forEach(inp => { + const el = inp as HTMLInputElement; + let prev = el.value; + el.addEventListener('focus', () => { prev = el.value; el.value = ''; }); + el.addEventListener('input', () => { + if (el.value === '') return; + const race = el.dataset.race!; + const gender = el.dataset.gender as 'm' | 'f'; + if (!this.inventaire[race]) this.inventaire[race] = { m: 0, f: 0 }; + this.inventaire[race][gender] = Math.max(0, parseInt(el.value) || 0); + const { total } = this.totalStock(); + const summary = this.el?.querySelector('#inv-summary'); + if (summary) summary.textContent = `${total} Dragons au total`; + }); + el.addEventListener('blur', () => { + if (el.value === '') el.value = prev; + const race = el.dataset.race!; + const gender = el.dataset.gender as 'm' | 'f'; + if (!this.inventaire[race]) this.inventaire[race] = { m: 0, f: 0 }; + this.inventaire[race][gender] = Math.max(0, parseInt(el.value) || 0); + el.value = String(this.inventaire[race][gender]); + this.saveInventaire(); + const { total } = this.totalStock(); + const summary = this.el?.querySelector('#inv-summary'); + if (summary) summary.textContent = `${total} Dragons au total`; + }); + }); + + // Reset + const resetBtn = this.el.querySelector('#inv-reset'); + if (resetBtn) { + resetBtn.addEventListener('click', () => { + this.inventaire = {}; + this.calcResults = null; + this.unusedStock = null; + this.saveInventaire(); + this.updateDOM(); + }); + } + + // Calculate + const calcBtn = this.el.querySelector('#inv-calc'); + if (calcBtn) { + calcBtn.addEventListener('click', () => { + this.calcInventaire(); + this.updateDOM(); + }); + } + } + + private bindResultsEvents(): void { + if (!this.el) return; + + // Back button — retour à l'inventaire sans réinitialiser + const backBtn = this.el.querySelector('#inv-back'); + if (backBtn) { + backBtn.addEventListener('click', () => { + this.calcResults = null; + this.unusedStock = null; + this.updateDOM(); + }); + } + + // Save workflow + const saveBtn = this.el.querySelector('#inv-save'); + if (saveBtn && this.calcResults && this.calcResults.length > 0) { + saveBtn.addEventListener('click', () => { + const crossings = this.calcResults!; + const topCrossing = crossings.reduce((best, c) => c.gen > best.gen ? c : best, crossings[0]); + const target = topCrossing.baby; + const qty = topCrossing.count; + const materials = Object.entries(this.inventaire) + .filter(([, e]) => e.m > 0 || e.f > 0) + .map(([race, e]) => ({ race, m: e.m, f: e.f })); + const steps = crossings.map(c => ({ + baby: c.baby, + parentA: c.parentA, + parentB: c.parentB, + couples: c.count, + gen: c.gen, + })); + + this.commandBus.execute({ + type: 'save-workflow', + target, + qty, + materials, + steps, + repro: {}, + }); + + saveBtn.innerHTML = 'check Sauvegardé !'; + setTimeout(() => { + saveBtn.innerHTML = 'save Sauvegarder le workflow'; + }, 2000); + }); + } + } + + /* ── Simulation ── */ + private calcInventaire(): void { + const { crossings, unusedStock } = simulateStock(this.inventaire); + this.calcResults = crossings; + this.unusedStock = unusedStock; + } +} diff --git a/src/presentation/components/ParametresView.ts b/src/presentation/components/ParametresView.ts new file mode 100644 index 0000000..9eeafe7 --- /dev/null +++ b/src/presentation/components/ParametresView.ts @@ -0,0 +1,375 @@ +import type { CommandBus } from '@application/handlers/CommandBus'; +import type { QueryBus } from '@application/handlers/QueryBus'; +import type { SettingsResult } from '@application/queries/GetSettings'; +import { esc } from '@presentation/helpers/format'; +import { Toast } from './Toast'; +import { ConfirmModal } from './ConfirmModal'; + +const NTFY_BASE = 'https://ntfy.mickael-pol.fr'; +const NTFY_REDIRECT = 'https://ntfy-redirect.mickael-pol.fr'; + +const SOUND_OPTIONS: { value: string; label: string; icon: string }[] = [ + { value: 'arpege', label: 'Arpège', icon: 'music_note' }, + { value: 'pulse', label: 'Pulsation', icon: 'pulse_alert' }, + { value: 'fanfare', label: 'Fanfare', icon: 'celebration' }, + { value: 'cloche', label: 'Cloche', icon: 'notifications_active' }, +]; + +export class ParametresView { + private el: HTMLElement | null = null; + private modal: HTMLElement | null = null; + + constructor( + private commandBus: CommandBus, + private queryBus: QueryBus, + private playSound?: (name: string) => void, + ) {} + + render(container: HTMLElement): void { + this.el = document.createElement('div'); + this.el.className = 'param-view'; + container.appendChild(this.el); + this.updateDOM(); + } + + update(): void {} + + destroy(): void { + this.modal?.remove(); + this.modal = null; + this.el?.remove(); + this.el = null; + } + + private getSettings(): SettingsResult { + return this.queryBus.execute({ type: 'get-settings' }); + } + + private updateDOM(): void { + if (!this.el) return; + + const { alarmSound, notifsEnabled, ntfyTopic } = this.getSettings(); + + let html = ''; + + // ── Hero ────────────────────────────────────────────────────── + html += `
+
+

Param\u00e8tres

+

Configuration de l'application et des notifications.

+
+
`; + + // ── Son d'alarme ────────────────────────────────────────────── + html += `
+
+ volume_up +

Son d'alarme

+
+

Choisissez le son joué lorsqu'un enclos termine sa session.

+
`; + + for (const opt of SOUND_OPTIONS) { + const isActive = alarmSound === opt.value ? ' active' : ''; + html += ``; + } + + html += `
+ +
`; + + // ── Notifications PC ────────────────────────────────────────── + html += `
+
+ notifications +

Notifications PC

+
+

Recevez une notification Windows quand un enclos est pr\u00eat.

+
+ ${notifsEnabled ? 'Notifications activ\u00e9es' : 'Notifications d\u00e9sactiv\u00e9es'} + +
+
`; + + // ── Notifications Mobile ────────────────────────────────────── + const mobileActive = ntfyTopic ? ' active' : ''; + html += `
+
+ phone_android +

Notifications Mobiles

+
+

Recevez une alerte sur votre t\u00e9l\u00e9phone via ntfy, m\u00eame loin de votre PC.

+
+ + ${ntfyTopic ? 'Connect\u00e9 — notifications actives' : 'Non configur\u00e9'} +
+ +
`; + + // ── Données ────────────────────────────────────────────────── + html += `
+
+ database +

Donn\u00e9es

+
+

Exportez ou importez toutes vos donn\u00e9es (enclos, dragodindes, statistiques, workflows).

+
+ + +
+
`; + + this.el.innerHTML = html; + this.bindEvents(); + } + + private bindEvents(): void { + if (!this.el) return; + + // Sound cards + this.el.querySelectorAll('.param-sound-card').forEach(card => { + card.addEventListener('click', () => { + const sound = card.dataset['sound']!; + this.commandBus.execute({ type: 'update-settings', alarmSound: sound }); + this.updateDOM(); + }); + }); + + // Test sound + this.el.querySelector('#param-test-sound')?.addEventListener('click', () => { + const { alarmSound } = this.getSettings(); + this.playSound?.(alarmSound); + }); + + // PC notifications toggle + this.el.querySelector('#param-notifs-toggle')?.addEventListener('click', () => { + const { notifsEnabled } = this.getSettings(); + this.commandBus.execute({ type: 'update-settings', notifsEnabled: !notifsEnabled }); + this.updateDOM(); + }); + + // Ntfy modal + this.el.querySelector('#param-ntfy-btn')?.addEventListener('click', () => { + this.openNtfyModal(); + }); + + // Export data + this.el.querySelector('#param-export-data')?.addEventListener('click', () => this.exportData()); + + // Import data + this.el.querySelector('#param-import-data')?.addEventListener('click', () => this.importData()); + } + + /* ══ Modal ntfy ══ */ + + private openNtfyModal(): void { + if (this.modal) { this.modal.classList.remove('hidden'); this.renderNtfyModal(); return; } + + this.modal = document.createElement('div'); + this.modal.className = 'param-modal-overlay'; + this.modal.innerHTML = ` +
+
+
+ phone_android +

Notifications mobiles

+
+ +
+
+
+ +
+
`; + document.body.appendChild(this.modal); + + this.modal.querySelector('#ntfy-modal-close')?.addEventListener('click', () => this.closeNtfyModal()); + this.modal.querySelector('#ntfy-modal-footer-close')?.addEventListener('click', () => this.closeNtfyModal()); + this.modal.addEventListener('click', (e) => { if (e.target === this.modal) this.closeNtfyModal(); }); + + this.renderNtfyModal(); + } + + private closeNtfyModal(): void { + this.modal?.classList.add('hidden'); + } + + private renderNtfyModal(): void { + const body = this.modal?.querySelector('#ntfy-modal-body'); + if (!body) return; + + const { ntfyTopic } = this.getSettings(); + + if (!ntfyTopic) { + body.innerHTML = ` +
+
+ notifications_active +

Recevez une alerte sur votre t\u00e9l\u00e9phone quand un enclos est pr\u00eat, m\u00eame si votre PC est loin !

+
+ +
`; + body.querySelector('#ntfy-activate')?.addEventListener('click', () => this.activateNtfy()); + return; + } + + // QR codes + const ntfyPlayStore = 'https://play.google.com/store/apps/details?id=io.heckel.ntfy'; + const ntfyAppStore = 'https://apps.apple.com/app/ntfy/id1625396347'; + const qrDownload = `https://api.qrserver.com/v1/create-qr-code/?size=160x160&data=${encodeURIComponent(ntfyPlayStore)}`; + const redirectUrl = `${NTFY_REDIRECT}/?t=${encodeURIComponent(ntfyTopic)}&s=${encodeURIComponent(NTFY_BASE.replace(/^https?:\/\//, ''))}&n=dd-timer`; + const qrSubscribe = `https://api.qrserver.com/v1/create-qr-code/?size=180x180&data=${encodeURIComponent(redirectUrl)}`; + + body.innerHTML = ` +
+
+
1
+
+

Installer l'app ntfy

+

Scannez ce QR code ou cherchez ntfy sur le + Play Store / + App Store

+
+ T\u00e9l\u00e9charger ntfy +
+
+
+ +
+
2
+
+

S'abonner aux notifications

+

Scannez ce QR code avec l'appareil photo de votre t\u00e9l\u00e9phone pour ajouter automatiquement les notifications.

+
+ S'abonner aux notifications +
+
+
+
+ +
+ + +
`; + + body.querySelector('#ntfy-test')?.addEventListener('click', () => this.testNtfy()); + body.querySelector('#ntfy-deactivate')?.addEventListener('click', () => this.deactivateNtfy()); + } + + private activateNtfy(): void { + const topic = 'dd-' + Math.random().toString(36).slice(2, 8) + '-' + Date.now().toString(36).slice(-4); + this.commandBus.execute({ type: 'update-settings', ntfyTopic: topic }); + this.updateDOM(); + this.renderNtfyModal(); + } + + private deactivateNtfy(): void { + this.commandBus.execute({ type: 'update-settings', ntfyTopic: '' }); + this.updateDOM(); + this.renderNtfyModal(); + } + + private testNtfy(): void { + const { ntfyTopic } = this.getSettings(); + if (!ntfyTopic) return; + const url = `${NTFY_BASE}/${ntfyTopic}`; + (window as any).electronAPI?.sendNtfy?.(url, 'Test alarme', 'Ceci est un test de la notification mobile Minuteur Dragodinde !'); + } + + /* ══ Backup / Restore ══ */ + + private async exportData(): Promise { + const api = (window as any).electronAPI; + if (!api?.loadData || !api?.exportFile) return; + + const raw = await api.loadData(); + if (!raw) { + Toast.show('error', 'Aucune donnée à exporter.'); + return; + } + + const version = await api.getVersion?.() ?? 'unknown'; + const backup = { + app: 'minuteur-dragodinde', + version, + exportedAt: new Date().toISOString(), + data: JSON.parse(raw), + }; + + const date = new Date().toISOString().slice(0, 10); + const ok = await api.exportFile(JSON.stringify(backup, null, 2), `dd-timer-backup-${date}.json`); + if (ok) { + Toast.show('success', 'Données exportées avec succès.'); + } + } + + private async importData(): Promise { + const api = (window as any).electronAPI; + if (!api?.importFile || !api?.saveData) return; + + const raw = await api.importFile(); + if (!raw) return; // dialogue annulé + + let parsed: any; + try { + parsed = JSON.parse(raw); + } catch { + Toast.show('error', 'Le fichier sélectionné n\'est pas un JSON valide.'); + return; + } + + // Validation du format backup + if (parsed.app === 'minuteur-dragodinde' && parsed.data && typeof parsed.data === 'object') { + // Format backup avec métadonnées + const date = parsed.exportedAt ? new Date(parsed.exportedAt).toLocaleDateString('fr-FR') : 'inconnue'; + const ok = await ConfirmModal.show( + 'Importer les données', + `Ce backup date du ${date} (v${parsed.version ?? '?'}). Toutes vos données actuelles seront remplacées. Continuer ?`, + ); + if (!ok) return; + api.saveData(JSON.stringify(parsed.data)); + } else if (parsed.enclos && Array.isArray(parsed.enclos)) { + // Format brut (ancien export ou fichier state direct) + const ok = await ConfirmModal.show( + 'Importer les données', + 'Toutes vos données actuelles seront remplacées. Continuer ?', + ); + if (!ok) return; + api.saveData(JSON.stringify(parsed)); + } else { + Toast.show('error', 'Format de fichier non reconnu.'); + return; + } + + Toast.show('success', 'Données importées. Rechargement...'); + setTimeout(() => window.location.reload(), 1000); + } +} diff --git a/src/presentation/components/ReapproView.ts b/src/presentation/components/ReapproView.ts new file mode 100644 index 0000000..c609329 --- /dev/null +++ b/src/presentation/components/ReapproView.ts @@ -0,0 +1,471 @@ +import type { CommandBus } from '@application/handlers/CommandBus'; +import type { QueryBus } from '@application/handlers/QueryBus'; +import { RACES_DATA, GEN_COLORS, RACE_GEN, BREEDING_RECIPES } from '@domain/value-objects/Race'; +import { getDDImage } from '@presentation/helpers/dd-image'; +import { esc } from '@presentation/helpers/format'; + +interface ApproNeeds { + total: number; + m: number; + f: number; +} + +interface ApproStep { + baby: string; + parentA: string; + parentB: string; + couples: number; + gen: number; +} + +interface ApproState { + target: string; + qty: number; + repro: Record; + inverted: Record; + genFilter: number; + search: string; +} + +export class ReapproView { + private el: HTMLElement | null = null; + private approState: ApproState = { target: '', qty: 1, repro: {}, inverted: {}, genFilter: 0, search: '' }; + private dirty = true; + + constructor( + private commandBus: CommandBus, + private queryBus: QueryBus, + ) {} + + render(container: HTMLElement): void { + this.el = document.createElement('div'); + this.el.className = 'reappro-view-new'; + container.appendChild(this.el); + this.dirty = true; this.update(); + } + + update(): void { + if (!this.el || !this.dirty) return; + this.dirty = false; + const { target } = this.approState; + + if (target) { + this.renderResults(); + } else { + this.renderTargetSelection(); + } + } + + destroy(): void { + this.el?.remove(); + this.el = null; + } + + /* ── Target selection ── */ + private renderTargetSelection(): void { + if (!this.el) return; + const { genFilter, search } = this.approState; + + const allRaces: { name: string; gen: number }[] = []; + for (const [g, rs] of Object.entries(RACES_DATA)) { + const gen = parseInt(g); + if (gen < 2) continue; + for (const r of rs) allRaces.push({ name: r.name, gen }); + } + + const q = search.trim().toLowerCase(); + const filtered = allRaces.filter(r => + (genFilter > 0 ? r.gen === genFilter : true) && + (q ? r.name.toLowerCase().includes(q) : true) + ); + + let html = ''; + + // Header + html += `
+
+

Sélectionne ta cible

+
+
+
+ `; + for (let g = 2; g <= 10; g++) { + html += ``; + } + html += `
`; + + // Search + html += `
+ + ${search ? `` : ''} +
`; + + // Race grid + if (filtered.length === 0) { + html += `
Aucune race trouvée
`; + } else { + html += `
`; + for (const race of filtered) { + const genCol = GEN_COLORS[race.gen] ?? '#888'; + html += `
+
+ ${getDDImage(race.name)} +
GEN ${race.gen}
+
+
${esc(race.name)}
+
`; + } + html += `
`; + } + + this.el.innerHTML = html; + this.bindTargetSelectionEvents(); + + if (search) { + const inp = this.el.querySelector('#appro-search-input'); + if (inp) { inp.focus(); inp.setSelectionRange(inp.value.length, inp.value.length); } + } + } + + private bindTargetSelectionEvents(): void { + if (!this.el) return; + + const searchInput = this.el.querySelector('#appro-search-input'); + if (searchInput) { + searchInput.addEventListener('input', () => { + this.approState.search = searchInput.value; + this.dirty = true; this.update(); + }); + } + + const clearBtn = this.el.querySelector('.accoup-search-clear'); + if (clearBtn) { + clearBtn.addEventListener('click', () => { + this.approState.search = ''; + this.dirty = true; this.update(); + }); + } + + this.el.querySelectorAll('.accoup-gen-chip').forEach(btn => { + btn.addEventListener('click', () => { + this.approState.genFilter = parseInt((btn as HTMLElement).dataset.gen ?? '0'); + this.dirty = true; this.update(); + }); + }); + + this.el.querySelectorAll('.accoup-race-card').forEach(card => { + card.addEventListener('click', () => { + this.approState.target = (card as HTMLElement).dataset.race!; + this.approState.qty = 1; + this.approState.repro = {}; + this.approState.inverted = {}; + this.approState.search = ''; + this.dirty = true; this.update(); + }); + }); + } + + /* ── Results view ── */ + private renderResults(): void { + if (!this.el) return; + const { target, qty } = this.approState; + const targetGen = RACE_GEN[target] ?? 0; + const { materials, steps } = this.calcAppro(target, qty); + + // Group steps by generation + const stepsByGen = new Map(); + for (const step of steps) { + const list = stepsByGen.get(step.gen) ?? []; + list.push(step); + stepsByGen.set(step.gen, list); + } + const sortedGens = [...stepsByGen.keys()].sort((a, b) => a - b); + + let html = ''; + + // Top bar: back + quantity (top-left) + html += `
+ +
+ + +
+
`; + + // Materials (Gen 1) + if (materials.length > 0) { + const totalMat = materials.reduce((s, m) => s + m.m + m.f, 0); + html += `
`; + html += `
+

+ 1 + MATIÈRES PREMIÈRES — GÉNÉRATION 1 +

+ Total : ${totalMat} dragodindes requises +
`; + html += `
`; + for (const mat of materials) { + html += this.renderMaterialCard(mat.race, mat.m, mat.f); + } + html += `
`; + + // Arrow separator + html += `
+ expand_more +
`; + } + + // Steps grouped by generation + let stepNum = 2; + for (let gi = 0; gi < sortedGens.length; gi++) { + const gen = sortedGens[gi]; + const genSteps = stepsByGen.get(gen)!; + const isFinalGen = gi === sortedGens.length - 1; + const genCol = GEN_COLORS[gen] ?? '#888'; + + const panelClass = isFinalGen ? 'reappro-step-panel reappro-step-final' : 'reappro-step-panel'; + const headerClass = isFinalGen ? 'reappro-step-header reappro-step-header-final' : 'reappro-step-header'; + const badgeClass = isFinalGen ? 'reappro-step-badge reappro-badge-primary' : 'reappro-step-badge'; + + html += `
`; + html += `
+

+ ${stepNum} + ${isFinalGen ? 'ÉTAPE FINALE' : 'CROISEMENTS'} — GÉNÉRATION ${gen} +

+ ${genSteps.length} croisement${genSteps.length > 1 ? 's' : ''} +
`; + + html += `
`; + for (const step of genSteps) { + const invKey = step.baby; + const isInverted = this.approState.inverted[invKey] ?? false; + const reproCount = this.approState.repro[invKey] ?? 0; + const isLast = isFinalGen && genSteps.length === 1; + + html += `
`; + html += `
`; + + // Parents + const pA = isInverted ? step.parentB : step.parentA; + const pB = isInverted ? step.parentA : step.parentB; + html += this.renderCrossingParent(pA, '♂', step.couples); + html += `add`; + html += this.renderCrossingParent(pB, '♀', step.couples); + html += `arrow_forward`; + + // Baby result + const babyGen = RACE_GEN[step.baby] ?? 0; + html += `
+
+ ${getDDImage(step.baby)} + G${babyGen} +
+ ${esc(step.baby)} + ×${step.couples} +
`; + + html += `
`; // .reappro-crossing-row + + // Controls row + html += `
+ + + ${step.couples} couple${step.couples > 1 ? 's' : ''} +
`; + + html += `
`; // .reappro-crossing-card + } + html += `
`; // .reappro-crossings-grid + html += `
`; // .reappro-step-panel + + stepNum++; + + // Arrow between gen panels (not after last) + if (!isFinalGen) { + html += `
+ expand_more +
`; + } + } + + // Sticky target bar at bottom with save button + html += `
+
+
+ auto_awesome +
+
+
Cible de réapprovisionnement
+
${esc(target)} (Génération ${targetGen})
+
+
+ +
`; + + this.el.innerHTML = html; + this.bindResultsEvents(); + } + + private renderMaterialCard(race: string, m: number, f: number): string { + const gen = RACE_GEN[race] ?? 1; + const genCol = GEN_COLORS[gen] ?? '#888'; + const parts: string[] = []; + if (m > 0) parts.push(`♂ ${m}`); + if (f > 0) parts.push(`♀ ${f}`); + + return `
+
+ ${getDDImage(race)} +
+ ${esc(race)} +
${parts.join(' ')}
+
`; + } + + private renderCrossingParent(race: string, gender: string, qty: number): string { + const genderColor = gender === '♂' ? '#50a0ff' : '#ff64a0'; + return `
+
+ ${getDDImage(race)} +
+ ${esc(race)} + ${gender} ${qty} +
`; + } + + private bindResultsEvents(): void { + if (!this.el) return; + + // Back buttons + this.el.querySelectorAll('#appro-back').forEach(btn => { + btn.addEventListener('click', () => { + this.approState.target = ''; + this.dirty = true; this.update(); + }); + }); + + const qtyInput = this.el.querySelector('#appro-qty') as HTMLInputElement | null; + if (qtyInput) { + let prevQty = qtyInput.value; + qtyInput.addEventListener('focus', () => { prevQty = qtyInput.value; qtyInput.value = ''; }); + qtyInput.addEventListener('blur', () => { + if (qtyInput.value === '') qtyInput.value = prevQty; + this.approState.qty = Math.max(1, parseInt(qtyInput.value) || 1); + qtyInput.value = String(this.approState.qty); + this.dirty = true; this.update(); + }); + } + + this.el.querySelectorAll('.reappro-repro-input').forEach(inp => { + const inpEl = inp as HTMLInputElement; + let prev = inpEl.value; + inpEl.addEventListener('focus', () => { prev = inpEl.value; inpEl.value = ''; }); + inpEl.addEventListener('blur', () => { + if (inpEl.value === '') inpEl.value = prev; + const race = inpEl.dataset.race!; + this.approState.repro[race] = Math.max(0, parseInt(inpEl.value) || 0); + this.dirty = true; this.update(); + }); + }); + + this.el.querySelectorAll('.reappro-invert-btn').forEach(btn => { + btn.addEventListener('click', () => { + const race = (btn as HTMLElement).dataset.race!; + this.approState.inverted[race] = !this.approState.inverted[race]; + this.dirty = true; this.update(); + }); + }); + + const saveBtn = this.el.querySelector('#appro-save'); + if (saveBtn) { + saveBtn.addEventListener('click', () => { + const { target, qty, repro } = this.approState; + const { materials, steps } = this.calcAppro(target, qty); + this.commandBus.execute({ + type: 'save-workflow', + target, + qty, + materials, + steps, + repro: { ...repro }, + }); + (saveBtn as HTMLButtonElement).innerHTML = 'check Sauvegardé !'; + setTimeout(() => { + (saveBtn as HTMLButtonElement).innerHTML = 'save Sauvegarder ce plan'; + }, 2000); + }); + } + } + + /* ── Breeding plan calculation ── */ + private calcAppro(target: string, qty: number): { materials: { race: string; m: number; f: number }[]; steps: ApproStep[] } { + const targetGen = RACE_GEN[target] ?? 0; + if (targetGen < 2 || !BREEDING_RECIPES[target]) { + return { materials: [], steps: [] }; + } + + const needs: Record = {}; + needs[target] = { total: qty, m: 0, f: 0 }; + + const steps: ApproStep[] = []; + + for (let g = targetGen; g >= 2; g--) { + const racesAtGen: string[] = []; + for (const [rg, rs] of Object.entries(RACES_DATA)) { + if (parseInt(rg) === g) { + for (const r of rs) { + if (needs[r.name]) racesAtGen.push(r.name); + } + } + } + + for (const race of racesAtGen) { + const recipe = BREEDING_RECIPES[race]; + if (!recipe) continue; + const need = needs[race]; + if (!need || need.total <= 0) continue; + + const reproCount = this.approState.repro[race] ?? 0; + const couples = Math.max(1, need.total - reproCount); + const isInverted = this.approState.inverted[race] ?? false; + + const [recipeA, recipeB] = recipe; + const parentA = isInverted ? recipeB : recipeA; + const parentB = isInverted ? recipeA : recipeB; + + if (!needs[parentA]) needs[parentA] = { total: 0, m: 0, f: 0 }; + needs[parentA].total += couples; + needs[parentA].m += couples; + + if (!needs[parentB]) needs[parentB] = { total: 0, m: 0, f: 0 }; + needs[parentB].total += couples; + needs[parentB].f += couples; + + steps.push({ baby: race, parentA, parentB, couples, gen: g }); + } + } + + const materials: { race: string; m: number; f: number }[] = []; + for (const [race, need] of Object.entries(needs)) { + if (!BREEDING_RECIPES[race] && need.total > 0) { + materials.push({ race, m: need.m, f: need.f }); + } + } + + steps.reverse(); + return { materials, steps }; + } +} diff --git a/src/presentation/components/Sidebar.ts b/src/presentation/components/Sidebar.ts new file mode 100644 index 0000000..75d439e --- /dev/null +++ b/src/presentation/components/Sidebar.ts @@ -0,0 +1,126 @@ +import type { UIState } from '@presentation/state/UIState'; +import type { QueryBus } from '@application/handlers/QueryBus'; +import type { DashboardResult } from '@application/queries/GetDashboard'; +import { esc } from '@presentation/helpers/format'; + +export class Sidebar { + private el: HTMLElement | null = null; + + constructor( + private uiState: UIState, + private queryBus: QueryBus, + ) {} + + render(container: HTMLElement): void { + this.el = document.createElement('aside'); + this.el.className = 'sidebar-new'; + container.appendChild(this.el); + this.update(); + this.fetchAndInjectVersion(); + } + + update(): void { + if (!this.el) return; + + const data = this.queryBus.execute({ type: 'get-dashboard' }); + const enclosList = data.enclosSummaries; + const activeView = this.uiState.activeView; + + let html = ''; + + // ── Header ── + html += ` +
+
+ logo +
+
+ Obsidienne + Gestion d'élevage +
+
+ `; + + // ── Nav ── + html += `
`; + + // Section Principal + html += `
`; + html += `
Principal
`; + html += this.item('dashboard', 'dashboard', 'Tableau de bord', activeView === 'dashboard'); + html += this.item('statistiques', 'bar_chart', 'Statistiques', activeView === 'statistiques'); + html += `
`; + + // Section Enclos + html += `
`; + html += `
Enclos
`; + enclosList.forEach(enc => { + const isActive = activeView === enc.id; + const dotClass = enc.running ? 'running' : 'idle'; + html += ``; + }); + html += `
`; + + // Section Outils + html += `
`; + html += `
Outils
`; + html += this.item('accouplement', 'favorite', 'Accouplement', activeView === 'accouplement'); + html += this.item('appro', 'science', 'R\u00e9appro', activeView === 'appro'); + html += this.item('inventaire', 'inventory_2', 'Inventaire', activeView === 'inventaire'); + html += this.item('workflows', 'account_tree', 'Workflows', activeView === 'workflows'); + html += `
`; + + html += `
`; // end sb-nav + + // ── Footer ── + html += ` +
+ ${this.item('parametres', 'settings', 'Param\u00e8tres', activeView === 'parametres')} +
+ info + v\u2014 +
+
+ `; + + this.el.innerHTML = html; + this.bindEvents(); + this.fetchAndInjectVersion(); + } + + private item(viewId: string, icon: string, label: string, active: boolean): string { + return ``; + } + + private bindEvents(): void { + if (!this.el) return; + this.el.querySelectorAll('.sb-item[data-view]').forEach(btn => { + btn.addEventListener('click', () => { + const view = btn.dataset['view']!; + const viewValue: string | number = /^\d+$/.test(view) ? Number(view) : view; + this.uiState.setActiveView(viewValue); + }); + }); + } + + private fetchAndInjectVersion(): void { + const api = (window as any).electronAPI; + if (!api?.getVersion) return; + api.getVersion().then((v: string) => { + const verEl = this.el?.querySelector('#sb-ver'); + if (verEl) verEl.textContent = `v${v}`; + }); + } + + destroy(): void { + this.el?.remove(); + this.el = null; + } +} diff --git a/src/presentation/components/StatistiquesView.ts b/src/presentation/components/StatistiquesView.ts new file mode 100644 index 0000000..49f18c6 --- /dev/null +++ b/src/presentation/components/StatistiquesView.ts @@ -0,0 +1,490 @@ +import type { CommandBus } from '@application/handlers/CommandBus'; +import type { QueryBus } from '@application/handlers/QueryBus'; +import type { StatisticsResult, KpiDelta } from '@application/queries/GetStatistics'; +import { TOTAL_RACES } from '@application/queries/GetStatistics'; +import { GEN_COLORS, raceColor } from '@domain/value-objects/Race'; +import { getDDImage } from '@presentation/helpers/dd-image'; +import { esc } from '@presentation/helpers/format'; + +const PERIOD_OPTIONS = [ + { days: 7, label: '7 jours' }, + { days: 14, label: '14 jours' }, + { days: 30, label: '30 jours' }, + { days: 90, label: '3 mois' }, + { days: 0, label: 'Tout' }, +]; + +export class StatistiquesView { + private el: HTMLElement | null = null; + private selectedDays = 30; + + constructor( + private commandBus: CommandBus, + private queryBus: QueryBus, + ) {} + + render(container: HTMLElement): void { + this.el = document.createElement('div'); + this.el.className = 'stats-view'; + container.appendChild(this.el); + this.renderAll(); + } + + update(): void {} + + destroy(): void { + this.el?.remove(); + this.el = null; + } + + private getData(): StatisticsResult { + return this.queryBus.execute({ type: 'get-statistics', days: this.selectedDays }); + } + + private renderAll(): void { + if (!this.el) return; + const data = this.getData(); + + let html = ''; + + // ── Hero + Filtres ────────────────────────────────────────── + html += `
+
+

Statistiques d'\u00c9levage

+

Aperçu analytique des performances de votre archive.

+
+
`; + for (const opt of PERIOD_OPTIONS) { + const active = this.selectedDays === opt.days ? ' active' : ''; + html += ``; + } + html += `
`; + + // ── KPIs ──────────────────────────────────────────────────── + html += `
`; + html += this.renderKpi('Total Naissances', data.totalBabies, 'egg_alt'); + html += this.renderKpi('Taux de R\u00e9ussite', data.successRate, 'trending_up', '%'); + html += this.renderKpi('Couples Form\u00e9s', data.totalCouples, 'favorite'); + html += this.renderKpiRaces(data.racesCount); + html += `
`; + + // ── Graphique naissances + Donut ───────────────────────────── + html += `
`; + html += this.renderBarChart(data); + html += this.renderRaceDistribution(data); + html += `
`; + + // ── Répartition par génération + Activité semaine ──────────── + html += `
`; + html += this.renderGenBreakdown(data); + html += this.renderWeekdayActivity(data); + html += `
`; + + // ── Détail par race ────────────────────────────────────────── + html += this.renderRaceDetail(data); + + // ── Taux de réussite par race ──────────────────────────────── + html += this.renderRaceSuccessRates(data); + + // ── Meilleurs couples ──────────────────────────────────────── + html += this.renderBestCouples(data); + + // ── Races manquantes (toujours en dernier) ─────────────────── + html += this.renderMissingRaces(data); + + this.el.innerHTML = html; + this.bindEvents(); + } + + // ── KPIs ────────────────────────────────────────────────────── + + private renderKpi(label: string, kpi: KpiDelta, icon: string, suffix = ''): string { + return `
+
+ ${icon} +
+

${label}

+
+ ${kpi.value}${suffix} + ${this.deltaTag(kpi.delta, suffix)} +
+
`; + } + + private renderKpiRaces(kpi: KpiDelta): string { + return `
+
+ pets +
+

Races Obtenues

+
+ ${kpi.value}/${TOTAL_RACES} + ${this.deltaTag(kpi.delta)} +
+
`; + } + + private deltaTag(delta: number | null, suffix = ''): string { + if (delta === null) return ''; + if (delta === 0) return `= 0${suffix}`; + const sign = delta > 0 ? '+' : ''; + const cls = delta > 0 ? 'stats-delta-up' : 'stats-delta-down'; + return `${sign}${delta}${suffix}`; + } + + // ── Graphique barres ────────────────────────────────────────── + + private renderBarChart(data: StatisticsResult): string { + const maxCount = Math.max(...data.dailyBirths.map(d => d.count), 1); + const hasData = data.dailyBirths.some(d => d.count > 0); + const periodLabel = this.selectedDays === 0 ? '30 DERNIERS JOURS' : `${this.selectedDays} DERNIERS JOURS`; + + let html = `
+
+

\u00c9volution des Naissances

+ ${periodLabel} +
`; + + if (!hasData) { + html += `
+ bar_chart +

Aucune naissance sur cette p\u00e9riode

+
`; + } else { + html += `
`; + html += `
+ ${maxCount} + ${Math.round(maxCount / 2)} + 0 +
`; + html += `
`; + for (const day of data.dailyBirths) { + const pct = (day.count / maxCount) * 100; + const isToday = day === data.dailyBirths[data.dailyBirths.length - 1]; + html += `
+
${day.label}
${day.count} naissance${day.count !== 1 ? 's' : ''}
+
+
`; + } + html += `
`; + const step = Math.max(1, Math.floor(data.dailyBirths.length / 6)); + html += `
`; + for (let i = 0; i < data.dailyBirths.length; i++) { + if (i % step === 0 || i === data.dailyBirths.length - 1) { + html += `${data.dailyBirths[i].label}`; + } + } + html += `
`; + } + + html += `
`; + return html; + } + + // ── Donut races ─────────────────────────────────────────────── + + private renderRaceDistribution(data: StatisticsResult): string { + const top = data.raceShares.slice(0, 8); + + let html = `
+

R\u00e9partition des Races

`; + + if (top.length === 0) { + html += `
+ donut_large +

Aucune race enregistr\u00e9e

+
`; + } else { + html += `
+
+ ${data.racesCount.value} + RACES +
+ ${this.renderDonutSVG(top)} +
`; + html += `
`; + for (const r of top) { + const col = raceColor(r.race); + html += `
+
+ + ${esc(r.race)} +
+
+ ${r.count} + ${r.pct}% +
+
`; + } + if (data.raceShares.length > 8) { + const otherCount = data.raceShares.slice(8).reduce((s, r) => s + r.count, 0); + const otherPct = data.totalBabies.value > 0 ? Math.round((otherCount / data.totalBabies.value) * 100) : 0; + html += `
+
+ + Autres (${data.raceShares.length - 8}) +
+
+ ${otherCount} + ${otherPct}% +
+
`; + } + html += `
`; + } + + html += `
`; + return html; + } + + private renderDonutSVG(shares: { race: string; pct: number; count: number }[]): string { + const r = 60, circ = 2 * Math.PI * r, gap = 2; + let offset = 0; + let arcs = ''; + for (const s of shares) { + const col = raceColor(s.race); + const len = Math.max((s.pct / 100) * circ - gap, 0); + arcs += ` + ${esc(s.race)} — ${s.count} (${s.pct}%) + `; + offset += len + gap; + } + return `${arcs}`; + } + + // ── Répartition par génération ───────────────────────────────── + + private renderGenBreakdown(data: StatisticsResult): string { + let html = `
+
+

Naissances par G\u00e9n\u00e9ration

+
`; + + if (data.genBreakdown.length === 0) { + html += `
+ genetics +

Aucune donn\u00e9e

+
`; + } else { + const maxBabies = Math.max(...data.genBreakdown.map(g => g.babies), 1); + html += `
`; + for (const g of data.genBreakdown) { + const col = GEN_COLORS[g.gen] ?? '#888'; + const pct = (g.babies / maxBabies) * 100; + const rate = g.couples > 0 ? Math.round((g.babies / g.couples) * 100) : 0; + html += `
+ Gen ${g.gen} +
+
+
+
+ ${g.babies} + ${rate}% + ${g.races} race${g.races > 1 ? 's' : ''} +
+
`; + } + html += `
`; + } + + html += `
`; + return html; + } + + // ── Activité par jour de la semaine ──────────────────────────── + + private renderWeekdayActivity(data: StatisticsResult): string { + const maxCount = Math.max(...data.weekdayActivity.map(d => d.count), 1); + const hasData = data.weekdayActivity.some(d => d.count > 0); + + let html = `
+

Activit\u00e9 par Jour

`; + + if (!hasData) { + html += `
+ calendar_month +

Aucune activit\u00e9

+
`; + } else { + html += `
`; + for (const w of data.weekdayActivity) { + const pct = (w.count / maxCount) * 100; + const intensity = Math.min(pct / 100, 1); + const bg = `rgba(157, 120, 255, ${0.1 + intensity * 0.6})`; + html += `
+ ${w.day.slice(0, 3)} +
+ ${w.count} +
+
`; + } + html += `
`; + } + + html += `
`; + return html; + } + + // ── Taux de réussite par race ────────────────────────────────── + + private renderRaceSuccessRates(data: StatisticsResult): string { + if (data.raceSuccessRates.length === 0) return ''; + + let html = `
+
+

Taux de R\u00e9ussite par Race

+ ${data.raceSuccessRates.length} RACES +
+
`; + + for (const r of data.raceSuccessRates) { + const col = raceColor(r.race); + const rateClass = r.rate >= 80 ? 'stats-rate-high' : r.rate >= 50 ? 'stats-rate-mid' : 'stats-rate-low'; + html += `
+
+
${getDDImage(r.race)}
+ ${esc(r.race)} +
+
+
+
+ ${r.rate}% + ${r.babies}/${r.couples} +
`; + } + + html += `
`; + return html; + } + + // ── Meilleurs couples ────────────────────────────────────────── + + private renderBestCouples(data: StatisticsResult): string { + if (data.bestCouples.length === 0) return ''; + + let html = `
+
+

Meilleurs Couples

+ TOP ${data.bestCouples.length} +
+
`; + + for (let i = 0; i < data.bestCouples.length; i++) { + const c = data.bestCouples[i]; + const babyCol = raceColor(c.baby); + const rateClass = c.rate >= 80 ? 'stats-rate-high' : c.rate >= 50 ? 'stats-rate-mid' : 'stats-rate-low'; + html += `
+ #${i + 1} +
+
${getDDImage(c.parentA)}
+ add +
${getDDImage(c.parentB)}
+
+ arrow_forward +
+
${getDDImage(c.baby)}
+ ${esc(c.baby)} +
+ ${c.rate}% + ${c.babies}/${c.couples} +
`; + } + + html += `
`; + return html; + } + + // ── Races manquantes ─────────────────────────────────────────── + + private renderMissingRaces(data: StatisticsResult): string { + if (data.missingRaces.length === 0) { + return `
+
+

Races Manquantes

+ COMPLET ! +
+
+ check_circle +

Toutes les ${TOTAL_RACES} races ont \u00e9t\u00e9 obtenues !

+
+
`; + } + + // Grouper par génération + const byGen = new Map(); + for (const r of data.missingRaces) { + if (!byGen.has(r.gen)) byGen.set(r.gen, []); + byGen.get(r.gen)!.push(r); + } + + let html = `
+
+

Races Manquantes

+ ${data.missingRaces.length} / ${TOTAL_RACES} RESTANTES +
+
`; + + for (const [gen, races] of Array.from(byGen.entries()).sort((a, b) => a[0] - b[0])) { + const genCol = GEN_COLORS[gen] ?? '#888'; + html += `
+ Gen ${gen} +
`; + for (const r of races) { + const col = raceColor(r.name); + html += `
+
${getDDImage(r.name)}
+ ${esc(r.name)} +
`; + } + html += `
`; + } + + html += `
`; + return html; + } + + // ── Détail par race (barres horizontales) ────────────────────── + + private renderRaceDetail(data: StatisticsResult): string { + if (data.raceShares.length === 0) return ''; + + const maxCount = data.raceShares[0].count; + + let html = `
+
+

D\u00e9tail par Race

+ ${data.raceShares.length} / ${TOTAL_RACES} RACES +
+
`; + + for (const r of data.raceShares) { + const col = raceColor(r.race); + const pct = maxCount > 0 ? (r.count / maxCount) * 100 : 0; + html += `
+ ${esc(r.race)} +
+
+
+ ${r.count} +
`; + } + + html += `
`; + return html; + } + + // ── Events ──────────────────────────────────────────────────── + + private bindEvents(): void { + if (!this.el) return; + this.el.querySelectorAll('.stats-period-chip').forEach(chip => { + chip.addEventListener('click', () => { + this.selectedDays = Number(chip.dataset['days']); + this.renderAll(); + }); + }); + } +} diff --git a/src/presentation/components/Toast.ts b/src/presentation/components/Toast.ts new file mode 100644 index 0000000..7400719 --- /dev/null +++ b/src/presentation/components/Toast.ts @@ -0,0 +1,97 @@ +export type ToastType = 'success' | 'error'; + +interface ToastAction { + label: string; + callback: () => void; +} + +interface ToastItem { + id: number; + type: ToastType; + message: string; +} + +const ICON: Record = { + success: 'check_circle', + error: 'error', +}; + +const DURATION: Record = { + success: 3000, + error: 5000, +}; + +const DURATION_WITH_ACTION = 10_000; +const MAX_VISIBLE = 3; + +let nextId = 0; +let container: HTMLElement | null = null; +const items: ToastItem[] = []; + +export const Toast = { + mount(parent: HTMLElement): void { + container = document.createElement('div'); + container.id = 'toast-container'; + parent.appendChild(container); + }, + + show(type: ToastType, message: string, action?: ToastAction): void { + if (!container) return; + + const id = nextId++; + items.push({ id, type, message }); + + // Evincer les plus anciens si > MAX_VISIBLE + while (items.length > MAX_VISIBLE) { + const old = items.shift()!; + const oldEl = container.querySelector(`[data-toast-id="${old.id}"]`); + if (oldEl) oldEl.remove(); + } + + const el = document.createElement('div'); + el.className = `toast toast-${type}`; + el.dataset['toastId'] = String(id); + + const iconSpan = document.createElement('span'); + iconSpan.className = 'toast-icon material-symbols-outlined'; + iconSpan.textContent = ICON[type]; + const msgSpan = document.createElement('span'); + msgSpan.className = 'toast-msg'; + msgSpan.textContent = message; + el.appendChild(iconSpan); + el.appendChild(msgSpan); + + if (action) { + const btn = document.createElement('button'); + btn.className = 'toast-action'; + btn.textContent = action.label; + btn.addEventListener('click', () => { + action.callback(); + cleanup(); + }, { once: true }); + el.appendChild(btn); + } + + container.appendChild(el); + + // Trigger animation + requestAnimationFrame(() => el.classList.add('toast-visible')); + + const cleanup = () => { + if (!el.parentNode) return; + el.remove(); + const idx = items.findIndex(i => i.id === id); + if (idx !== -1) items.splice(idx, 1); + }; + + const duration = action ? DURATION_WITH_ACTION : DURATION[type]; + + setTimeout(() => { + el.classList.remove('toast-visible'); + el.classList.add('toast-exit'); + el.addEventListener('animationend', cleanup, { once: true }); + // Fallback si animationend ne se declenche pas + setTimeout(cleanup, 500); + }, duration); + }, +}; diff --git a/src/presentation/components/UpdateBanner.ts b/src/presentation/components/UpdateBanner.ts new file mode 100644 index 0000000..9f424c3 --- /dev/null +++ b/src/presentation/components/UpdateBanner.ts @@ -0,0 +1,118 @@ +declare const window: Window & { + electronAPI?: { + onUpdateAvailable?: (cb: (info: { version: string }) => void) => void; + onUpdateDownloading?: (cb: (info: any) => void) => void; + onUpdateProgress?: (cb: (progress: { percent: number }) => void) => void; + onUpdateReady?: (cb: () => void) => void; + onUpdateError?: (cb: (err: { message: string }) => void) => void; + installUpdate?: () => void; + }; +}; + +export class UpdateBanner { + private el: HTMLElement | null = null; + private state: 'hidden' | 'available' | 'downloading' | 'ready' | 'error' = 'hidden'; + private progressPercent = 0; + private version = ''; + private errorMsg = ''; + + render(container: HTMLElement): void { + this.el = document.createElement('div'); + this.el.className = 'update-banner-new'; + container.appendChild(this.el); + + this.bindElectronEvents(); + } + + private bindElectronEvents(): void { + const api = window.electronAPI; + if (!api) return; + + api.onUpdateAvailable?.((info) => { + this.state = 'available'; + this.version = info.version; + this.updateDisplay(); + }); + + api.onUpdateDownloading?.(() => { + this.state = 'downloading'; + this.progressPercent = 0; + this.updateDisplay(); + }); + + api.onUpdateProgress?.((progress) => { + this.state = 'downloading'; + this.progressPercent = Math.round(progress.percent); + this.updateDisplay(); + }); + + api.onUpdateReady?.(() => { + this.state = 'ready'; + // version was set in onUpdateAvailable + this.updateDisplay(); + }); + + api.onUpdateError?.((err) => { + this.state = 'error'; + this.errorMsg = err.message; + this.updateDisplay(); + }); + } + + private updateDisplay(): void { + if (!this.el) return; + + this.el.className = `update-banner-new ${this.state}`; + + switch (this.state) { + case 'hidden': + this.el.innerHTML = ''; + return; + + case 'available': + this.el.innerHTML = + `` + + `Mise \u00e0 jour disponible\u00a0: v${this.escHtml(this.version)} — T\u00e9l\u00e9chargement en cours…`; + break; + + case 'downloading': + this.el.innerHTML = + `` + + `T\u00e9l\u00e9chargement de la mise \u00e0 jour…` + + `
` + + `${this.progressPercent}\u00a0%`; + break; + + case 'ready': { + this.el.innerHTML = + `` + + `Mise \u00e0 jour v${this.escHtml(this.version)} pr\u00eate !` + + ``; + const btn = this.el.querySelector('#upd-install-btn') as HTMLElement | null; + btn?.addEventListener('click', () => window.electronAPI?.installUpdate?.()); + break; + } + + case 'error': + this.el.innerHTML = + `` + + `Erreur de mise \u00e0 jour\u00a0: ${this.escHtml(this.errorMsg)}` + + ``; + const dismissBtn = this.el.querySelector('#upd-dismiss-btn') as HTMLElement | null; + dismissBtn?.addEventListener('click', () => { + this.state = 'hidden'; + this.updateDisplay(); + }); + break; + } + } + + private escHtml(s: string): string { + return s.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); + } + + destroy(): void { + this.el?.remove(); + this.el = null; + } +} diff --git a/src/presentation/components/WorkflowsView.ts b/src/presentation/components/WorkflowsView.ts new file mode 100644 index 0000000..d37aa04 --- /dev/null +++ b/src/presentation/components/WorkflowsView.ts @@ -0,0 +1,693 @@ +import type { CommandBus } from '@application/handlers/CommandBus'; +import type { QueryBus } from '@application/handlers/QueryBus'; +import type { UIState } from '@presentation/state/UIState'; +import type { WorkflowItem } from '@application/queries/GetWorkflows'; +import type { ImportWorkflowsCommand } from '@application/commands/ImportWorkflows'; +import { GEN_COLORS, RACE_GEN, raceColor } from '@domain/value-objects/Race'; +import { getDDImage } from '@presentation/helpers/dd-image'; +import { esc } from '@presentation/helpers/format'; +import { Toast } from './Toast'; +import { ConfirmModal } from './ConfirmModal'; +import { UndoManager } from '@presentation/services/UndoManager'; + +interface WorkflowProgress { + done: number; + total: number; + pct: number; +} + +function getProgress(wf: WorkflowItem): WorkflowProgress { + let done = 0; + let total = 0; + wf.materials.forEach(m => { + total += m.needed; + done += Math.min(m.done, m.needed); + }); + wf.steps.forEach(st => + st.crossings.forEach(cr => { + total += cr.needed; + done += Math.min(cr.done, cr.needed); + }), + ); + return total > 0 ? { done, total, pct: Math.round((done / total) * 100) } : { done: 0, total: 0, pct: 0 }; +} + +function formatDate(ts: number): string { + const d = new Date(ts); + const now = new Date(); + const diff = now.getTime() - d.getTime(); + const days = Math.floor(diff / 86400000); + if (days === 0) return "Aujourd'hui"; + if (days === 1) return 'Hier'; + if (days < 7) return `Il y a ${days} jours`; + return d.toLocaleDateString('fr-FR', { day: '2-digit', month: 'short' }); +} + +export class WorkflowsView { + private el: HTMLElement | null = null; + private detailId: number | null = null; + private genFilter = 0; + private search = ''; + private dirty = true; + private exportMode = false; + private selectedIds = new Set(); + + constructor( + private commandBus: CommandBus, + private queryBus: QueryBus, + private uiState: UIState, + ) {} + + render(container: HTMLElement): void { + this.el = document.createElement('div'); + this.el.className = 'wf-view-new'; + container.appendChild(this.el); + this.updateDOM(); + } + + update(): void { + if (!this.dirty) return; + this.dirty = false; + this.updateDOM(); + } + + destroy(): void { + this.el?.remove(); + this.el = null; + } + + private getWorkflows(): WorkflowItem[] { + return this.queryBus.execute({ type: 'get-workflows' }); + } + + private updateDOM(): void { + if (!this.el) return; + if (this.detailId !== null) { + this.renderDetail(this.detailId); + } else { + this.renderList(); + } + } + + // ── List view ────────────────────────────────────────────────── + + private renderList(): void { + if (!this.el) return; + const allWorkflows = this.getWorkflows(); + + const q = this.search.trim().toLowerCase(); + const filtered = allWorkflows.filter(wf => { + const gen = RACE_GEN[wf.target] ?? 0; + const matchGen = this.genFilter === 0 || gen === this.genFilter; + const matchSearch = !q || wf.target.toLowerCase().includes(q) || wf.name.toLowerCase().includes(q); + return matchGen && matchSearch; + }); + + let html = ''; + + /* Header */ + if (this.exportMode) { + const allSelected = filtered.length > 0 && filtered.every(wf => this.selectedIds.has(wf.id)); + html += `
+
+ + + ${this.selectedIds.size} sélectionné${this.selectedIds.size > 1 ? 's' : ''} +
+ +
`; + } else { + html += `
+
+

Sommaire des Plans

+

Gérez et suivez l'évolution de vos plans de reproduction.

+
+
+ + + ${allWorkflows.length} plan${allWorkflows.length > 1 ? 's' : ''} actif${allWorkflows.length > 1 ? 's' : ''} +
+
`; + } + + /* Search + Gen chips */ + html += `
+
+
+ + ${this.search ? `` : ''} +
+
+
+
+ `; + for (let g = 1; g <= 10; g++) { + const hasWf = allWorkflows.some(wf => (RACE_GEN[wf.target] ?? 0) === g); + if (!hasWf) continue; + html += ``; + } + html += `
+
+
`; + + /* Cards grid */ + if (allWorkflows.length === 0) { + html += `
+ assignment +

Aucun plan sauvegardé

+

Créez un plan depuis l'onglet Appro ou Inventaire.

+
`; + } else if (filtered.length === 0) { + html += `
Aucun plan trouvé
`; + } else { + html += `
`; + for (const wf of filtered) { + html += this.renderWorkflowCard(wf); + } + html += `
`; + } + + this.el.innerHTML = html; + this.bindListEvents(); + + if (this.search) { + const inp = this.el.querySelector('#wf-search-input'); + if (inp) { inp.focus(); inp.setSelectionRange(inp.value.length, inp.value.length); } + } + } + + private renderWorkflowCard(wf: WorkflowItem): string { + const prog = getProgress(wf); + const gen = RACE_GEN[wf.target] ?? 0; + const genColor = GEN_COLORS[gen] ?? '#888'; + const col = raceColor(wf.target); + const isSelected = this.selectedIds.has(wf.id); + + return `
+ ${this.exportMode ? `
` : ''} +
+
+ Génération ${gen} +

${esc(wf.name)}

+
+
+ ${getDDImage(wf.target)} +
+
+
+
+ Progression Actuelle + ${prog.pct}% +
+
+
+
+
+
+
+ history + Dernière modif : ${formatDate(wf.updatedAt ?? wf.createdAt)} +
+
+ +
+ arrow_forward +
+
+
+
`; + } + + private bindListEvents(): void { + if (!this.el) return; + + // Search + const searchInput = this.el.querySelector('#wf-search-input'); + if (searchInput) { + searchInput.addEventListener('input', () => { this.search = searchInput.value; this.dirty = true; this.update(); }); + } + const clearBtn = this.el.querySelector('.accoup-search-clear'); + if (clearBtn) { + clearBtn.addEventListener('click', () => { this.search = ''; this.dirty = true; this.update(); }); + } + + // Gen filter chips + this.el.querySelectorAll('.accoup-gen-chip[data-gen]').forEach(btn => { + btn.addEventListener('click', () => { + this.genFilter = parseInt((btn as HTMLElement).dataset.gen ?? '0'); + this.dirty = true; this.update(); + }); + }); + + if (this.exportMode) { + // Export mode events + + // Cancel export mode + const cancelBtn = this.el.querySelector('#wf-export-cancel'); + if (cancelBtn) { + cancelBtn.addEventListener('click', () => { + this.exportMode = false; + this.selectedIds.clear(); + this.dirty = true; this.update(); + }); + } + + // Select all + const selectAll = this.el.querySelector('#wf-select-all'); + if (selectAll) { + selectAll.addEventListener('change', () => { + const allWorkflows = this.getWorkflows(); + // Apply to filtered workflows only + const q = this.search.trim().toLowerCase(); + const filtered = allWorkflows.filter(wf => { + const gen = RACE_GEN[wf.target] ?? 0; + const matchGen = this.genFilter === 0 || gen === this.genFilter; + const matchSearch = !q || wf.target.toLowerCase().includes(q) || wf.name.toLowerCase().includes(q); + return matchGen && matchSearch; + }); + if (selectAll.checked) { + filtered.forEach(wf => this.selectedIds.add(wf.id)); + } else { + filtered.forEach(wf => this.selectedIds.delete(wf.id)); + } + this.dirty = true; this.update(); + }); + } + + // Individual checkboxes (click anywhere on card toggles) + this.el.querySelectorAll('.wf-card').forEach(card => { + card.addEventListener('click', (e) => { + const id = Number((card as HTMLElement).dataset['wfId']); + if (this.selectedIds.has(id)) { + this.selectedIds.delete(id); + } else { + this.selectedIds.add(id); + } + this.dirty = true; this.update(); + }); + }); + + // Confirm export + const confirmBtn = this.el.querySelector('#wf-export-confirm'); + if (confirmBtn) { + confirmBtn.addEventListener('click', () => this.exportWorkflows()); + } + + } else { + // Normal mode events + + // Card click → open detail + this.el.querySelectorAll('.wf-card').forEach(card => { + card.addEventListener('click', (e) => { + const target = e.target as HTMLElement; + if (target.closest('.wf-delete-btn')) return; + const id = Number((card as HTMLElement).dataset['wfId']); + this.detailId = id; + this.dirty = true; this.update(); + }); + }); + + // Export button → enter export mode + const exportBtn = this.el.querySelector('#wf-export-btn'); + if (exportBtn) { + exportBtn.addEventListener('click', () => { + this.exportMode = true; + this.selectedIds.clear(); + this.dirty = true; this.update(); + }); + } + + // Import button + const importBtn = this.el.querySelector('#wf-import-btn'); + if (importBtn) { + importBtn.addEventListener('click', () => this.importWorkflows()); + } + + // Delete buttons + this.el.querySelectorAll('.wf-delete-btn').forEach(btn => { + btn.addEventListener('click', async (e) => { + e.stopPropagation(); + const id = Number((btn as HTMLElement).dataset['wfId']); + const workflows = this.getWorkflows(); + const wf = workflows.find(w => w.id === id); + const name = wf ? wf.name : String(id); + const ok = await ConfirmModal.show('Supprimer le plan', `Supprimer "${name}" ? Cette action est irréversible.`); + if (!ok) return; + const hasSnap = await UndoManager.snapshotCurrent('Suppression plan'); + this.commandBus.execute({ type: 'delete-workflow', workflowId: id }); + Toast.show('success', `Plan "${name}" supprimé.`, hasSnap ? { label: 'Annuler', callback: () => UndoManager.undo() } : undefined); + this.dirty = true; this.update(); + }); + }); + } + } + + // ── Detail view ─────────────────────────────────────────────── + + private renderDetail(id: number): void { + if (!this.el) return; + const workflows = this.getWorkflows(); + const wf = workflows.find(w => w.id === id); + + if (!wf) { + this.detailId = null; + this.dirty = true; this.update(); + return; + } + + const prog = getProgress(wf); + const gen = RACE_GEN[wf.target] ?? 0; + const genColor = GEN_COLORS[gen] ?? '#888'; + const col = raceColor(wf.target); + + let html = ''; + + /* Top bar: back + objective + progress */ + html += `
+ +
+ timeline + Objectif : ${esc(wf.target)} +
+
+
+ Progression Globale + ${prog.pct}% +
+
+
+
+
+
`; + + /* Overview card */ + html += `
+
+
+ ${getDDImage(wf.target)} + GEN ${gen} +
+
+

${wf.qty}x ${esc(wf.target)}

+

Créé le ${new Date(wf.createdAt).toLocaleDateString('fr-FR', { day: '2-digit', month: 'long', year: 'numeric' })}

+
+
+
+
+ Naissances + ${prog.done} / ${prog.total} +
+
+
`; + + /* Materials */ + if (wf.materials.length > 0) { + const totalSteps = wf.steps.length + 1; + html += `
+ Étape 1/${totalSteps} + Géniteurs de Base (Matières Premières) +
`; + + html += `
`; + wf.materials.forEach((mat, mIdx) => { + const matDone = Math.min(mat.done, mat.needed); + const matPct = mat.needed > 0 ? Math.round((matDone / mat.needed) * 100) : 0; + const matComplete = matDone >= mat.needed; + html += `
+
+ ${getDDImage(mat.name)} +
+
+
+

${esc(mat.name)}

+ ${matComplete ? 'check_circle' : ''} +
+
+ Besoin: ${mat.needed} +
+ ${matDone} / ${mat.needed} +
+
+
+
+
+ +
+
`; + }); + html += `
`; + + /* Connector */ + html += `
`; + } + + /* Step cards (crossings by gen) */ + const totalSteps = wf.steps.length + (wf.materials.length > 0 ? 1 : 0); + wf.steps.forEach((step, sIdx) => { + const stepNum = sIdx + (wf.materials.length > 0 ? 2 : 1); + const stepGenColor = GEN_COLORS[step.gen] ?? '#888'; + + html += `
+ Étape ${stepNum}/${totalSteps} + Croisements — Génération ${step.gen} +
`; + + html += `
`; + step.crossings.forEach((cr, cIdx) => { + const crDone = Math.min(cr.done, cr.needed); + const crPct = cr.needed > 0 ? Math.round((crDone / cr.needed) * 100) : 0; + const crCol = raceColor(cr.race); + const babyGen = RACE_GEN[cr.race] ?? 0; + const babyGenCol = GEN_COLORS[babyGen] ?? '#888'; + + html += `
+
+
+
+ ${getDDImage(cr.parentA)} +
+ add +
+ ${getDDImage(cr.parentB)} +
+
+ double_arrow +
+
+ ${getDDImage(cr.race)} + G${babyGen} +
+
+

${esc(cr.race)}

+

Objectif : ${cr.needed} réussi${cr.needed > 1 ? 's' : ''}

+
+ ${Array.from({ length: cr.needed }, (_, i) => + `` + ).join('')} + ${crDone} / ${cr.needed} +
+
+
+
+ +
`; + }); + html += `
`; + + /* Connector between steps */ + if (sIdx < wf.steps.length - 1) { + html += `
`; + } + }); + + this.el.innerHTML = html; + this.bindDetailEvents(id); + } + + private bindDetailEvents(wfId: number): void { + if (!this.el) return; + + // Back button + const backBtn = this.el.querySelector('#wf-back-btn'); + if (backBtn) { + backBtn.addEventListener('click', () => { + this.detailId = null; + this.dirty = true; this.update(); + }); + } + + // Material inputs + this.el.querySelectorAll('.wf-mat-input').forEach(input => { + let prev = input.value; + input.addEventListener('focus', () => { prev = input.value; input.value = ''; }); + input.addEventListener('input', () => { + if (input.value === '') return; + const mIdx = Number(input.dataset['matIdx']); + const max = Number(input.dataset['max']) || 0; + const val = Math.min(Math.max(0, Number(input.value) || 0), max); + const pct = max > 0 ? Math.round((val / max) * 100) : 0; + const bar = this.el?.querySelector(`#wf-mat-bar-${mIdx}`); + const cnt = this.el?.querySelector(`#wf-mat-count-${mIdx}`); + if (bar) bar.style.width = `${pct}%`; + if (cnt) cnt.textContent = `${val} / ${max}`; + this.refreshGlobalBar(); + }); + input.addEventListener('blur', () => { + if (input.value === '') { input.value = prev; this.refreshGlobalBar(); return; } + const mIdx = Number(input.dataset['matIdx']); + const done = Math.max(0, Number(input.value) || 0); + this.commandBus.execute({ type: 'update-workflow', workflowId: wfId, materialIdx: mIdx, done }); + this.dirty = true; this.update(); + }); + }); + + // Crossing inputs + this.el.querySelectorAll('.wf-crossing-input').forEach(input => { + let prev = input.value; + input.addEventListener('focus', () => { prev = input.value; input.value = ''; }); + input.addEventListener('input', () => { + if (input.value === '') return; + const sIdx = Number(input.dataset['stepIdx']); + const cIdx = Number(input.dataset['crossingIdx']); + const max = Number(input.dataset['max']) || 0; + const val = Math.min(Math.max(0, Number(input.value) || 0), max); + const cnt = this.el?.querySelector(`#wf-cr-count-${sIdx}-${cIdx}`); + if (cnt) cnt.textContent = `${val} / ${max}`; + this.refreshGlobalBar(); + }); + input.addEventListener('blur', () => { + if (input.value === '') { input.value = prev; this.refreshGlobalBar(); return; } + const sIdx = Number(input.dataset['stepIdx']); + const cIdx = Number(input.dataset['crossingIdx']); + const done = Math.max(0, Number(input.value) || 0); + this.commandBus.execute({ type: 'update-workflow', workflowId: wfId, stepIdx: sIdx, crossingIdx: cIdx, done }); + this.dirty = true; this.update(); + }); + }); + } + + // ── Export / Import ───────────────────────────────────────── + + private async exportWorkflows(): Promise { + const allWorkflows = this.getWorkflows(); + const toExport = allWorkflows.filter(wf => this.selectedIds.has(wf.id)); + if (toExport.length === 0) return; + + const data = JSON.stringify(toExport, null, 2); + const suffix = toExport.length === 1 ? toExport[0].target.toLowerCase().replace(/\s+/g, '-') : 'tous'; + const defaultName = `plans-dragodinde-${suffix}-${new Date().toISOString().slice(0, 10)}.json`; + + const api = (window as any).electronAPI; + if (api?.exportFile) { + const ok = await api.exportFile(data, defaultName); + if (ok) { Toast.show('success', 'Plans exportés avec succès.'); this.exportMode = false; this.selectedIds.clear(); this.dirty = true; this.update(); } + } else { + // Fallback navigateur : téléchargement via Blob + const blob = new Blob([data], { type: 'application/json' }); + const url = URL.createObjectURL(blob); + const a = document.createElement('a'); + a.href = url; + a.download = defaultName; + a.click(); + URL.revokeObjectURL(url); + Toast.show('success', 'Plans exportés avec succès.'); + this.exportMode = false; this.selectedIds.clear(); this.dirty = true; this.update(); + } + } + + private async importWorkflows(): Promise { + const api = (window as any).electronAPI; + let raw: string | null = null; + + if (api?.importFile) { + raw = await api.importFile(); + } else { + // Fallback navigateur : input file + raw = await new Promise(resolve => { + const input = document.createElement('input'); + input.type = 'file'; + input.accept = '.json'; + input.addEventListener('change', () => { + const file = input.files?.[0]; + if (!file) { resolve(null); return; } + const reader = new FileReader(); + reader.onload = () => resolve(reader.result as string); + reader.onerror = () => resolve(null); + reader.readAsText(file); + }); + input.click(); + }); + } + + if (!raw) return; + + try { + const parsed = JSON.parse(raw); + const arr = Array.isArray(parsed) ? parsed : [parsed]; + + // Validation basique de la structure + const valid = arr.filter((item: any) => + item && typeof item === 'object' && + typeof item.target === 'string' && + typeof item.qty === 'number' && + Array.isArray(item.materials) && + Array.isArray(item.steps), + ) as WorkflowItem[]; + + if (valid.length === 0) { + Toast.show('error', 'Aucun plan valide trouvé dans le fichier.'); + return; + } + + this.commandBus.execute({ + type: 'import-workflows', + workflows: valid, + } as ImportWorkflowsCommand); + + Toast.show('success', `${valid.length} plan(s) importé(s) avec succès.`); + this.dirty = true; + this.update(); + } catch { + Toast.show('error', 'Le fichier sélectionné n\'est pas un JSON valide.'); + } + } + + private refreshGlobalBar(): void { + if (!this.el) return; + let done = 0, total = 0; + this.el.querySelectorAll('.wf-mat-input, .wf-crossing-input').forEach(inp => { + const max = Number(inp.dataset['max']) || 0; + const val = Math.min(Math.max(0, Number(inp.value) || 0), max); + total += max; + done += val; + }); + const pct = total > 0 ? Math.round((done / total) * 100) : 0; + const bar = this.el.querySelector('#wf-global-bar'); + const pctEl = this.el.querySelector('#wf-global-pct'); + const births = this.el.querySelector('#wf-stat-births'); + if (bar) bar.style.width = `${pct}%`; + if (pctEl) pctEl.textContent = `${pct}%`; + if (births) births.textContent = `${done} / ${total}`; + } +} diff --git a/src/presentation/helpers/dd-image.ts b/src/presentation/helpers/dd-image.ts new file mode 100644 index 0000000..e046e03 --- /dev/null +++ b/src/presentation/helpers/dd-image.ts @@ -0,0 +1,79 @@ +/** + * Images base64 des 66 races de Dragodindes, extraites du monolithe v1.1.5. + */ +export const DD_IMAGES: Record = { + 'Amande': 'data:image/png;base64,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', + 'Amande et Dorée': 'data:image/png;base64,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', + 'Amande et Ebène': 'data:image/png;base64,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', + 'Amande et Emeraude': 'data:image/png;base64,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', + 'Amande et Indigo': 'data:image/png;base64,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', + 'Amande et Ivoire': 'data:image/png;base64,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', + 'Amande et Orchidée': 'data:image/png;base64,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', + 'Amande et Pourpre': 'data:image/png;base64,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', + 'Amande et Rousse': 'data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCACAAIADASIAAhEBAxEB/8QAHQABAAMAAwEBAQAAAAAAAAAAAAYHCAQFCQEDAv/EADkQAAEDAwMCAwcBBgYDAAAAAAECAwQABREGEiEHMRNBUQgUIjJhcYGhFTNCgpHwCRYjJFLBJXKx/8QAGgEAAgMBAQAAAAAAAAAAAAAAAAUBBAYDAv/EADARAAEEAQIDBwMEAwEAAAAAAAEAAgMRBCExBRJBExRRYXGBkSIy8Aax0fEzocHh/9oADAMBAAIRAxEAPwDGVKUoQlK7zRmlL5q3VFq05ZoTjs66PBqNuSQkjncskA/AkBRUecBJPlX737Rl9sUWc7d4wiuwpaojzCjlYUlRSo8cbdwxnPORjjmoLgFNEqOUpSpUJSlKEJSlKEKWX3pxrWzaeg6il6fmLs06K3KZnsNl1gIWncApSchCvorB4NROvRDRtyTY+jdifQ661t0/HwW+Djwk8fkmoVeejGgupenP2k1FNgui93hT4LQwMHu6wMBwZJ+JOFcDkgYpWeJVlNxyzcE30Ffyr3cSYDMHbGqWJKVL+qfTrU3Ti9otuoYqPDfClQ5rCt8eWhJwVNr+nGUnCk5GQMiohTRUUpSlCEpSlCFrj2J0ohaalallICnmJYgxEc5DalJW6sH+if613/tudO5IZuGr9PQHJMW4NZuIYRkMvMkFTp9AUJOTzyg+tf30uhxbD0o0xaZTL7qXYKHVtR2zvUuQVPLUdvOEpKcnPASPtU9U+y/FSyuQl6KRw045vaUM5+VWQeee3ekT8vspSCL1P76f+po3G7RgINLE2gekOuda279p2e2NtwN6m0yZTwbQpQxkAfMcZ7gYqdWLoVetK3SJqDVUa2Xu1xHkrkQYkshSxnAKytAHhgkbhzxnsMmrI1jFkaM1Aqbo6CZDV1aUFsJWfDiOJOVLAyEgFJ4JPwnIqayrlOkwlspUD4rJQUgcr3Jxg/fOKnIz5AA4Ecp+VEOI0ktO4XDlRenWrrNIhSLTZ5UZomPuYjpT4ZAH7taUgpA8tuP1rIfVrSTWitaybNFmqmwihL8V5aQFqbUOAoD+IHKT64zgZxWmNAKtWy4xNPsH9mx5AaQQhW7xQkeIFE8KweM/pVG+05LD3UZMQMOtmHCbbUpxG0rJyvj1A3YyMjINTguc3IMYvlpGTyvgDz9yqylKU7SxbMsmpUX7ovoyJbilxxduajSyhW7w1sKU3tV6KJSlWPQg+Yq7NJ6PcjWOBJnXhuyMhKW4aVAeI4cZHcjlXJCRkmvP7pNr6+6MvbSLc407DkvJD8Z8Etkn4dwxylWD3HfAyDgV6E6w0/pHV+ubVdb7KlKlaalKXCh+8eHHUv4Sla0Y+IgjIII9DxSVuMYsiSWXUHQen9pjJlB+OyJnSyfX+l0fVvprH6j6If0zeno7UhLvjW67stlSI7w8ynIKd4+FSDwcgjJSKzN1L9li76a0edQ6f1ZC1CpttTjkQxzGdcCUla/BypW9SUpWoo4OEKxk4B3CqfD98YzJZccecDRTuB8QKOCCPP1+lQ/rFo6I3Db1JCts+eu2O+/CHBSpx8vpBAW0hPJUoKKSPMHnHJq02YsH0/CqEBxXmHSuRcWnWLhJZfiriOtuqSthaSlTSgSCgg8gg8YPpXHpguKVOelel7Tqpq7w565DMppDS4zzShhHKgrck/MD8PmPvUGqxegEgNaxlMFWPHgrSn6kLQr/AOA0u4s+SPDkfGaI1v0Nq9w1rH5TGvFg6fIWkLEyy5p3wUOKaO11oFCilSFAIUMEcjKUnH2Ndqy+1IQ14bhfbcdbR4hGCpLgVsd+isoKVDse/BrLrnVK72zqTLv9sdTIt6sRlRHCfCkR0ngHzBJyoKHKSfxWidJa7sWsLGm7WgSxI8UR3I8hCd7KwnIypPCk/EohWBkg8ZFIjiyYuM10ugoX5eRTXt2ZGQ5sW9mvNcDqRNmxrAzEtjSX7hc5KbexHKd3ihz5uPpgH8VJr5b3rJbER1HC22UtlTaiEtjG1ICvNR78dh51avTiy2qJanrhNCH/AA95dSQDkoH94A9ec13Fo0LHvbT0/VrIkGYSv3IkhKAeRuxzkcYA7Y9ajIjlIjxom24m3G6DW6X7nYe/tzjlYC+dxoAUB4np7dT7KiW9URrBokWyNFixIkVCG2VpaG9tAOcJ9VKVySeSeSarTWymtZWV2DcIbWSCqNIdUVux1HnIPkCcZA4P61JOrtvtNs1hc7Bap0iVHiKKWfFO4pU1gupJHdQ8Q/XCahhkONx1tZKFAfCsHtTYQujdrulocHDyVG6hsdxsM33W4M7SeW3EHc24PVKux/6rrK0JPs1u1Dals3yYqKN+Gmo8cuyUrGD4gTxtH3PIz9xUN/tvv10nJhlLlwivLbfZQgIMgJJHjIQOMkDKkAnHJHGdrOKQuFO3VV7QNlZ3sRaRsequtTDt/eiGPaoypjEV9Sf9zI3JS2kJJyrbuK+M8oTng1uXV+j48tS5rElptXchagOSc9z5f39vLWw2y7Xe6sQLJClzZ7igGWoraluE/QJ5/NW70XueoFT7zbr/ADrooojJkJEp9Z2pSraojJ7cj6cVS4nJ2ELpiLrp7q1gQmeYRA1fVbZ0Po5b9yausqVuhx3NzISkAuqHGQR/CDn71OdRXEQ7LclNB2MuMzlDpThJJHBSfPk4rHGjfaT1Ho26NaSl6Vj3SzxI6Vx3m3fdXWo5G4LUSCgpAOMkAnjJyalPVX2kLJP6a2K5wHwhF1dcW5bUupXNQGlqSPEAO1CMgKBJyrIwMAmq+R2zcV/Yt1INV4kaeniukDYzktErqAOvsqv9uK32569ae1RDgQosye0+xclRmQ347yFJUl1WOFKUleMnn4e+MVm+rG6v9Ska6h2+K3AejphuuOb3HASrcEjGAOO3qarmrHBxljCYMz/IN/nQ+tVa58QEAyHd3Ns6fnqlcq2z5VufW/EdLTi2XGSod9q0lCh+UqI/NcWlMnNDhR2VMEg2EqZdJtXq0nqEqfV/4+YA1J4J2c/C5gcnbk8ehPniobSuWRjsyYnRSCwV0gmfBIJGbhelnTm6eI6y3H2vs3JpuSyWjvQrKfm4428d/tVrRlyI6At1OUHuc9qwX7Hmp72ZNxsrlykKhQ2QuG0OSwpa/i2kc7Tj5e2STxk52ToHVcifIVZrs5vkKQVMOLTtUsAcpI8zjnP3rMS8Uhg4h3F9h2lHoSRt5FOBgTS4nemi266daCzV1609G0r1TmR4bEyPbJ/h3Rme+HHGWZrilhYW4cjYv5VDPGUnyqHuOW6EiVIMWUmXbwge7S0p2IcWrCEjHLnPyjsQM8itcdQrZC1fpPUGjZFwZitutJZdfUN5iKUQtCtn8SvhyE/1wKiti0rpjRdoiM2qwIvDjDidk69qD7+/y2IAwgA52gYxningeyRtu3/dLOzewkDZRWw6Tu/T+z2rV8WcwdXSt7kti4cxJDJ5DSld23AcEKSc8HIxVa6l6a6SunUxvVerY9z0g3IzJnW2Qwthl5/JIW3JQChKVnGQMKyFEYJAGnZtisnUS3abump4SlvWyY6ttlCsMPFPB3o805Sk4PmPQmppczHmw3YcppLkZ1BQ42oAgpP0NVXCUTF5k06AAChpYJ1u/S/AhdG8nKAGa9ST/tZQu2r7R0305Kv3TK6+Hc58pLbNltzKX4jywAFvSSsFSEgcBW/cVH/2IrPoLYka/wCqVwgOTAzOmQnZM5phxLkVLXiIV4KSnGxO5QG1G4BPGe+Ip7UNr1JC64Xay3OKkbFNtWtmK1hDkXGGSlI7qI+bH8ZXWhfYu6H6k0ZeD1A1XiC9IhFmDbkqCnChzaouOkZCeAMI78nO3GDemDDEQ46ke/55rhG57XhzVVntt6YlaR1TZEMSd0K6W0Fzw29iXHGnFAg/8gApGAe2e1Z2rZ3+IzHD+ndGXFv4ksTJkdSh2ypDSgM/yH9axjXvCjbHA1jBQCjIe6SRznblKUpVpcUpSlCErtdI2f8AzBqSDZRLbiKmuhlDriSUhR+UEDnk4H5rqq5tinOWu9wbk188SQ2+n7pUD/1XKcPMbhGadRr16L3Hy8459r1WnfZi0lqnpX1Rfut8kQG7G9GMSU624V+IlZBStIwCkIWlJUVYwkqxny2LqK5TTZFu2hiJIuSkD3N15QDad3Hi7ucpAJVxnPYd6yr13nSovS+5Xe0XKTEfbLLjLsd0oO1TiR3HkUqP6Vn7RnWzqdpNox7ZqqW9FJyY00CS1+A4Dt/lxWU/T2blcWxnzTEXdaabAJ/xjFx8CZjIgdr116lapvF2u2jr/Ogs3hMz3haVPS1MDet4JBWkE5IA3Dg8881PNJX1m8WeNPmusIlIWsBKeCrbwF7R27/bOcV59Na31KjUs7UC7gp2ZcJC5MwLSPDeWpRUSUjAHJ4xjA4GKtbpt1rtduuzTt5YlQm3E+FJLA8RJScfEBweDzjn71Z7hk4uTzMt0Z0q9vOl5ObBkwU+hINbrfyv82Wz4N1jsMojNrkOJStwtoYQDwtQUfiONvORn613lscVPcKUDw22wNw3ZI9Eg+Z+tUXP6maWtVqYuc/UYYhPlIadDbiwvckqT2STyATUTvntIaKtjqWbXNul0Q+sB9xiKWwlPbd/qEEn6Y5z3FX2M7QWzUJe88hp2hXb6v1Gm56uN4XaGkXWOn3QOPsgOtNJUohkcZSMqVnHfP2qxOnnVFfUXUF5tkGMuMLTHZE1bToLYecWoBpPmeEEk+R+HyzWROsfWZepLg61ppL7DKm/CXOeQEvuDHIABO0eWc7sY7c5lfs7a6j9JugusNZKQ07d7tcm7dZWVLTlT7TJUpwp5JQ2H0qPGCdqcgqzVDhvCJ8d8kkj75tr3NdT4daCvZ/EYJmMZGyq8Nh5D+VzPb21rFn6ls3T+1vocj2JpT84oJx7y7jCFeWUoAORn96R3BAzHXIuM2XcrhJuNwkuypkp1Tz77qypbriiSpSieSSSSTXHrSMYGNACRE2bSlKV7UJSlKEJSlKELRLd3Xqf2f1Qyvcpu1llSOCfEjqCgSfqlCePrms7Va3s+XhCZs7T0gpLchPjspUe6gNq0j7pIP8ALVe6stS7JqSfal5/27ykoJGNyO6T+UkH81neDxNw8rIxRoCeceh3+NAnXEpDk48M53rlPt/O66ulKDg1oklV09P7fL1f0ok2K6R3GWmnALfMWknODu4HmEkkZ9FY8qht56XaugTQxFgftFpQyl6MQR9iDgg/2M1K9GdXS4y1bdUNpSE4Q1MjthIAyB8aBgAAeacdu1WHe9TIhzluR4SHI8FsLkvR17lLGM/6Y+U4HPfntWI7xxTDy3tjjFOJdW46ag6b6e52C1fY8PycdrnyG2gC+voRr+dVnG/6Zv8AYW23LxaZUJDpwhbiMJUfTPbP0rr3pkp6JHiOvrVHj7vBbJ+FBUcqIHqcDJ78D0FXLe9Z6b1POliTOS5GW2GUIlDw8JH8QzwCSc+vAqmrhHTFmux0vtSEtqwHGlZSoeoNarBmmliBnbTuo/tZ7LjijlIhNtX4UpSrqqpSlKEJSlKEJSlKELv+nS30a5syoz7bDvvaAFufL35T+Rkfnyq9dU9PLPqyaqVJbmsykJDZfj4O1IPG8EYOBxng4+1ZsSSkggkEcgjyrUXTDWdzToG3zJYalzZqy2HFHbuWlSk5Vjv8Kcn1P3rJfqSLLZJHkYp+r7fA66/G+60fA5MdzJIcgfT93/PlQa6+zzqBlC3bdeYMxvkoCm1IUR5ZAz+mar3Uug9S6fgrnz4aFREKCVvMupWE5OBkdwCfPHmK0laddts3V2xTZEVm5pXuSw4diVJVyC2Twoc9s5HIxxUbvtza1cm4Q7mpKFLKmWglXwBKT+7Xjzzzk8g49KqcK4lxgzmLKotFEmtaPhVD3XfiGFwxsIkguzYA8/O1mmu80zqm62FYEZaHmOcsPp3Iwe+PMZ+mK6ma0hmY8y2srQhxSUqIxkA98V+NbZzQ8UVlgSDovpOSSBgelfKUr0oSlKUISlKUISlKUISlKUISpFpHVU2xqRGWtbtu8XxFMf8ABRABWn64A+h/UR2leHsa8U4WvTXFpsFTHqzeod+1BFnQ3W3U+5oQpSPUKV39DgjioghxaCShakk+YOK/mlSxgY0NChzi42V9USokqJJPJJr5SlelCUpShCUpShCUpShC/9k=', + 'Amande et Turquoise': 'data:image/png;base64,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', + 'Dorée': 'data:image/png;base64,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', + 'Dorée et Ebène': 'data:image/png;base64,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', + 'Dorée et Emeraude': 'data:image/png;base64,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', + 'Dorée et Indigo': 'data:image/png;base64,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', + 'Dorée et Ivoire': 'data:image/png;base64,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', + 'Dorée et Orchidée': 'data:image/png;base64,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', + 'Dorée et Pourpre': 'data:image/png;base64,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', + 'Dorée et Rousse': 'data:image/png;base64,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', + 'Dorée et Turquoise': 'data:image/png;base64,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', + 'Ebène': 'data:image/png;base64,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', + 'Ebène et Emeraude': 'data:image/png;base64,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', + 'Ebène et Indigo': 'data:image/png;base64,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', + 'Ebène et Ivoire': 'data:image/png;base64,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', + 'Ebène et Orchidée': 'data:image/png;base64,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', + 'Ebène et Pourpre': 'data:image/png;base64,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', + 'Ebène et Rousse': 'data:image/png;base64,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', + 'Ebène et Turquoise': 'data:image/png;base64,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', + 'Emeraude': 'data:image/png;base64,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', + 'Emeraude et Indigo': 'data:image/png;base64,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', + 'Emeraude et Ivoire': 'data:image/png;base64,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', + 'Emeraude et Orchidée': 'data:image/png;base64,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', + 'Emeraude et Pourpre': 'data:image/png;base64,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', + 'Emeraude et Rousse': 'data:image/png;base64,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', + 'Emeraude et Turquoise': 'data:image/png;base64,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', + 'Indigo': 'data:image/png;base64,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', + 'Indigo et Ivoire': 'data:image/png;base64,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', + 'Indigo et Orchidée': 'data:image/png;base64,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', + 'Indigo et Pourpre': 'data:image/png;base64,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', + 'Indigo et Rousse': 'data:image/png;base64,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', + 'Indigo et Turquoise': 'data:image/png;base64,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', + 'Ivoire': 'data:image/png;base64,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', + 'Ivoire et Orchidée': 'data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCACAAIADASIAAhEBAxEB/8QAHQABAAMAAwEBAQAAAAAAAAAAAAYHCAQFCQEDAv/EADYQAAEDAwMCBAUCBQUBAQAAAAECAwQABREGEiEHMRMiQVEIFDJhcYGhFSMkQrEJM4KRwVJy/8QAGwEAAgIDAQAAAAAAAAAAAAAAAAUDBAECBgf/xAAuEQABAwMCAwcEAwEAAAAAAAABAAIDBBEhBTESQWEUIjJRcYGRBhOhwbHR8fD/2gAMAwEAAhEDEQA/AMZUpShCUrvdE6TvWr9V2jTdojKMy7PhqOpaFbAM+ZwkAnYgBSlEA4CSfSv2v2jL7YYs527xhFdhS1RHmFHKwpKilR442hQxnPORjjmsFwCyASo5SlKysJSlKEJSlKEKW37pvrWy6dgajl6fmLs0+K3KYnsNl1gIWnIClJyEK9wrBqJV6OaXuTdk6EWd4OutBOmo+FNqwR/JR7fckfrVfOdDNDdTNG/xVthyw3d1S/Bmw2xtSAcAusDHiAnd5gQr7kDFSNYDCZSbWNrK42k4qU1HFsQLe11iSlS/qv051P001IqyaliBClgrjSWjuZkoBxuQr/IOCMjIGRUQqNU0pSlCEpSlCFr/AOBtuPF0zO1LIUhcqLLTAjN91IaUpK3XPtnyoyPuPWu3+Nvp3ILU/V+nYK5cS4tH+IiOjcGX2CCpw47AoSrJ92/c1yemEOHp3pRpO2OsuuKdtyHXUR2v5qlSFLeUVbfMUpSoZ54x29KnBdYehpYL6HYhT5Wlr3tEZz9JyCM88jvSyoroo3Foab4+eaYx0v3G8V7f9lYm0D0h1zrW3fxOz2xtuBvU2mTKeDaFKGMgD6jjPcDFTqxdCr1pW6RNQaqjWy92uI8lciDElkKWM4BWVoA8MEjcOeM9hk1ZGsYsjRmoFTdHQTIaurSgthKz4cRxJypYGQkApPBJ8pyKmsq5TpMJbKVA+KyUFIHK9ycYP5ziq1RXyABwI4T8raGkaSWncLhyovTrV1mkQpFps8qM0TH3MR0p8MgD/bWlIKQPTbj96yH1a0k1orWsmzRZqpsIoS/FeWkBam1DgKA/uByk++M4GcVpjQCrVsuMTT7B/hseQGkEIVu8UJHiBRPCsHjP7VRvxOSw91GTEDDrZhwm21KcRtKycr49wN2MjIyDWaFzm1BjF+GyKnhfAHnxKrKUpTtLFs2Nq5nUHQ7Q9ptKvFlPW5mNOLat3hqZWWwhXspRSFEH+3B5zmr10npM22wW5cy7t2dpttDUQEDxFnH3I5UcnaMk5rz06Ra7u+jdSRPlPDkQXpKPHivfQrJ2lQPdKsHuPYZBwBXoZrXT2ktW68tdzv8AJlGXpmUpcOEZHhxyvylK1ox5iCMggj2PFZqJo2xNYOpPr/ivy1DX08cMY2uT1J/oLrOr/TaL1R0K9pq7PRmpbbnjW66stlSWHh7oyCnenKVI7HII5SKy11L+Fi7aa0edQ6f1ZC1EW21OORPlzHdcCElSwzlSgtSUpWoo4VhCsZOAdw/Pw/no+ZTS3HXA0UhQJcCjgg/5+2KiXWbRkRm2o1PEt06abS4Z5iQ0qW+p5IIC2kp7qIJSodiDzjk1UEjuDiby5Knwi9ivMClci5MvR7jJYkRHIbzbq0OR1pKVNKBIKCDyCDxg+1cerS0Spp0y01atTM3aLOXIaktIbXGeaUPJyoKyk/UD5fUfmoXVg9CHgnV0iOVbfHhKSnjOSFJP+AasUoaZWhwuCmGlsY+rYyQXBx8haP0wy05pcspdU0rDze5CilSFeRQwRyCUpOP1rumX25CGi24p9tx1tHiEYKkuBWx0eysoKVDse/BrLSep93tPUWVfbY6mRAViMuI4T4UmOk8AjuCTlQUOUk/kVorS2v7BqyxN3i1/NJfL4jrjvpTvZcAyMlPBSN6iF4GSDxkGkOpUcktU4xDiDjiyamdlVUubFkkm3VcLqRNmxrAzEtbQkXG6SU29iOU7vFDnCuPsADn7VINRRH7HCYt6HEB5LaErKD5Wk4wAFHuo49Ow/Sro6e6ftFusEm4TEpf8LeXxgHcUD1P4PCR7+tfdPdPG74H7xrVjx3ZxLggkkBoH6dxBB3AYwB2wPXtf0zTKcQOkqCCW7DcFx2xzAtc8vlQ080RMlRIbNAsBzc7l7Dc+1/I0m3qiNYNEJtcWPGiRIqEtsrS0CttIOcD3UpXJJ5J7mq01sprWVldg3CG1kgqjSHVFbsdR5yD6AnGQOD+9STq7b7TbNYXOwWqdIlR4iiljxTuKVNYLqSR3UPEP3wmoYZDjcdbWShQHlWD2paInRuzulocHDoqN1DY7jYZvytwZ2k8tuIO5twe6Vdj/AOV1laEn2a3ahtS2b5MVFG/DTUeOXZKVjB8QJ42j8nkZ/IqG/wBt+euk5MMpcuEV5bb7KEBBkBJI8ZCBxkgZUgE45I4ztZxSFws7dVXtA2VpfA1pCzaq64R3r4uOtm0RlT48V1Sf6iQkgIASTlW3Jc4z9Azwa3drDR8W5KXLS8hpzuCo7fXJGfbJryo0/bLvd7sxAsUKZNuDih4LMRtS3CfsE8/rVr9I7pqVU+62y+XC6lSWEvpEqSvypSSlRGT25HI44qwyATvEZ5qxQ0xqp2xA2vzW6NFaKIurN2kSlLjx172UpAG9YyM5HcD96l2sLkuDpm7yGVPR3YzH8t3bxuI8pSTweTisgaH+JzU+jZ7GkbjpWLebVCioLMhtz5R1DG0HxFHBQUhJ9QCTyTk1JOs3xI2G7dNbDcrS82hm6urU/bfFSucgtLKcOJSdraMgKBJyrIwMA1mkYyKZrXYF8qSkYztbWzGzQcnoN1U3xpsW+dc9O6njW+FEuMxp+PdFR2A38w6hSVJeVj6lKSsjJ58uO2KzvVg9WOojetokGK3BejpiOrc3uOA7twAxgDjt7mq+qetMJncYfDyRqfZu1P7Kbs5fv8pXJt06Tb31vRHC24tpxkqHfatJSofqCRXGpVYG2QqIJabhKlvTDVR0xfSp9R+QlANyABnb/wDK8euMn9CftUSpW0cjo3Bzdwpaed9PIJYzYhen3TK7h9xltja+xc2WpLRbO9CiUAlXHG3g8/irWbK0oHiY/Irzx+E7Vuokqm2IXaV8jCQl2GynJU0pasqCSOdpwDt5GeeCTnZPS/Wsy4TzYb254klSCuM8tGxbgT9SVDAyQOc+2atM0qR9Malhx5c7Jm3Rp5KLtrLcOccwAd1nTr9ptjSXVedGiMTY1rn+Hc2Z8hLjjLM5xSw4FOHI2L+lQzxlJ9KhrrtugolSDElJl28IHy8tKdiHFqwhIxy5znaOxAzyK2T1Lttv1npHUOiXbiwx4zSGnnseIqIpRC21bf7lcbgn1wM4FQ+waM0xomzQ2bZYUXh1hxO2belh9/f6bEYwgA52hONueKVPja+xclQLmYUEtenLt03slr1dGmNnV00OKmNT07ojrKhkIUruh0EAgpOThWRiq1u/TXTl16ms6q141cdIsSf6qdFcirjsSH853tyE5SAo4JAIJOSCCeNWzNN2XqLE07ctSQlrdtctxxtlCsMOkcHej1TlKTg+ox2JzPLgxFlwXYcptDjDqChaFAEEH7VbM8bY+ANt1v8Arlbbmp/vRCMNDO9zJPwQPMe46LI1+1hYem2mJF76WXVCLlOlIaZstqbQ/DeWlICnpJWkrQkJxzvypWfQqKaq6D2BHUHqrcYfzzUKfKhvTJbMZQcipbDiCGElOAlO5SRhOQlIxknio18Vls1FC66Xe1XKI2hBUgWliG0Q2qIRhnYkAZV3CsD/AHN+K0R8EXQvUej7svqFqwIgvSYBZgW7OXUoc2qLjhBwk4GAjk+Y52kYOjSWd5QxPdG4PbyVSfGvo+VobUFhiMzFOxLnbiuQpLYQHH23DuGRyUgKbwFE4OTxms7Vtf8A1KI4fsGi7i2dyWJcthRA4ytDR7/8DWKK2dI6Ql7tyied88jpZDcnJSlKVqokpSlCErm2OAbpdo1uD6GFSF7ErWCQFHsDj3OB+tcKuRbJKoVxjTEfUw6lwflJB/8AKkiLBI3j2uL+impzGJWmQXbcX9Oa0V8KSLp0w6ti43t6E3ZZkcwpT24q4WQULT227VpTuKv7SrAPpunU8mWuxLk2BmFJua0D5J19QDSN3HilXOUgEq8uScYHesBdSpD7Gipc+DLeYdR4akLaXtOCsDv7YNQXQnWvqbouOIll1VLMNP0xZYEhpI9kpcB2f8cU7+odOg06oaynvkXzkbldV9W6VSaPVxxU18jiNzcG5Nv4t6W6rU99u186fagnW+FfW55luJXJmrjoUtx8IBWOc7cbxweeasvQmpWtQ6diXK4OxkTmnHEqQjjdtOA5sGduc/8AecV52nXGpVamn6heuCnptxkrlTAtI8N1xatyiUDAHJ4xjA4GKtXpZ1qttnv7Em7sSYTLifBllkeIkpOPMBwfKecc/mlcjoqiHvYeM3tv0S6Srp6ylIksJRm9vFvi49vjC3LBusaOymO0qQ4AtwoQwgHIWoKOVHG3nIz967y3vrmlQaTsbbSCUhW4j2SD6n71n+T1e0RAgMzZerUNRXseGvwXVbsjI4CSewNRe+fE1oe1OoZtM+63VD6wH3WIhbCE8jd/MKSSPbHOe4pa6J7TZzSPVJXxvidwvaQeuF+euNTu3vWLl4l2mO3dY39IFOMbXWWkOKUGDnkcqVn3z7Yq4OmPVV3qTfrvaocNUU2eMwJ62XwpoSHVKAaRwCeEEk8YPl9Kxv1u6ynVV5dGmkvsRy0GVTnkBL7oxzgDO3OcZyVYA7cipf8ADlr9rpF0A1nrEBpy7Xm5t22zMLWk+I800VKcKe5Q2HgonGCSlOQVZpnW1DJ42Na21vx0TjVdSgqoo44mBtvLYX3A8+pXN/1ANcRbjqmy9P7ZIS6xYWVPTihRx8y7jCCO2UoAORn/AHSO4IrLtci5TZlyuMm43CS7KmSnVPSH3VFS3XFElSlE8kkkkmuPVICwskSUpSsoSlKUISlKUIVtJnKvPSvwOCUwy2oZydzRBGfyEj/uqlqc9KrgkSJNpeI2OjxUA+pHCh+o/wAVE75BVbbvKgqz/KcISSMZT3B/UYNPNUlNVTw1ByQOE+395K6nXZzX0dNWHJA4D6t2+clcKlKUjXLKxNLR5F+0I7a5rS22214iSFDIOOePfB4/CselR+fou/R5HhsRfm0Hs40eP1z2ru9Oa7Km0Q7ykADCUSGkAAf/AKSOMfcf9VO5cpDcd+aw2lbcRG9Za5LgAJJTzjj9+a6l7dNnpWPmly2zb7HoCM/5zXoZp9GrqGOSaY3YGtvs7nYEZGM2PkNyqUulmutrShdwgPxkrOEqWngn2zX4PzJT0OPDdfcVHjbvBaJ8qCo5UQPc4GT34HsKtZOpdN3n5pqZKZW26gN7JCfDwnHoTx3JPvVUXCOmLNdjpfakJbVgONKylQ9wa5qoMQneyK5aDgnn1XFahFTxVDm0zi5gNgTbPXH4X4UpSo1RSlKUISlKUISlKUIXaaSU4nUkAtOpaWXkjcrtg8EfqOP1qzL3pS33ySXnUyG3wAkuNc4SO24Y5wOPSqgBIIIOCOxq9Onl4lTbBAVKUlyRJUUKdUcfSSMn3ISPtmuj0Sal+1JFVeEDiJ3wP2u3+k5qKSKamrR3B385GMfO1rKGz+ldzaClxbjGfRyU7klJI9M4z+2ai130xeLXFVKkx0lhJAU424FAZ4GccirokXwW6/yrFJdaRIbUFNBzyBxKhkFGeMemMk+npX3bbdRwJMS4pAedBQlYX5eP7FY7Hsc++PbFGsM0eGlbUU/F3sAD93zYfJVnXNN0GOlbPScQLiQADgEed848tzyWfK73TWqbrYVgRVoeY5yw+nejB749Rn7V1E1pDMx5ltZWhDikpURjIB74r8a5pzQ8WK4AEg4X0nJJAwPavlKVssJSlKEJSlKEJSlKEJSlKEJUg0fqaTYpSUq3Ow1E72/VOcZUn78Dj1/eo/Sg5BHmtmvczwlTHqzeod+1BFnQ3W3U/JoQpSPcKV39jgjioghxaDlC1JJ9jiv5pWrGBjQ0LDnFxuV9USokqJJPJJr5SlbLCUpShCUpShCUpShC/9k=', + 'Ivoire et Pourpre': 'data:image/png;base64,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', + 'Ivoire et Rousse': 'data:image/png;base64,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', + 'Ivoire et Turquoise': 'data:image/png;base64,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', + 'Orchidée': 'data:image/png;base64,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', + 'Orchidée et Pourpre': 'data:image/png;base64,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', + 'Orchidée et Rousse': 'data:image/png;base64,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', + 'Pourpre': 'data:image/png;base64,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', + 'Pourpre et Rousse': 'data:image/png;base64,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', + 'Prune': 'data:image/png;base64,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', + 'Prune et Amande': 'data:image/png;base64,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', + 'Prune et Dorée': 'data:image/png;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8LCwkMEQ8SEhEPERETFhwXExQaFRERGCEYGh0dHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCACAAIADASIAAhEBAxEB/8QAHQABAAMBAAMBAQAAAAAAAAAAAAYHCAUBAwQCCf/EADcQAAEDAwMCBAQFAwMFAAAAAAECAwQABREGEiEHMRMiQVEIFDJhFSNCcYEzUqEkkcFjgqKx4f/EABsBAAICAwEAAAAAAAAAAAAAAAAFAwQBAgYH/8QALxEAAQQBAwIEBQQDAQAAAAAAAQACAxEEEiExBUETUWFxBhQiMpEjgaHwQlKCwf/aAAwDAQACEQMRAD8AxlSlKEJSuxpXTd31LqK12G1xlKl3R4MxisEIOTgqJx9I5JI7AGvovOkL1Zok166RxGchSjFeZUcrCgopJ4427hjOecjHHNB2FrYNJF0o/SlKFqlKUoQlKUoQpNeNBauten4WoZFjlrs8yOiQ1OZbLjISoZAUpPCFdxhWDxUZrcnTGemz6U0u+gugJgRtyW1Y3p8MZScd859a5/VTpp0519Jdk2+2/gE1SAfn4DY/qf8AVj8Bae3KcKzk5V2qrPkOZ1CPCYwnU0uJ2oUa39zsK79uSr78E6dTCsV0qUdSNCX/AEFeUW+9stKbfSXIcyOrfHlNg43Nq+x7pICk9iBUXq2QQaKokEGilKUrCwlKUoQtMfDA09D0enUUxoBtucYcMn9QBSt1Q9u6U59eR6VJvi50RKMGdqS0QHHWpzIXOQ2jPhutFKi5x2CkAk/dJ9693R61W629MLRBuUWW+XG0FcVAUcuOhTpcKQc4ShaQfYA1aTjsWU0S66zIadGVBZCkrH3B4P8ANL5+otgHgObdEm+NybH8Eg+3rs6ji1Q6CsT6B6Q651rbvxOz2xtuBvU2mTKeDaFKGMgD6jjPcDFTqxdCr1pW6RNQaqjWy92uI8lciDElkKWM4BWVoA8MEjcOeM9hk1ZGsYsjRmoFTdHQTIaurSgthKz4cRxJypYGQkApPBJ8pyKmsq5TpMJbKVA+KyUFIHK9ycYP75xVPIz5AA4EaT+VBDiNJLTyF8cqL061dZpEKRabPKjNEx9zEdKfDIA/prSkFIHptx/msh9WtJNaK1rJs0WaqbCKEvxXlpAWptQ4CgP1A5SffGcDOK0xoBVq2XGJp9g/hseQGkEIVu8UJHiBRPCsHjP+Ko34nJYe6jJiBh1sw4TbalOI2lZOV8e4G7GRkZBrOC5zcgxi9NIydL4A8/cqspSlO0sWx+mM1N06W6cujeFMswBGeUlWdjrRKVBXscBJwf7hU/09pKXOiM3O4XVu0JkEfKoKAXFk9uCR37hIyTWLumPUHUej3X7ZbZQXa7mpLcyG9y2rOBvH9qx7j2GcgYrfMrTGjdU6gsd5vMySuZYJC3YsUSPDjrXkFKlo/Vt2gjBHsap4zX4+TPlzmy7S1vo0WSPzv+E2blNMVgbilAup3T0as0u7pm/rbYBeD0G6stqWmM9/cUEgp3p8qkng8EZKRVM9TPhYu2mtHnUOntWwtRFttTi4vyxjOupSkrV4OVK3qCUqUUcHCFYycA7T1BMgLiKWt+O68SEpSSFbwSAUkeo5qttd2iIzDbu4gzZqLU788xFhJW48l5IIBaSnklQJSR6554yavve/Ji8aMbt5Hmo3xfMM8Ro3HK/nVSvfcG3GZ8hp6MuK6h1SVsLSUqaIJykg8gjtg+1eitEtSrI6K6MsetWb7AubkqPMZbZchyWFjDXKgvcgjzg5R6g8d+arerZ+FuQhHUCXEWvb81bnEJ47qC0K/wDQP+1KeuSSRYEkkRIc0XY9CCrGKGumaHDYrRrjDa7d4QdW1+QtlCkKKSlQCCMEcjIQf81+2Xm30tlp0vtuPNo8QgArS4FbHQPRWUlKh2V371mi5dXLxD6pXDUVqcTItjgEMw3h+XIioVkA+qSTlQUOUlRxxkHQuhtZWnXlpVc7CzKMlrCH2JAQCwoJJAKx9QGVEKwMn0BBARsxZMLCY6fYAC/T0P8AeU2jnZK8hvK5PUyfKhacaYt7aXp1ykJgMsKTuDgc+rj7AA1L025dv065PlNlEGM0lhG1ewOL4SlKVd+/t/vXS0RAZlpEqUEvrW54fhnlKT/8z2/3qzLgxbLxbXbPIjtvwlJ8NQI4OP7fbHoR/FMOodLy2iDDgZqe8283QYwVe/8AseG/9EcWJNDnEuaeVSDep41h0QLZHjRYkWMlLbK0tgrbSDnCfcqUe55J5JqtNbKa1lZXYNwhtZIKo0h1RW7HUecg+gJxkDg/5ru9ToVug6ln2WBMdktx1KSyF87SzjxEkjurzn+E5qJmQ43HW1koUB5Vg9qtGB0T6PISw0bCo3UNjuNhm/K3BnaTy24g7m3B7pV2P/FcytCXCzW7UNqWzfZpip34abYjl2QlYAPiBPASP3PIz+4qG/20TrlNTDIcuMZ5aJDKWwgyEpP9ZCB6kAlSB27jIJ2sopC4U7lU3tA4U6+EjTNo1F1YacvT0TwbbGXLZjSFpAkvAhKEgE84Kiv/ALBnitdahsS2FuTYFxaZB5Lbjg2/5P3r+eNmgXK53JmHaIkqXNWr8pqOgqcJ+wHNXn8N0m8fjN9tt/VLK24iJaPnSo7EIWUqV5v0+Yc9uKzndSjwMJ8skesDt57geRV/CkbXhlvPdaW0papV0fTLnyG0wm15QGRtU8R9weE59R3xVgQpTAmGA2w6yG8bSUYQsEZ8p9fvWR7V1pv+l9Ruaad043MtbDfzEd5LxYcZjK84WpRBSUBJA5AJ98nFTa+df9PW/Rtn1GiWt/8AFFOhu3NOIVNZCFFJU6kHahJI4yckEEDg42zshjely/Jt+tzTpA8yKBv059grkeRjtGm6UF+PnS8G3atsWp4ERlhV2ZdalqaAHiOtFJC1Y7qKVgZ9dv2rM1Wx156vJ6lwbXBatb8Ru3vOuhx14KK94SMbQOMbfc96qelfQfnvkIxnj9UXfHmaO224pKMnQZToNhK+y03KZa5LkiC8WXVsOsFQ77HEFCx/KVEfzXx0pq5ocC1wsFQg1uEqfdD9cjRWrAuYsi0TtrM3AJ8MZ8roA5JTk+/BVgZxUBpUOXix5cLoZRbXCito5HRuD28hbv0nOS1cFR47gdZmEPMONqylYIyFAj9JHrVhQnZMRKXVJ8gI5z2rN/wJXR+Rer3brlID8CJDHy7LoBDRcX5iCeQPL2+5Ixk51hcmI4hqLQRtPG0HgftVSL4xw4urN6RMHB5DQHf4kkcehPbsSey6DGfrYHVysu9VbXGsPUCSxFRIj2+b4dyYmPBa2mJi9wWFuHPkX9KhnjKT6Vw1Lt8NMqR8pKTLt4QDHlpSUNrWrCAMcuc/SOxAzzV76rtbOo9N3Swy5SIcN5IbMpY3BhZIIKU/rWMfSP5xXDt9usOlrVGjWqyJuqmFp2Tbyrxnt3ptbHCAOcAds8U6nwWzSamnb+7fsqMmK4PJZwf4X60Voa62S0RtUsXWANROKLkiJclDwJiDg+GV92ljuFpzz3GKrbqD060JL16vVFziXjSinF75llfbUhpyRuJLjUtOUltXrt5ycgjOBdEuData2ew3PUEILfhTHClpPDLu36tyf7SUp49x7Gu/cX25cV2LISHI7qShbZAwQft2quOjzvyjK6b9MVpaBVChYO5sEi7oOHYgbKcYrSNuPVZ+n6kh6H05JvGhpey4y5IaYtcFhLkd1WAFuSCoFQSE4wSrJV7DcRD+gsSLqfqpIgzJq237lGdcuUeI6lbBYC0OFhKgMJSVAeVJICRjOahfX62ahZ6v3CzS4pWvxENWxiK1w5HPDOxKRyojvj9e6ro+GHpHfdH3lzVmpimHLXGLMe3JUFOJC8EqdIyEEYxs+rOc7cYM0sTMl/gP48v/AH042ry2VNgdJOG1sCoh8aTD8PV1pfjBEeDcbalKmmwE7lMuKSArHJASUYzx7Vn2tR/G7HS7p/S09s7gzLlMKUO2VJaUB/4msuVEMSLDAghFNaAALJ29zZUOaKnclKUoVVKUpQhK7ehNPnVWrrbp1E5mC5cHgw088klAWQdgOOeVYT/NcSuhpq5O2bUVtu7Jw5BltSE/uhYV/wAVDkCQwvERp1Gvetls2tQvhaa6JdJOovTXW1wuk9Ftes6YhbfWzIKvmASCktpxuBSQCSoAY3YzV/T7q8Lb/pUJdcUAEZWEpIPdWfbHNRT4l7nOg9Gr1fLDdpkCQyYzsd+I+UHat1A7jnBSs/4rHem+rXUKwKX8nqaY+2s5U3MIkJz9t+cdh2xXOfA/xBmdWwpJMuqvSK2IIFk++477EcBO3yx4ZEYujutbi4qVeJLUx9KmmClttLPlCVY3KGTk+o74JzX1OPxPHCi6AG1ZbKjyeBzx681iu1671PbtRy76zcVKlTXi9LSsZbeJOfMnt6kDGMDtira011wtD8YM3uJJgO5BK2h4rZPv/cP25/ereLFmdN6jqit2M7bTf2WQS6jybsmtzZvdax50bxR2K0DFuLLTKI6FvrQlayhDKR2UQTye3711YK1TFENlLSEAZyc7fYfequumq7XZbVGul0uaotvlbfAkbFOIXuTuT9OTynJHHoaid264aXgOJat8qdcEOqHiuMsFASPfz4JI9sfzXZR5kLxqa4EehsKQ5DWfcVdE+fambsmdarNHRdEs/L/iDrQVI2ZPkSSMpGVHgVyLHrQam1VerLA3bLS00mU40sbPFWT+UPUkBJyfQjBrPHUXrPJnwHLRpdcmO08CJM54bXnAeNqACdicev1HPpjnpdENWRunHRvU+q1pbculwuDcG0MqUklTzbRUXCnuUI8VKjxgnanjNcd8N9Lyun5k8s8xeH9zu51XRJ3I5IAvv24Ubs1jnBreOSvo+MXVDMi/WvQ8JxKm7K2XZpQrKTJcA8v32pA/laqoKvdOlSZ01+bNfckSZDinXnXFFSnFqOVKJPckknNemuhlf4ji5KJpDI8uSlKVGo0pSlCEpSlCFq5F9c1l8LxhFzetqzFhTfBPixVBQJOM5KW08ffPNZRq7vhXvzablcdKy1JLUpPzLCVHupI2uJA9SpBB/ZFVXriyOac1dc7K5u/0shSUEjBU2eUKx90kH+a5ToMDcDNysICgTrHs7n8bBXsp/ixsk/ZcWlKDg5rq1RWh+l1ouGueh8rTt7iuRmG3cWm4ODO7aSrgdyEklO7sQopH0mq+v3RjXVuuKYsK2G7NODLb8U+U8ZwQrBScDsf4JqadOuuSVNM2vWLKUbEIZZuEVoJCUg4/MbGBgD1QB27HvVo6n19Ctd4WlmC2tiAyHJUiG5vW75c/ljhJ2jk888j0rzn5nrXT86RkUIp5Lq5b23BsHfax5ngJwGY80YLncbeqyjqfR2qNMNtO3+xTrc28drbjzZCVH2z2z9q5DsmQ7GZjOPLUyzu8NsnypKjkkD3PHP2HsKvPW3UDTus7/NL9x8eAY6GGUSst8YypQCuAdxP34HaqNuEdMWa7HS+1IS2rAcaVlKh7g123TZ8iaBrslul5FkC/xvulszGtd9BsL0UpSmChSlKUISlKUISlKUIUn6ULko6k6eMSS1Ge/EGgHHVYRgqGQfsRkfzWldadKrBre4qly27hHmoQloyYnIQgHy+IkggkDjOQcftxkRKilQUkkKByCDyK2V0m6k3aH0jt12uHg3C4zVqbS46oguOhxSApWO/lTk+5/euF+L4c6OWHKwj9f2bbHffny2N2meA6NzXRyDblV1e/hX1Mwhx+z6ittxZ5LYU2ttZHpkDcM/sTVV6u6Zaw0tbXLldbcgQ2lhDjrL6XPDJOBuAOUgnAyR3IHqK1rpHqrGdnL0/NlQYd4S4VCI4otpKVHKfBUrhSefpzuHIxxVe601G9reZdod0e8JtwqitNA/lhtC8htYH6ioZz747Yqn0Pq3xA/KMOYGlraJJFEg+VUDfnwpJ8bG0Ww7rLVdzTOqbrYVgRloeY5yw+ncjB749Rn7YrkzWkMzHmW1laEOKSlRGMgHvivTXojmh4opSCQdl5JySQMD2rxSlbLCUpShCUpShCUpShCUpShCVJdI6vuNjDUJTzj1rS/wCOY/cIcIALic9lYAHsQP5EapWj42vFOFrIcWmwpj1ZvUO/agizobrbqfk0IUpHuFK7+xwRxUQQ44gkoWpJPcg4r80rLGBjQ0Ic4uNleVEqJKiSTySa8UpWywlKUoQlKUoQlKUoQv/Z', + 'Prune et Ebène': 'data:image/png;base64,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', + 'Prune et Indigo': 'data:image/png;base64,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', + 'Prune et Ivoire': 'data:image/png;base64,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', + 'Prune et Orchidée': 'data:image/png;base64,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', + 'Prune et Pourpre': 'data:image/png;base64,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', + 'Prune et Rousse': 'data:image/jpeg;base64,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', + 'Rousse': 'data:image/jpeg;base64,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', + 'Turquoise': 'data:image/jpeg;base64,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', + 'Turquoise et Rousse': 'data:image/jpeg;base64,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', + 'Turquoise et Pourpre': 'data:image/jpeg;base64,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', + 'Turquoise et Orchidée': 'data:image/jpeg;base64,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', + 'Prune et Turquoise': 'data:image/jpeg;base64,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', + 'Prune et Emeraude': 'data:image/png;base64,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', +}; + +export function getDDImage(raceName: string): string { + const img = DD_IMAGES[raceName]; + if (img) { + return `
${raceName}
`; + } + return `
🐦
`; +} diff --git a/src/presentation/helpers/format.ts b/src/presentation/helpers/format.ts new file mode 100644 index 0000000..871882d --- /dev/null +++ b/src/presentation/helpers/format.ts @@ -0,0 +1,21 @@ +/** Pad number to 2 digits */ +export const pad = (n: number): string => String(Math.max(0, n)).padStart(2, '0'); + +/** Format seconds as human-readable duration: "1h 23m 45s" */ +export const fmt = (s: number): string => { + if (!isFinite(s) || s < 0) return '—'; + const h = Math.floor(s / 3600); + const m = Math.floor((s % 3600) / 60); + const ss = Math.floor(s % 60); + return h > 0 ? `${h}h ${pad(m)}m ${pad(ss)}s` : m > 0 ? `${m}m ${pad(ss)}s` : `${ss}s`; +}; + +/** Format seconds as clock: "01:23:45" */ +export const fmtClock = (s: number): string => { + if (!isFinite(s) || isNaN(s) || s < 0) return '--:--:--'; + return `${pad(Math.floor(s / 3600))}:${pad(Math.floor((s % 3600) / 60))}:${pad(Math.floor(s % 60))}`; +}; + +/** Escape HTML special characters */ +export const esc = (s: string | number): string => + String(s).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); diff --git a/src/presentation/helpers/gauge-live.ts b/src/presentation/helpers/gauge-live.ts new file mode 100644 index 0000000..b88ccbc --- /dev/null +++ b/src/presentation/helpers/gauge-live.ts @@ -0,0 +1,272 @@ +import type { Enclos } from '@domain/entities/Enclos'; +import type { Dragodinde } from '@domain/entities/Dragodinde'; +import type { GaugeType, GaugeDef } from '@domain/value-objects/GaugeType'; +import { GAUGE_DEFS, STAT_DEFS } from '@domain/value-objects/GaugeType'; +import { tierRate } from '@domain/value-objects/Tier'; +import { elapsed, timeToGain, computeGaugeState } from '@domain/services/GaugeCalculator'; +import type { GaugeRecharge } from '@domain/services/GaugeCalculator'; +import { xpForLevel, levelFromXp } from '@domain/value-objects/XpTable'; + +export interface GaugeLiveResult { + estStat: number; + done: boolean; + progPct: number; + totalSec: number; + cntDown: number; + startGl: number; + curGl: number; + liveText: string; + deltaText: string; +} + +/** Points jusqu'au cap absolu de la stat (gel de la jauge). + * Mangeoire : gel uniquement à niveau 200. La cible XP (< 200) ne gèle PAS la jauge. */ +function ptsToAbsCap(startSt: number, def: GaugeDef): number { + if (def.isXp) return Math.max(0, xpForLevel(200) - xpForLevel(startSt)); + const sd = STAT_DEFS[def.stat as keyof typeof STAT_DEFS]; + return def.dir > 0 ? Math.max(0, sd.max - startSt) : Math.max(0, startSt - sd.min); +} + +function rechargesFor(enc: Enclos, gid: GaugeType): GaugeRecharge[] { + return enc.timer.gaugeRecharges?.[gid] ?? []; +} + +/** + * Temps écoulé "vivant" : utilisé pour TOUTES les jauges. + * Quand la session s'est terminée automatiquement (alerted.__done__), + * continue en temps réel pour que toutes les jauges se vident en fond. + * Une pause manuelle (running=false sans alerted.__done__) fige normalement. + */ +export function elapsedLive(enc: Enclos): number { + if (!enc.timer.startTime) return 0; + if (enc.alerted['__done__']) { + return Math.floor((Date.now() - enc.timer.startTime - enc.timer.pausedMs) / 1000); + } + return elapsed(enc.timer); +} + +export function computeGaugeLive(enc: Enclos, dd: Dragodinde, gid: GaugeType, el: number, started: boolean): GaugeLiveResult { + const def = GAUGE_DEFS[gid]; + const startGl = started ? (enc.timer.snapGauges[gid] ?? enc.gaugeLevels[gid]) : enc.gaugeLevels[gid]; + const startSt = started + ? (enc.timer.snapStats[dd.id]?.[def.stat] ?? dd.stats[def.stat as keyof typeof dd.stats]) + : dd.stats[def.stat as keyof typeof dd.stats]; + + let target = dd.targets[gid]; + if (def.isXp) target = dd.levelTarget ?? 200; + if (def.stat === 'serenite' && dd.sereniteTarget != null) target = dd.sereniteTarget; + + // Toutes les jauges utilisent le temps réel si la session s'est terminée automatiquement + const elLive = started ? elapsedLive(enc) : 0; + const recharges = started ? rechargesFor(enc, gid) : []; + const pts = ptsToAbsCap(startSt as number, def); + const { gained, curGl } = started + ? computeGaugeState(startGl, recharges, pts, elLive) + : { gained: 0, curGl: startGl }; + + // Quand la jauge est vide, le taux est 0 (plus aucun point gagné) + const curRate = curGl > 0 ? tierRate(curGl) : 0; + + if (def.isXp) { + const startXP = xpForLevel(startSt as number); + const targetXP = xpForLevel(target); + const xpNeeded = Math.max(0, targetXP - startXP); + const xpGained = gained; + const xpRestante = Math.max(0, xpNeeded - xpGained); + const estLevel = levelFromXp(startXP + xpGained); + const done = estLevel >= target; + const progPct = xpNeeded > 0 ? Math.min(100, (xpGained / xpNeeded) * 100) : (done ? 100 : 0); + const totalSec = xpNeeded > 0 ? timeToGain(startGl, Math.min(xpNeeded, startGl)) : 0; + const cntDown = done ? 0 : (curGl > 0 ? Math.max(0, timeToGain(curGl, Math.min(xpRestante, curGl)) - (elLive % 10)) : Infinity); + const deltaText = curGl > 0 ? `+${curRate} xp` : 'Jauge vide'; + return { estStat: estLevel, done, progPct, totalSec, cntDown, startGl, curGl, + liveText: `NIV. ${estLevel}`, deltaText }; + } else { + const sd = STAT_DEFS[def.stat as keyof typeof STAT_DEFS]; + const rawStat = (startSt as number) + def.dir * gained; + const estStat = Math.min(sd.max, Math.max(sd.min, rawStat)); + const ptsNeeded = def.dir > 0 ? Math.max(0, target - (startSt as number)) : Math.max(0, (startSt as number) - target); + const totalSec = timeToGain(startGl, ptsNeeded); + const done = def.dir > 0 ? estStat >= target : estStat <= target; + // Countdown basé sur les points restants et le niveau de jauge actuel + const ptsRemaining = Math.max(0, ptsNeeded - gained); + const cntDown = done ? 0 : (curGl > 0 ? timeToGain(curGl, Math.min(ptsRemaining, curGl)) : Infinity); + const progPct = ptsNeeded > 0 ? Math.min(100, (Math.abs(estStat - (startSt as number)) / ptsNeeded) * 100) : (done ? 100 : 0); + const deltaText = curGl > 0 ? (def.dir > 0 ? `+${curRate}` : `-${curRate}`) : 'Jauge vide'; + return { estStat, done, progPct, totalSec, cntDown, startGl, curGl, + liveText: Math.round(estStat).toLocaleString('fr'), deltaText }; + } +} + +/** + * Niveau actuel de la jauge pour l'affichage global de l'enclos. + * Utilise le temps réel si la session s'est terminée automatiquement. + */ +export function enclosGaugeCurGl(enc: Enclos, gid: GaugeType): number { + const startGl = enc.timer.snapGauges[gid] ?? enc.gaugeLevels[gid]; + if (!enc.timer.startTime) return enc.gaugeLevels[gid]; + + const def = GAUGE_DEFS[gid]; + const recharges = rechargesFor(enc, gid); + const elLive = elapsedLive(enc); + + if (!enc.dragodindes.length) return computeGaugeState(startGl, recharges, Infinity, elLive).curGl; + + let maxEffectiveEl = -1; + let resultCurGl = startGl; + + for (const dd of enc.dragodindes) { + const startSt = (enc.timer.snapStats[dd.id]?.[def.stat] ?? dd.stats[def.stat as keyof typeof dd.stats]) as number; + const pts = ptsToAbsCap(startSt, def); + if (!isFinite(pts)) return computeGaugeState(startGl, recharges, Infinity, elLive).curGl; + const { curGl, effectiveEl } = computeGaugeState(startGl, recharges, pts, elLive); + if (effectiveEl > maxEffectiveEl) { maxEffectiveEl = effectiveEl; resultCurGl = curGl; } + } + + return resultCurGl; +} + +export interface EnclosGlobalStateResult { + globalMax: number; + allDone: boolean; + started: boolean; + el: number; + ddDone: number; +} + +export function enclosGlobalState(enc: Enclos): EnclosGlobalStateResult { + const el = elapsed(enc.timer); + const started = !!enc.timer.startTime; + if (!enc.activeGauges.length || !enc.dragodindes.length) + return { globalMax: 0, allDone: false, started, el, ddDone: 0 }; + + let globalMax = 0, allEnclosDone = true, ddDone = 0; + enc.dragodindes.forEach(dd => { + let ddAllDone = true; + enc.activeGauges.forEach(gid => { + const r = computeGaugeLive(enc, dd, gid, el, started); + if (!r.done) { + ddAllDone = false; + allEnclosDone = false; + } + if (r.cntDown > globalMax) globalMax = r.cntDown; + }); + if (ddAllDone) ddDone++; + }); + + return { globalMax, allDone: allEnclosDone, started, el, ddDone }; +} + +export function calcSerenEta(enc: Enclos, dd: Dragodinde): string { + const target = dd.sereniteTarget; + if (target === null || target === undefined) return '—'; + const cur = dd.stats.serenite; + const diff = target - cur; + if (diff === 0) return '✅'; + const needUp = diff > 0; + const gid: GaugeType = needUp ? 'caresseur' : 'baffeur'; + if (!enc.activeGauges.includes(gid)) + return needUp ? '➕' : '➖'; + const gl = enc.gaugeLevels[gid] || 0; + const sec = timeToGain(gl, Math.abs(diff)); + return sec === Infinity ? '∞' : '~' + fmtShort(sec); +} + +export function calcSerenEtaLive(enc: Enclos, dd: Dragodinde, el: number, started: boolean): string { + const target = dd.sereniteTarget; + if (target === null || target === undefined) return '—'; + const cur = dd.stats.serenite; + const diff = target - cur; + if (diff === 0) return '✅'; + const needUp = diff > 0; + const gid: GaugeType = needUp ? 'caresseur' : 'baffeur'; + if (!enc.activeGauges.includes(gid)) + return needUp ? '➕' : '➖'; + const startSt = started ? (enc.timer.snapStats[dd.id]?.['serenite'] ?? dd.stats.serenite) : dd.stats.serenite; + const startGl = started ? (enc.timer.snapGauges[gid] ?? enc.gaugeLevels[gid]) : enc.gaugeLevels[gid]; + const def = GAUGE_DEFS[gid]; + const recharges = started ? rechargesFor(enc, gid) : []; + const pts = ptsToAbsCap(startSt, def); + const elLive = started ? elapsedLive(enc) : 0; + const { gained, curGl } = started ? computeGaugeState(startGl, recharges, pts, elLive) : { gained: 0, curGl: startGl }; + const curStat = Math.min(5000, Math.max(-5000, startSt + def.dir * gained)); + if ((needUp && curStat >= target) || (!needUp && curStat <= target)) return '✅'; + const remaining = Math.abs(target - curStat); + const sec = timeToGain(curGl, remaining); + return sec === Infinity ? '∞' : '~' + fmtShort(sec); +} + +export function calcLevelEta(enc: Enclos, dd: Dragodinde): string { + const target = dd.levelTarget ?? 200; + if (dd.stats.xp >= target) return '✅'; + if (!enc.activeGauges.includes('mangeoire')) return '🍖'; + const gl = enc.gaugeLevels.mangeoire || 0; + const xpNeeded = Math.max(0, xpForLevel(target) - xpForLevel(dd.stats.xp)); + const sec = timeToGain(gl, xpNeeded); + return sec === Infinity ? '∞' : '~' + fmtShort(sec); +} + +export function calcLevelEtaLive(enc: Enclos, dd: Dragodinde, el: number, started: boolean): string { + const target = dd.levelTarget ?? 200; + if (!enc.activeGauges.includes('mangeoire')) return '🍖'; + const startXp = started ? (enc.timer.snapStats[dd.id]?.['xp'] ?? dd.stats.xp) : dd.stats.xp; + const startGl = started ? (enc.timer.snapGauges['mangeoire'] ?? enc.gaugeLevels.mangeoire) : enc.gaugeLevels.mangeoire; + const def = GAUGE_DEFS['mangeoire']; + const recharges = started ? rechargesFor(enc, 'mangeoire') : []; + const pts = ptsToAbsCap(startXp, def); + const elLive = started ? elapsedLive(enc) : 0; + const { gained, curGl } = started ? computeGaugeState(startGl, recharges, pts, elLive) : { gained: 0, curGl: startGl }; + const estLevel = levelFromXp(xpForLevel(startXp) + gained); + if (estLevel >= target) return '✅'; + const xpRemaining = Math.max(0, xpForLevel(target) - xpForLevel(startXp) - gained); + const sec = timeToGain(curGl, Math.min(xpRemaining, curGl)); + return sec === Infinity ? '∞' : '~' + fmtShort(sec); +} + +/** + * Estimation du temps pour passer du niveau actuel au niveau 200, + * en supposant que la jauge reste au tier courant en continu. + * Retourne une chaîne formatée (~3j 8h, ~12h 30m, ~45m, ✅, ∞). + */ +export function calcLevel200EtaLive(enc: Enclos, dd: Dragodinde, el: number, started: boolean): string { + if (!enc.activeGauges.includes('mangeoire')) return ''; + + const startXp = started ? (enc.timer.snapStats[dd.id]?.['xp'] ?? dd.stats.xp) : dd.stats.xp; + const startGl = started ? (enc.timer.snapGauges['mangeoire'] ?? enc.gaugeLevels.mangeoire) : enc.gaugeLevels.mangeoire; + const def = GAUGE_DEFS['mangeoire']; + const recharges = started ? rechargesFor(enc, 'mangeoire') : []; + const pts = ptsToAbsCap(startXp, def); + const elLive = started ? elapsedLive(enc) : 0; + const { gained, curGl } = started + ? computeGaugeState(startGl, recharges, pts, elLive) + : { gained: 0, curGl: startGl }; + + const currentLevel = levelFromXp(xpForLevel(startXp) + gained); + if (currentLevel >= 200) return '✅'; + + const xpNeeded = Math.max(0, xpForLevel(200) - (xpForLevel(startXp) + gained)); + const rate = tierRate(curGl); // pts par tick (10s), basé sur le tier courant + if (rate <= 0 || curGl <= 0) return '∞'; + + const seconds = Math.ceil(xpNeeded / rate) * 10; + return fmtEta200(seconds); +} + +function fmtEta200(s: number): string { + if (!isFinite(s) || s <= 0) return '∞'; + const d = Math.floor(s / 86400); + const h = Math.floor((s % 86400) / 3600); + const m = Math.floor((s % 3600) / 60); + if (d > 0) return `~${d}j ${h}h`; + if (h > 0) return `~${h}h ${String(m).padStart(2, '0')}m`; + return `~${m}m`; +} + +function fmtShort(s: number): string { + if (!isFinite(s) || s < 0) return '—'; + const h = Math.floor(s / 3600); + const m = Math.floor((s % 3600) / 60); + const ss = Math.floor(s % 60); + return h > 0 ? `${h}h ${String(m).padStart(2, '0')}m ${String(ss).padStart(2, '0')}s` + : m > 0 ? `${m}m ${String(ss).padStart(2, '0')}s` : `${ss}s`; +} diff --git a/src/presentation/index.ts b/src/presentation/index.ts new file mode 100644 index 0000000..cb0af90 --- /dev/null +++ b/src/presentation/index.ts @@ -0,0 +1,124 @@ +import { CommandBus } from '@application/handlers/CommandBus'; +import { QueryBus } from '@application/handlers/QueryBus'; +import { EventBus } from '@domain/events/EventBus'; +import { LocalStorageRepository } from '@infrastructure/persistence/LocalStorageRepository'; +import { ElectronNotification } from '@infrastructure/notifications/ElectronNotification'; +import { WebAudioAlarm } from '@infrastructure/alarm/WebAudioAlarm'; +import { UIState } from '@presentation/state/UIState'; +import { App } from '@presentation/components/App'; +import type { AppState } from '@domain/ports/StateRepository'; + +// Command handler factories +import { createStartTimerHandler } from '@application/commands/StartTimer'; +import { createStopTimerHandler } from '@application/commands/StopTimer'; +import { createCreateEnclosHandler } from '@application/commands/CreateEnclos'; +import { createDeleteEnclosHandler } from '@application/commands/DeleteEnclos'; +import { createAddDragodindeHandler } from '@application/commands/AddDragodinde'; +import { createRemoveDragodindeHandler } from '@application/commands/RemoveDragodinde'; +import { createToggleGaugeHandler, createUpdateGaugeLevelHandler } from '@application/commands/UpdateGauge'; +import { createRegisterAccouplementHandler } from '@application/commands/RegisterAccouplement'; +import { createUpdateSettingsHandler } from '@application/commands/UpdateSettings'; +import { createResetStatsHandler } from '@application/commands/ResetStats'; +import { createReorderEnclosHandler } from '@application/commands/ReorderEnclos'; +import { createUpdateWorkflowHandler } from '@application/commands/UpdateWorkflow'; +import { createDeleteWorkflowHandler } from '@application/commands/DeleteWorkflow'; +import { createSaveWorkflowHandler } from '@application/commands/SaveWorkflow'; +import { createImportWorkflowsHandler } from '@application/commands/ImportWorkflows'; +import { createClearEnclosHandler, createRenameEnclosHandler, createResetTimerHandler, createNouvelleFourneeHandler } from '@application/commands/EnclosActions'; +import { createRechargeGaugeHandler } from '@application/commands/RechargeGauge'; +import { createCompleteTimerHandler } from '@application/commands/CompleteTimer'; +import { createRenameDragodindeHandler, createUpdateDdStatHandler, createUpdateDdSerenTargetHandler, createUpdateDdLevelTargetHandler, createReorderDragodindeHandler } from '@application/commands/DragodindeActions'; + +// Query handler factories +import { createGetDashboardHandler } from '@application/queries/GetDashboard'; +import { createGetEnclosDetailHandler } from '@application/queries/GetEnclosDetail'; +import { createGetTimerStateHandler } from '@application/queries/GetTimerState'; +import { createGetBreedingOptionsHandler } from '@application/queries/GetBreedingOptions'; +import { createGetReapproTreeHandler } from '@application/queries/GetReapproTree'; +import { createGetInventaireHandler } from '@application/queries/GetInventaire'; +import { createGetSettingsHandler } from '@application/queries/GetSettings'; +import { createGetWorkflowsHandler } from '@application/queries/GetWorkflows'; +import { createGetStatisticsHandler } from '@application/queries/GetStatistics'; + +async function bootstrap(): Promise { + // Infrastructure + const repo = new LocalStorageRepository(); + const notifications = new ElectronNotification(); + const alarm = new WebAudioAlarm(); + const events = new EventBus(); + + // Load state + const defaultState: AppState = { + enclos: [], activeId: 'dashboard', nextEnclosId: 1, + alarmSound: 'arpege', notifsEnabled: true, ntfyTopic: '', + archivedStats: [], inventaire: {}, workflows: [], accouplements: [], + }; + const state: AppState = (await repo.load()) ?? defaultState; + + // Command Bus + const commandBus = new CommandBus(); + commandBus.register('start-timer', createStartTimerHandler(state, repo)); + commandBus.register('stop-timer', createStopTimerHandler(state, repo)); + commandBus.register('create-enclos', createCreateEnclosHandler(state, repo)); + commandBus.register('delete-enclos', createDeleteEnclosHandler(state, repo, events)); + commandBus.register('add-dragodinde', createAddDragodindeHandler(state, repo)); + commandBus.register('remove-dragodinde', createRemoveDragodindeHandler(state, repo)); + commandBus.register('toggle-gauge', createToggleGaugeHandler(state, repo)); + commandBus.register('update-gauge-level', createUpdateGaugeLevelHandler(state, repo)); + commandBus.register('register-accouplement', createRegisterAccouplementHandler(state, repo, events)); + commandBus.register('update-settings', createUpdateSettingsHandler(state, repo)); + commandBus.register('reset-stats', createResetStatsHandler(state, repo)); + commandBus.register('reorder-enclos', createReorderEnclosHandler(state, repo)); + commandBus.register('update-workflow', createUpdateWorkflowHandler(state, repo)); + commandBus.register('delete-workflow', createDeleteWorkflowHandler(state, repo)); + commandBus.register('save-workflow', createSaveWorkflowHandler(state, repo)); + commandBus.register('import-workflows', createImportWorkflowsHandler(state, repo)); + commandBus.register('complete-timer', createCompleteTimerHandler(state, repo, events)); + commandBus.register('recharge-gauge', createRechargeGaugeHandler(state, repo)); + commandBus.register('clear-enclos', createClearEnclosHandler(state, repo)); + commandBus.register('rename-enclos', createRenameEnclosHandler(state, repo)); + commandBus.register('reset-timer', createResetTimerHandler(state, repo)); + commandBus.register('nouvelle-fournee', createNouvelleFourneeHandler(state, repo)); + commandBus.register('rename-dragodinde', createRenameDragodindeHandler(state, repo)); + commandBus.register('update-dd-stat', createUpdateDdStatHandler(state, repo)); + commandBus.register('update-dd-seren-target', createUpdateDdSerenTargetHandler(state, repo)); + commandBus.register('update-dd-level-target', createUpdateDdLevelTargetHandler(state, repo)); + commandBus.register('reorder-dragodinde', createReorderDragodindeHandler(state, repo)); + + // Query Bus + const queryBus = new QueryBus(); + queryBus.register('get-dashboard', createGetDashboardHandler(state)); + queryBus.register('get-enclos-detail', createGetEnclosDetailHandler(state)); + queryBus.register('get-timer-state', createGetTimerStateHandler(state)); + queryBus.register('get-breeding-options', createGetBreedingOptionsHandler()); + queryBus.register('get-reappro-tree', createGetReapproTreeHandler()); + queryBus.register('get-inventaire', createGetInventaireHandler(state)); + queryBus.register('get-settings', createGetSettingsHandler(state)); + queryBus.register('get-workflows', createGetWorkflowsHandler(state)); + queryBus.register('get-statistics', createGetStatisticsHandler(state)); + + // Event handlers + events.on('timer-completed', (event) => { + const enclosName = (event as any).enclosName ?? 'Enclos'; + if (state.notifsEnabled) { + notifications.showNotification('Dragodindes prêtes !', `${enclosName} — Toutes les cibles atteintes !`); + } + alarm.play(state.alarmSound); + if (state.ntfyTopic) { + const url = `https://ntfy.mickael-pol.fr/${state.ntfyTopic}`; + notifications.sendMobileNotification(url, 'Dragodindes prêtes !', `${enclosName} — Toutes les cibles atteintes !`); + } + }); + + // Presentation + const uiState = new UIState(); + uiState.activeView = state.activeId ?? 'dashboard'; + + const rootEl = document.getElementById('app'); + if (!rootEl) throw new Error('Root element #app not found'); + + const app = new App(commandBus, queryBus, uiState, rootEl, (name: string) => alarm.play(name)); + app.render(); +} + +bootstrap().catch(console.error); diff --git a/src/presentation/services/UndoManager.ts b/src/presentation/services/UndoManager.ts new file mode 100644 index 0000000..ca86731 --- /dev/null +++ b/src/presentation/services/UndoManager.ts @@ -0,0 +1,79 @@ +/** + * UndoManager — snapshot/restore pour les actions destructives. + * + * Stocke un seul niveau d'undo (le dernier snapshot). + * Le snapshot expire après EXPIRY_MS. + */ + +const EXPIRY_MS = 10_000; + +interface Snapshot { + stateJson: string; + label: string; + timestamp: number; +} + +let current: Snapshot | null = null; +let onUndoCallback: (() => void) | null = null; + +export const UndoManager = { + /** + * Sauvegarde un snapshot du state avant une action destructive. + */ + snapshot(stateJson: string, label: string): void { + current = { stateJson, label, timestamp: Date.now() }; + }, + + /** + * Restaure le dernier snapshot si disponible et non expiré. + * Retourne true si l'undo a été effectué. + */ + undo(): boolean { + if (!this.canUndo()) return false; + const api = (window as any).electronAPI; + if (!api?.saveData) return false; + + api.saveData(current!.stateJson); + current = null; + + if (onUndoCallback) onUndoCallback(); + else window.location.reload(); + + return true; + }, + + canUndo(): boolean { + if (!current) return false; + if (Date.now() - current.timestamp > EXPIRY_MS) { + current = null; + return false; + } + return true; + }, + + label(): string { + return current?.label ?? ''; + }, + + clear(): void { + current = null; + }, + + /** Callback custom après undo (par défaut: reload) */ + onUndo(cb: () => void): void { + onUndoCallback = cb; + }, + + /** + * Prend un snapshot du state actuel via electronAPI. + * Retourne true si le snapshot a été pris. + */ + async snapshotCurrent(label: string): Promise { + const api = (window as any).electronAPI; + if (!api?.loadData) return false; + const raw = await api.loadData(); + if (!raw) return false; + this.snapshot(raw, label); + return true; + }, +}; diff --git a/src/presentation/state/UIState.ts b/src/presentation/state/UIState.ts new file mode 100644 index 0000000..2abc9b9 --- /dev/null +++ b/src/presentation/state/UIState.ts @@ -0,0 +1,36 @@ +type Listener = () => void; + +export class UIState { + private listeners: Listener[] = []; + + activeView: string | number = 'dashboard'; + sidebarOpen = true; + + subscribe(fn: Listener): () => void { + this.listeners.push(fn); + return () => { + this.listeners = this.listeners.filter(l => l !== fn); + }; + } + + notify(): void { + for (const fn of this.listeners) fn(); + } + + setActiveView(view: string | number): void { + this.activeView = view; + this.notify(); + } + + toggleSidebar(): void { + this.sidebarOpen = !this.sidebarOpen; + this.notify(); + } + + closeSidebar(): void { + if (this.sidebarOpen) { + this.sidebarOpen = false; + this.notify(); + } + } +} diff --git a/src/presentation/styles/base.css b/src/presentation/styles/base.css new file mode 100644 index 0000000..f34354f --- /dev/null +++ b/src/presentation/styles/base.css @@ -0,0 +1,34 @@ +* { box-sizing: border-box; margin: 0; padding: 0; } +html { font-size: 18px; } +body { + background: var(--bg); + color: var(--text); + font-family: 'Nunito', sans-serif; + font-size: 1rem; + min-height: 100vh; + padding: 22px 28px 52px; +} +.wrap { + max-width: 100%; + margin: 0 auto; + display: flex; + flex-direction: column; + gap: 18px; +} +header { text-align: center; padding: 10px 0 6px; } +header h1 { + font-family: 'Cinzel', serif; + font-size: 2.4rem; + font-weight: 700; + letter-spacing: 5px; + background: linear-gradient(130deg, var(--ser), var(--end)); + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + background-clip: text; +} +header p { color: var(--muted); font-size: 0.85rem; margin-top: 5px; } + +input[type=number]::-webkit-inner-spin-button, +input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } +input[type=number] { -moz-appearance: textfield; } +input::-webkit-input-placeholder { color: var(--muted); } diff --git a/src/presentation/styles/components.css b/src/presentation/styles/components.css new file mode 100644 index 0000000..4ca66de --- /dev/null +++ b/src/presentation/styles/components.css @@ -0,0 +1,466 @@ +/* TABS */ +.tabs-row { display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-end; } +.tab { padding: 12px 22px; border-radius: 10px 10px 0 0; border: 1px solid var(--border); border-bottom: none; background: var(--bg2); color: var(--muted); cursor: pointer; font: 700 1.05rem 'Nunito', sans-serif; display: flex; align-items: center; gap: 9px; transition: .15s; user-select: none; } +.tab[draggable=true]:hover { cursor: grab; } +.tab:hover { color: var(--text); background: var(--bg3); } +.tab.active { background: var(--bg3); color: var(--text); border-color: var(--ser); } +.tab-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--muted); flex-shrink: 0; transition: background .3s; } +.tab.running .tab-dot { background: var(--ok); box-shadow: 0 0 7px var(--ok); animation: pulse 1.2s infinite; } +.tab.done-tab .tab-dot { background: var(--ok); } +.tab-del { background: none; border: none; color: var(--muted); cursor: pointer; padding: 0 0 0 5px; font-size: 1rem; line-height: 1; } +.tab-del:hover { color: var(--amour); } +.add-tab { padding: 10px 18px; border-radius: 9px; border: 1px dashed var(--border); background: transparent; color: var(--muted); cursor: pointer; font: 700 1rem 'Nunito', sans-serif; transition: .15s; align-self: center; } +.add-tab:hover { border-color: var(--ser); color: var(--ser); } +.add-tab:disabled { opacity: .3; cursor: not-allowed; } +@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: .35; } } + +/* CONTENT */ +.enclos-content { background: var(--bg3); border: 1px solid var(--ser); border-radius: 0 12px 12px 12px; padding: 14px 18px; display: flex; flex-direction: column; gap: 12px; } + +/* CARD */ +.card { background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r); padding: 14px 18px; } +.card-title { font-family: 'Cinzel', serif; font-size: 0.75rem; letter-spacing: 2.5px; text-transform: uppercase; color: var(--muted); margin-bottom: 10px; } + +/* GAUGE BUTTONS */ +.gauge-btns { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 10px; } +.gauge-btn { padding: 7px 14px; border-radius: 8px; border: 2px solid transparent; background: var(--bg3); color: var(--muted); cursor: pointer; font: 700 0.92rem 'Nunito', sans-serif; transition: .15s; display: flex; align-items: center; gap: 6px; } +.gauge-btn:hover { background: var(--bg4); color: var(--text); } +.gauge-btn.on { color: #fff; } +.gauge-btn.locked { opacity: .4; cursor: not-allowed; } + +/* GAUGE CFG */ +.gauges-active { display: flex; gap: 12px; flex-wrap: wrap; } +.gauge-cfg { flex: 1; min-width: 240px; background: var(--bg3); border: 1px solid var(--border); border-radius: 9px; padding: 12px 14px; } +.gauge-cfg-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; } +.gauge-cfg-name { font-weight: 800; font-size: 1rem; display: flex; align-items: center; gap: 7px; } +.tier-badge { font-size: 0.72rem; font-weight: 800; padding: 3px 10px; border-radius: 20px; letter-spacing: .5px; transition: background .3s; } +.gauge-inp-row { display: flex; align-items: center; gap: 8px; } +.gauge-inp { flex: 1; background: var(--bg2); border: 1px solid var(--border); border-radius: 7px; color: var(--text); padding: 6px 10px; font: 700 0.95rem 'Nunito', sans-serif; } +.gauge-inp:focus { outline: none; } +.gauge-inp-recharge { border-color: var(--ok); cursor: text; } +.gauge-inp-recharge:hover { border-color: var(--ok); box-shadow: 0 0 6px color-mix(in srgb, var(--ok) 30%, transparent); } +.gauge-inp-max { font-size: 0.78rem; color: var(--muted); white-space: nowrap; flex-shrink: 0; } +.gauge-bar-bg { height: 6px; background: var(--bg4); border-radius: 4px; margin-top: 8px; } +.gauge-bar-fill { height: 100%; border-radius: 4px; transition: width .5s; } +.gauge-info { font-size: 0.8rem; color: var(--muted); margin-top: 5px; } +.no-gauge-msg { color: var(--muted); text-align: center; padding: 16px; font-style: italic; font-size: 0.95rem; } + +/* TIMER */ +.timer-bar { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r); padding: 12px 18px; } +.btn { padding: 9px 18px; border-radius: 9px; border: none; font: 800 0.95rem 'Nunito', sans-serif; cursor: pointer; transition: .15s; display: flex; align-items: center; gap: 7px; } +.btn * { pointer-events: none; } +.btn-start { background: linear-gradient(135deg, #5020b0, var(--ser)); color: #fff; } +.btn-start:hover { opacity: .85; } +.btn-pause { background: linear-gradient(135deg, #b06000, #f5a623); color: #fff; } +.btn-pause:hover { opacity: .85; } +.btn-ghost { background: var(--bg3); color: var(--text); border: 1px solid var(--border); } +.btn-ghost:hover { background: var(--bg4); } +.clock-wrap .lbl { font-size: 0.75rem; color: var(--muted); margin-bottom: 2px; } +.clock-wrap .val { font-family: 'Cinzel', serif; font-size: 2rem; letter-spacing: 3px; } +.clock-wrap .val.clock-elapsed { color: var(--ok); } + +/* DD GRID */ +.dd-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 10px; } +.dd-card { background: var(--bg3); border: 1px solid var(--border); border-radius: 11px; padding: 12px; position: relative; transition: border-color .3s, box-shadow .3s; } +.dd-card[draggable=true] { cursor: default; } +.dd-card.dragging { opacity: 0.35; transform: scale(0.97); box-shadow: none; transition: none; } +.dd-card.drag-over { border-color: var(--ser); box-shadow: 0 0 0 2px var(--ser), 0 6px 20px rgba(192,96,255,0.35); transform: scale(1.02); } +.dd-card.done { border-color: var(--ok); box-shadow: 0 0 18px rgba(40, 232, 136, .18); } +.done-badge { display: none; position: absolute; top: -10px; right: 10px; background: var(--ok); color: #000; font-size: 0.68rem; font-weight: 800; padding: 2px 10px; border-radius: 20px; letter-spacing: .5px; } +.dd-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; gap: 6px; } +.dd-drag-handle { color: var(--muted); font-size: 1.1rem; cursor: grab; opacity: 0; transition: opacity .15s; flex-shrink: 0; line-height: 1; padding: 2px 3px; } +.dd-drag-handle:active { cursor: grabbing; } +.dd-card:hover .dd-drag-handle { opacity: 1; } +.dd-name { flex: 1; background: transparent; border: none; border-bottom: 2px solid var(--border); color: var(--text); font-family: 'Cinzel', serif; font-size: 0.95rem; font-weight: 700; padding: 3px 4px; min-width: 0; } +.dd-name:focus { outline: none; border-bottom-color: var(--ser); } +.dd-del { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 0.95rem; padding: 3px 6px; border-radius: 5px; } +.dd-del:hover { color: var(--amour); background: rgba(255, 80, 112, .1); } + +/* DD STAT PILLS */ +.dd-stats-bar { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin-bottom: 9px; } +.dd-stat-pill { display: flex; align-items: center; gap: 5px; border: 1px solid var(--border); border-radius: 7px; padding: 4px 8px; background: var(--bg2); } +.dd-stat-pill.at-max { } +.pill-icon { font-size: 0.9rem; flex-shrink: 0; line-height: 1; } +.pill-input { flex: 1; background: transparent; border: none; color: var(--text); font: 700 0.85rem 'Nunito', sans-serif; min-width: 0; width: 0; text-align: right; } +.pill-input:focus { outline: none; } +.pill-delta { font-size: 0.72rem; font-weight: 700; color: var(--ok); flex-shrink: 0; } + +/* DD CIBLE ROWS */ +.seren-row, .level-row { display: flex; align-items: center; gap: 6px; padding: 4px 0; border-bottom: 1px solid var(--border); margin-bottom: 6px; } +.target-icon { font-size: 0.85rem; flex-shrink: 0; line-height: 1; } +.target-label { font-size: 0.75rem; color: var(--muted); flex-shrink: 0; } +.target-input { width: 58px; background: var(--bg2); border: 1px solid var(--border); border-radius: 6px; color: var(--text); padding: 3px 6px; font: 700 0.8rem 'Nunito', sans-serif; text-align: center; } +.target-input:focus { outline: none; border-color: var(--ser); } +.target-eta { flex: 1; text-align: right; font-size: 0.78rem; font-weight: 700; color: var(--muted); } +.target-clear { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 0.65rem; padding: 0 2px; line-height: 1; opacity: .5; flex-shrink: 0; } +.target-clear:hover { color: var(--amour); opacity: 1; } + +/* DD GAUGE BLOCKS */ +.dd-gauge-blocks { display: flex; flex-direction: column; gap: 8px; } + +/* STAT BLOCK */ +.stat-blk { margin-bottom: 16px; } +.stat-lbl { font-size: 0.78rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 7px; } +.stat-row { display: flex; align-items: center; gap: 6px; } +.stat-inp { flex: 1; background: var(--bg2); border: 1px solid var(--border); border-radius: 7px; color: var(--text); padding: 7px 10px; font: 700 0.95rem 'Nunito', sans-serif; min-width: 0; } +.stat-inp:focus { outline: none; border-color: currentColor; } +.stat-inp:disabled { opacity: .5; } +.arrow { color: var(--muted); font-size: 0.9rem; flex-shrink: 0; } +.suggest-btn { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 0.85rem; padding: 3px 6px; border-radius: 5px; } +.suggest-btn:hover { color: var(--ser); } +.stat-live-row { display: flex; align-items: center; justify-content: space-between; margin-top: 9px; gap: 6px; } +.live-val { font-family: 'Cinzel', serif; font-size: 1.35rem; font-weight: 700; min-width: 100px; } +.live-val.tick { animation: tickflash .4s ease-out; } +@keyframes tickflash { 0% { transform: scale(1.18); filter: brightness(1.7); } 100% { transform: scale(1); filter: brightness(1); } } +.live-delta { font-size: 0.9rem; font-weight: 800; opacity: 0; min-width: 46px; text-align: center; } +@keyframes liveDeltaPop { 0% { opacity: 1; transform: translateY(0) scale(1.15); } 70% { opacity: 1; } 100% { opacity: 0; transform: translateY(-10px) scale(1); } } +.live-delta.show { animation: liveDeltaPop 1.2s ease-out forwards; } +.live-cd { font-size: 0.9rem; font-weight: 800; text-align: right; } +.stat-bar-bg { height: 6px; background: var(--bg4); border-radius: 3px; margin-top: 7px; } +.stat-bar-fill { height: 100%; border-radius: 3px; transition: width .5s; } +.eta200-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 3px; } +.eta200-eta { font-size: 0.72rem; color: var(--muted); } +.eta200-progress { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; } +.eta200-bar-bg { flex: 1; height: 4px; background: var(--bg4); border-radius: 3px; overflow: hidden; } +.eta200-bar-fill { height: 100%; border-radius: 3px; transition: width .5s; } +.eta200-pct { font-size: 0.68rem; color: var(--muted); min-width: 28px; text-align: right; } + +/* DD SECTION HEAD */ +.dd-section-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; } +.dd-section-head .card-title { margin-bottom: 0; } + +/* ADD */ +.add-dd-btn { display: flex; align-items: center; gap: 6px; padding: 6px 14px; background: var(--bg3); border: 1px dashed var(--border); border-radius: 8px; color: var(--muted); cursor: pointer; font: 700 0.88rem 'Nunito', sans-serif; transition: .15s; } +.add-dd-btn:hover { border-color: var(--ser); color: var(--ser); background: rgba(192, 96, 255, .05); } +.add-dd-btn:disabled { opacity: .3; cursor: not-allowed; } + +/* DONE BANNER */ +.done-banner { display: flex; align-items: center; gap: 16px; padding: 16px 20px; background: rgba(40, 232, 136, .08); border: 1px solid var(--ok); border-radius: 11px; } +.done-banner-text { font-family: 'Cinzel', serif; font-size: 1.1rem; font-weight: 700; color: var(--ok); } +.done-banner-sub { font-size: 0.85rem; color: var(--muted); margin-top: 3px; } +.btn-reset-now { background: linear-gradient(135deg, #005040, var(--ok)); color: #000; font-weight: 800; } +.btn-reset-now:hover { opacity: .85; } + +/* DASHBOARD */ +.dash-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; } +.dash-card { background: var(--bg2); border: 1px solid var(--border); border-radius: 12px; padding: 18px; cursor: pointer; transition: border-color .2s, box-shadow .2s; } +.dash-card:hover { border-color: var(--ser); box-shadow: 0 0 16px rgba(192, 96, 255, .15); } +.dash-card.running { border-color: rgba(40, 232, 136, .4); } +.dash-card.done-enc { border-color: var(--ok); box-shadow: 0 0 18px rgba(40, 232, 136, .2); } +.dash-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; } +.dash-name { font-family: 'Cinzel', serif; font-size: 1.25rem; font-weight: 700; } +.dash-status { display: flex; align-items: center; gap: 6px; font-size: 0.92rem; } +.dash-dot { width: 11px; height: 11px; border-radius: 50%; flex-shrink: 0; } +.dash-sep { height: 1px; background: var(--border); margin: 13px 0; } +.dash-row { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; } +.dash-lbl { font-size: 0.82rem; color: var(--muted); margin-bottom: 3px; } +.dash-val { font-family: 'Cinzel', serif; font-size: 1.65rem; font-weight: 700; } +.dash-go { display: block; width: 100%; margin-top: 14px; padding: 11px; background: var(--bg3); border: 1px solid var(--border); border-radius: 8px; color: var(--text); font: 700 1rem 'Nunito', sans-serif; cursor: pointer; text-align: center; transition: .15s; } +.dash-go:hover { background: var(--bg4); border-color: var(--ser); } + +/* NOTIF + SON */ +.notif-btn { padding: 9px 16px; border-radius: 8px; border: 1px solid var(--border); background: var(--bg3); color: var(--muted); cursor: pointer; font: 700 0.9rem 'Nunito', sans-serif; transition: .15s; } +.notif-btn.granted { color: var(--ok); border-color: var(--ok); } +.notif-btn.denied { color: var(--amour); border-color: var(--amour); opacity: .6; cursor: not-allowed; } +.notif-btn:hover:not(.denied) { background: var(--bg4); } +.sound-select { padding: 8px 13px; border-radius: 8px; border: 1px solid var(--border); background: var(--bg3); color: var(--text); font: 700 0.9rem 'Nunito', sans-serif; cursor: pointer; outline: none; } +.sound-select:focus { border-color: var(--ser); } +.sound-preview { padding: 8px 13px; border-radius: 8px; border: 1px solid var(--border); background: var(--bg3); color: var(--muted); cursor: pointer; font: 700 0.9rem 'Nunito', sans-serif; transition: .15s; } +.sound-preview:hover { background: var(--bg4); color: var(--text); } + +/* BANNIERE MISE A JOUR */ +.update-banner { display: none; align-items: center; gap: 14px; padding: 13px 18px; border-radius: 10px; border: 1px solid; margin-bottom: 2px; } +.update-banner.available { background: rgba(255, 160, 64, .08); border-color: var(--xp); } +.update-banner.downloading { background: rgba(40, 232, 136, .06); border-color: var(--ok); } +.update-banner.error { background: rgba(255, 80, 112, .07); border-color: var(--amour); } +.update-banner-icon { font-size: 1.4rem; flex-shrink: 0; } +.update-banner-text { flex: 1; } +.update-banner-title { font-family: 'Cinzel', serif; font-size: 1rem; font-weight: 700; } +.update-banner-sub { font-size: 0.8rem; color: var(--muted); margin-top: 2px; } +.update-progress-bar { height: 5px; background: var(--bg4); border-radius: 3px; margin-top: 7px; overflow: hidden; } +.update-progress-fill { height: 100%; background: var(--ok); border-radius: 3px; transition: width .3s; width: 0%; } +.btn-update { padding: 9px 18px; border-radius: 8px; border: none; font: 800 0.9rem 'Nunito', sans-serif; cursor: pointer; background: linear-gradient(135deg, #a06000, var(--xp)); color: #000; white-space: nowrap; } +.btn-update:hover { opacity: .85; } +.btn-update:disabled { opacity: .5; cursor: not-allowed; } + +/* MODAL OVERLAY */ +.modal-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, .75); z-index: 1000; display: flex; align-items: center; justify-content: center; padding: 20px; } +.modal-overlay.hidden { display: none; } +.modal-box { background: var(--bg2); border: 1px solid var(--border); border-radius: 14px; width: 100%; max-width: 820px; max-height: 90vh; display: flex; flex-direction: column; overflow: hidden; } +.modal-header { display: flex; align-items: center; justify-content: space-between; padding: 18px 22px; border-bottom: 1px solid var(--border); } +.modal-header h2 { font-family: 'Cinzel', serif; font-size: 1.1rem; font-weight: 700; color: var(--text); } +.modal-close { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 1.4rem; padding: 2px 8px; border-radius: 5px; } +.modal-close:hover { color: var(--amour); background: rgba(255, 80, 112, .1); } +.modal-body { overflow-y: auto; padding: 20px 22px; flex: 1; } +.modal-footer { padding: 16px 22px; border-top: 1px solid var(--border); display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; } + +/* RACE CARDS (style jeu) */ +.race-cards-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; } +.race-card { background: #f5f0e8; border-radius: 12px; padding: 14px; cursor: pointer; border: 3px solid transparent; transition: .15s; position: relative; color: #2a2a2a; } +.race-card:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0, 0, 0, .25); } +.race-card.selected { border-color: #c060ff !important; box-shadow: 0 0 0 3px rgba(192, 96, 255, .6), 0 8px 24px rgba(0, 0, 0, .35) !important; transform: translateY(-3px); } +.race-card.selected::before { content: '\2713'; position: absolute; top: 8px; left: 10px; background: #c060ff; color: #fff; width: 22px; height: 22px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.85rem; font-weight: 800; z-index: 2; } +.race-card-badge { position: absolute; top: 8px; right: 8px; padding: 2px 8px; border-radius: 10px; font-size: 0.68rem; font-weight: 800; color: #fff; letter-spacing: .3px; z-index: 2; line-height: 1.4; } +.race-card-avatar { width: 76px; height: 76px; border-radius: 50%; overflow: hidden; display: flex; align-items: center; justify-content: center; margin: 0 auto; border: 3px solid rgba(255, 255, 255, .85); box-shadow: 0 2px 10px rgba(0, 0, 0, .18); background: transparent; } +.race-card-avatar img { width: 100%; height: 100%; object-fit: contain; } +.race-card-icon { font-size: 2rem; margin-bottom: 6px; display: block; text-align: center; } +.race-card-name { font-family: 'Georgia', serif; font-size: 0.95rem; font-weight: 700; margin-bottom: 8px; line-height: 1.2; color: #1a1a1a; text-align: center; } +.race-card-stats { list-style: none; padding: 0; margin: 0 0 10px; } +.race-card-stats li { font-size: 0.78rem; color: #444; padding: 1px 0; } +.race-card-stats li::before { content: '\2022 '; color: #888; } +.race-card-sep { height: 1px; background: #ddd; margin: 8px 0; } +.race-card-parents { display: flex; flex-direction: column; align-items: center; gap: 3px; } +.race-card-heart { font-size: 1.2rem; } +.race-card-parents-txt { font-size: 0.72rem; color: #666; text-align: center; line-height: 1.3; } + +/* STATS TAB */ +.stats-wrap { display: flex; flex-direction: column; gap: 18px; } +.stats-section { background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r); padding: 18px; } +.stats-section-title { font-family: 'Cinzel', serif; font-size: 0.75rem; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); margin-bottom: 14px; } +.stats-kpi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; } +.stats-kpi { background: var(--bg3); border-radius: 9px; padding: 14px; text-align: center; } +.stats-kpi-val { font-family: 'Cinzel', serif; font-size: 2rem; font-weight: 700; color: var(--ser); } +.stats-kpi-lbl { font-size: 0.8rem; color: var(--muted); margin-top: 4px; } +.stats-race-row { display: flex; align-items: center; gap: 10px; padding: 8px 0; border-bottom: 1px solid var(--border); } +.stats-race-row:last-child { border-bottom: none; } +.stats-race-chip { padding: 3px 10px; border-radius: 12px; font-size: 0.78rem; font-weight: 800; color: #fff; white-space: nowrap; } +.stats-race-name { flex: 1; font-weight: 700; font-size: 0.9rem; } +.stats-race-count { font-family: 'Cinzel', serif; font-size: 1.1rem; font-weight: 700; } +.stats-bar-wrap { flex: 2; min-width: 80px; } +.stats-bar-bg { height: 8px; background: var(--bg4); border-radius: 4px; overflow: hidden; } +.stats-bar-fill { height: 100%; border-radius: 4px; transition: width .5s; } +.stats-enclos-row { background: var(--bg3); border-radius: 9px; padding: 12px 14px; margin-bottom: 8px; } +.stats-enclos-name { font-family: 'Cinzel', serif; font-size: 0.95rem; font-weight: 700; margin-bottom: 6px; } +.stats-enclos-meta { display: flex; gap: 16px; flex-wrap: wrap; font-size: 0.85rem; color: var(--muted); } +.stats-pct { font-weight: 800; color: var(--ok); } +.stats-pct.low { color: var(--warn); } +.stats-pct.bad { color: var(--amour); } +.stats-empty { text-align: center; padding: 30px; color: var(--muted); font-style: italic; } + +/* APPRO / INVENTAIRE */ +/* .appro-step et .appro-repro migrés vers obsidienne.css */ +.inv-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 8px; } +.inv-item { background: var(--bg3); border-radius: 8px; padding: 10px; display: flex; align-items: center; gap: 8px; } +.inv-item label { flex: 1; font-size: 0.85rem; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } +.inv-item input { width: 55px; background: var(--bg2); border: 1px solid var(--border); border-radius: 6px; color: var(--text); padding: 6px 8px; font: 700 0.9rem 'Nunito', sans-serif; text-align: center; } +.inv-item input:focus { outline: none; border-color: var(--ser); } +.inv-card { display: flex; flex-direction: column; align-items: center; background: var(--bg3); border: 2px solid transparent; border-radius: 12px; padding: 12px 14px 16px; text-align: center; transition: .15s; position: relative; } +.inv-card-name { font-size: 0.78rem; font-weight: 700; line-height: 1.15; color: var(--text); height: 2.3em; display: flex; align-items: center; justify-content: center; margin-top: 5px; } +.inv-gender { display: flex; gap: 6px; margin-top: auto; padding-top: 4px; justify-content: center; } +.inv-gender-box { display: flex; align-items: center; gap: 2px; padding: 4px 8px; border-radius: 8px; font-size: 0.8rem; font-weight: 800; justify-content: center; cursor: text; } +.inv-gender-box.male { background: rgba(80, 160, 255, .1); border: 1.5px solid rgba(80, 160, 255, .3); color: #50a0ff; } +.inv-gender-box.female { background: rgba(255, 100, 160, .1); border: 1.5px solid rgba(255, 100, 160, .3); color: #ff64a0; } +.inv-gender-box input { width: 34px; background: transparent; border: none; color: inherit; font: 800 0.85rem 'Nunito', sans-serif; text-align: center; padding: 4px 2px; cursor: text; } +.inv-gender-box input:focus { outline: none; background: rgba(255, 255, 255, .08); border-radius: 4px; } +/* .appro-card migrés vers obsidienne.css (réutilise .accoup-race-card) */ + +/* SOUS-ONGLETS */ +.subtab { padding: 11px 16px; border: none; background: transparent; color: var(--muted); cursor: pointer; font: 700 0.9rem 'Nunito', sans-serif; transition: .15s; border-bottom: 2px solid transparent; } +.subtab:hover { color: var(--text); background: var(--bg3); } +.subtab.active { color: var(--ser); border-bottom-color: var(--ser); background: rgba(192, 96, 255, .06); } + +/* BARRE STATS PERMANENTE DD */ +.dd-stats-bar { display: flex; flex-wrap: wrap; gap: 6px; padding: 8px 0 10px; border-bottom: 1px solid var(--border); margin-bottom: 10px; } +.dd-stat-pill { display: flex; align-items: center; gap: 4px; padding: 3px 9px; border-radius: 12px; font-size: 0.8rem; font-weight: 800; background: transparent; border: 2px solid; cursor: pointer; transition: background .3s, box-shadow .3s; position: relative; overflow: visible; } +.dd-stat-pill.at-max { box-shadow: 0 0 8px rgba(0, 0, 0, .3); } +.dd-stat-pill:hover { filter: brightness(1.15); } +.dd-stat-pill input { background: transparent; border: none; color: inherit; font: 800 0.8rem 'Nunito', sans-serif; width: 52px; text-align: center; padding: 0; } +.dd-stat-pill input:focus { outline: none; } +.dd-stat-pill .pill-icon { font-size: 0.9rem; flex-shrink: 0; } +.pill-delta { position: absolute; top: -20px; left: 50%; transform: translateX(-50%); font-size: 0.72rem; font-weight: 800; pointer-events: none; opacity: 0; white-space: nowrap; z-index: 10; } +@keyframes pillDeltaUp { 0% { opacity: 1; transform: translateX(-50%) translateY(0); } 100% { opacity: 0; transform: translateX(-50%) translateY(-16px); } } +.pill-delta.show { animation: pillDeltaUp .9s ease-out forwards; } + +/* SERENITE TARGET ROW */ +.seren-row { display: flex; align-items: center; gap: 6px; padding: 6px 10px; margin: -4px 0 8px; border-radius: 10px; background: rgba(244, 114, 182, .06); border: 1px solid rgba(244, 114, 182, .18); } +.seren-row .seren-icon { font-size: 1rem; flex-shrink: 0; } +.seren-row .seren-lbl { font-size: 0.75rem; color: rgba(244, 114, 182, .7); font-weight: 700; white-space: nowrap; } +.seren-row input { background: rgba(244, 114, 182, .08); border: 1.5px solid rgba(244, 114, 182, .3); color: rgb(244, 114, 182); font: 800 0.82rem 'Nunito', sans-serif; width: 58px; text-align: center; padding: 3px 4px; border-radius: 8px; transition: border-color .2s; } +.seren-row input:focus { outline: none; border-color: rgb(244, 114, 182); background: rgba(244, 114, 182, .14); } +.seren-row .seren-arrow { color: rgba(244, 114, 182, .5); font-size: 0.9rem; font-weight: 800; } +.seren-row .seren-eta { font-size: 0.78rem; font-weight: 800; color: rgb(244, 114, 182); white-space: nowrap; margin-left: auto; } +.seren-row .seren-eta .eta-need, .level-row .level-eta .eta-need { display: inline-flex; align-items: center; gap: 3px; padding: 2px 7px; border-radius: 8px; font-size: 0.7rem; opacity: .7; } +.seren-row .eta-need { background: rgba(244, 114, 182, .12); border: 1px solid rgba(244, 114, 182, .25); } +.level-row .eta-need { background: rgba(251, 146, 60, .12); border: 1px solid rgba(251, 146, 60, .25); } +.dd-card .seren-row .eta-need, .dd-card .level-row .eta-need { background: none; border: none; padding: 0; } + +/* LEVEL TARGET ROW */ +.level-row { display: flex; align-items: center; gap: 6px; padding: 6px 10px; margin: -4px 0 8px; border-radius: 10px; background: rgba(251, 146, 60, .06); border: 1px solid rgba(251, 146, 60, .18); } +.level-row .level-icon { font-size: 1rem; flex-shrink: 0; } +.level-row .level-lbl { font-size: 0.75rem; color: rgba(251, 146, 60, .7); font-weight: 700; white-space: nowrap; } +.level-row input { background: rgba(251, 146, 60, .08); border: 1.5px solid rgba(251, 146, 60, .3); color: rgb(251, 146, 60); font: 800 0.82rem 'Nunito', sans-serif; width: 52px; text-align: center; padding: 3px 4px; border-radius: 8px; transition: border-color .2s; } +.level-row input:focus { outline: none; border-color: rgb(251, 146, 60); background: rgba(251, 146, 60, .14); } +.level-row .level-arrow { color: rgba(251, 146, 60, .5); font-size: 0.9rem; font-weight: 800; } +.level-row .level-eta { font-size: 0.78rem; font-weight: 800; color: rgb(251, 146, 60); white-space: nowrap; margin-left: auto; } + +/* Sidebar */ +.sidebar-toggle { position: fixed; top: 12px; left: 12px; z-index: 1100; background: var(--bg3); border: 1px solid var(--border); border-radius: 8px; color: var(--text); font-size: 1.3rem; padding: 6px 10px; cursor: pointer; transition: background .2s; line-height: 1; } +.sidebar-toggle:hover { background: var(--bg4); } +.sidebar-overlay { position: fixed; inset: 0; background: rgba(0, 0, 0, .5); z-index: 1200; opacity: 0; pointer-events: none; transition: opacity .25s; } +.sidebar-overlay.open { opacity: 1; pointer-events: all; } +.sidebar { position: fixed; top: 0; left: -280px; width: 270px; height: 100%; background: var(--bg2); border-right: 1px solid var(--border); z-index: 1300; transition: left .25s; padding: 60px 0 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 2px; } +.sidebar.open { left: 0; } +.sidebar-item { display: flex; align-items: center; gap: 10px; padding: 10px 20px; color: var(--muted); font-size: .88rem; font-weight: 600; cursor: pointer; transition: background .15s, color .15s; border-left: 3px solid transparent; background: transparent; border-top: none; border-right: none; border-bottom: none; width: 100%; text-align: left; } +.sidebar-item:hover { background: var(--bg3); color: var(--text); } +.sidebar-item.active { color: var(--text); border-left-color: var(--ok); background: var(--bg3); } +.sidebar-sep { height: 1px; background: var(--border); margin: 8px 16px; } +.sidebar-label { padding: 8px 20px; font-size: .7rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1.5px; color: var(--muted); opacity: .6; } + +/* Accouplement — styles migrés vers obsidienne.css */ + +/* DASHBOARD COMPONENT */ +.dash-section-title { font-family: 'Cinzel', serif; font-size: 0.76rem; letter-spacing: 2.5px; text-transform: uppercase; color: var(--muted); margin-bottom: 14px; } +.dash-gauges { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; margin-bottom: 10px; min-height: 26px; } +.dash-gauge-tag { font-size: 0.83rem; font-weight: 700; padding: 2px 10px; border-radius: 12px; border: 1px solid; } +.dash-val-sm { font-family: 'Cinzel', serif; font-size: 1.1rem; font-weight: 700; margin-top: 2px; } +.dash-elapsed { font-family: 'Cinzel', serif; font-size: 1.05rem; color: var(--ok); margin-top: 2px; margin-bottom: 12px; } +.dash-stats-section { background: var(--bg2); border: 1px solid var(--border); border-radius: var(--r); padding: 20px; margin-top: 4px; } +.dash-stats-title-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; } +.dash-stats-title { font-family: 'Cinzel', serif; font-size: 0.75rem; letter-spacing: 2.5px; text-transform: uppercase; color: var(--muted); } +.dash-reset-btn { padding: 8px 16px; border-radius: 8px; border: 1px solid rgba(255,80,112,.4); background: rgba(255,80,112,.08); color: var(--amour); cursor: pointer; font: 700 0.88rem 'Nunito', sans-serif; transition: .18s; } +.dash-reset-btn * { pointer-events: none; } +.dash-reset-btn:hover { background: rgba(255,80,112,.18); border-color: var(--amour); color: #fff; } +.dash-kpi-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 12px; margin-bottom: 16px; } +.dash-kpi { background: var(--bg3); border-radius: 9px; padding: 14px; text-align: center; } +.dash-kpi-value { font-family: 'Cinzel', serif; font-size: 2rem; font-weight: 700; color: var(--ser); } +.dash-kpi-label { font-size: 0.8rem; color: var(--muted); margin-top: 4px; } +.dash-histogram { display: flex; flex-direction: column; gap: 8px; } +.dash-hist-row { display: flex; align-items: center; gap: 10px; } +.dash-hist-label { min-width: 120px; font-size: 0.85rem; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } +.dash-hist-bar-wrap { flex: 1; height: 14px; background: var(--bg4); border-radius: 7px; overflow: hidden; } +.dash-hist-bar { height: 100%; border-radius: 7px; transition: width .5s; min-width: 4px; } +.dash-hist-count { min-width: 28px; text-align: right; font-size: 0.85rem; font-weight: 700; color: var(--text); } + +/* ENCLOS VIEW COMPONENT */ +.enclos-view { display: flex; flex-direction: column; gap: 18px; } +.enclos-header { display: flex; align-items: center; gap: 16px; } +.enclos-name { background: transparent; border: none; border-bottom: 2px solid var(--border); color: var(--text); font-family: 'Cinzel', serif; font-size: 1.5rem; font-weight: 700; padding: 4px 6px; width: 260px; min-width: 120px; } +.enclos-name:focus { outline: none; border-bottom-color: var(--ser); } +.clear-enclos-btn { padding: 7px 14px; border-radius: 8px; border: 1px solid var(--border); background: var(--bg3); color: var(--muted); cursor: pointer; font: 700 0.88rem 'Nunito', sans-serif; transition: .15s; white-space: nowrap; } +.clear-enclos-btn * { pointer-events: none; } +.clear-enclos-btn:hover { border-color: var(--amour); color: var(--amour); } +.gauge-toggles { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 16px; } +.gauge-configs { display: flex; gap: 14px; flex-wrap: wrap; } +.gauge-config { flex: 1; min-width: 240px; background: var(--bg3); border: 1px solid var(--border); border-radius: 9px; padding: 16px; } +.gauge-config-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; font-weight: 800; font-size: 1.05rem; } +.gauge-level-input { width: 100%; background: var(--bg2); border: 1px solid var(--border); border-radius: 7px; color: var(--text); padding: 8px 12px; font: 700 1rem 'Nunito', sans-serif; margin-bottom: 10px; } +.gauge-level-input:focus { outline: none; border-color: var(--ser); } +.gauge-bar { height: 7px; background: var(--bg4); border-radius: 4px; margin-top: 6px; overflow: hidden; } +.gauge-fill { height: 100%; border-radius: 4px; transition: width .5s; } +.gauge-empty-info { font-size: 0.82rem; color: var(--muted); margin-top: 6px; } +.timer-controls { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; } +.timer-display { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; } +.timer-elapsed { font-family: 'Cinzel', serif; font-size: 1.8rem; letter-spacing: 2px; } +.timer-countdown { font-family: 'Cinzel', serif; font-size: 1.2rem; color: var(--muted); } +.timer-btn { padding: 11px 22px; border-radius: 9px; border: none; font: 800 1rem 'Nunito', sans-serif; cursor: pointer; transition: .15s; background: linear-gradient(135deg, #5020b0, var(--ser)); color: #fff; } +.timer-btn:hover { opacity: .85; } +.timer-btn.running { background: linear-gradient(135deg, #7a3000, #ff8020); } +.timer-btn.paused { background: var(--bg3); color: var(--text); border: 1px solid var(--border); } +.timer-reset-btn { padding: 11px 18px; border-radius: 9px; border: 1px solid var(--border); background: var(--bg3); color: var(--text); font: 700 0.95rem 'Nunito', sans-serif; cursor: pointer; transition: .15s; } +.timer-reset-btn:hover { background: var(--bg4); } +.done-text { font-family: 'Cinzel', serif; font-size: 1.1rem; font-weight: 700; color: var(--ok); } +.done-reset-btn { padding: 10px 20px; border-radius: 9px; border: none; background: linear-gradient(135deg, #005040, var(--ok)); color: #000; font: 800 0.95rem 'Nunito', sans-serif; cursor: pointer; transition: .15s; } +.done-reset-btn:hover { opacity: .85; } +.dd-section { display: flex; flex-direction: column; gap: 12px; } +.dd-count { font-size: 0.85rem; font-weight: 700; color: var(--muted); } + +/* SIDEBAR COMPONENT */ +.sidebar-content { display: flex; flex-direction: column; } +.sidebar-separator { height: 1px; background: var(--border); margin: 8px 16px; } +.sidebar-icon { font-size: 1.1rem; flex-shrink: 0; } +.sidebar-text { flex: 1; } +.sidebar-dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; background: transparent; } +.dot-running { background: var(--ok); box-shadow: 0 0 5px var(--ok); animation: pulse 1.2s infinite; } +.dot-idle { background: transparent; } + +/* VIEW WRAPPERS */ +.parametres-view { display: flex; flex-direction: column; gap: 16px; } +/* .reappro-view migré vers obsidienne.css (.reappro-view-new) */ +/* .accouplement-view migré vers obsidienne.css (.accoup-view) */ +/* .inventaire-view migré vers obsidienne.css (.inv-view-new) */ + +/* WORKFLOWS VIEW */ +/* .workflows-view migré vers obsidienne.css (.wf-view-new) */ +.workflow-card:hover { border-color: var(--ser) !important; } +.workflow-list { display: flex; flex-direction: column; gap: 10px; } +.workflow-item { background: var(--bg2); border: 1px solid var(--border); border-radius: 10px; padding: 16px 18px; cursor: pointer; transition: border-color .2s; display: flex; align-items: center; gap: 14px; } +.workflow-item:hover { border-color: var(--ser); } +.workflow-item-info { flex: 1; } +.workflow-item-name { font-family: 'Cinzel', serif; font-size: 1rem; font-weight: 700; margin-bottom: 4px; } +.workflow-item-meta { font-size: 0.82rem; color: var(--muted); } +.workflow-item-progress { text-align: right; } +.workflow-progress-pct { font-family: 'Cinzel', serif; font-size: 1.1rem; font-weight: 700; color: var(--ok); } +.workflow-detail { display: flex; flex-direction: column; gap: 14px; } +.workflow-detail-header { display: flex; align-items: center; gap: 12px; margin-bottom: 4px; } +.workflow-back-btn { padding: 8px 14px; border-radius: 8px; border: 1px solid var(--border); background: var(--bg3); color: var(--muted); cursor: pointer; font: 700 0.9rem 'Nunito', sans-serif; transition: .15s; } +.workflow-back-btn:hover { background: var(--bg4); color: var(--text); } +.workflow-detail-title { font-family: 'Cinzel', serif; font-size: 1.3rem; font-weight: 700; flex: 1; } +.workflow-delete-btn { padding: 8px 14px; border-radius: 8px; border: 1px solid var(--amour); background: transparent; color: var(--amour); cursor: pointer; font: 700 0.9rem 'Nunito', sans-serif; transition: .15s; } +.workflow-delete-btn:hover { background: rgba(255,80,112,.1); } +.workflow-steps { display: flex; flex-direction: column; gap: 8px; } +.workflow-step { background: var(--bg2); border: 1px solid var(--border); border-radius: 9px; padding: 14px 16px; display: flex; align-items: flex-start; gap: 12px; } +.workflow-step.done { border-color: var(--ok); background: rgba(40,232,136,.04); } +.workflow-step-icon { font-size: 1.1rem; flex-shrink: 0; margin-top: 2px; } +.workflow-step-info { flex: 1; } +.workflow-step-name { font-weight: 700; font-size: 0.95rem; margin-bottom: 3px; } +.workflow-step-meta { font-size: 0.82rem; color: var(--muted); } +.workflow-step-actions { display: flex; gap: 6px; align-items: center; flex-shrink: 0; } +.workflow-step-dec, .workflow-step-inc { width: 28px; height: 28px; border-radius: 7px; border: 1px solid var(--border); background: var(--bg3); color: var(--text); cursor: pointer; font: 700 1rem 'Nunito', sans-serif; display: flex; align-items: center; justify-content: center; transition: .15s; } +.workflow-step-dec:hover, .workflow-step-inc:hover { background: var(--bg4); border-color: var(--ser); } +.workflow-step-count { min-width: 40px; text-align: center; font-size: 0.85rem; font-weight: 700; } +.workflow-add-btn { padding: 11px 18px; border-radius: 9px; border: 1px dashed var(--border); background: transparent; color: var(--muted); cursor: pointer; font: 700 0.95rem 'Nunito', sans-serif; transition: .15s; align-self: flex-start; } +.workflow-add-btn:hover { border-color: var(--ser); color: var(--ser); } +.workflow-empty { text-align: center; padding: 30px; color: var(--muted); font-style: italic; } + +/* DRAGODINDE CARD COMPONENT */ +.dd-done-badge { display: none; position: absolute; top: -10px; right: 14px; background: var(--ok); color: #000; font-size: 0.72rem; font-weight: 800; padding: 3px 12px; border-radius: 20px; } +.dd-card.done .dd-done-badge { display: block; } +.dd-del-btn { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 1rem; padding: 4px 7px; border-radius: 5px; } +.dd-del-btn:hover { color: var(--amour); background: rgba(255,80,112,.1); } +.dd-gauge-blocks { display: flex; flex-direction: column; gap: 10px; margin-top: 6px; } +/* Aliases for stat-blk sub-elements */ +.stat-blk-label { font-size: 0.8rem; font-weight: 800; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 5px; color: var(--muted); } +.stat-blk-live { font-family: 'Cinzel', serif; font-size: 1.2rem; font-weight: 700; } +.stat-blk-delta { font-size: 0.88rem; font-weight: 800; color: var(--muted); } +.stat-blk-cd { font-size: 0.9rem; font-weight: 800; text-align: right; } +.stat-blk-bar { height: 6px; background: var(--bg4); border-radius: 3px; margin-top: 6px; overflow: hidden; } +.stat-blk-fill { height: 100%; border-radius: 3px; transition: width .5s; background: var(--ser); } +/* Seren/level target row icon/label/eta */ +.target-icon { font-size: 1rem; flex-shrink: 0; } +.target-label { font-size: 0.75rem; font-weight: 700; white-space: nowrap; } +.target-input { width: 62px; text-align: center; padding: 3px 4px; border-radius: 8px; font: 800 0.82rem 'Nunito', sans-serif; } +.target-eta { font-size: 0.78rem; font-weight: 800; white-space: nowrap; margin-left: auto; } + +/* HEADER LAYOUT */ +header { display: flex; align-items: center; gap: 12px; padding: 10px 0 6px; padding-left: 50px; } +.hamburger { position: fixed; top: 12px; left: 12px; z-index: 1100; background: var(--bg3); border: 1px solid var(--border); border-radius: 8px; color: var(--text); font-size: 1.3rem; padding: 6px 11px; cursor: pointer; transition: background .2s; flex-shrink: 0; } +.hamburger:hover { background: var(--bg4); } +.header-text { flex: 1; text-align: center; } +.header-text h1 { font-family: 'Cinzel', serif; font-size: 2.4rem; font-weight: 700; color: var(--text); letter-spacing: 0.12em; text-transform: uppercase; margin: 0; line-height: 1.2; } +.header-text h1 .icon { text-transform: none; letter-spacing: 0; margin-right: 6px; } +.header-text p { font-size: 0.78rem; color: var(--muted); margin: 3px 0 0; letter-spacing: 0.03em; } +.header-ver { color: var(--ser); font-weight: 700; } + +/* UPDATE BANNER additional states/elements */ +.update-banner.ready { display: flex; background: rgba(40, 232, 136, .08); border-color: var(--ok); } +.update-text { flex: 1; font-weight: 700; font-size: 0.9rem; } +.update-hint { font-size: 0.82rem; color: var(--muted); } +.update-percent { font-size: 0.82rem; color: var(--ok); font-weight: 800; white-space: nowrap; } +.update-install-btn { padding: 8px 16px; border-radius: 8px; border: none; font: 800 0.88rem 'Nunito', sans-serif; cursor: pointer; background: linear-gradient(135deg, #005040, var(--ok)); color: #000; white-space: nowrap; } +.update-install-btn:hover { opacity: .85; } +.update-error-msg { font-size: 0.82rem; color: var(--amour); flex: 1; } +.update-dismiss-btn { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 1.1rem; padding: 2px 8px; border-radius: 5px; } +.update-dismiss-btn:hover { color: var(--amour); } + +/* GAUGE PILL */ +.gauge-pill { background: var(--bg3); border: 1px solid var(--border); border-radius: 9px; padding: 12px 14px; } +.gauge-pill-header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 8px; font-weight: 800; font-size: 1rem; } +.gauge-pill-bar { height: 7px; background: var(--bg4); border-radius: 4px; overflow: hidden; margin-bottom: 6px; } +.gauge-pill-fill { height: 100%; border-radius: 4px; background: var(--ser); transition: width .5s; } +.gauge-pill-info { font-size: 0.82rem; color: var(--muted); } + +/* REAPPRO extras migrés vers obsidienne.css */ + +/* BTN ALIASES */ +.btn-ok { background: linear-gradient(135deg, #005040, var(--ok)); color: #000; padding: 11px 22px; border-radius: 9px; border: none; font: 800 1rem 'Nunito', sans-serif; cursor: pointer; transition: .15s; } +.btn-ok:hover { opacity: .85; } diff --git a/src/presentation/styles/index.css b/src/presentation/styles/index.css new file mode 100644 index 0000000..0097cc6 --- /dev/null +++ b/src/presentation/styles/index.css @@ -0,0 +1,4 @@ +@import './variables.css'; +@import './base.css'; +@import './components.css'; +@import './obsidienne.css'; diff --git a/src/presentation/styles/obsidienne.css b/src/presentation/styles/obsidienne.css new file mode 100644 index 0000000..2c9782b --- /dev/null +++ b/src/presentation/styles/obsidienne.css @@ -0,0 +1,5263 @@ +/* ================================================================ + OBSIDIENNE DESIGN SYSTEM + Material Design 3 tokens + glassmorphism pour L'Archive d'Obsidienne + ================================================================ */ + +/* --- Material Symbols Outlined --- */ +.material-symbols-outlined { + font-family: 'Material Symbols Outlined'; + font-weight: normal; + font-style: normal; + font-size: 20px; + line-height: 1; + letter-spacing: normal; + text-transform: none; + display: inline-block; + white-space: nowrap; + word-wrap: normal; + direction: ltr; + -webkit-font-feature-settings: 'liga'; + font-feature-settings: 'liga'; + -webkit-font-smoothing: antialiased; + font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; +} +.mso-fill { font-variation-settings: 'FILL' 1, 'wght' 400, 'GRAD' 0, 'opsz' 24; } + +/* --- Zoom global --- */ +html { + zoom: 1.15; +} + +/* --- Body override for new shell --- */ +body { + padding: 0 !important; + overflow: hidden !important; + height: 100vh; + margin: 0; + background: radial-gradient(circle at top right, #1e1b4b, #0a0a0f) !important; + font-family: 'Inter', 'Nunito', sans-serif !important; +} + +/* --- App Shell --- */ +.app-shell { + display: flex; + height: calc(100vh / 1.15); + overflow: hidden; +} + +/* --- Main Area --- */ +.main-area { + flex: 1; + display: flex; + flex-direction: column; + overflow: hidden; + min-width: 0; + min-height: 0; + padding-left: 16px; +} + +/* --- Main Content --- */ +.main-content { + flex: 1; + min-height: 0; + overflow-y: auto; + padding: 20px 28px 80px 12px; +} + +/* Scrollbar custom */ +.custom-scrollbar::-webkit-scrollbar { width: 4px; } +.custom-scrollbar::-webkit-scrollbar-track { background: transparent; } +.custom-scrollbar::-webkit-scrollbar-thumb { background: rgba(203, 151, 255, 0.1); border-radius: 10px; } +.custom-scrollbar::-webkit-scrollbar-thumb:hover { background: rgba(203, 151, 255, 0.2); } + +/* ================================================================ + HEADER BARRE DU HAUT + ================================================================ */ + +/* Override des styles de l'ancien header centré */ +.app-shell header, +.app-shell header h1, +.app-shell header p { + all: unset; +} + +.app-header { + display: flex; + align-items: center; + gap: 14px; + padding: 10px 28px 10px 12px; + background: rgba(28, 23, 36, 0.7); + backdrop-filter: blur(16px); + border-bottom: 1px solid rgba(255, 255, 255, 0.06); + flex-shrink: 0; +} + +.app-hamburger { + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.1); + color: #b0a8b6; + cursor: pointer; + width: 34px; + height: 34px; + border-radius: 8px; + font-size: 15px; + display: flex; + align-items: center; + justify-content: center; + transition: background 0.2s, color 0.2s, border-color 0.2s; + flex-shrink: 0; + line-height: 1; + margin-top: 8px; +} + +.app-hamburger:hover { + background: rgba(203, 151, 255, 0.1); + color: #cb97ff; + border-color: rgba(203, 151, 255, 0.3); +} + +.app-header-text { + flex: 1; + display: flex; + flex-direction: column; + align-items: center; +} + +.app-title { + font-family: 'Cinzel', serif !important; + font-size: 1.9rem !important; + font-weight: 700 !important; + letter-spacing: 5px !important; + background: linear-gradient(130deg, #c060ff, #f0bf30) !important; + -webkit-background-clip: text !important; + -webkit-text-fill-color: transparent !important; + background-clip: text !important; + display: block !important; +} + +.app-subtitle { + font-family: 'Inter', 'Nunito', sans-serif !important; + font-size: 11px !important; + color: #6868a0 !important; + margin-top: 2px !important; + display: block !important; +} + +.header-ver { + color: #b0a8b6; +} + +/* ================================================================ + SIDEBAR NOUVELLE VERSION + ================================================================ */ + +.sidebar-new { + width: 256px; + flex-shrink: 0; + height: calc(100vh / 1.15); + display: flex; + flex-direction: column; + padding: 24px 0 0; + background: radial-gradient(circle at top right, #1e1b4b, #0a0a0f); + border-right: 1px solid rgba(203, 151, 255, 0.12); + box-shadow: 4px 0 32px rgba(0, 0, 0, 0.6), inset -1px 0 0 rgba(203, 151, 255, 0.05); + font-family: 'Manrope', 'Nunito', sans-serif; + position: relative; + z-index: 10; + overflow: hidden; + max-width: 256px; + transition: max-width 0.28s ease, opacity 0.22s ease, padding 0.28s ease; +} + +.sidebar-new.sidebar-closed { + max-width: 0; + opacity: 0; + padding-left: 0; + padding-right: 0; +} + +/* Header */ +.sb-header { + padding: 0 24px; + margin-bottom: 40px; + display: flex; + align-items: center; + gap: 16px; +} + +.sb-logo-wrap { + width: 64px; + height: 64px; + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: center; +} + +.sb-logo-img { + width: 64px; + height: 64px; + object-fit: contain; + border-radius: 14px; +} + +.sb-brand { + display: flex; + flex-direction: column; +} + +.sb-brand-name { + font-size: 19px; + font-weight: 700; + color: rgb(196, 181, 253); + letter-spacing: -0.05em; + line-height: 1.2; +} + +.sb-brand-sub { + font-size: 9px; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.2em; + color: rgba(176, 168, 182, 0.5); + margin-top: 2px; +} + +/* Nav */ +.sb-nav { + flex: 1; + padding: 0 12px; + display: flex; + flex-direction: column; + gap: 28px; + overflow-y: auto; +} + +.sb-nav::-webkit-scrollbar { width: 3px; } +.sb-nav::-webkit-scrollbar-track { background: transparent; } +.sb-nav::-webkit-scrollbar-thumb { background: rgba(203, 151, 255, 0.1); border-radius: 10px; } + +.sb-section { + display: flex; + flex-direction: column; + gap: 2px; +} + +.sb-section-head { + display: flex; + align-items: center; + justify-content: space-between; + padding: 0 16px; + margin-bottom: 6px; +} + +.sb-section-label { + font-size: 10px; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.2em; + color: rgba(176, 168, 182, 0.35); +} + +.sb-add-btn { + background: none; + border: none; + color: rgba(176, 168, 182, 0.4); + cursor: pointer; + padding: 3px 6px; + border-radius: 6px; + font-size: 11px; + line-height: 1; + font-weight: 700; + font-family: 'Manrope', sans-serif; + transition: color 0.2s, background 0.2s; + display: flex; + align-items: center; + gap: 3px; +} + +.sb-add-btn:hover { + color: #cb97ff; + background: rgba(203, 151, 255, 0.1); +} + +.sb-add-btn:disabled { + opacity: 0.3; + cursor: not-allowed; +} + +/* Sidebar item */ +.sb-item { + position: relative; + display: flex; + align-items: center; + gap: 12px; + padding: 11px 16px; + border-radius: 12px; + color: rgba(148, 163, 184, 0.75); + background: none; + border: none; + cursor: pointer; + width: 100%; + text-align: left; + transition: background 0.2s, color 0.2s; + font-family: 'Manrope', 'Nunito', sans-serif; +} + +.sb-item:hover { + background: rgba(255, 255, 255, 0.05); + color: rgb(221, 214, 254); +} + +.sb-item.active { + background: rgba(255, 255, 255, 0.05); + color: rgb(203, 151, 255); +} + +.sb-item.active::before { + content: ''; + position: absolute; + left: 4px; + top: 50%; + transform: translateY(-50%); + width: 3px; + height: 28px; + background: rgb(139, 92, 246); + border-radius: 9999px; +} + +.sb-item-icon { + font-size: 18px; + color: rgba(167, 139, 250, 0.45); + flex-shrink: 0; + transition: color 0.2s; +} + +.sb-item.active .sb-item-icon, +.sb-item:hover .sb-item-icon { + color: rgb(167, 139, 250); +} + +.sb-item-text { + flex: 1; + font-size: 13px; + font-weight: 500; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + line-height: 1.3; +} + +.sb-item.active .sb-item-text { + font-weight: 600; +} + +/* Dot */ +.sb-dot { + width: 7px; + height: 7px; + border-radius: 50%; + flex-shrink: 0; + transition: background 0.3s; +} + +.sb-dot.running { + background: #22c55e; + box-shadow: 0 0 6px rgba(34, 197, 94, 0.5); + animation: sb-pulse 1.2s infinite; +} + +.sb-dot.idle { + background: rgba(100, 116, 139, 0.6); +} + +@keyframes sb-pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.35; } +} + +/* Delete button */ +.sb-del-btn { + background: none; + border: none; + color: rgba(176, 168, 182, 0.35); + cursor: pointer; + padding: 2px 4px; + border-radius: 4px; + font-size: 11px; + line-height: 1; + opacity: 0; + transition: opacity 0.15s, color 0.15s, background 0.15s; + flex-shrink: 0; + display: flex; + align-items: center; +} + +.sb-item:hover .sb-del-btn { + opacity: 1; +} + +.sb-del-btn:hover { + color: #ff5070; + background: rgba(255, 80, 112, 0.12); +} + +/* Footer */ +.sb-footer { + padding: 12px 12px 16px; + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin-top: auto; + flex-shrink: 0; +} + +.sb-version { + display: flex; + align-items: center; + gap: 8px; + padding: 6px 16px; + color: rgba(176, 168, 182, 0.35); + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + font-size: 9px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.12em; +} + +.sb-version .material-symbols-outlined { + font-size: 13px; +} + +/* ================================================================ + UPDATE BANNER — NOUVELLE VERSION + ================================================================ */ + +.update-banner-new { + display: none; + align-items: center; + gap: 12px; + padding: 10px 24px; + background: rgba(28, 23, 36, 0.95); + backdrop-filter: blur(12px); + border-bottom: 1px solid rgba(203, 151, 255, 0.15); + font-family: 'Inter', 'Nunito', sans-serif; + font-size: 13px; + flex-shrink: 0; +} + +.update-banner-new.available, +.update-banner-new.downloading, +.update-banner-new.ready, +.update-banner-new.error { + display: flex; +} + +.upd-dot { + width: 7px; + height: 7px; + border-radius: 50%; + flex-shrink: 0; +} + +.update-banner-new.available .upd-dot { background: #cb97ff; } +.update-banner-new.downloading .upd-dot { background: #f59e0b; animation: sb-pulse 1s infinite; } +.update-banner-new.ready .upd-dot { background: #22c55e; } +.update-banner-new.error .upd-dot { background: #ff6e84; } + +.upd-text { + flex: 1; + color: rgba(176, 168, 182, 0.9); + font-weight: 500; +} + +.upd-bar-wrap { + width: 180px; + height: 4px; + background: rgba(203, 151, 255, 0.12); + border-radius: 9999px; + overflow: hidden; + flex-shrink: 0; +} + +.upd-bar-fill { + height: 100%; + background: #cb97ff; + border-radius: 9999px; + transition: width 0.3s; +} + +.upd-percent { + font-weight: 700; + color: #cb97ff; + min-width: 32px; + text-align: right; + font-size: 12px; +} + +.upd-install-btn { + padding: 5px 14px; + border-radius: 999px; + background: linear-gradient(135deg, #cb97ff, #c185fd); + color: #46007c; + border: none; + font-weight: 700; + font-size: 12px; + cursor: pointer; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + box-shadow: 0 4px 12px rgba(203, 151, 255, 0.25); + transition: opacity 0.15s, transform 0.1s; +} + +.upd-install-btn:hover { opacity: 0.9; transform: scale(1.02); } +.upd-install-btn:active { transform: scale(0.98); } + +.upd-dismiss-btn { + background: none; + border: none; + color: rgba(176, 168, 182, 0.5); + cursor: pointer; + font-size: 14px; + padding: 2px 4px; + line-height: 1; + transition: color 0.15s; +} + +.upd-dismiss-btn:hover { color: #ff6e84; } + +/* ================================================================ + DASHBOARD NOUVELLE VERSION + ================================================================ */ + +.dash-new { + display: flex; + flex-direction: column; + gap: 40px; + font-family: 'Inter', 'Nunito', sans-serif; +} + +/* Section header */ +.dash-section-hd { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 20px; +} + +.dash-section-lbl { + font-size: 10px; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.2em; + color: rgba(176, 168, 182, 0.7); +} + +.dash-reset-btn-new { + display: flex; + align-items: center; + gap: 6px; + font-size: 13px; + font-weight: 700; + color: #f43f5e; + background: none; + border: none; + cursor: pointer; + font-family: 'Manrope', 'Nunito', sans-serif; + transition: color 0.15s; +} + +.dash-reset-btn-new .material-symbols-outlined { font-size: 15px; } +.dash-reset-btn-new:hover { color: #fb7185; } + +/* KPI Grid */ +.dash-kpi-grid-new { + display: grid; + grid-template-columns: repeat(5, 1fr); + gap: 20px; +} + +.dash-kpi-card { + background: rgba(23, 23, 33, 0.6); + backdrop-filter: blur(12px); + border: 1px solid rgba(203, 151, 255, 0.12); + border-radius: 16px; + padding: 22px; + transition: border-color 0.2s; +} + +.dash-kpi-card:hover { border-color: rgba(203, 151, 255, 0.3); } + +.dash-kpi-lbl { + font-size: 13px; + color: rgba(176, 168, 182, 0.75); + margin-bottom: 10px; + font-weight: 400; +} + +.dash-kpi-val { + font-family: 'Cinzel', serif; + font-size: 48px; + font-weight: 700; + color: #cb97ff; + line-height: 1; +} + +/* Two-column layout */ +.dash-two-col { + display: grid; + grid-template-columns: 1fr 320px; + gap: 40px; + align-items: start; +} + +/* Enclos grid */ +.dash-enc-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 20px; +} + +.dash-enc-card { + background: rgba(23, 23, 33, 0.6); + backdrop-filter: blur(12px); + border: 1px solid rgba(203, 151, 255, 0.12); + border-radius: 20px; + padding: 28px; + display: flex; + flex-direction: column; + gap: 20px; + cursor: pointer; + transition: border-color 0.2s; +} + +.dash-enc-card:hover { border-color: rgba(203, 151, 255, 0.35); } +.dash-enc-card.running { box-shadow: 0 0 0 1px rgba(203, 151, 255, 0.15); } +.dash-enc-card.done-enc { border-color: rgba(34, 197, 94, 0.3); } + +.dash-enc-header-row { + display: flex; + justify-content: space-between; + align-items: flex-start; +} + +.dash-enc-name-new { + font-family: 'Cinzel', serif; + font-size: 18px; + font-weight: 700; + letter-spacing: 0.04em; + color: #f1e8f7; +} + +.dash-enc-status-badge { + display: flex; + align-items: center; + gap: 6px; + font-size: 11px; + font-weight: 700; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; +} + +.dash-enc-dot { + width: 7px; + height: 7px; + border-radius: 50%; + flex-shrink: 0; +} + +.dash-enc-dot.running { background: #22c55e; animation: sb-pulse 1.2s infinite; } +.dash-enc-dot.paused { background: #f59e0b; } +.dash-enc-dot.idle { background: #64748b; } + +.dash-enc-status-badge.running { color: #22c55e; } +.dash-enc-status-badge.paused { color: #f59e0b; } +.dash-enc-status-badge.idle { color: #64748b; } + +.dash-enc-meta-row { + display: flex; + justify-content: space-between; + align-items: flex-end; +} + +.dash-enc-dd-block .dd-count-big { + font-family: 'Cinzel', serif; + font-size: 38px; + font-weight: 700; + line-height: 1; + color: #f1e8f7; +} + +.dash-enc-dd-block .dd-count-sub { + font-size: 10px; + text-transform: uppercase; + letter-spacing: 0.1em; + color: rgba(176, 168, 182, 0.55); + margin-top: 4px; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + font-weight: 700; +} + +.dash-enc-times { + text-align: right; + display: flex; + flex-direction: column; + gap: 5px; +} + +.dash-enc-time-row { + display: flex; + align-items: center; + justify-content: flex-end; + gap: 6px; + font-size: 11px; + font-weight: 700; +} + +.dash-enc-time-row.primary { color: #cb97ff; } +.dash-enc-time-row.muted { color: rgba(176, 168, 182, 0.55); } +.dash-enc-time-row .material-symbols-outlined { font-size: 13px; } + +.dash-enc-gauges-row { + display: flex; + flex-wrap: wrap; + gap: 7px; +} + +.dash-enc-gauge-tag { + padding: 5px 10px; + border-radius: 7px; + font-size: 11px; + font-weight: 700; + display: flex; + align-items: center; + gap: 5px; + border: 1px solid; + font-family: 'Inter', 'Nunito', sans-serif; +} +.dash-enc-gauge-tag.dash-gauge-empty { + animation: gauge-alert-pulse 1.5s ease-in-out infinite; +} + +.dash-enc-no-gauge { + font-size: 12px; + color: rgba(176, 168, 182, 0.4); + font-style: italic; +} + +.dash-enc-btn { + width: 100%; + padding: 12px; + background: rgba(255, 255, 255, 0.04); + border: 1px solid rgba(255, 255, 255, 0.06); + border-radius: 10px; + color: rgb(203, 213, 225); + font-size: 13px; + font-weight: 700; + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + transition: background 0.2s, color 0.2s, border-color 0.2s; + font-family: 'Manrope', 'Nunito', sans-serif; +} + +.dash-enc-btn:hover { + background: rgba(203, 151, 255, 0.15); + color: #cb97ff; + border-color: rgba(203, 151, 255, 0.2); +} + +.dash-enc-btn.btn-active { + background: #cb97ff; + color: #46007c; + border-color: transparent; + box-shadow: 0 4px 16px rgba(203, 151, 255, 0.3); +} + +.dash-enc-btn .material-symbols-outlined { font-size: 14px; } + +/* Race progression panel */ +.dash-race-panel { + background: rgba(23, 23, 33, 0.6); + backdrop-filter: blur(12px); + border: 1px solid rgba(203, 151, 255, 0.12); + border-radius: 20px; + padding: 24px; + display: flex; + flex-direction: column; + gap: 20px; + overflow-y: auto; + max-height: calc(100vh - 300px); +} + +.dash-race-panel::-webkit-scrollbar { width: 3px; } +.dash-race-panel::-webkit-scrollbar-track { background: transparent; } +.dash-race-panel::-webkit-scrollbar-thumb { background: rgba(203, 151, 255, 0.1); border-radius: 10px; } + +.dash-race-row { + display: flex; + flex-direction: column; + gap: 8px; +} + +.dash-race-row-hd { + display: flex; + justify-content: space-between; + font-size: 11px; + font-weight: 800; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + text-transform: uppercase; + letter-spacing: 0.06em; +} + +.dash-race-bar-bg { + width: 100%; + height: 8px; + background: rgba(15, 23, 42, 0.8); + border-radius: 9999px; + overflow: hidden; + border: 1px solid rgba(255, 255, 255, 0.04); +} + +.dash-race-bar-fill { + height: 100%; + border-radius: 9999px; + transition: width 0.5s; +} + +.dash-race-empty { + font-size: 12px; + color: rgba(176, 168, 182, 0.4); + font-style: italic; + text-align: center; + padding: 16px 0; +} + +/* ================================================================ + TABS ROW — ESPACEMENT + DRAG-AND-DROP INDICATEUR + ================================================================ */ + +/* Padding aligné avec le header (16px vient déjà du main-area) */ +.main-area .tabs-row { + padding: 8px 28px 0 12px; + gap: 6px; +} + +/* Tab : position relative nécessaire pour le pseudo-élément d'insertion */ +.main-area .tab { + position: relative; +} + +/* Indicateur de position lors du drag-and-drop : + barre violette sur le côté gauche du tab cible */ +.main-area .tab.drag-over::before { + content: ''; + position: absolute; + left: -4px; + top: 4px; + bottom: 4px; + width: 3px; + background: #cb97ff; + border-radius: 3px; + box-shadow: 0 0 10px rgba(203, 151, 255, 0.8), 0 0 20px rgba(203, 151, 255, 0.4); + z-index: 1; +} + +/* Tab en cours de déplacement : fantôme translucide */ +.main-area .tab.dragging { + opacity: 0.3; + transform: scale(0.94); + border-style: dashed; + border-color: rgba(203, 151, 255, 0.4) !important; + box-shadow: none !important; +} + +/* Override : surbrillance drag-over plus visible */ +.main-area .tab.drag-over { + background: rgba(203, 151, 255, 0.08) !important; + border-color: #cb97ff !important; + box-shadow: 0 0 0 1px rgba(203, 151, 255, 0.3) !important; + transform: translateX(2px); + transition: transform 0.1s ease, background 0.1s ease; +} + +/* ================================================================ + ENCLOS VIEW — NOUVELLE VERSION + ================================================================ */ + +.enc-view-inner { + display: flex; + flex-direction: column; + gap: 20px; + font-family: 'Inter', 'Nunito', sans-serif; +} + +/* Glass panel principal */ +.enc-panel { + background: rgba(23, 23, 33, 0.6); + backdrop-filter: blur(12px); + border: 1px solid rgba(168, 85, 247, 0.15); + border-radius: 20px; + padding: 28px; + display: flex; + flex-direction: column; + gap: 20px; +} + +/* Ligne principale header : justify-between */ +.enc-header-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 24px; + flex-wrap: wrap; + margin-bottom: 8px; +} + +/* Gauche : nom + vider — ne s'étire pas */ +.enc-header-left { + display: flex; + align-items: center; + gap: 12px; + flex: 0 0 auto; +} + +/* Droite : elapsed + alarme + bouton */ +.enc-header-right { + display: flex; + align-items: center; + gap: 48px; + flex-shrink: 0; +} + +.enc-name-input { + background: transparent; + border: none; + color: #f1e8f7; + font-family: 'Outfit', 'Cinzel', serif; + font-size: 2.2rem; + font-weight: 700; + letter-spacing: 0.02em; + padding: 2px 4px; + width: auto; + min-width: 2ch; + max-width: 400px; + flex-shrink: 0; + transition: color 0.2s; +} +.enc-name-input:focus { outline: none; color: #cb97ff; } + +.enc-clear-btn { + display: flex; + align-items: center; + gap: 6px; + padding: 5px 12px; + background: rgba(239, 68, 68, 0.08); + border: 1px solid rgba(239, 68, 68, 0.25); + border-radius: 999px; + color: #f87171; + font-size: 11px; + font-weight: 700; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + text-transform: uppercase; + letter-spacing: 0.05em; + cursor: pointer; + transition: background 0.2s, border-color 0.2s; + white-space: nowrap; + flex-shrink: 0; +} +.enc-clear-btn:hover { background: rgba(239, 68, 68, 0.16); border-color: rgba(239, 68, 68, 0.4); } + +.enc-time-block { + display: flex; + flex-direction: column; + align-items: flex-end; + gap: 2px; +} + +.enc-time-lbl { + font-size: 10px; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.18em; + color: rgba(176, 168, 182, 0.5); + margin-bottom: 4px; + display: flex; + align-items: center; + gap: 4px; +} + +.enc-elapsed { + font-family: 'Cinzel', serif; + font-size: 1.9rem; + font-weight: 700; + letter-spacing: 0.12em; + color: #cb97ff; + line-height: 1; +} + +.enc-alarm { + font-family: 'Outfit', 'Cinzel', serif; + font-size: 3rem; + font-weight: 700; + letter-spacing: 0.08em; + color: #00ff00; + line-height: 1; + text-shadow: 0 0 18px rgba(0, 255, 0, 0.45); +} + +.enc-alarm-lbl .material-symbols-outlined { color: #00ff00; } + +/* Bouton démarrer / pause */ +.enc-start-btn { + display: flex; + align-items: center; + gap: 10px; + padding: 14px 28px; + background: #a855f7; + border: none; + border-radius: 14px; + color: #fff; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + font-size: 16px; + font-weight: 700; + letter-spacing: 0.05em; + cursor: pointer; + box-shadow: 0 8px 24px rgba(168, 85, 247, 0.3); + transition: opacity 0.15s, transform 0.1s; + white-space: nowrap; + margin-left: auto; +} +.enc-start-btn:hover { opacity: 0.9; transform: scale(1.02); } +.enc-start-btn:active { transform: scale(0.97); } +.enc-start-btn .material-symbols-outlined { font-size: 22px; } + +.enc-start-btn.enc-btn-pause { + background: linear-gradient(135deg, #b45309, #f59e0b); + box-shadow: 0 8px 24px rgba(245, 158, 11, 0.25); +} + +/* Bouton reset timer */ +.enc-reset-btn { + display: flex; + align-items: center; + justify-content: center; + width: 44px; + height: 44px; + background: rgba(239, 68, 68, 0.1); + border: 1px solid rgba(239, 68, 68, 0.25); + border-radius: 12px; + color: #f87171; + cursor: pointer; + transition: background 0.2s, border-color 0.2s, transform 0.1s; + flex-shrink: 0; +} +.enc-reset-btn:hover { background: rgba(239, 68, 68, 0.2); border-color: rgba(239, 68, 68, 0.4); } +.enc-reset-btn:active { transform: scale(0.95); } + +/* Label section jauges */ +.enc-gauge-label { + font-size: 11px; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.18em; + color: rgba(176, 168, 182, 0.5); +} + +/* Toggle buttons jauges */ +.enc-gauge-toggles { + display: flex; + flex-wrap: wrap; + gap: 8px; +} + +/* Override gauge-btn pour le nouveau style */ +.enc-gauge-toggle { + display: flex; + align-items: center; + gap: 6px; + padding: 7px 14px; + background: rgba(15, 10, 25, 0.5); + border: 1px solid rgba(255, 255, 255, 0.07); + border-radius: 8px; + color: rgba(148, 163, 184, 0.7); + font-size: 12px; + font-weight: 700; + font-family: 'Inter', 'Nunito', sans-serif; + cursor: pointer; + transition: background 0.15s, color 0.15s, border-color 0.15s; +} +.enc-gauge-toggle:hover { background: rgba(255, 255, 255, 0.06); color: #f1e8f7; } +.enc-gauge-toggle.on { background: rgba(168, 85, 247, 0.15); } +.enc-gauge-toggle.locked { opacity: 0.35; cursor: not-allowed; } + +/* Grille 2 colonnes pleine largeur */ +.enc-gauges-grid { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; +} + +/* Carte jauge */ +.enc-gauge-card { + background: rgba(255, 255, 255, 0.04); + border: 1px solid rgba(255, 255, 255, 0.07); + border-radius: 14px; + padding: 18px; + display: flex; + flex-direction: column; + gap: 10px; +} + +.enc-gauge-card-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; +} + +.enc-gauge-card-name { + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + font-size: 13px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.08em; + display: flex; + align-items: center; + gap: 6px; +} + +.enc-tier-badge { + font-size: 10px; + font-weight: 700; + padding: 3px 10px; + border-radius: 999px; + border: 1px solid; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + white-space: nowrap; + transition: background 0.3s; +} + +/* Barre épaisse façon maquette */ +.enc-gauge-bar-bg { + height: 22px; + background: rgba(5, 8, 20, 0.85); + border-radius: 999px; + overflow: hidden; + padding: 3px; + border: 1px solid rgba(255, 255, 255, 0.05); +} +.enc-gauge-bar-inner { + height: 100%; + border-radius: 999px; + overflow: hidden; +} +.enc-gauge-bar-fill { + height: 100%; + border-radius: 999px; + transition: width 0.5s; +} + +/* Ligne du bas : [input / 100 000] ←→ [Vide en X] */ +.enc-gauge-bottom { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; +} +.enc-gauge-val-group { + display: flex; + align-items: center; + gap: 4px; +} +.enc-gauge-inp { + background: transparent; + border: none; + color: rgba(176, 168, 182, 0.8); + font: 700 12px 'Inter', 'Nunito', sans-serif; + width: 45px; + padding: 0; + cursor: text; + transition: color 0.2s; +} +.enc-gauge-inp:focus { outline: none; color: #f1e8f7; } +.enc-gauge-inp:hover { color: #f1e8f7; } +.enc-gauge-inp.recharge { color: #22c55e; } + +.enc-gauge-inp-max { + font-size: 11px; + color: rgba(176, 168, 182, 0.35); + white-space: nowrap; +} + +.enc-gauge-info { + font-size: 11px; + font-weight: 700; + color: rgba(176, 168, 182, 0.5); + white-space: nowrap; + transition: color 0.3s; +} +.enc-gauge-info.enc-gauge-alert { + color: #eab308; + animation: gauge-alert-pulse 1.5s ease-in-out infinite; +} +@keyframes gauge-alert-pulse { + 0%, 100% { opacity: 1; } + 50% { opacity: 0.5; } +} + +/* Bandeau done */ +.enc-done-banner { + display: flex; + align-items: center; + gap: 16px; + padding: 18px 24px; + background: rgba(34, 197, 94, 0.07); + border: 1px solid rgba(34, 197, 94, 0.25); + border-radius: 16px; + flex-wrap: wrap; +} +.enc-done-texts { flex: 1; } +.enc-done-title { + font-family: 'Cinzel', serif; + font-size: 1rem; + font-weight: 700; + color: #22c55e; +} +.enc-done-sub { font-size: 12px; color: rgba(176, 168, 182, 0.6); margin-top: 3px; } +.enc-done-reset-btn { + display: flex; + align-items: center; + gap: 8px; + padding: 10px 20px; + background: rgba(34, 197, 94, 0.12); + border: 1px solid rgba(34, 197, 94, 0.3); + border-radius: 10px; + color: #22c55e; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + font-size: 13px; + font-weight: 700; + cursor: pointer; + transition: background 0.2s; + white-space: nowrap; +} +.enc-done-reset-btn:hover { background: rgba(34, 197, 94, 0.2); } + +/* Section DD */ +.enc-dd-section { display: flex; flex-direction: column; gap: 16px; } + +/* Grille DD : max 5-6 cards par ligne */ +.enc-dd-section .dd-grid { + grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); +} +.enc-dd-head { + display: flex; + align-items: center; + justify-content: space-between; + gap: 12px; + flex-wrap: wrap; +} +.enc-dd-title { + font-family: 'Outfit', 'Cinzel', serif; + font-size: 1.5rem; + font-weight: 700; + color: #f1e8f7; + display: flex; + align-items: center; + gap: 10px; +} +.enc-dd-count { + font-family: 'Inter', sans-serif; + font-size: 1rem; + color: rgba(176, 168, 182, 0.5); + font-weight: 500; +} +.enc-add-dd-btn { + display: flex; + align-items: center; + gap: 6px; + padding: 8px 18px; + background: transparent; + border: 1px solid rgba(203, 151, 255, 0.25); + border-radius: 10px; + color: #cb97ff; + font-family: 'Manrope', 'Nunito', sans-serif; + font-size: 13px; + font-weight: 700; + cursor: pointer; + transition: background 0.2s, border-color 0.2s; +} +.enc-add-dd-btn:hover { background: rgba(203, 151, 255, 0.1); border-color: rgba(203, 151, 255, 0.4); } +.enc-add-dd-btn:disabled { opacity: 0.3; cursor: not-allowed; } + +/* ================================================================ + DRAGODINDE CARD — NOUVELLE VERSION + ================================================================ */ + +/* Override dd-card */ +.enc-dd-card { + background: rgba(23, 23, 33, 0.6); + backdrop-filter: blur(12px); + border: 1px solid rgba(255, 255, 255, 0.05); + border-radius: 12px; + padding: 0; + position: relative; + transition: border-color 0.2s, box-shadow 0.2s; + overflow: hidden; +} +.enc-dd-card:hover { border-color: rgba(203, 151, 255, 0.3); } +.enc-dd-card.dragging { opacity: 0.35; transform: scale(0.97); box-shadow: none; } +.enc-dd-card.drag-over { border-color: #cb97ff; box-shadow: 0 0 0 2px rgba(203, 151, 255, 0.3); } +.enc-dd-card.done { border-color: rgba(34, 197, 94, 0.35); box-shadow: 0 0 16px rgba(34, 197, 94, 0.12); } + +/* Badge TERMINÉ */ +.enc-dd-done-badge { + position: absolute; + top: 0; + right: 0; + background: #22c55e; + color: #052e16; + font-size: 10px; + font-weight: 800; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + padding: 3px 12px; + border-radius: 0 14px 0 10px; + letter-spacing: 0.06em; + z-index: 2; +} + +/* Header */ +.enc-dd-card-head { + display: flex; + align-items: center; + gap: 8px; + padding: 14px 16px 12px; + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + background: rgba(255, 255, 255, 0.03); +} + +.enc-dd-drag-handle { + color: rgba(176, 168, 182, 0.3); + font-size: 1.1rem; + cursor: grab; + opacity: 0; + transition: opacity 0.15s; + flex-shrink: 0; + padding: 2px 3px; + line-height: 1; +} +.enc-dd-drag-handle:active { cursor: grabbing; } +.enc-dd-card:hover .enc-dd-drag-handle { opacity: 1; } + +.enc-dd-name-input { + flex: 1; + background: transparent; + border: none; + color: #f1e8f7; + font-family: 'Cinzel', serif; + font-size: 0.85rem; + font-weight: 700; + letter-spacing: 0.06em; + text-transform: uppercase; + padding: 2px 4px; + min-width: 0; +} +.enc-dd-name-input:focus { outline: none; } + +.enc-dd-del-btn { + background: none; + border: none; + color: rgba(176, 168, 182, 0.3); + cursor: pointer; + padding: 3px; + border-radius: 5px; + line-height: 1; + transition: color 0.15s, background 0.15s; + display: flex; + align-items: center; +} +.enc-dd-del-btn:hover { color: #f87171; background: rgba(239, 68, 68, 0.1); } + +/* Body */ +.enc-dd-body { + padding: 12px 12px 20px; + display: flex; + flex-direction: column; + gap: 10px; +} + +/* Stats grid : 5 badges en ligne */ +.enc-dd-stats-grid { + display: grid; + grid-template-columns: repeat(5, minmax(0, 1fr)); + gap: 4px; +} + +.enc-dd-stat-badge { + display: flex; + flex-direction: column; + align-items: center; + padding: 8px 6px 6px; + border-radius: 10px; + background: rgba(15, 10, 25, 0.5); + border: 1px solid rgba(255, 255, 255, 0.06); + position: relative; + overflow: visible; + cursor: text; +} +.enc-dd-stat-badge.at-max { + box-shadow: 0 0 8px rgba(0,0,0,0.3); +} + +.enc-dd-stat-icon { + font-size: 15px; + line-height: 1; + margin-bottom: 3px; +} + +.enc-dd-stat-input { + background: transparent; + border: none; + color: #f1e8f7; + font: 700 0.78rem 'Nunito', sans-serif; + width: 100%; + min-width: 0; + text-align: center; + padding: 0; + -moz-appearance: textfield; +} +.enc-dd-stat-input:focus { outline: none; } +.enc-dd-stat-input::-webkit-inner-spin-button, +.enc-dd-stat-input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } + +/* Gauge blocks */ +.enc-dd-gauge-blocks { + display: flex; + flex-direction: column; + gap: 0; + border-top: 1px solid rgba(255, 255, 255, 0.05); + padding-top: 16px; + margin-top: 4px; +} + +.enc-dd-gauge-block { display: flex; flex-direction: column; gap: 6px; } + +/* Pill header d'un bloc jauge */ +.enc-dd-gauge-pill { + display: flex; + align-items: center; + justify-content: space-between; + padding: 9px 12px; + background: rgba(255, 255, 255, 0.03); + border: 1px solid; + border-radius: 10px; +} + +.enc-dd-pill-left { + display: flex; + align-items: center; + gap: 6px; + font-size: 11px; + font-weight: 700; + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; + text-transform: uppercase; + letter-spacing: 0.08em; + flex: 1; + min-width: 0; + overflow: hidden; +} + +.enc-dd-pill-right { + display: flex; + align-items: center; + gap: 6px; + flex-shrink: 0; +} + +/* Overrides des anciens styles globaux .live-val / .live-delta dans les pills */ +.enc-dd-gauge-pill .live-val { + font-family: 'Inter', sans-serif; + font-size: 1rem; + font-weight: 800; + min-width: 0; + flex-shrink: 0; +} + +.enc-dd-gauge-pill .live-delta { + font-size: 0.7rem; + min-width: 0; + flex-shrink: 0; +} + +.enc-dd-pill-cd { + font-family: 'Cinzel', serif; + font-size: 0.82rem; + font-weight: 700; + flex-shrink: 0; +} + +/* XP section (mangeoire) */ +.enc-dd-xp-section { display: flex; flex-direction: column; gap: 5px; } +.enc-dd-xp-eta-row { + display: flex; + align-items: center; + justify-content: space-between; +} +.enc-dd-xp-eta { + font-size: 11px; + color: rgba(176, 168, 182, 0.55); + font-family: 'Inter', sans-serif; +} +.enc-dd-xp-pct { + font-size: 11px; + font-weight: 700; + color: rgba(176, 168, 182, 0.55); +} + +/* Barres */ +.enc-dd-bar-bg { + height: 5px; + background: rgba(15, 23, 42, 0.7); + border-radius: 999px; + overflow: hidden; +} +.enc-dd-bar-fill { + height: 100%; + border-radius: 999px; + transition: width 0.5s; +} + +/* Séparateur entre blocs jauges */ +.enc-dd-gauge-block + .enc-dd-gauge-block { + margin-top: 16px; + padding-top: 16px; + border-top: 1px solid rgba(255, 255, 255, 0.05); +} + +/* ================================================================ + CIBLES SECTION + ================================================================ */ + +.enc-dd-cibles { + display: flex; + flex-direction: column; + gap: 12px; +} + +.enc-dd-cible-row { + display: flex; + align-items: center; + justify-content: space-between; +} + +.enc-dd-cible-left { + display: flex; + align-items: center; + gap: 8px; +} + +.enc-dd-cible-lbl { + font-size: 11px; + font-weight: 700; + color: rgb(148, 163, 184); + font-family: 'Plus Jakarta Sans', 'Nunito', sans-serif; +} + +.enc-dd-cible-right { + display: flex; + align-items: center; + gap: 6px; +} + +.enc-dd-cible-inp { + background: transparent; + border: none; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); + color: rgba(176, 168, 182, 0.8); + font: 700 0.75rem 'Nunito', sans-serif; + width: 48px; + text-align: center; + padding: 1px 2px; + transition: border-color 0.2s; +} +.enc-dd-cible-inp:focus { outline: none; border-bottom-color: rgba(203, 151, 255, 0.5); } +.enc-dd-cible-inp::placeholder { color: rgba(176, 168, 182, 0.25); font-size: 0.68rem; } + +.enc-dd-cible-clr { + background: none; + border: none; + color: rgba(176, 168, 182, 0.3); + cursor: pointer; + font-size: 13px; + padding: 0; + line-height: 1; + transition: color 0.15s; +} +.enc-dd-cible-clr:hover { color: #f87171; } + +.enc-dd-cible-eta { + font-size: 11px; + font-weight: 700; + color: rgb(100, 116, 139); + white-space: nowrap; + font-family: 'Inter', sans-serif; +} + +/* ================================================================ + SECTION XP (MANGEOIRE) + ================================================================ */ + +.enc-dd-gauge-xp {} + +.enc-dd-xp-main { + display: flex; + align-items: flex-end; + justify-content: space-between; + margin-bottom: 6px; +} + +.enc-dd-xp-left { + display: flex; + flex-direction: column; + gap: 3px; +} + +.enc-dd-xp-niv { + font-size: 11px; + font-weight: 700; + letter-spacing: 0.1em; + text-transform: uppercase; + font-family: 'Inter', sans-serif; +} + +.enc-dd-xp-sub { + font-size: 10px; + color: rgb(100, 116, 139); + text-transform: uppercase; + font-weight: 500; + font-family: 'Inter', sans-serif; +} + +.enc-dd-xp-cd { + font-size: 13px; + font-family: 'Cinzel', serif; + font-weight: 700; + color: rgb(203, 213, 225); + letter-spacing: 0.04em; +} + +.enc-dd-xp-eta200 { + display: block; + font-size: 10px; + color: rgba(100, 116, 139, 0.7); + margin-bottom: 8px; + font-family: 'Inter', sans-serif; +} + +/* ================================================================ + GAUGE BUTTON (JAUGES NON-XP) + ================================================================ */ + +.enc-dd-gauge-btn { + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; + padding: 10px 16px; + border-radius: 10px; + background: rgba(203, 151, 255, 0.1); + border: 1px solid rgba(203, 151, 255, 0.2); + color: #cb97ff; + cursor: default; + margin-bottom: 8px; + transition: background 0.15s; + box-sizing: border-box; +} +.enc-dd-gauge-btn:hover { background: rgba(203, 151, 255, 0.15); } + +.enc-dd-gauge-btn-left { + display: flex; + align-items: center; + gap: 8px; + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.06em; + font-family: 'Inter', sans-serif; +} + +.enc-dd-gauge-btn-name { + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.06em; + font-family: 'Inter', sans-serif; +} + +.enc-dd-gauge-btn-cd { + font-size: 11px; + font-family: 'Cinzel', serif; + font-weight: 700; + opacity: 0.8; + letter-spacing: 0.04em; +} + +/* ================================================================ + ACCOUPLEMENT VIEW — Obsidienne Design + ================================================================ */ + +.accoup-view { + display: flex; + flex-direction: column; + gap: 24px; + padding: 8px; +} + +/* Parent Selection Grid (3 columns) */ +.accoup-parents { + display: grid; + grid-template-columns: 1fr auto 1fr; + gap: 24px; + align-items: start; +} + +.accoup-parent-section { + display: flex; + flex-direction: column; + gap: 12px; +} + +.accoup-parent-header { + display: flex; + justify-content: space-between; + align-items: flex-end; + padding: 0 8px; +} + +.accoup-parent-title { + font-family: 'Manrope', sans-serif; + font-size: 0.95rem; + font-weight: 700; + color: var(--md-on-surface); + text-transform: uppercase; + letter-spacing: -0.03em; +} + +.accoup-gender-badge { + font-size: 10px; + font-weight: 700; + padding: 2px 8px; + border-radius: 4px; +} +.accoup-gender-badge.male { + color: var(--md-secondary); + background: rgba(134, 20, 90, 0.2); +} +.accoup-gender-badge.female { + color: var(--md-primary); + background: rgba(193, 133, 253, 0.2); +} + +/* Placeholder card (empty parent slot) */ +.accoup-placeholder { + height: 180px; + border-radius: 16px; + background: rgba(23, 23, 33, 0.6); + backdrop-filter: blur(12px); + border: 1px solid rgba(168, 85, 247, 0.15); + display: flex; + align-items: center; + justify-content: center; + cursor: pointer; + transition: background 0.2s; +} +.accoup-placeholder:hover { + background: rgba(255, 255, 255, 0.07); +} + +.accoup-placeholder-inner { + text-align: center; +} + +.accoup-placeholder-icon { + width: 56px; + height: 56px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.05); + display: flex; + align-items: center; + justify-content: center; + margin: 0 auto 10px; + transition: transform 0.2s; +} +.accoup-placeholder:hover .accoup-placeholder-icon { + transform: scale(1.1); +} +.accoup-placeholder-icon .material-symbols-outlined { + font-size: 28px; + opacity: 0.4; +} + +.accoup-placeholder-text { + font-size: 11px; + color: var(--md-on-surface-variant); +} + +/* Selected parent card */ +.accoup-selected-parent { + height: 180px; + border-radius: 16px; + background: rgba(23, 23, 33, 0.6); + backdrop-filter: blur(12px); + border: 1px solid rgba(168, 85, 247, 0.3); + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 8px; + position: relative; + cursor: pointer; +} +.accoup-selected-parent:hover { + border-color: rgba(168, 85, 247, 0.5); +} +.accoup-selected-parent .race-card-avatar { + width: 64px; + height: 64px; +} +.accoup-selected-parent .race-card-avatar img { + width: 64px; + height: 64px; +} +.accoup-selected-parent-name { + font-size: 13px; + font-weight: 700; + color: var(--md-on-surface); +} +.accoup-selected-parent-badge { + font-size: 9px; + font-weight: 700; + padding: 2px 8px; + border-radius: 6px; + color: #fff; +} +.accoup-selected-parent-clear { + position: absolute; + top: 8px; + right: 8px; + width: 24px; + height: 24px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.08); + border: none; + color: var(--md-on-surface-variant); + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + font-size: 14px; + transition: background 0.2s; +} +.accoup-selected-parent-clear:hover { + background: rgba(255, 110, 132, 0.2); + color: var(--md-error); +} + +/* Center pairing column */ +.accoup-center { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 16px; + padding: 16px 0; + min-width: 160px; +} + +.accoup-heart { + width: 48px; + height: 48px; + border-radius: 50%; + background: linear-gradient(135deg, var(--md-primary), var(--md-secondary)); + display: flex; + align-items: center; + justify-content: center; + box-shadow: 0 4px 16px rgba(203, 151, 255, 0.2); +} +.accoup-heart .material-symbols-outlined { + color: #000; + font-size: 22px; +} + +.accoup-center-inputs { + display: flex; + flex-direction: column; + gap: 14px; + width: 100%; +} + +.accoup-center-field { + display: flex; + flex-direction: column; + gap: 4px; +} + +.accoup-center-label { + display: block; + font-size: 10px; + font-family: 'Manrope', sans-serif; + font-weight: 700; + color: var(--md-on-surface-variant); + text-transform: uppercase; + letter-spacing: 0.08em; + text-align: center; +} + +.accoup-center-input { + width: 100%; + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 12px; + padding: 8px 12px; + text-align: center; + font-size: 14px; + font-weight: 700; + color: var(--md-primary); + outline: none; + transition: border-color 0.2s, box-shadow 0.2s; +} +.accoup-center-input:focus { + border-color: var(--md-primary); + box-shadow: 0 0 0 1px var(--md-primary); +} +.accoup-center-input.secondary { + color: var(--md-secondary); +} +.accoup-center-input.secondary:focus { + border-color: var(--md-secondary); + box-shadow: 0 0 0 1px var(--md-secondary); +} + +.accoup-register-btn { + padding: 10px 24px; + background: linear-gradient(135deg, var(--md-primary), var(--md-primary-container)); + color: var(--md-on-primary); + font-family: 'Manrope', sans-serif; + font-weight: 800; + font-size: 11px; + border: none; + border-radius: 9999px; + cursor: pointer; + box-shadow: 0 4px 16px rgba(203, 151, 255, 0.3); + transition: transform 0.1s, box-shadow 0.2s; + text-transform: uppercase; + letter-spacing: 0.05em; +} +.accoup-register-btn:hover { + box-shadow: 0 6px 20px rgba(203, 151, 255, 0.4); +} +.accoup-register-btn:active { + transform: scale(0.98); +} +.accoup-register-btn:disabled { + opacity: 0.4; + cursor: not-allowed; +} + +/* Grid panel (glass) */ +.accoup-grid-panel { + background: rgba(23, 23, 33, 0.6); + backdrop-filter: blur(12px); + border: 1px solid rgba(168, 85, 247, 0.15); + border-radius: 24px; + padding: 24px; + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); +} + +/* Gen chips */ +.accoup-gen-chips { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 8px; + padding-bottom: 20px; + margin-bottom: 24px; + border-bottom: 1px solid rgba(255, 255, 255, 0.1); +} + +.accoup-gen-chips-label { + font-size: 10px; + font-weight: 700; + color: var(--md-on-surface-variant); + text-transform: uppercase; + letter-spacing: 0.08em; + margin-right: 12px; +} + +.accoup-gen-chip { + padding: 6px 16px; + border-radius: 9999px; + font-size: 11px; + font-weight: 700; + cursor: pointer; + border: none; + background: rgba(255, 255, 255, 0.05); + color: var(--md-on-surface-variant); + transition: background 0.2s, color 0.2s; +} +.accoup-gen-chip:hover { + color: var(--md-on-surface); + background: rgba(255, 255, 255, 0.1); +} +.accoup-gen-chip.active { + background: var(--md-primary); + color: var(--md-on-primary); +} + +/* Search bar */ +.accoup-search-wrap { + position: relative; + display: flex; + align-items: center; + margin-bottom: 20px; +} +.accoup-search { + flex: 1; + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 12px; + color: var(--md-on-surface); + padding: 10px 40px 10px 14px; + font-size: 13px; + font-weight: 600; + outline: none; + transition: border-color 0.2s; +} +.accoup-search:focus { + border-color: var(--md-primary); +} +.accoup-search-clear { + position: absolute; + right: 10px; + background: none; + border: none; + color: var(--md-on-surface-variant); + cursor: pointer; + font-size: 16px; + padding: 4px; + transition: color 0.15s; +} +.accoup-search-clear:hover { + color: var(--md-on-surface); +} + +/* Dragon cards grid */ +.accoup-race-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)); + gap: 12px; +} + +.accoup-race-card { + background: rgba(255, 255, 255, 0.05); + border-radius: 16px; + padding: 10px; + border: 1px solid rgba(255, 255, 255, 0.05); + cursor: pointer; + transition: border-color 0.2s, box-shadow 0.2s, transform 0.15s; + text-align: center; +} +.accoup-race-card:hover { + border-color: rgba(203, 151, 255, 0.4); + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); + transform: translateY(-2px); +} + +.accoup-race-card-img { + position: relative; + aspect-ratio: 1; + border-radius: 12px; + background: rgba(255, 255, 255, 0.05); + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; + margin-bottom: 8px; +} +.accoup-race-card-img .race-card-avatar { + width: 80px; + height: 80px; + transition: transform 0.2s; +} +.accoup-race-card:hover .race-card-avatar { + transform: scale(1.1); +} +.accoup-race-card-img .race-card-avatar img { + width: 80px; + height: 80px; +} + +.accoup-race-card-gen { + position: absolute; + top: 4px; + right: 4px; + padding: 2px 6px; + border-radius: 6px; + background: rgba(0, 0, 0, 0.6); + backdrop-filter: blur(4px); + font-size: 8px; + font-weight: 700; + color: var(--md-tertiary, #ffe083); +} + +.accoup-race-card-name { + font-size: 11px; + font-weight: 700; + color: var(--md-on-surface); + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +/* Empty state */ +.accoup-empty { + text-align: center; + color: var(--md-on-surface-variant); + padding: 40px; + font-style: italic; + font-size: 13px; +} + +/* Drag & Drop */ +.accoup-race-card[draggable="true"] { + cursor: grab; +} +.accoup-race-card.dragging { + opacity: 0.4; + cursor: grabbing; +} + +.accoup-drop-zone.drag-over { + border-color: var(--md-primary) !important; + background: rgba(203, 151, 255, 0.1) !important; + box-shadow: 0 0 24px rgba(203, 151, 255, 0.2), inset 0 0 16px rgba(203, 151, 255, 0.05); +} + +/* ================================================================ + RÉAPPROVISIONNEMENT VIEW — Obsidienne Design + ================================================================ */ + +.reappro-view-new { + display: flex; + flex-direction: column; + gap: 20px; + padding: 8px; +} + +.reappro-section-header { + display: flex; + justify-content: space-between; + align-items: center; + flex-wrap: wrap; + gap: 16px; +} + +.reappro-section-title { + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.2em; + color: var(--md-on-surface-variant); +} + +.reappro-title-bar { + height: 3px; + width: 48px; + background: var(--md-primary); + border-radius: 2px; + margin-top: 6px; +} + +/* Top bar (back + qty, sticky top) */ +.reappro-top-bar { + position: sticky; + top: 0; + z-index: 10; + display: flex; + align-items: center; + gap: 16px; + background: rgba(23, 23, 33, 0.9); + backdrop-filter: blur(16px); + border: 1px solid rgba(168, 85, 247, 0.15); + border-radius: 12px; + padding: 10px 16px; +} + +.reappro-qty-wrap { + display: flex; + align-items: center; + gap: 8px; +} + +/* Sticky target bar at bottom */ +.reappro-target-bar-sticky { + position: sticky; + bottom: 0; + z-index: 10; + display: flex; + align-items: center; + justify-content: space-between; + gap: 16px; + background: rgba(23, 23, 33, 0.9); + backdrop-filter: blur(16px); + border: 1px solid rgba(168, 85, 247, 0.2); + border-radius: 16px; + padding: 12px 20px; + margin-top: 12px; +} + +.reappro-target-info { + display: flex; + align-items: center; + gap: 12px; +} + +.reappro-target-icon { + width: 40px; + height: 40px; + border-radius: 50%; + background: linear-gradient(135deg, var(--md-primary), #7c41b5); + display: flex; + align-items: center; + justify-content: center; + box-shadow: 0 4px 12px rgba(203, 151, 255, 0.3); + flex-shrink: 0; +} +.reappro-target-icon .material-symbols-outlined { + color: #fff; + font-size: 20px; +} + +.reappro-target-label { + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.08em; + color: var(--md-on-surface-variant); + margin-bottom: 2px; +} + +.reappro-target-name { + font-size: 14px; + font-weight: 700; + color: var(--md-primary); +} + +.reappro-back-btn { + display: flex; + align-items: center; + gap: 6px; + padding: 8px 16px; + border-radius: 12px; + border: 1px solid rgba(255, 255, 255, 0.1); + background: transparent; + color: var(--md-on-surface-variant); + font-size: 12px; + font-weight: 700; + cursor: pointer; + transition: background 0.2s, color 0.2s; +} +.reappro-back-btn:hover { + background: rgba(255, 255, 255, 0.05); + color: var(--md-on-surface); +} + +/* Step panels */ +.reappro-step-panel { + background: rgba(23, 23, 33, 0.6); + backdrop-filter: blur(12px); + border: 1px solid rgba(168, 85, 247, 0.15); + border-radius: 16px; + overflow: hidden; + border-left: 4px solid var(--md-outline-variant); +} + +.reappro-step-primary { + border-left-color: var(--md-primary); +} + +.reappro-step-final { + border-left-color: var(--md-primary); + box-shadow: 0 0 24px rgba(203, 151, 255, 0.08); +} + +.reappro-step-header { + padding: 12px 20px; + display: flex; + justify-content: space-between; + align-items: center; + background: rgba(255, 255, 255, 0.03); +} + +.reappro-step-header-primary { + background: rgba(203, 151, 255, 0.08); +} + +.reappro-step-header-final { + background: rgba(203, 151, 255, 0.12); +} + +.reappro-step-title { + font-family: 'Cinzel', serif; + font-size: 12px; + letter-spacing: 0.08em; + display: flex; + align-items: center; + gap: 10px; + color: var(--md-on-surface); +} + +.reappro-step-badge { + width: 24px; + height: 24px; + border-radius: 6px; + display: flex; + align-items: center; + justify-content: center; + font-size: 11px; + font-weight: 700; + color: #fff; + background: var(--md-outline-variant); + flex-shrink: 0; +} + +.reappro-badge-primary { + background: var(--md-primary); +} + +.reappro-step-count { + font-size: 11px; + font-weight: 700; + color: var(--md-on-surface-variant); +} + +.reappro-final-label { + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.1em; + color: var(--md-primary); +} + +/* Materials grid */ +.reappro-materials-grid { + display: flex; + flex-wrap: wrap; + gap: 20px; + justify-content: center; + padding: 24px; +} + +.reappro-material-card { + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; +} + +.reappro-mat-avatar { + width: 70px; + height: 70px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.05); + display: flex; + align-items: center; + justify-content: center; + border: 2px solid var(--md-outline-variant); + padding: 2px; + transition: transform 0.2s; +} +.reappro-material-card:hover .reappro-mat-avatar { + transform: scale(1.1); +} +.reappro-mat-avatar .race-card-avatar { + width: 56px; + height: 56px; +} +.reappro-mat-avatar .race-card-avatar img { + width: 56px; + height: 56px; +} + +.reappro-mat-name { + font-size: 12px; + font-weight: 700; + color: var(--md-on-surface); +} + +.reappro-mat-qty { + font-size: 15px; + font-weight: 800; +} + +.reappro-mat-gender { + font-weight: 800; +} + +/* Arrow separator */ +.reappro-arrow-sep { + display: flex; + justify-content: center; + padding: 4px 0; +} + +.reappro-arrow-icon { + color: var(--md-primary); + opacity: 0.4; + font-size: 28px; + animation: reappro-pulse-bounce 2s ease-in-out infinite; +} + +@keyframes reappro-pulse-bounce { + 0%, 100% { transform: translateY(0) scale(1); opacity: 0.4; } + 50% { transform: translateY(4px) scale(1.1); opacity: 0.8; } +} + +/* Crossings grid inside a gen panel */ +.reappro-crossings-grid { + display: flex; + flex-wrap: wrap; + gap: 16px; + padding: 20px; +} + +.reappro-crossing-card { + background: rgba(255, 255, 255, 0.04); + border: 1px solid rgba(255, 255, 255, 0.05); + border-radius: 12px; + padding: 16px; + flex: 1 1 280px; + max-width: 420px; +} + +.reappro-crossing-final { + background: rgba(203, 151, 255, 0.04); + border-color: rgba(203, 151, 255, 0.2); +} + +.reappro-crossing-row { + display: flex; + align-items: center; + justify-content: center; + gap: 12px; + flex-wrap: wrap; +} + +.reappro-crossing-op { + color: var(--md-outline-variant); + font-size: 24px; +} + +.reappro-crossing-parent { + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; +} + +.reappro-crossing-parent-avatar { + width: 80px; + height: 80px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.05); + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; + border: 2px solid var(--md-outline-variant); +} +.reappro-crossing-parent-avatar .race-card-avatar { + width: 66px; + height: 66px; +} +.reappro-crossing-parent-avatar .race-card-avatar img { + width: 66px; + height: 66px; +} + +.reappro-crossing-parent-name { + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + color: var(--md-on-surface); + text-align: center; +} + +.reappro-crossing-parent-gender { + font-size: 14px; + font-weight: 800; + text-align: center; +} + +.reappro-crossing-baby { + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; +} + +.reappro-crossing-baby-final .reappro-baby-avatar { + border-color: var(--md-primary); + box-shadow: 0 4px 16px rgba(203, 151, 255, 0.2); +} + +.reappro-baby-avatar { + width: 80px; + height: 80px; + border-radius: 50%; + border: 2px solid var(--md-primary); + display: flex; + align-items: center; + justify-content: center; + position: relative; + overflow: visible; +} +.reappro-baby-avatar .race-card-avatar { + width: 66px; + height: 66px; +} +.reappro-baby-avatar .race-card-avatar img { + width: 66px; + height: 66px; +} + +.reappro-baby-gen-badge { + position: absolute; + top: -4px; + right: -4px; + background: var(--md-outline-variant); + color: #fff; + font-size: 9px; + font-weight: 700; + padding: 2px 5px; + border-radius: 4px; +} + +.reappro-baby-name { + font-size: 12px; + font-weight: 700; + color: var(--md-on-surface); +} + +.reappro-baby-qty { + font-size: 16px; + font-weight: 800; + color: var(--md-secondary); +} + +/* Crossing controls */ +.reappro-crossing-controls { + display: flex; + align-items: center; + justify-content: center; + gap: 10px; + margin-top: 12px; + padding-top: 12px; + border-top: 1px solid rgba(255, 255, 255, 0.05); +} + +.reappro-repro-label { + display: flex; + align-items: center; + gap: 8px; +} + +.reappro-repro-input { + width: 48px; + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 8px; + color: var(--md-primary); + padding: 4px 6px; + font-size: 13px; + font-weight: 700; + text-align: center; + outline: none; + transition: border-color 0.2s; +} +.reappro-repro-input:focus { + border-color: var(--md-primary); +} + +.reappro-invert-btn { + width: 32px; + height: 32px; + border-radius: 8px; + border: 1px solid rgba(255, 255, 255, 0.1); + background: rgba(255, 255, 255, 0.05); + color: var(--md-on-surface-variant); + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: background 0.2s, color 0.2s; +} +.reappro-invert-btn:hover { + background: rgba(255, 255, 255, 0.1); + color: var(--md-primary); +} + +.reappro-couples-badge { + font-size: 9px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.08em; + color: var(--md-on-surface-variant); + background: rgba(255, 255, 255, 0.05); + padding: 4px 10px; + border-radius: 8px; +} + +/* Save button inside sticky bar */ +.reappro-save-btn { + display: flex; + align-items: center; + gap: 8px; + padding: 10px 24px; + border-radius: 12px; + border: none; + background: linear-gradient(135deg, var(--md-primary), #7c41b5); + color: #fff; + font-size: 13px; + font-weight: 700; + cursor: pointer; + white-space: nowrap; + box-shadow: 0 4px 16px rgba(203, 151, 255, 0.3); + transition: transform 0.2s, box-shadow 0.2s; + flex-shrink: 0; +} +.reappro-save-btn:hover { + transform: translateY(-1px); + box-shadow: 0 6px 20px rgba(203, 151, 255, 0.45); +} + +/* ═══════════════════════════════════════════════════ + INVENTAIRE — Obsidienne + ═══════════════════════════════════════════════════ */ +.inv-view-new { + display: flex; + flex-direction: column; + gap: 24px; + padding: 8px; +} + +/* Header */ +.inv-header { + display: flex; + justify-content: space-between; + align-items: baseline; +} +.inv-title { + font-family: 'Manrope', sans-serif; + font-size: 24px; + font-weight: 800; + letter-spacing: -0.02em; + color: #fff; +} +.inv-total { + font-size: 12px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.15em; + color: var(--md-on-surface-variant); +} + +/* Filters row */ +.inv-filters { + display: flex; + flex-direction: column; + gap: 12px; +} +.inv-filters-row { + display: flex; + gap: 20px; + align-items: flex-end; + flex-wrap: wrap; +} +.inv-search-col { + flex: 0 1 320px; +} +.inv-gen-col { + flex: 1 1 auto; + overflow-x: auto; +} +.inv-filter-label { + display: block; + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.15em; + color: var(--md-on-surface-variant); + margin-bottom: 6px; + padding-left: 2px; +} +.inv-actions { + display: flex; + gap: 10px; + align-items: center; +} +.inv-btn-reset { + display: flex; + align-items: center; + gap: 6px; + padding: 8px 16px; + border-radius: 12px; + border: 1px solid rgba(255, 255, 255, 0.1); + background: transparent; + color: var(--md-on-surface-variant); + font-size: 12px; + font-weight: 700; + cursor: pointer; + transition: background 0.2s, color 0.2s; +} +.inv-btn-reset:hover { + background: rgba(255, 255, 255, 0.05); + color: var(--md-error, #ff6e84); +} +.inv-btn-calc { + display: flex; + align-items: center; + gap: 6px; + padding: 8px 20px; + border-radius: 12px; + border: none; + background: var(--md-primary); + color: #000; + font-size: 12px; + font-weight: 800; + text-transform: uppercase; + letter-spacing: 0.1em; + cursor: pointer; + box-shadow: 0 4px 12px rgba(203, 151, 255, 0.3); + transition: transform 0.2s, box-shadow 0.2s; +} +.inv-btn-calc:hover { + transform: translateY(-1px); + box-shadow: 0 6px 16px rgba(203, 151, 255, 0.45); +} + +/* Race grid */ +.inv-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); + gap: 24px; +} + +/* Card */ +.inv-card-new { + display: flex; + flex-direction: column; + align-items: center; + gap: 6px; + cursor: default; +} +.inv-gen-badge { + font-size: 10px; + font-weight: 700; + padding: 2px 8px; + border-radius: 8px; + border: 1px solid; + letter-spacing: 0.05em; +} +.inv-avatar { + width: 96px; + height: 96px; + border-radius: 50%; + border: 3px solid #fff; + overflow: hidden; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4); + display: flex; + align-items: center; + justify-content: center; + transition: transform 0.2s; +} +.inv-card-new:hover .inv-avatar { + transform: scale(1.05); +} +.inv-avatar .race-card-avatar { + width: 80px; + height: 80px; +} +.inv-avatar .race-card-avatar img { + width: 80px; + height: 80px; +} +.inv-card-name-new { + font-family: 'Manrope', sans-serif; + font-size: 13px; + font-weight: 700; + color: #fff; + text-align: center; +} + +/* Gender inputs */ +.inv-gender-row { + display: flex; + gap: 8px; +} +.inv-gender-input { + display: flex; + align-items: center; + gap: 2px; + padding: 3px 6px; + border-radius: 8px; + font-size: 13px; + font-weight: 700; +} +.inv-gender-input.male { + color: #50a0ff; +} +.inv-gender-input.female { + color: #ff64a0; +} +.inv-gender-symbol { + font-size: 14px; + font-weight: 800; +} +.inv-gender-input input { + width: 36px; + background: transparent; + border: 1px solid rgba(255, 255, 255, 0.08); + border-radius: 6px; + color: inherit; + font-size: 13px; + font-weight: 800; + text-align: center; + padding: 3px 2px; + outline: none; + transition: border-color 0.2s, background 0.2s; +} +.inv-gender-input input:focus { + border-color: currentColor; + background: rgba(255, 255, 255, 0.06); +} + +/* ── Calculateur panel ── */ +.inv-calc-panel { + background: rgba(41, 35, 50, 0.6); + backdrop-filter: blur(20px); + border-radius: 24px; + padding: 32px; + border: 1px solid rgba(255, 255, 255, 0.05); +} +.inv-calc-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 24px; + flex-wrap: wrap; + gap: 12px; +} +.inv-calc-header-left { + display: flex; + align-items: center; + gap: 12px; +} +.inv-calc-icon { + color: var(--md-primary); + font-size: 28px; + padding: 10px; + background: rgba(203, 151, 255, 0.1); + border-radius: 16px; +} +.inv-calc-title { + font-family: 'Manrope', sans-serif; + font-size: 20px; + font-weight: 800; + color: #fff; +} +.inv-calc-stats { + display: flex; + align-items: baseline; + gap: 8px; +} +.inv-calc-stat-value { + font-size: 24px; + font-weight: 800; + color: var(--md-primary); +} +.inv-calc-stat-label { + font-size: 12px; + color: var(--md-on-surface-variant); +} +.inv-calc-empty { + display: flex; + flex-direction: column; + align-items: center; + gap: 12px; + padding: 48px 20px; + color: var(--md-on-surface-variant); + font-size: 14px; +} + +/* Step */ +.inv-calc-step { + background: rgba(255, 255, 255, 0.02); + border: 1px solid rgba(255, 255, 255, 0.02); + border-radius: 16px; + padding: 20px; + margin-bottom: 16px; +} +.inv-calc-step-label { + display: flex; + align-items: center; + gap: 12px; + margin-bottom: 16px; +} +.inv-calc-step-badge-col { + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; +} +.inv-calc-step-num { + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.15em; + color: #fff; + padding: 4px 10px; + border-radius: 8px; +} +.inv-calc-step-subtitle { + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.15em; + color: var(--md-on-surface-variant); +} +.inv-calc-step-title { + font-family: 'Manrope', sans-serif; + font-size: 16px; + font-weight: 700; + color: #fff; +} +.inv-calc-step-count { + margin-left: auto; + font-size: 11px; + font-weight: 700; + color: var(--md-on-surface-variant); + text-transform: uppercase; + letter-spacing: 0.08em; +} + +/* Crossing row */ +.inv-calc-crossing { + display: flex; + align-items: center; + justify-content: center; + gap: 14px; + flex-wrap: wrap; + padding: 14px 0; + border-top: 1px solid rgba(255, 255, 255, 0.03); +} + +/* Parent */ +.inv-calc-parent { + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; +} +.inv-calc-parent-avatar { + width: 80px; + height: 80px; + border-radius: 50%; + border: 2px solid var(--md-primary); + overflow: hidden; + display: flex; + align-items: center; + justify-content: center; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); +} +.inv-calc-parent-avatar .race-card-avatar { + width: 66px; + height: 66px; +} +.inv-calc-parent-avatar .race-card-avatar img { + width: 66px; + height: 66px; +} +.inv-calc-parent-name { + font-size: 11px; + font-weight: 700; + text-transform: uppercase; + color: var(--md-on-surface); + text-align: center; +} +.inv-calc-parent-gender { + font-size: 14px; + font-weight: 800; + text-align: center; +} + +/* Baby */ +.inv-calc-baby { + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; +} +.inv-calc-baby-avatar { + width: 80px; + height: 80px; + border-radius: 50%; + border: 2px solid var(--md-secondary, #f673b7); + overflow: visible; + display: flex; + align-items: center; + justify-content: center; + position: relative; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); +} +.inv-calc-baby-avatar .race-card-avatar { + width: 66px; + height: 66px; +} +.inv-calc-baby-avatar .race-card-avatar img { + width: 66px; + height: 66px; +} +.inv-calc-baby-name { + font-size: 12px; + font-weight: 700; + color: #fff; +} +.inv-calc-baby-qty { + font-size: 16px; + font-weight: 800; + color: var(--md-secondary, #f673b7); +} + +/* Save row */ +.inv-calc-save-row { + display: flex; + justify-content: flex-end; + padding-top: 16px; + border-top: 1px solid rgba(255, 255, 255, 0.05); + margin-top: 8px; +} + +/* ── Unused stock ── */ +.inv-unused-section { + margin-top: 8px; +} +.inv-unused-header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 16px; +} +.inv-unused-title { + font-family: 'Manrope', sans-serif; + font-size: 18px; + font-weight: 800; + color: #fff; +} +.inv-unused-badge { + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.12em; + color: var(--md-secondary, #f673b7); + background: rgba(246, 115, 183, 0.1); + padding: 6px 14px; + border-radius: 20px; +} +.inv-unused-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); + gap: 12px; +} +.inv-unused-card { + display: flex; + align-items: center; + gap: 12px; + padding: 12px 16px; + background: rgba(255, 255, 255, 0.03); + border-radius: 16px; + border: 1px solid rgba(255, 255, 255, 0.03); +} +.inv-unused-avatar { + width: 72px; + height: 72px; + border-radius: 50%; + overflow: hidden; + border: 2px solid rgba(255, 255, 255, 0.15); + flex-shrink: 0; + display: flex; + align-items: center; + justify-content: center; +} +.inv-unused-avatar .race-card-avatar { + width: 60px; + height: 60px; +} +.inv-unused-avatar .race-card-avatar img { + width: 60px; + height: 60px; +} +.inv-unused-name { + font-size: 13px; + font-weight: 700; + color: #fff; +} +.inv-unused-qty { + font-size: 11px; + font-weight: 700; + display: flex; + gap: 8px; +} + +/* ═══════════════════════════════════════════════════ + WORKFLOWS — Obsidienne + ═══════════════════════════════════════════════════ */ +.wf-view-new { + display: flex; + flex-direction: column; + gap: 24px; + padding: 8px; +} + +/* ── List view ── */ +.wf-list-header { + display: flex; + justify-content: space-between; + align-items: flex-end; +} +.wf-list-title { + font-family: 'Manrope', sans-serif; + font-size: 28px; + font-weight: 800; + letter-spacing: -0.02em; + color: #fff; +} +.wf-list-subtitle { + font-size: 14px; + color: var(--md-on-surface-variant); + margin-top: 4px; +} +.wf-list-count { + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.15em; + color: var(--md-on-surface-variant); + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.05); + padding: 6px 14px; + border-radius: 20px; + white-space: nowrap; +} +.wf-header-actions { + display: flex; + align-items: center; + gap: 10px; +} +.wf-io-btn { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 7px 16px; + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 10px; + background: rgba(255, 255, 255, 0.05); + backdrop-filter: blur(8px); + color: var(--md-on-surface); + font-size: 13px; + font-weight: 600; + cursor: pointer; + transition: background 0.2s, border-color 0.2s, transform 0.15s; +} +.wf-io-btn:hover:not(:disabled) { + background: rgba(255, 255, 255, 0.1); + border-color: rgba(255, 255, 255, 0.2); + transform: translateY(-1px); +} +.wf-io-btn:disabled { + opacity: 0.35; + cursor: not-allowed; +} +.wf-export-confirm { + background: var(--md-primary) !important; + color: var(--md-on-primary) !important; + border-color: var(--md-primary) !important; +} +.wf-export-confirm:hover:not(:disabled) { + filter: brightness(1.15); +} +.wf-export-bar { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 18px; + border-radius: 14px; + background: rgba(157, 120, 255, 0.08); + border: 1px solid rgba(157, 120, 255, 0.2); + backdrop-filter: blur(8px); +} +.wf-export-bar-left { + display: flex; + align-items: center; + gap: 16px; +} +.wf-select-all-label { + display: flex; + align-items: center; + gap: 8px; + font-size: 13px; + color: var(--md-on-surface); + cursor: pointer; + user-select: none; +} +.wf-select-all-label input[type="checkbox"] { + width: 16px; + height: 16px; + accent-color: var(--md-primary); + cursor: pointer; +} +.wf-export-count { + font-size: 12px; + font-weight: 600; + color: var(--md-primary); + background: rgba(157, 120, 255, 0.12); + padding: 4px 12px; + border-radius: 20px; +} +.wf-card-selectable { + cursor: pointer; + position: relative; +} +.wf-card-selectable:hover { + border-color: rgba(157, 120, 255, 0.3) !important; +} +.wf-card-selected { + border-color: var(--md-primary) !important; + box-shadow: 0 0 0 1px var(--md-primary), 0 0 16px rgba(157, 120, 255, 0.15) !important; +} +.wf-card-checkbox { + position: absolute; + top: 12px; + left: 12px; + z-index: 2; +} +.wf-card-checkbox input[type="checkbox"] { + width: 18px; + height: 18px; + accent-color: var(--md-primary); + cursor: pointer; +} +.wf-empty { + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; + padding: 48px 20px; + color: var(--md-on-surface-variant); + font-size: 14px; + font-weight: 700; +} + +/* Cards grid */ +.wf-cards-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); + gap: 20px; +} +.wf-card { + background: rgba(23, 23, 33, 0.6); + border-radius: 16px; + padding: 24px; + border: 1px solid rgba(255, 255, 255, 0.05); + cursor: pointer; + transition: all 0.2s; + display: flex; + flex-direction: column; + gap: 20px; +} +.wf-card:hover { + background: rgba(35, 35, 45, 0.8); + border-color: rgba(168, 85, 247, 0.2); + box-shadow: 0 8px 32px rgba(0, 0, 0, 0.3); +} +.wf-card-top { + display: flex; + justify-content: space-between; + align-items: flex-start; +} +.wf-card-meta { + display: flex; + flex-direction: column; + gap: 4px; +} +.wf-card-gen { + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.1em; +} +.wf-card-name { + font-family: 'Manrope', sans-serif; + font-size: 20px; + font-weight: 700; + color: #fff; +} +.wf-card-avatar { + width: 56px; + height: 56px; + border-radius: 50%; + overflow: hidden; + display: flex; + align-items: center; + justify-content: center; + background: rgba(255, 255, 255, 0.05); + flex-shrink: 0; +} +.wf-card-avatar .race-card-avatar { + width: 48px; + height: 48px; +} +.wf-card-avatar .race-card-avatar img { + width: 48px; + height: 48px; +} + +/* Progress */ +.wf-card-progress { + display: flex; + flex-direction: column; + gap: 8px; +} +.wf-card-progress-row { + display: flex; + justify-content: space-between; + align-items: baseline; +} +.wf-card-progress-label { + font-size: 12px; + color: var(--md-on-surface-variant); +} +.wf-card-progress-pct { + font-family: 'Manrope', sans-serif; + font-size: 18px; + font-weight: 800; +} +.wf-card-bar { + height: 8px; + background: rgba(255, 255, 255, 0.05); + border-radius: 8px; + overflow: hidden; +} +.wf-card-bar-fill { + height: 100%; + border-radius: 8px; + transition: width 0.3s; + box-shadow: 0 0 10px rgba(203, 151, 255, 0.4); +} + +/* Footer */ +.wf-card-footer { + display: flex; + justify-content: space-between; + align-items: center; + padding-top: 16px; + border-top: 1px solid rgba(255, 255, 255, 0.05); +} +.wf-card-date { + display: flex; + align-items: center; + gap: 6px; + font-size: 11px; + color: var(--md-on-surface-variant); +} +.wf-card-actions { + display: flex; + align-items: center; + gap: 8px; +} +.wf-delete-btn { + width: 32px; + height: 32px; + border-radius: 50%; + border: 1px solid rgba(255, 255, 255, 0.1); + background: transparent; + color: var(--md-on-surface-variant); + cursor: pointer; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.2s; +} +.wf-delete-btn:hover { + background: rgba(255, 110, 132, 0.15); + border-color: rgba(255, 110, 132, 0.3); + color: #ff6e84; +} +.wf-card-arrow { + width: 36px; + height: 36px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.05); + color: var(--md-primary); + display: flex; + align-items: center; + justify-content: center; + transition: all 0.2s; +} +.wf-card:hover .wf-card-arrow { + background: var(--md-primary); + color: #000; + transform: translateX(2px); +} + +/* ── Detail view ── */ +.wf-detail-top { + position: sticky; + top: 0; + z-index: 10; + display: flex; + align-items: center; + gap: 16px; + background: rgba(23, 23, 33, 0.9); + backdrop-filter: blur(16px); + border: 1px solid rgba(168, 85, 247, 0.15); + border-radius: 12px; + padding: 10px 16px; + flex-wrap: wrap; +} +.wf-detail-objective { + display: flex; + align-items: center; + gap: 8px; + flex: 1; +} +.wf-detail-obj-text { + font-family: 'Manrope', sans-serif; + font-size: 14px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.05em; + color: var(--md-primary); +} +.wf-detail-progress-wrap { + display: flex; + align-items: center; + gap: 12px; +} +.wf-detail-progress-info { + display: flex; + flex-direction: column; + align-items: flex-end; +} +.wf-detail-progress-label { + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.1em; + color: var(--md-on-surface-variant); +} +.wf-detail-progress-pct { + font-size: 16px; + font-weight: 800; + color: var(--md-secondary, #f673b7); +} +.wf-detail-progress-bar { + width: 120px; + height: 6px; + background: rgba(255, 255, 255, 0.05); + border-radius: 6px; + overflow: hidden; +} +.wf-detail-progress-fill { + height: 100%; + border-radius: 6px; + background: linear-gradient(90deg, var(--md-primary), var(--md-secondary, #f673b7)); + transition: width 0.3s; +} + +/* Overview card */ +.wf-overview-card { + background: rgba(26, 18, 33, 0.8); + backdrop-filter: blur(12px); + border: 1px solid rgba(168, 85, 247, 0.15); + border-radius: 20px; + padding: 24px; + display: flex; + align-items: center; + justify-content: space-between; + gap: 20px; + flex-wrap: wrap; + box-shadow: 0 0 20px rgba(168, 85, 247, 0.1); +} +.wf-overview-left { + display: flex; + align-items: center; + gap: 16px; +} +.wf-overview-avatar { + width: 80px; + height: 80px; + border-radius: 16px; + background: linear-gradient(135deg, rgba(168, 85, 247, 0.2), rgba(236, 72, 153, 0.2)); + border: 1px solid rgba(168, 85, 247, 0.3); + display: flex; + align-items: center; + justify-content: center; + overflow: visible; + position: relative; + flex-shrink: 0; +} +.wf-overview-avatar .race-card-avatar { + width: 64px; + height: 64px; +} +.wf-overview-avatar .race-card-avatar img { + width: 64px; + height: 64px; +} +.wf-overview-gen-badge { + position: absolute; + top: -8px; + right: -8px; + color: #fff; + font-size: 10px; + font-weight: 700; + padding: 3px 8px; + border-radius: 6px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3); +} +.wf-overview-name { + font-family: 'Manrope', sans-serif; + font-size: 22px; + font-weight: 800; + color: #fff; +} +.wf-overview-meta { + font-size: 12px; + color: var(--md-on-surface-variant); + margin-top: 4px; +} +.wf-overview-stats { + display: flex; + gap: 16px; +} +.wf-overview-stat { + text-align: center; + padding: 10px 20px; + background: rgba(255, 255, 255, 0.05); + border-radius: 12px; + border: 1px solid rgba(255, 255, 255, 0.05); +} +.wf-overview-stat-label { + display: block; + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.15em; + color: var(--md-on-surface-variant); + margin-bottom: 4px; +} +.wf-overview-stat-value { + font-size: 20px; + font-weight: 800; + color: #fff; +} + +/* Step headers */ +.wf-detail-step-header { + display: flex; + align-items: center; + gap: 10px; + margin-top: 8px; +} +.wf-detail-step-badge { + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.05em; + color: #fff; + padding: 4px 12px; + border-radius: 20px; + border: 1px solid rgba(255, 255, 255, 0.1); + white-space: nowrap; +} +.wf-detail-step-label { + font-family: 'Manrope', sans-serif; + font-size: 12px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.15em; + color: var(--md-on-surface-variant); +} + +/* Step connector */ +.wf-step-connector { + width: 2px; + height: 32px; + background: linear-gradient(to bottom, var(--md-primary), var(--md-secondary, #f673b7)); + margin: 4px auto; + border-radius: 2px; +} + +/* Materials grid */ +.wf-materials-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); + gap: 12px; + margin-top: 12px; +} +.wf-material-card { + background: rgba(26, 18, 33, 0.8); + backdrop-filter: blur(12px); + border: 1px solid rgba(168, 85, 247, 0.15); + border-radius: 16px; + padding: 16px; + display: flex; + align-items: center; + gap: 14px; + transition: border-color 0.2s; +} +.wf-material-card:hover { + border-color: rgba(168, 85, 247, 0.4); +} +.wf-material-complete { + border-color: rgba(34, 197, 94, 0.2); + background: rgba(34, 197, 94, 0.05); +} +.wf-material-avatar { + width: 56px; + height: 56px; + border-radius: 12px; + background: rgba(255, 255, 255, 0.03); + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; + overflow: hidden; +} +.wf-material-avatar .race-card-avatar { + width: 44px; + height: 44px; +} +.wf-material-avatar .race-card-avatar img { + width: 44px; + height: 44px; +} +.wf-material-info { + flex: 1; + min-width: 0; +} +.wf-material-name-row { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 6px; +} +.wf-material-name { + font-size: 13px; + font-weight: 700; + color: #fff; +} +.wf-material-progress-row { + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; +} +.wf-material-need { + font-size: 11px; + color: var(--md-on-surface-variant); + white-space: nowrap; +} +.wf-material-bar-wrap { + display: flex; + align-items: center; + gap: 8px; + flex: 1; +} +.wf-material-count { + font-size: 11px; + font-weight: 700; + color: var(--md-primary); + white-space: nowrap; +} +.wf-material-bar { + flex: 1; + height: 4px; + background: rgba(255, 255, 255, 0.1); + border-radius: 4px; + overflow: hidden; +} +.wf-material-bar-fill { + height: 100%; + background: var(--md-primary); + border-radius: 4px; + transition: width 0.3s; +} +.wf-mat-input { + width: 52px; + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 8px; + color: var(--md-primary); + font-size: 13px; + font-weight: 700; + text-align: center; + padding: 4px 6px; + outline: none; + margin-top: 8px; + transition: border-color 0.2s; +} +.wf-mat-input:focus { + border-color: var(--md-primary); +} + +/* Crossings list */ +.wf-crossings-list { + display: flex; + flex-direction: column; + gap: 12px; + margin-top: 12px; +} +.wf-crossing-card { + background: rgba(26, 18, 33, 0.8); + backdrop-filter: blur(12px); + border: 1px solid rgba(168, 85, 247, 0.15); + border-radius: 16px; + padding: 20px; +} +.wf-crossing-row { + display: flex; + align-items: center; + justify-content: center; + gap: 16px; + flex-wrap: wrap; +} +.wf-crossing-parents { + display: flex; + align-items: center; + gap: 8px; +} +.wf-crossing-parent-av { + width: 64px; + height: 64px; + border-radius: 16px; + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.05); + display: flex; + align-items: center; + justify-content: center; + overflow: hidden; +} +.wf-crossing-parent-av .race-card-avatar { + width: 52px; + height: 52px; +} +.wf-crossing-parent-av .race-card-avatar img { + width: 52px; + height: 52px; +} +.wf-crossing-result { + display: flex; + align-items: center; + gap: 16px; +} +.wf-crossing-baby-av { + width: 80px; + height: 80px; + border-radius: 16px; + background: rgba(168, 85, 247, 0.1); + border: 2px solid rgba(168, 85, 247, 0.4); + display: flex; + align-items: center; + justify-content: center; + position: relative; + overflow: visible; + flex-shrink: 0; +} +.wf-crossing-baby-av .race-card-avatar { + width: 60px; + height: 60px; +} +.wf-crossing-baby-av .race-card-avatar img { + width: 60px; + height: 60px; +} +.wf-crossing-result-info { + display: flex; + flex-direction: column; + gap: 4px; +} +.wf-crossing-baby-name { + font-family: 'Manrope', sans-serif; + font-size: 16px; + font-weight: 700; + color: #fff; +} +.wf-crossing-baby-obj { + font-size: 11px; + color: var(--md-on-surface-variant); +} +.wf-crossing-dots { + display: flex; + align-items: center; + gap: 4px; + margin-top: 4px; +} +.wf-dot { + width: 8px; + height: 8px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.1); +} +.wf-dot-done { + background: var(--md-primary); +} +.wf-crossing-count { + font-size: 11px; + font-weight: 800; + margin-left: 6px; +} +.wf-crossing-input { + width: 52px; + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 8px; + color: var(--md-primary); + font-size: 13px; + font-weight: 700; + text-align: center; + padding: 4px 6px; + outline: none; + margin-top: 12px; + transition: border-color 0.2s; +} +.wf-crossing-input:focus { + border-color: var(--md-primary); +} + +/* ================================================================ + PARAMETRES VIEW — Obsidienne + ================================================================ */ + +.param-view { + display: flex; + flex-direction: column; + gap: 20px; + max-width: 700px; +} + +/* Hero */ +.param-hero { + margin-bottom: 4px; +} +.param-hero-title { + font-family: 'Manrope', sans-serif; + font-size: 22px; + font-weight: 800; + color: #fff; + margin: 0 0 4px; +} +.param-hero-sub { + font-size: 13px; + color: var(--md-on-surface-variant); + margin: 0; +} + +/* Section card */ +.param-section { + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.06); + border-radius: 16px; + padding: 24px; +} +.param-section-header { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 4px; +} +.param-section-icon { + font-size: 22px; + color: var(--md-primary); +} +.param-section-title { + font-family: 'Manrope', sans-serif; + font-size: 16px; + font-weight: 700; + color: #fff; + margin: 0; +} +.param-section-desc { + font-size: 13px; + color: var(--md-on-surface-variant); + margin: 0 0 16px; +} + +/* Sound grid */ +.param-sound-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 10px; + margin-bottom: 16px; +} +.param-sound-card { + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; + padding: 16px 8px; + border-radius: 12px; + background: rgba(255, 255, 255, 0.04); + border: 1px solid rgba(255, 255, 255, 0.06); + cursor: pointer; + transition: all 0.2s; + color: var(--md-on-surface-variant); +} +.param-sound-card:hover { + background: rgba(157, 120, 255, 0.08); + border-color: rgba(157, 120, 255, 0.2); +} +.param-sound-card.active { + background: rgba(157, 120, 255, 0.15); + border-color: var(--md-primary); + color: var(--md-primary); +} +.param-sound-icon { + font-size: 28px; +} +.param-sound-label { + font-size: 12px; + font-weight: 600; +} +.param-test-btn { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 8px 20px; + border-radius: 10px; + background: rgba(157, 120, 255, 0.1); + border: 1px solid rgba(157, 120, 255, 0.2); + color: var(--md-primary); + font-size: 13px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} +.param-test-btn:hover { + background: rgba(157, 120, 255, 0.2); +} +.param-test-btn .material-symbols-outlined { + font-size: 18px; +} + +/* Toggle switch */ +.param-toggle-row { + display: flex; + align-items: center; + justify-content: space-between; + padding: 8px 0; +} +.param-toggle-label { + font-size: 14px; + font-weight: 600; + color: var(--md-on-surface-variant); +} +.param-toggle { + position: relative; + width: 48px; + height: 26px; + border-radius: 13px; + background: rgba(255, 255, 255, 0.1); + border: 1px solid rgba(255, 255, 255, 0.1); + cursor: pointer; + transition: all 0.3s; + padding: 0; +} +.param-toggle.active { + background: var(--md-primary); + border-color: var(--md-primary); +} +.param-toggle-knob { + position: absolute; + top: 3px; + left: 3px; + width: 18px; + height: 18px; + border-radius: 50%; + background: #fff; + transition: transform 0.3s; + pointer-events: none; +} +.param-toggle.active .param-toggle-knob { + transform: translateX(22px); +} + +/* Mobile status */ +.param-mobile-status { + display: flex; + align-items: center; + gap: 10px; + margin-bottom: 16px; +} +.param-mobile-dot { + width: 10px; + height: 10px; + border-radius: 50%; + background: rgba(255, 255, 255, 0.15); + flex-shrink: 0; +} +.param-mobile-dot.active { + background: #22c55e; + box-shadow: 0 0 8px rgba(34, 197, 94, 0.4); +} +.param-mobile-text { + font-size: 13px; + color: var(--md-on-surface-variant); + font-weight: 500; +} +.param-mobile-btn { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 10px 20px; + border-radius: 10px; + background: rgba(157, 120, 255, 0.1); + border: 1px solid rgba(157, 120, 255, 0.2); + color: var(--md-primary); + font-size: 13px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} +.param-mobile-btn:hover { + background: rgba(157, 120, 255, 0.2); +} +.param-mobile-btn.active { + background: rgba(34, 197, 94, 0.1); + border-color: rgba(34, 197, 94, 0.3); + color: #22c55e; +} +.param-mobile-btn.active:hover { + background: rgba(34, 197, 94, 0.15); +} +.param-mobile-btn .material-symbols-outlined { + font-size: 18px; +} + +/* Modal overlay */ +.param-modal-overlay { + position: fixed; + inset: 0; + background: rgba(0, 0, 0, 0.6); + backdrop-filter: blur(8px); + display: flex; + align-items: center; + justify-content: center; + z-index: 1000; +} +.param-modal-overlay.hidden { + display: none; +} +.param-modal-box { + background: rgba(28, 23, 46, 0.97); + border: 1px solid rgba(255, 255, 255, 0.08); + border-radius: 20px; + width: 480px; + max-width: 90vw; + max-height: 85vh; + overflow-y: auto; + box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5); +} +.param-modal-header { + display: flex; + align-items: center; + justify-content: space-between; + padding: 20px 24px 12px; + border-bottom: 1px solid rgba(255, 255, 255, 0.06); +} +.param-modal-header-left { + display: flex; + align-items: center; + gap: 10px; +} +.param-modal-title { + font-family: 'Manrope', sans-serif; + font-size: 16px; + font-weight: 700; + color: #fff; + margin: 0; +} +.param-modal-close { + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.08); + border-radius: 8px; + color: var(--md-on-surface-variant); + cursor: pointer; + padding: 4px; + display: flex; + align-items: center; + transition: all 0.2s; +} +.param-modal-close:hover { + background: rgba(255, 255, 255, 0.1); + color: #fff; +} +.param-modal-body { + padding: 20px 24px; +} +.param-modal-footer { + display: flex; + justify-content: flex-end; + padding: 12px 24px 20px; + border-top: 1px solid rgba(255, 255, 255, 0.06); +} +.param-modal-btn-ghost { + padding: 8px 20px; + border-radius: 10px; + background: rgba(255, 255, 255, 0.05); + border: 1px solid rgba(255, 255, 255, 0.08); + color: var(--md-on-surface-variant); + font-size: 13px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} +.param-modal-btn-ghost:hover { + background: rgba(255, 255, 255, 0.1); + color: #fff; +} + +/* Ntfy intro */ +.param-ntfy-intro { + display: flex; + flex-direction: column; + align-items: center; + gap: 20px; +} +.param-ntfy-intro-card { + display: flex; + flex-direction: column; + align-items: center; + gap: 12px; + text-align: center; + padding: 20px; + border-radius: 14px; + background: rgba(157, 120, 255, 0.06); + border: 1px solid rgba(157, 120, 255, 0.12); +} +.param-ntfy-intro-card p { + font-size: 13px; + color: var(--md-on-surface-variant); + line-height: 1.6; + margin: 0; +} +.param-ntfy-activate { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 12px 24px; + border-radius: 12px; + background: var(--md-primary); + border: none; + color: #fff; + font-size: 14px; + font-weight: 700; + cursor: pointer; + transition: all 0.2s; +} +.param-ntfy-activate:hover { + filter: brightness(1.15); +} +.param-ntfy-activate .material-symbols-outlined { + font-size: 20px; +} + +/* Ntfy steps */ +.param-ntfy-steps { + display: flex; + flex-direction: column; + gap: 20px; +} +.param-ntfy-step { + display: flex; + gap: 14px; +} +.param-ntfy-step-badge { + width: 28px; + height: 28px; + border-radius: 50%; + background: var(--md-primary); + color: #fff; + font-size: 14px; + font-weight: 800; + display: flex; + align-items: center; + justify-content: center; + flex-shrink: 0; +} +.param-ntfy-step-content { + flex: 1; + min-width: 0; +} +.param-ntfy-step-title { + font-family: 'Manrope', sans-serif; + font-size: 14px; + font-weight: 700; + color: #fff; + margin: 0 0 4px; +} +.param-ntfy-step-desc { + font-size: 12px; + color: var(--md-on-surface-variant); + line-height: 1.6; + margin: 0 0 12px; +} +.param-ntfy-step-desc a { + color: var(--md-primary); + text-decoration: none; +} +.param-ntfy-step-desc a:hover { + text-decoration: underline; +} +.param-ntfy-qr-wrap { + background: #fff; + padding: 8px; + border-radius: 10px; + display: inline-block; +} +.param-ntfy-qr-main { + padding: 10px; +} + +/* Ntfy actions */ +.param-ntfy-actions { + display: flex; + gap: 10px; + justify-content: center; + margin-top: 20px; + padding-top: 16px; + border-top: 1px solid rgba(255, 255, 255, 0.06); +} +.param-ntfy-test-btn { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 8px 20px; + border-radius: 10px; + background: rgba(157, 120, 255, 0.1); + border: 1px solid rgba(157, 120, 255, 0.2); + color: var(--md-primary); + font-size: 13px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} +.param-ntfy-test-btn:hover { + background: rgba(157, 120, 255, 0.2); +} +.param-ntfy-test-btn .material-symbols-outlined { + font-size: 16px; +} +.param-ntfy-deactivate-btn { + display: inline-flex; + align-items: center; + gap: 6px; + padding: 8px 20px; + border-radius: 10px; + background: rgba(239, 68, 68, 0.08); + border: 1px solid rgba(239, 68, 68, 0.2); + color: #ef4444; + font-size: 13px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} +.param-ntfy-deactivate-btn:hover { + background: rgba(239, 68, 68, 0.15); +} +.param-ntfy-deactivate-btn .material-symbols-outlined { + font-size: 16px; +} + +@media (max-width: 600px) { + .param-sound-grid { + grid-template-columns: repeat(2, 1fr); + } +} + +/* ================================================================ + STATISTIQUES VIEW — Obsidienne + ================================================================ */ +.stats-view { + padding: 0 8px; +} + +/* Hero + Period filter */ +.stats-hero { + display: flex; + justify-content: space-between; + align-items: flex-end; + margin-bottom: 28px; + flex-wrap: wrap; + gap: 16px; +} +.stats-hero-title { + font-family: 'Manrope', sans-serif; + font-size: 32px; + font-weight: 800; + letter-spacing: -0.02em; + color: #fff; +} +.stats-hero-sub { + font-size: 14px; + color: var(--md-on-surface-variant); + margin-top: 6px; + max-width: 500px; +} +.stats-period-chips { + display: flex; + gap: 6px; +} +.stats-period-chip { + padding: 7px 16px; + border: 1px solid rgba(255, 255, 255, 0.08); + border-radius: 20px; + background: rgba(255, 255, 255, 0.03); + color: var(--md-on-surface-variant); + font-size: 12px; + font-weight: 600; + cursor: pointer; + transition: all 0.2s; +} +.stats-period-chip:hover { + background: rgba(255, 255, 255, 0.08); + border-color: rgba(255, 255, 255, 0.15); +} +.stats-period-chip.active { + background: var(--md-primary); + color: var(--md-on-primary); + border-color: var(--md-primary); +} + +/* KPI Grid */ +.stats-kpi-grid { + display: grid; + grid-template-columns: repeat(4, 1fr); + gap: 16px; + margin-bottom: 28px; +} +.stats-kpi-card { + background: var(--md-surface-container); + border: 1px solid rgba(255, 255, 255, 0.04); + border-radius: 18px; + padding: 22px 20px; + display: flex; + flex-direction: column; + gap: 6px; +} +.stats-kpi-icon-wrap { + width: 36px; + height: 36px; + border-radius: 10px; + background: rgba(157, 120, 255, 0.1); + display: flex; + align-items: center; + justify-content: center; + margin-bottom: 6px; +} +.stats-kpi-icon { + font-size: 20px; + color: var(--md-primary); +} +.stats-kpi-label { + font-family: 'Plus Jakarta Sans', sans-serif; + font-size: 10px; + font-weight: 700; + text-transform: uppercase; + letter-spacing: 0.15em; + color: var(--md-on-surface-variant); +} +.stats-kpi-row { + display: flex; + align-items: baseline; + gap: 10px; +} +.stats-kpi-value { + font-family: 'Manrope', sans-serif; + font-size: 34px; + font-weight: 900; + color: var(--md-on-surface); + letter-spacing: -0.02em; +} +.stats-kpi-total { + font-size: 16px; + font-weight: 600; + color: var(--md-on-surface-variant); + letter-spacing: 0; +} + +/* Delta badges */ +.stats-delta { + font-size: 12px; + font-weight: 700; + padding: 3px 8px; + border-radius: 6px; + white-space: nowrap; +} +.stats-delta-up { + color: #22c55e; + background: rgba(34, 197, 94, 0.1); +} +.stats-delta-down { + color: #ef4444; + background: rgba(239, 68, 68, 0.1); +} +.stats-delta-neutral { + color: var(--md-on-surface-variant); + background: rgba(255, 255, 255, 0.05); +} + +/* Two column layout */ +.stats-two-col { + display: grid; + grid-template-columns: 2fr 1fr; + gap: 20px; + margin-bottom: 28px; +} + +/* Chart panels shared */ +.stats-chart-panel, +.stats-race-panel, +.stats-history-panel { + background: var(--md-surface-container-high); + border: 1px solid rgba(255, 255, 255, 0.04); + border-radius: 22px; + padding: 28px; +} +.stats-chart-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 24px; +} +.stats-chart-title { + font-family: 'Manrope', sans-serif; + font-size: 20px; + font-weight: 700; + color: var(--md-on-surface); +} +.stats-chart-badge { + font-size: 10px; + font-weight: 700; + letter-spacing: 0.12em; + color: var(--md-on-surface); + background: var(--md-surface-container-highest); + padding: 5px 12px; + border-radius: 20px; +} +.stats-chart-empty { + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + gap: 10px; + padding: 60px 0; + color: var(--md-on-surface-variant); + font-size: 13px; +} + +/* Bar chart area */ +.stats-chart-area { + display: flex; + flex-direction: column; + gap: 0; +} +.stats-chart-y-axis { + display: flex; + flex-direction: column; + justify-content: space-between; + align-items: flex-end; + font-size: 10px; + color: var(--md-on-surface-variant); + padding-right: 10px; + height: 200px; + position: absolute; + left: 0; + top: 0; +} +.stats-chart-bars { + display: flex; + align-items: flex-end; + gap: 3px; + height: 200px; + padding-left: 36px; + border-bottom: 1px solid rgba(255, 255, 255, 0.06); + border-left: 1px solid rgba(255, 255, 255, 0.06); + position: relative; +} +.stats-bar-col { + flex: 1; + display: flex; + align-items: flex-end; + justify-content: center; + height: 100%; + position: relative; +} +.stats-bar { + width: 100%; + max-width: 10px; + border-radius: 3px 3px 0 0; + background: rgba(157, 120, 255, 0.3); + transition: height 0.3s ease, background 0.2s; + min-height: 0; +} +.stats-bar-col:hover .stats-bar { + background: rgba(157, 120, 255, 0.7); +} +.stats-bar-today { + background: linear-gradient(180deg, var(--md-primary), rgba(157, 120, 255, 0.6)); + box-shadow: 0 0 16px rgba(157, 120, 255, 0.35); +} + +/* Bar tooltip */ +.stats-tooltip { + position: absolute; + bottom: calc(100% + 8px); + left: 50%; + transform: translateX(-50%); + background: var(--md-surface-container-highest); + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 8px; + padding: 6px 10px; + font-size: 11px; + color: var(--md-on-surface); + white-space: nowrap; + text-align: center; + pointer-events: none; + opacity: 0; + transition: opacity 0.15s; + z-index: 10; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4); + line-height: 1.4; +} +.stats-tooltip strong { + color: var(--md-primary); + font-weight: 800; +} +.stats-bar-col:hover .stats-tooltip { + opacity: 1; +} + +.stats-chart-x-axis { + display: flex; + justify-content: space-between; + padding-left: 36px; + margin-top: 8px; + font-size: 10px; + color: var(--md-on-surface-variant); +} + +/* Race distribution panel */ +.stats-race-panel { + display: flex; + flex-direction: column; + gap: 24px; +} +.stats-donut-wrap { + position: relative; + display: flex; + align-items: center; + justify-content: center; + margin: 8px 0 16px; +} +.stats-donut-svg { + display: block; +} +.stats-donut-arc { + transition: opacity 0.2s; + cursor: default; +} +.stats-donut-arc:hover { + opacity: 0.75; + filter: brightness(1.2); +} +.stats-donut-center { + position: absolute; + display: flex; + flex-direction: column; + align-items: center; +} +.stats-donut-num { + font-family: 'Manrope', sans-serif; + font-size: 28px; + font-weight: 900; + color: var(--md-on-surface); +} +.stats-donut-label { + font-family: 'Plus Jakarta Sans', sans-serif; + font-size: 9px; + font-weight: 700; + letter-spacing: 0.2em; + color: var(--md-on-surface-variant); +} + +/* Race legend */ +.stats-race-legend { + display: flex; + flex-direction: column; + gap: 10px; +} +.stats-race-legend-row { + display: flex; + align-items: center; + justify-content: space-between; +} +.stats-race-legend-left { + display: flex; + align-items: center; + gap: 10px; +} +.stats-race-legend-right { + display: flex; + align-items: baseline; + gap: 8px; +} +.stats-race-dot { + width: 10px; + height: 10px; + border-radius: 50%; + flex-shrink: 0; +} +.stats-race-name { + font-size: 13px; + font-weight: 600; + color: var(--md-on-surface); +} +.stats-race-count { + font-size: 13px; + font-weight: 600; + color: var(--md-on-surface-variant); +} +.stats-race-pct { + font-family: 'Manrope', sans-serif; + font-size: 16px; + font-weight: 900; + color: var(--md-on-surface); + min-width: 36px; + text-align: right; +} + +/* History panel — race bars */ +.stats-history-panel { + margin-bottom: 20px; +} +.stats-race-bars { + display: flex; + flex-direction: column; + gap: 12px; +} +.stats-race-bar-row { + display: flex; + align-items: center; + gap: 14px; +} +.stats-race-bar-name { + width: 130px; + font-size: 13px; + font-weight: 600; + flex-shrink: 0; + text-align: right; +} +.stats-race-bar-track { + flex: 1; + height: 8px; + background: rgba(255, 255, 255, 0.04); + border-radius: 4px; + overflow: hidden; +} +.stats-race-bar-fill { + height: 100%; + border-radius: 4px; + transition: width 0.4s ease; +} +.stats-race-bar-count { + width: 36px; + font-size: 13px; + font-weight: 700; + color: rgba(176, 168, 182, 0.7); + text-align: right; +} + +/* Generation breakdown bars */ +.stats-gen-bars { + display: flex; + flex-direction: column; + gap: 12px; +} +.stats-gen-row { + display: flex; + align-items: center; + gap: 12px; +} +.stats-gen-label { + width: 52px; + font-size: 13px; + font-weight: 700; + flex-shrink: 0; +} +.stats-gen-bar-wrap { + flex: 1; + height: 10px; + background: rgba(255, 255, 255, 0.04); + border-radius: 5px; + overflow: hidden; +} +.stats-gen-bar { + height: 100%; + border-radius: 5px; + transition: width 0.4s ease; +} +.stats-gen-info { + display: flex; + align-items: center; + gap: 10px; + flex-shrink: 0; +} +.stats-gen-count { + font-size: 14px; + font-weight: 800; + color: var(--md-on-surface); + min-width: 28px; + text-align: right; +} +.stats-gen-rate { + font-size: 11px; + font-weight: 600; + color: var(--md-on-surface-variant); + background: rgba(255, 255, 255, 0.05); + padding: 2px 6px; + border-radius: 4px; +} +.stats-gen-races { + font-size: 11px; + color: var(--md-on-surface-variant); +} + +/* Weekday activity heatmap */ +.stats-weekday-grid { + display: flex; + gap: 8px; + justify-content: space-between; + padding: 8px 0; +} +.stats-weekday-item { + display: flex; + flex-direction: column; + align-items: center; + gap: 8px; + flex: 1; +} +.stats-weekday-name { + font-size: 11px; + font-weight: 600; + color: var(--md-on-surface-variant); + text-transform: uppercase; + letter-spacing: 0.05em; +} +.stats-weekday-block { + width: 100%; + aspect-ratio: 1; + border-radius: 12px; + display: flex; + align-items: center; + justify-content: center; + transition: transform 0.15s; + cursor: default; +} +.stats-weekday-block:hover { + transform: scale(1.08); +} +.stats-weekday-count { + font-family: 'Manrope', sans-serif; + font-size: 16px; + font-weight: 800; + color: #fff; +} + +/* Race success rate */ +.stats-success-grid { + display: flex; + flex-direction: column; + gap: 10px; +} +.stats-success-row { + display: flex; + align-items: center; + gap: 12px; +} +.stats-success-race { + display: flex; + align-items: center; + gap: 10px; + width: 220px; + flex-shrink: 0; +} +.stats-success-avatar { + width: 48px; + height: 48px; + flex-shrink: 0; +} +.stats-success-avatar .race-card-avatar { + width: 48px; + height: 48px; +} +.stats-success-avatar .race-card-avatar img { + width: 48px; + height: 48px; + object-fit: contain; +} +.stats-success-name { + font-size: 13px; + font-weight: 600; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} +.stats-success-bar-wrap { + flex: 1; + height: 6px; + background: rgba(255, 255, 255, 0.04); + border-radius: 3px; + overflow: hidden; +} +.stats-success-bar { + height: 100%; + border-radius: 3px; + transition: width 0.3s; +} +.stats-success-rate, +.stats-couple-rate { + font-size: 13px; + font-weight: 800; + min-width: 42px; + text-align: right; +} +.stats-rate-high { color: #22c55e; } +.stats-rate-mid { color: #eab308; } +.stats-rate-low { color: #ef4444; } +.stats-success-detail, +.stats-couple-detail { + font-size: 11px; + color: var(--md-on-surface-variant); + min-width: 44px; + text-align: right; +} + +/* Best couples */ +.stats-couples-grid { + display: flex; + flex-direction: column; + gap: 10px; +} +.stats-couple-row { + display: flex; + align-items: center; + gap: 12px; + padding: 8px 12px; + border-radius: 12px; + background: rgba(255, 255, 255, 0.02); + border: 1px solid rgba(255, 255, 255, 0.03); +} +.stats-couple-rank { + font-family: 'Manrope', sans-serif; + font-size: 14px; + font-weight: 800; + color: var(--md-primary); + min-width: 28px; +} +.stats-couple-parents { + display: flex; + align-items: center; + gap: 6px; +} +.stats-couple-av { + width: 48px; + height: 48px; + flex-shrink: 0; +} +.stats-couple-av .race-card-avatar { + width: 48px; + height: 48px; +} +.stats-couple-av .race-card-avatar img { + width: 48px; + height: 48px; + object-fit: contain; +} +.stats-couple-baby { + display: flex; + align-items: center; + gap: 8px; + flex: 1; + min-width: 0; +} +.stats-couple-baby-av { + width: 56px; + height: 56px; + flex-shrink: 0; +} +.stats-couple-baby-av .race-card-avatar { + width: 56px; + height: 56px; +} +.stats-couple-baby-av .race-card-avatar img { + width: 56px; + height: 56px; + object-fit: contain; +} + +/* Missing races */ +.stats-missing-list { + display: flex; + flex-direction: column; + gap: 20px; +} +.stats-missing-gen { + display: flex; + flex-direction: column; + gap: 10px; +} +.stats-missing-gen-badge { + display: inline-flex; + align-self: flex-start; + padding: 4px 12px; + border-radius: 8px; + font-size: 11px; + font-weight: 700; + color: #fff; + letter-spacing: 0.05em; +} +.stats-missing-races { + display: flex; + flex-wrap: wrap; + gap: 10px; +} +.stats-missing-card { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 14px 8px 8px; + border-radius: 12px; + background: rgba(255, 255, 255, 0.03); + border: 1px solid rgba(255, 255, 255, 0.05); + min-width: 0; + max-width: 200px; +} +.stats-missing-av { + width: 48px; + height: 48px; + flex-shrink: 0; + opacity: 0.5; +} +.stats-missing-av .race-card-avatar { + width: 48px; + height: 48px; +} +.stats-missing-av .race-card-avatar img { + width: 48px; + height: 48px; + object-fit: contain; + filter: grayscale(0.6); +} +.stats-missing-name { + font-size: 12px; + font-weight: 600; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + min-width: 0; +} +.stats-badge-success { + background: rgba(34, 197, 94, 0.15) !important; + color: #22c55e !important; +} + +/* Responsive */ +@media (max-width: 900px) { + .stats-kpi-grid { + grid-template-columns: repeat(2, 1fr); + } + .stats-two-col { + grid-template-columns: 1fr; + } + .stats-hero { + flex-direction: column; + align-items: flex-start; + } + .stats-success-race { + width: 140px; + } +} + +/* ───────────────────────────────────────────────── + TOAST NOTIFICATIONS + ───────────────────────────────────────────────── */ +#toast-container { + position: fixed; + bottom: 24px; + right: 24px; + z-index: 9999; + display: flex; + flex-direction: column-reverse; + gap: 8px; + pointer-events: none; +} + +.toast { + display: flex; + align-items: center; + gap: 10px; + padding: 12px 20px; + border-radius: 12px; + background: rgba(30, 20, 50, 0.85); + backdrop-filter: blur(16px); + -webkit-backdrop-filter: blur(16px); + border: 1px solid rgba(255, 255, 255, 0.08); + color: #e0e0e0; + font-size: 0.92rem; + font-family: var(--font-body); + box-shadow: 0 4px 24px rgba(0, 0, 0, 0.4); + pointer-events: auto; + opacity: 0; + transform: translateX(100%); + transition: none; + min-width: 260px; + max-width: 400px; +} + +.toast-visible { + animation: toast-in 0.3s ease forwards; +} + +.toast-exit { + animation: toast-out 0.3s ease forwards; +} + +.toast-icon { + font-size: 1.3rem; + flex-shrink: 0; +} + +.toast-msg { + flex: 1; + line-height: 1.3; +} + +.toast-action { + flex-shrink: 0; + padding: 4px 14px; + border-radius: 8px; + border: 1px solid rgba(255, 255, 255, 0.15); + background: rgba(255, 255, 255, 0.08); + color: #bb86fc; + font-family: var(--font-body); + font-size: 0.82rem; + font-weight: 700; + cursor: pointer; + transition: background 0.15s; + text-transform: uppercase; + letter-spacing: 0.5px; +} +.toast-action:hover { + background: rgba(187, 134, 252, 0.18); +} + +.toast-success { + border-left: 3px solid #4caf50; +} +.toast-success .toast-icon { + color: #4caf50; +} + +.toast-error { + border-left: 3px solid #f44336; +} +.toast-error .toast-icon { + color: #f44336; +} + +@keyframes toast-in { + from { opacity: 0; transform: translateX(100%); } + to { opacity: 1; transform: translateX(0); } +} + +@keyframes toast-out { + from { opacity: 1; transform: translateX(0); } + to { opacity: 0; transform: translateX(100%); } +} + +/* ───────────────────────────────────────────────── + PARAM DATA BACKUP SECTION + ───────────────────────────────────────────────── */ +.param-data-btns { + display: flex; + gap: 12px; + flex-wrap: wrap; +} + +.param-data-btn { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 12px 24px; + border-radius: 12px; + border: 1px solid rgba(255, 255, 255, 0.1); + background: rgba(255, 255, 255, 0.06); + color: #e0e0e0; + font-family: var(--font-body); + font-size: 0.9rem; + font-weight: 600; + cursor: pointer; + transition: background 0.15s, transform 0.1s; +} +.param-data-btn:hover { + background: rgba(255, 255, 255, 0.12); +} +.param-data-btn:active { + transform: scale(0.97); +} +.param-data-btn .material-symbols-outlined { + font-size: 1.2rem; +} + +.param-data-btn-import { + border-color: rgba(255, 183, 77, 0.3); + color: #ffb74d; +} +.param-data-btn-import:hover { + background: rgba(255, 183, 77, 0.1); +} + +/* ───────────────────────────────────────────────── + CONFIRM MODAL + ───────────────────────────────────────────────── */ +.confirm-overlay { + position: fixed; + inset: 0; + z-index: 10000; + background: rgba(0, 0, 0, 0.55); + backdrop-filter: blur(4px); + -webkit-backdrop-filter: blur(4px); + display: flex; + align-items: center; + justify-content: center; + animation: confirm-fade-in 0.2s ease; +} +.confirm-overlay.confirm-hidden { + display: none; +} + +.confirm-box { + background: rgba(30, 20, 50, 0.92); + backdrop-filter: blur(20px); + -webkit-backdrop-filter: blur(20px); + border: 1px solid rgba(255, 255, 255, 0.1); + border-radius: 16px; + padding: 28px 32px 24px; + min-width: 340px; + max-width: 440px; + box-shadow: 0 8px 40px rgba(0, 0, 0, 0.5); + text-align: center; + animation: confirm-scale-in 0.2s ease; +} + +.confirm-icon { + font-size: 2.4rem; + color: #ffb74d; + display: block; + margin-bottom: 12px; +} + +.confirm-title { + font-family: var(--font-heading); + font-size: 1.15rem; + font-weight: 700; + color: #fff; + margin: 0 0 8px; +} + +.confirm-msg { + font-family: var(--font-body); + font-size: 0.92rem; + color: #b0b0b0; + margin: 0 0 24px; + line-height: 1.4; +} + +.confirm-footer { + display: flex; + gap: 12px; + justify-content: center; +} + +.confirm-btn { + padding: 10px 24px; + border-radius: 10px; + border: none; + font-family: var(--font-body); + font-size: 0.9rem; + font-weight: 600; + cursor: pointer; + transition: background 0.15s, transform 0.1s; +} +.confirm-btn:active { + transform: scale(0.97); +} + +.confirm-btn-cancel { + background: rgba(255, 255, 255, 0.08); + color: #ccc; +} +.confirm-btn-cancel:hover { + background: rgba(255, 255, 255, 0.14); +} +.confirm-btn-cancel:focus-visible { + outline: 2px solid var(--md-primary); + outline-offset: 2px; +} + +.confirm-btn-ok { + background: #f44336; + color: #fff; +} +.confirm-btn-ok:hover { + background: #e53935; +} +.confirm-btn-ok:focus-visible { + outline: 2px solid #f44336; + outline-offset: 2px; +} + +@keyframes confirm-fade-in { + from { opacity: 0; } + to { opacity: 1; } +} + +@keyframes confirm-scale-in { + from { opacity: 0; transform: scale(0.92); } + to { opacity: 1; transform: scale(1); } +} diff --git a/src/presentation/styles/variables.css b/src/presentation/styles/variables.css new file mode 100644 index 0000000..11fd851 --- /dev/null +++ b/src/presentation/styles/variables.css @@ -0,0 +1,44 @@ +:root { + --bg: #0b0b14; + --bg2: #111120; + --bg3: #181828; + --bg4: #20203a; + --border: #2a2a45; + --text: #dddaf8; + --muted: #6868a0; + --ser: #f472b6; + --end: #facc15; + --mat: #22d3ee; + --amour: #f87171; + --xp: #fb923c; + --ok: #28e888; + --warn: #ff9820; + --r: 10px; + + /* MD3 – Obsidienne design tokens */ + --md-primary: #cb97ff; + --md-secondary: #f673b7; + --md-tertiary: #ffe083; + --md-on-primary: #46007c; + --md-on-secondary: #4a002f; + --md-primary-container: #c185fd; + --md-secondary-container: #85145a; + --md-background: #100c16; + --md-surface-dim: #100c16; + --md-surface: #100c16; + --md-surface-container-lowest: #000000; + --md-surface-container-low: #16111d; + --md-surface-container: #1c1724; + --md-surface-container-high: #231d2b; + --md-surface-container-highest: #292332; + --md-surface-bright: #302939; + --md-on-surface: #f1e8f7; + --md-on-surface-variant: #b0a8b6; + --md-on-background: #f1e8f7; + --md-outline: #7a7380; + --md-outline-variant: #4b4652; + --md-error: #ff6e84; + --md-primary-dim: #be83fa; + --md-primary-fixed: #c185fd; + --md-inverse-primary: #7c41b5; +} diff --git a/src/public/icone_sidebar.png b/src/public/icone_sidebar.png new file mode 100755 index 0000000..2f0f8a8 Binary files /dev/null and b/src/public/icone_sidebar.png differ