fix: remove all snake_case property accesses in modal section

Remove invalid snake_case property accesses in the ticket details modal:
- selectedTicket.user_name → selectedTicket.user (with firstName/lastName)
- selectedTicket.user_email → selectedTicket.user?.email
- selectedTicket.user_phone → selectedTicket.user?.phone
- selectedTicket.prize_name → selectedTicket.prize?.name
- selectedTicket.prize_value → selectedTicket.prize?.value
- selectedTicket.played_at → selectedTicket.playedAt

All properties now match the Ticket type definition.

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
soufiane 2025-11-18 00:58:56 +01:00
parent ecdfb826be
commit 00f5d432dc

View File

@ -300,20 +300,20 @@ export default function EmployeeVerificationPage() {
<div> <div>
<p className="text-sm font-medium text-gray-600">Nom complet</p> <p className="text-sm font-medium text-gray-600">Nom complet</p>
<p className="text-base font-semibold text-gray-900"> <p className="text-base font-semibold text-gray-900">
{selectedTicket.user_name || `${selectedTicket.user?.firstName} ${selectedTicket.user?.lastName}` || 'N/A'} {selectedTicket.user ? `${selectedTicket.user.firstName} ${selectedTicket.user.lastName}` : 'N/A'}
</p> </p>
</div> </div>
<div> <div>
<p className="text-sm font-medium text-gray-600">Email</p> <p className="text-sm font-medium text-gray-600">Email</p>
<p className="text-sm text-gray-900"> <p className="text-sm text-gray-900">
{selectedTicket.user_email || selectedTicket.user?.email || 'N/A'} {selectedTicket.user?.email || 'N/A'}
</p> </p>
</div> </div>
{(selectedTicket.user_phone || selectedTicket.user?.phone) && ( {selectedTicket.user?.phone && (
<div> <div>
<p className="text-sm font-medium text-gray-600">Téléphone</p> <p className="text-sm font-medium text-gray-600">Téléphone</p>
<p className="text-sm text-gray-900"> <p className="text-sm text-gray-900">
{selectedTicket.user_phone || selectedTicket.user?.phone} {selectedTicket.user.phone}
</p> </p>
</div> </div>
)} )}
@ -329,25 +329,25 @@ export default function EmployeeVerificationPage() {
<div className="space-y-2"> <div className="space-y-2">
<div> <div>
<p className="text-xl font-bold text-green-600"> <p className="text-xl font-bold text-green-600">
{selectedTicket.prize_name || selectedTicket.prize?.name || 'N/A'} {selectedTicket.prize?.name || 'N/A'}
</p> </p>
<p className="text-sm text-gray-600 mt-1"> <p className="text-sm text-gray-600 mt-1">
{selectedTicket.prize?.description || 'Description non disponible'} {selectedTicket.prize?.description || 'Description non disponible'}
</p> </p>
</div> </div>
{selectedTicket.prize_value && ( {selectedTicket.prize?.value && (
<div className="mt-2"> <div className="mt-2">
<p className="text-sm font-medium text-gray-600">Valeur</p> <p className="text-sm font-medium text-gray-600">Valeur</p>
<p className="text-base font-semibold text-gray-900"> <p className="text-base font-semibold text-gray-900">
{selectedTicket.prize_value} {selectedTicket.prize.value}
</p> </p>
</div> </div>
)} )}
{selectedTicket.played_at && ( {selectedTicket.playedAt && (
<div> <div>
<p className="text-sm font-medium text-gray-600">Date de gain</p> <p className="text-sm font-medium text-gray-600">Date de gain</p>
<p className="text-sm text-gray-900"> <p className="text-sm text-gray-900">
{new Date(selectedTicket.played_at).toLocaleDateString('fr-FR', { {new Date(selectedTicket.playedAt).toLocaleDateString('fr-FR', {
day: 'numeric', day: 'numeric',
month: 'long', month: 'long',
year: 'numeric', year: 'numeric',