@@ -28,6 +28,7 @@ import {
2828 MetricCard ,
2929 Alert ,
3030 ButtonGroup ,
31+ Toggle ,
3132} from '../../ui' ;
3233import ShareResults from '../../ui/ShareResults' ;
3334
@@ -146,38 +147,18 @@ export default function PetCost() {
146147 </ div >
147148
148149 { /* Premium Food */ }
149- < div className = "flex items-center gap-3" >
150- < button
151- onClick = { ( ) => updateInput ( 'premiumFood' , ! inputs . premiumFood ) }
152- className = { `w-12 h-6 rounded-full transition-all ${
153- inputs . premiumFood ? 'bg-amber-500' : 'bg-white/20'
154- } `}
155- >
156- < div
157- className = { `w-5 h-5 rounded-full bg-white transition-transform ${
158- inputs . premiumFood ? 'translate-x-6' : 'translate-x-0.5'
159- } `}
160- />
161- </ button >
162- < span className = "text-[var(--color-cream)]" > Premium Food (+50%)</ span >
163- </ div >
150+ < Toggle
151+ checked = { inputs . premiumFood }
152+ onChange = { ( checked ) => updateInput ( 'premiumFood' , checked ) }
153+ label = "Premium Food (+50%)"
154+ />
164155
165156 { /* Pet Insurance */ }
166- < div className = "flex items-center gap-3" >
167- < button
168- onClick = { ( ) => updateInput ( 'hasPetInsurance' , ! inputs . hasPetInsurance ) }
169- className = { `w-12 h-6 rounded-full transition-all ${
170- inputs . hasPetInsurance ? 'bg-amber-500' : 'bg-white/20'
171- } `}
172- >
173- < div
174- className = { `w-5 h-5 rounded-full bg-white transition-transform ${
175- inputs . hasPetInsurance ? 'translate-x-6' : 'translate-x-0.5'
176- } `}
177- />
178- </ button >
179- < span className = "text-[var(--color-cream)]" > Pet Insurance</ span >
180- </ div >
157+ < Toggle
158+ checked = { inputs . hasPetInsurance }
159+ onChange = { ( checked ) => updateInput ( 'hasPetInsurance' , checked ) }
160+ label = "Pet Insurance"
161+ />
181162
182163 < Divider />
183164
@@ -206,21 +187,11 @@ export default function PetCost() {
206187 { /* Daycare (dogs only) */ }
207188 { inputs . petType === 'dog' && (
208189 < >
209- < div className = "flex items-center gap-3" >
210- < button
211- onClick = { ( ) => updateInput ( 'useDaycare' , ! inputs . useDaycare ) }
212- className = { `w-12 h-6 rounded-full transition-all ${
213- inputs . useDaycare ? 'bg-amber-500' : 'bg-white/20'
214- } `}
215- >
216- < div
217- className = { `w-5 h-5 rounded-full bg-white transition-transform ${
218- inputs . useDaycare ? 'translate-x-6' : 'translate-x-0.5'
219- } `}
220- />
221- </ button >
222- < span className = "text-[var(--color-cream)]" > Use Daycare</ span >
223- </ div >
190+ < Toggle
191+ checked = { inputs . useDaycare }
192+ onChange = { ( checked ) => updateInput ( 'useDaycare' , checked ) }
193+ label = "Use Daycare"
194+ />
224195 { inputs . useDaycare && (
225196 < Slider
226197 label = "Daycare Days per Month"
@@ -242,21 +213,11 @@ export default function PetCost() {
242213 { /* Boarding */ }
243214 { inputs . petType !== 'fish' && (
244215 < >
245- < div className = "flex items-center gap-3" >
246- < button
247- onClick = { ( ) => updateInput ( 'useBoarding' , ! inputs . useBoarding ) }
248- className = { `w-12 h-6 rounded-full transition-all ${
249- inputs . useBoarding ? 'bg-amber-500' : 'bg-white/20'
250- } `}
251- >
252- < div
253- className = { `w-5 h-5 rounded-full bg-white transition-transform ${
254- inputs . useBoarding ? 'translate-x-6' : 'translate-x-0.5'
255- } `}
256- />
257- </ button >
258- < span className = "text-[var(--color-cream)]" > Boarding/Pet Sitting</ span >
259- </ div >
216+ < Toggle
217+ checked = { inputs . useBoarding }
218+ onChange = { ( checked ) => updateInput ( 'useBoarding' , checked ) }
219+ label = "Boarding/Pet Sitting"
220+ />
260221 { inputs . useBoarding && (
261222 < Slider
262223 label = "Weeks of Boarding per Year"
0 commit comments