Skip to content

Commit 167e345

Browse files
committed
fix(web): probe shell switch not work
1 parent 009c70d commit 167e345

3 files changed

Lines changed: 84 additions & 61 deletions

File tree

web/app/components/probeshell/main-config-card.tsx

Lines changed: 81 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import { useTranslation } from "react-i18next";
99
import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card";
1010
import { Field, FieldContent, FieldError, FieldLabel } from "@/components/ui/field";
1111
import { Input } from "@/components/ui/input";
12+
import { Label } from "@/components/ui/label";
1213
import {
1314
Select,
1415
SelectContent,
@@ -17,7 +18,7 @@ import {
1718
SelectValue,
1819
} from "@/components/ui/select";
1920
import { Separator } from "@/components/ui/separator";
20-
import { SwitchField } from "@/components/ui/switch-field";
21+
import { Switch } from "@/components/ui/switch";
2122
import { 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 && (

web/app/components/ui/switch-field.tsx

Lines changed: 0 additions & 45 deletions
This file was deleted.

web/app/routes/probeshell.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ export default function ProbeShellGenerator() {
5353
reqParamName: "",
5454
seconds: 5,
5555
sleepServer: "Tomcat",
56+
debug: false,
57+
byPassJavaModule: false,
58+
lambdaSuffix: false,
5659
shrink: true,
5760
staticInitialize: true,
5861
},

0 commit comments

Comments
 (0)