@@ -9,6 +9,7 @@ import { useTranslation } from "react-i18next";
99import { Card , CardContent , CardHeader , CardTitle } from "@/components/ui/card" ;
1010import { Field , FieldContent , FieldError , FieldLabel } from "@/components/ui/field" ;
1111import { Input } from "@/components/ui/input" ;
12+ import { Label } from "@/components/ui/label" ;
1213import {
1314 Select ,
1415 SelectContent ,
@@ -17,7 +18,7 @@ import {
1718 SelectValue ,
1819} from "@/components/ui/select" ;
1920import { Separator } from "@/components/ui/separator" ;
20- import { SwitchField } from "@/components/ui/switch-field " ;
21+ import { Switch } from "@/components/ui/switch" ;
2122import { Tooltip , TooltipContent , TooltipTrigger } from "@/components/ui/tooltip" ;
2223
2324// Hoisted static JSX to avoid recreation on each render (rendering-hoist-jsx)
@@ -209,35 +210,99 @@ export default function MainConfigCard({ form, servers }: MainConfigCardProps) {
209210 />
210211 ) }
211212 < div className = "mt-4 flex flex-col gap-4 lg:grid lg:grid-cols-2 2xl:grid 2xl:grid-cols-3" >
212- < SwitchField
213+ < Controller
213214 control = { form . control }
214215 name = "debug"
215- label = { t ( "common:debug" ) }
216- description = { t ( "common:debug.description" ) }
216+ render = { ( { field } ) => (
217+ < div className = "flex items-center gap-2" >
218+ < Switch id = "debug" checked = { field . value } onCheckedChange = { field . onChange } />
219+ < Label htmlFor = "debug" > { t ( "common:debug" ) } </ Label >
220+ < Tooltip >
221+ < TooltipTrigger >
222+ < InfoIcon className = "h-3.5 w-3.5 cursor-help text-muted-foreground" />
223+ </ TooltipTrigger >
224+ < TooltipContent >
225+ < p > { t ( "common:debug.description" ) } </ p >
226+ </ TooltipContent >
227+ </ Tooltip >
228+ </ div >
229+ ) }
217230 />
218- < SwitchField
231+ < Controller
219232 control = { form . control }
220233 name = "byPassJavaModule"
221- label = { t ( "common:byPassJavaModule" ) }
222- description = { t ( "common:byPassJavaModule.description" ) }
234+ render = { ( { field } ) => (
235+ < div className = "flex items-center gap-2" >
236+ < Switch id = "bypass" checked = { field . value } onCheckedChange = { field . onChange } />
237+ < Label htmlFor = "bypass" > { t ( "common:byPassJavaModule" ) } </ Label >
238+ < Tooltip >
239+ < TooltipTrigger >
240+ < InfoIcon className = "h-3.5 w-3.5 cursor-help text-muted-foreground" />
241+ </ TooltipTrigger >
242+ < TooltipContent >
243+ < p > { t ( "common:byPassJavaModule.description" ) } </ p >
244+ </ TooltipContent >
245+ </ Tooltip >
246+ </ div >
247+ ) }
223248 />
224- < SwitchField
249+ < Controller
225250 control = { form . control }
226251 name = "lambdaSuffix"
227- label = { t ( "common:lambdaSuffix" ) }
228- description = { t ( "common:lambdaSuffix.description" ) }
252+ render = { ( { field } ) => (
253+ < div className = "flex items-center gap-2" >
254+ < Switch id = "lambdaSuffix" checked = { field . value } onCheckedChange = { field . onChange } />
255+ < Label htmlFor = "lambdaSuffix" > { t ( "common:lambdaSuffix" ) } </ Label >
256+ < Tooltip >
257+ < TooltipTrigger >
258+ < InfoIcon className = "h-3.5 w-3.5 cursor-help text-muted-foreground" />
259+ </ TooltipTrigger >
260+ < TooltipContent >
261+ < p > { t ( "common:lambdaSuffix.description" ) } </ p >
262+ </ TooltipContent >
263+ </ Tooltip >
264+ </ div >
265+ ) }
229266 />
230- < SwitchField
267+ < Controller
231268 control = { form . control }
232269 name = "shrink"
233- label = { t ( "common:shrink" ) }
234- description = { t ( "common:shrink.description" ) }
270+ render = { ( { field } ) => (
271+ < div className = "flex items-center gap-2" >
272+ < Switch id = "shrink" checked = { field . value } onCheckedChange = { field . onChange } />
273+ < Label htmlFor = "shrink" > { t ( "common:shrink" ) } </ Label >
274+ < Tooltip >
275+ < TooltipTrigger >
276+ < InfoIcon className = "h-3.5 w-3.5 cursor-help text-muted-foreground" />
277+ </ TooltipTrigger >
278+ < TooltipContent >
279+ < p > { t ( "common:shrink.description" ) } </ p >
280+ </ TooltipContent >
281+ </ Tooltip >
282+ </ div >
283+ ) }
235284 />
236- < SwitchField
285+ < Controller
237286 control = { form . control }
238287 name = "staticInitialize"
239- label = { t ( "common:staticInitialize" ) }
240- description = { t ( "common:staticInitialize.description" ) }
288+ render = { ( { field } ) => (
289+ < div className = "flex items-center gap-2" >
290+ < Switch
291+ id = "staticInitialize"
292+ checked = { field . value }
293+ onCheckedChange = { field . onChange }
294+ />
295+ < Label htmlFor = "staticInitialize" > { t ( "common:staticInitialize" ) } </ Label >
296+ < Tooltip >
297+ < TooltipTrigger >
298+ < InfoIcon className = "h-3.5 w-3.5 cursor-help text-muted-foreground" />
299+ </ TooltipTrigger >
300+ < TooltipContent >
301+ < p > { t ( "common:staticInitialize.description" ) } </ p >
302+ </ TooltipContent >
303+ </ Tooltip >
304+ </ div >
305+ ) }
241306 />
242307 </ div >
243308 { isBodyMethod && needParam && (
0 commit comments