fix: format numbers with locale separators in Lots & Prix

- Add toLocaleString('fr-FR') for all stats numbers
- Fix stock display formatting in prize cards

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
soufiane 2025-12-03 16:44:59 +01:00
parent 055db16529
commit 13ee6b8831

View File

@ -133,7 +133,7 @@ export default function PrizeManagement() {
<Gift className="w-5 h-5 text-purple-600" /> <Gift className="w-5 h-5 text-purple-600" />
</div> </div>
<div> <div>
<p className="text-2xl font-bold text-purple-700">{prizeStats.totalPrizes}</p> <p className="text-2xl font-bold text-purple-700">{prizeStats.totalPrizes.toLocaleString('fr-FR')}</p>
<p className="text-xs text-purple-600">Total Lots</p> <p className="text-xs text-purple-600">Total Lots</p>
</div> </div>
</div> </div>
@ -144,7 +144,7 @@ export default function PrizeManagement() {
<Archive className="w-5 h-5 text-green-600" /> <Archive className="w-5 h-5 text-green-600" />
</div> </div>
<div> <div>
<p className="text-2xl font-bold text-green-700">{prizeStats.totalStock}</p> <p className="text-2xl font-bold text-green-700">{prizeStats.totalStock.toLocaleString('fr-FR')}</p>
<p className="text-xs text-green-600">Stock Total</p> <p className="text-xs text-green-600">Stock Total</p>
</div> </div>
</div> </div>
@ -155,7 +155,7 @@ export default function PrizeManagement() {
<Package className="w-5 h-5 text-blue-600" /> <Package className="w-5 h-5 text-blue-600" />
</div> </div>
<div> <div>
<p className="text-2xl font-bold text-blue-700">{prizeStats.totalUsed}</p> <p className="text-2xl font-bold text-blue-700">{prizeStats.totalUsed.toLocaleString('fr-FR')}</p>
<p className="text-xs text-blue-600">Distribués</p> <p className="text-xs text-blue-600">Distribués</p>
</div> </div>
</div> </div>
@ -166,7 +166,7 @@ export default function PrizeManagement() {
<Percent className="w-5 h-5 text-amber-600" /> <Percent className="w-5 h-5 text-amber-600" />
</div> </div>
<div> <div>
<p className="text-2xl font-bold text-amber-700">{prizeStats.totalStock > 0 ? ((prizeStats.totalUsed / prizeStats.totalStock) * 100).toFixed(1) : 0}%</p> <p className="text-2xl font-bold text-amber-700">{prizeStats.totalStock > 0 ? ((prizeStats.totalUsed / prizeStats.totalStock) * 100).toFixed(1) : '0.0'}%</p>
<p className="text-xs text-amber-600">Taux distrib.</p> <p className="text-xs text-amber-600">Taux distrib.</p>
</div> </div>
</div> </div>
@ -251,7 +251,7 @@ export default function PrizeManagement() {
<div className="flex items-center justify-between mb-2"> <div className="flex items-center justify-between mb-2">
<span className="text-sm text-gray-600">Stock</span> <span className="text-sm text-gray-600">Stock</span>
<span className={`font-bold ${stockRemaining === 0 ? 'text-red-600' : 'text-green-600'}`}> <span className={`font-bold ${stockRemaining === 0 ? 'text-red-600' : 'text-green-600'}`}>
{stockRemaining} / {prize.initialStock || prize.stock} {stockRemaining.toLocaleString('fr-FR')} / {(prize.initialStock || prize.stock || 0).toLocaleString('fr-FR')}
</span> </span>
</div> </div>
<div className="w-full bg-gray-200 rounded-full h-2"> <div className="w-full bg-gray-200 rounded-full h-2">
@ -266,7 +266,7 @@ export default function PrizeManagement() {
{prize.ticketsUsed !== undefined && prize.ticketsUsed > 0 && ( {prize.ticketsUsed !== undefined && prize.ticketsUsed > 0 && (
<div className="flex items-center justify-between p-3 bg-blue-50 rounded-xl"> <div className="flex items-center justify-between p-3 bg-blue-50 rounded-xl">
<span className="text-sm text-blue-700">Distribués</span> <span className="text-sm text-blue-700">Distribués</span>
<span className="font-bold text-blue-800">{prize.ticketsUsed}</span> <span className="font-bold text-blue-800">{prize.ticketsUsed.toLocaleString('fr-FR')}</span>
</div> </div>
)} )}
</div> </div>