Skip to content

Commit 1c4d5d5

Browse files
Clément VALENTINclaude
andcommitted
refactor(web): consolidate info blocks in Simulator page
Reduce from 6 separate info blocks to 3 by: - Keep cache warning separate (important alert) - Merge "Period selection" + "Export & details" into "Features" block with 2-column layout - Merge "Comparison" + "Data source" + "Tariffs" into "How it works" block 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent 8debaaa commit 1c4d5d5

File tree

1 file changed

+45
-40
lines changed

1 file changed

+45
-40
lines changed

apps/web/src/pages/Simulator.tsx

Lines changed: 45 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -3374,55 +3374,60 @@ export default function Simulator() {
33743374
{/* Collapsible Content */}
33753375
{isInfoSectionExpanded && (
33763376
<div className="px-6 pb-6 space-y-4">
3377-
{/* Cache Information */}
3377+
{/* Cache Warning */}
33783378
<div className="bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg p-4">
33793379
<p className="text-sm text-yellow-800 dark:text-yellow-200">
3380-
<strong>⚠️ Cache automatique :</strong> L'utilisation du simulateur active automatiquement le cache. Vos données de consommation seront stockées temporairement sur la passerelle pour améliorer les performances et éviter de solliciter excessivement l'API Enedis. Les données en cache expirent automatiquement après 24 heures.
3380+
<strong>⚠️ Cache automatique :</strong> Vos données de consommation sont mises en cache pour améliorer les performances. Le cache expire après 24 heures.
33813381
</p>
33823382
</div>
33833383

3384-
{/* Simulation Information */}
3385-
<div className="bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg p-4">
3386-
<p className="text-sm text-blue-800 dark:text-blue-200">
3387-
<strong>🔍 Comparaison automatique :</strong> La simulation comparera automatiquement <strong>toutes les offres disponibles</strong> dans la base de données
3388-
{(() => {
3389-
const selectedPdlData = Array.isArray(pdlsData) ? pdlsData.find((p) => p.usage_point_id === selectedPdl) : undefined
3390-
const subscribedPower = selectedPdlData?.subscribed_power
3391-
return subscribedPower ? (
3392-
<> correspondant à votre puissance souscrite de <strong>{subscribedPower} kVA</strong></>
3393-
) : null
3394-
})()}.
3395-
</p>
3396-
</div>
3397-
3398-
{/* Data Source Information */}
3399-
<div className="bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg p-4">
3400-
<div className="text-sm text-blue-800 dark:text-blue-200 space-y-2">
3401-
<p>
3402-
<strong>📊 Source des données :</strong>
3403-
</p>
3404-
<ul className="list-disc list-inside space-y-1 ml-2">
3405-
<li>Les données sont récupérées depuis l'API <strong>Enedis Data Connect</strong></li>
3406-
<li>Endpoint utilisé : <code className="bg-blue-100 dark:bg-blue-900/40 px-1 rounded">consumption/daily</code> (relevés quotidiens)</li>
3407-
<li>Les données sont mises en cache pour optimiser les performances</li>
3408-
<li>Récupération automatique de <strong>1095 jours d'historique</strong> (limite maximale Enedis)</li>
3409-
<li>Les données Enedis ne sont disponibles qu'en <strong>J-1</strong> (hier)</li>
3410-
</ul>
3384+
{/* Features Block - Period + Export */}
3385+
<div className="bg-gray-50 dark:bg-gray-900/30 border border-gray-200 dark:border-gray-700 rounded-lg p-4">
3386+
<div className="text-sm text-gray-700 dark:text-gray-300 space-y-3">
3387+
<p className="font-semibold text-gray-800 dark:text-gray-200">🛠️ Fonctionnalités</p>
3388+
<div className="grid grid-cols-1 md:grid-cols-2 gap-4">
3389+
<div>
3390+
<p className="font-medium mb-1">📅 Choix de la période</p>
3391+
<ul className="list-disc list-inside space-y-0.5 ml-2 text-gray-600 dark:text-gray-400">
3392+
<li><strong>Année glissante</strong> : 365 derniers jours</li>
3393+
<li><strong>Année civile</strong> : année complète</li>
3394+
<li><strong>Personnalisée</strong> : dates au choix</li>
3395+
</ul>
3396+
</div>
3397+
<div>
3398+
<p className="font-medium mb-1">📄 Export et détails</p>
3399+
<ul className="list-disc list-inside space-y-0.5 ml-2 text-gray-600 dark:text-gray-400">
3400+
<li><strong>PDF global</strong> : comparatif complet</li>
3401+
<li><strong>PDF par offre</strong> : détail des calculs</li>
3402+
<li><strong>Formules</strong> : section "Comprendre les calculs"</li>
3403+
</ul>
3404+
</div>
3405+
</div>
34113406
</div>
34123407
</div>
34133408

3414-
{/* Tariff Information */}
3409+
{/* How it works Block */}
34153410
<div className="bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg p-4">
3416-
<div className="text-sm text-blue-800 dark:text-blue-200 space-y-2">
3417-
<p>
3418-
<strong>💰 À propos des tarifs :</strong>
3419-
</p>
3420-
<ul className="list-disc list-inside space-y-1 ml-2">
3421-
<li>Les tarifs sont issus de la base de données MyElectricalData</li>
3422-
<li>Les calculs HC/HP sont basés sur vos plages horaires configurées dans votre PDL</li>
3423-
<li>Pour les offres Enercoop spécifiques (Flexi Watt), les plages HC/HP sont détectées automatiquement</li>
3424-
<li>Les économies affichées sont calculées sur la base de votre consommation réelle sur la période sélectionnée ({periodLabel})</li>
3425-
</ul>
3411+
<div className="text-sm text-blue-800 dark:text-blue-200 space-y-3">
3412+
<p className="font-semibold">ℹ️ Comment ça marche</p>
3413+
<div className="space-y-2 text-blue-700 dark:text-blue-300">
3414+
<p>
3415+
<strong>🔍 Comparaison :</strong> Toutes les offres correspondant à votre puissance souscrite
3416+
{(() => {
3417+
const selectedPdlData = Array.isArray(pdlsData) ? pdlsData.find((p) => p.usage_point_id === selectedPdl) : undefined
3418+
const subscribedPower = selectedPdlData?.subscribed_power
3419+
return subscribedPower ? (
3420+
<> (<strong>{subscribedPower} kVA</strong>)</>
3421+
) : null
3422+
})()} sont automatiquement simulées.
3423+
</p>
3424+
<p>
3425+
<strong>📊 Source :</strong> Données via API Enedis Data Connect (historique jusqu'à 3 ans, disponible en J-1).
3426+
</p>
3427+
<p>
3428+
<strong>💰 Tarifs :</strong> Base MyElectricalData mise à jour régulièrement. Calculs HC/HP selon vos plages horaires. Offres spéciales (Tempo, Zen Flex) : détection automatique.
3429+
</p>
3430+
</div>
34263431
</div>
34273432
</div>
34283433
</div>

0 commit comments

Comments
 (0)