cropintel / components /FarmSelector.tsx
Jaithra Polavarapu
feat: add Firebase auth/farms backend alongside existing frontend
fb030a8
Raw
History Blame Contribute Delete
1.06 kB
'use client'
import type { Farm } from '@/src/lib/types'
type FarmSelectorProps = {
farms: Farm[]
selectedFarmId: string
onFarmChange: (farmId: string) => void
loading?: boolean
}
export default function FarmSelector({ farms, selectedFarmId, onFarmChange, loading }: FarmSelectorProps) {
return (
<div>
<label className="mb-2 block text-sm font-bold text-primary-900" htmlFor="farm-selector">
Farm
</label>
<select
id="farm-selector"
value={selectedFarmId}
onChange={(event) => onFarmChange(event.target.value)}
disabled={loading}
className="field-input"
>
<option value="">{loading ? 'Loading farms...' : 'Select a farm'}</option>
{farms.map((farm) => (
<option key={farm.id} value={farm.id}>
{farm.name} ({farm.stateCode})
</option>
))}
</select>
<p className="mt-2 text-xs leading-5 text-field-soil">
CropIntel uses the farm state for regional disease context.
</p>
</div>
)
}