Skip to content

Commit dbd6386

Browse files
Clément VALENTINclaude
andcommitted
fix(web): resolve TypeScript build errors
- Fix disabled prop type in DateRangePicker and PeriodSelector - Remove unused variables in Contribute.tsx (availablePowers, getFieldValue, isFieldModified) - Fix type casting for formatValue call 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent bfad935 commit dbd6386

File tree

3 files changed

+3
-38
lines changed

3 files changed

+3
-38
lines changed

apps/web/src/components/DateRangePicker.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ export function DateRangePicker({ startDate, endDate, onRangeChange, disabled, m
209209
onSelect={handleEndSelect}
210210
locale={fr}
211211
disabled={[
212-
{ before: startDate ? new Date(startDate) : (minDate ? new Date(minDate) : undefined) },
212+
...(startDate ? [{ before: new Date(startDate) }] : minDate ? [{ before: new Date(minDate) }] : []),
213213
{ after: yesterday }
214214
]}
215215
defaultMonth={endDate ? new Date(endDate) : new Date()}

apps/web/src/components/PeriodSelector.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -381,7 +381,7 @@ export function PeriodSelector({
381381
onSelect={handleEndSelect}
382382
locale={frCapitalized}
383383
disabled={[
384-
{ before: startDate ? new Date(startDate) : (minDate ? new Date(minDate) : undefined) },
384+
...(startDate ? [{ before: new Date(startDate) }] : minDate ? [{ before: new Date(minDate) }] : []),
385385
{ after: yesterday },
386386
...(availableDates && availableDates.size > 0 ? [isDateUnavailable] : [])
387387
]}

apps/web/src/pages/Contribute.tsx

Lines changed: 1 addition & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -384,26 +384,6 @@ export default function Contribute({ initialTab = 'new' }: ContributeProps) {
384384
})
385385
}, [filterProvider, offersData])
386386

387-
// Extraire les puissances disponibles dynamiquement
388-
const availablePowers = useMemo(() => {
389-
if (!filterProvider || !Array.isArray(offersData)) return []
390-
let filteredOffers = offersData.filter(o => o.provider_id === filterProvider)
391-
// Filtrer aussi par type d'offre si sélectionné
392-
if (filterOfferType !== 'all') {
393-
filteredOffers = filteredOffers.filter(o => o.offer_type === filterOfferType)
394-
}
395-
// Extraire les puissances des noms d'offres
396-
const powers = new Set<number>()
397-
filteredOffers.forEach(offer => {
398-
const match = offer.name.match(/(\d+)\s*kVA/i)
399-
if (match) {
400-
powers.add(parseInt(match[1]))
401-
}
402-
})
403-
// Trier les puissances
404-
return Array.from(powers).sort((a, b) => a - b)
405-
}, [filterProvider, filterOfferType, offersData])
406-
407387
// Initialiser avec EDF par défaut quand les providers sont chargés
408388
useEffect(() => {
409389
if (sortedProviders.length > 0 && !filterProvider) {
@@ -2009,14 +1989,6 @@ RÈGLES IMPORTANTES :
20091989
)
20101990
}
20111991

2012-
// Helper pour obtenir la valeur d'un champ (éditée ou originale)
2013-
const getFieldValue = (offer: EnergyOffer, fieldKey: string): string => {
2014-
const edited = editedOffers[offer.id]?.[fieldKey]
2015-
if (edited !== undefined) return edited
2016-
const originalValue = (offer as unknown as Record<string, unknown>)[fieldKey]
2017-
return String(originalValue ?? '')
2018-
}
2019-
20201992
// Helper pour vérifier si une offre a été modifiée
20211993
const isOfferModified = (offer: EnergyOffer): boolean => {
20221994
const edited = editedOffers[offer.id]
@@ -2126,19 +2098,12 @@ RÈGLES IMPORTANTES :
21262098
return 'text-gray-600 dark:text-gray-400'
21272099
}
21282100

2129-
// Helper pour vérifier si un champ est modifié
2130-
const isFieldModified = (offer: EnergyOffer, fieldKey: string) => {
2131-
const currentValue = getFieldValue(offer, fieldKey)
2132-
const originalValue = (offer as unknown as Record<string, unknown>)[fieldKey]
2133-
return currentValue !== String(originalValue ?? '')
2134-
}
2135-
21362101
// Render un champ éditable inline (pas un composant pour éviter perte de focus)
21372102
const renderEditableField = (label: string, fieldKey: string, unit: string, offer: EnergyOffer) => {
21382103
const editedValue = editedOffers[offer.id]?.[fieldKey]
21392104
const originalValue = (offer as unknown as Record<string, unknown>)[fieldKey]
21402105
// Si édité, utiliser la valeur éditée telle quelle, sinon formater l'originale
2141-
const displayValue = editedValue !== undefined ? editedValue : formatValue(originalValue)
2106+
const displayValue = editedValue !== undefined ? editedValue : formatValue(originalValue as string | number | undefined)
21422107
const isModified = editedValue !== undefined && editedValue !== String(originalValue ?? '')
21432108

21442109
return (

0 commit comments

Comments
 (0)