Skip to content

Commit 9465bd4

Browse files
committed
feat(ui): add targetJdkVersion field
1 parent c1f4cb5 commit 9465bd4

File tree

3 files changed

+26
-36
lines changed

3 files changed

+26
-36
lines changed

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

Lines changed: 22 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,15 @@ import {
5151
import type { MemShellFormSchema } from "@/types/schema";
5252
import { Spinner } from "../ui/spinner";
5353

54+
const JDKVersion = [
55+
{ name: "Java6", value: "50" },
56+
{ name: "Java8", value: "52" },
57+
{ name: "Java9", value: "53" },
58+
{ name: "Java11", value: "55" },
59+
{ name: "Java17", value: "61" },
60+
{ name: "Java21", value: "65" },
61+
];
62+
5463
const shellToolIcons: Record<ShellToolType, JSX.Element> = {
5564
[ShellToolType.Behinder]: <ShieldOffIcon className="h-4 w-4" />,
5665
[ShellToolType.Godzilla]: <AxeIcon className="h-4 w-4" />,
@@ -62,13 +71,6 @@ const shellToolIcons: Record<ShellToolType, JSX.Element> = {
6271
[ShellToolType.Custom]: <ZapIcon className="h-4 w-4" />,
6372
};
6473

65-
const defaultServerVersionOptions = [
66-
{
67-
name: "Unknown",
68-
value: "Unknown",
69-
},
70-
];
71-
7274
export default function MainConfigCard({
7375
mainConfig,
7476
form,
@@ -85,9 +87,6 @@ export default function MainConfigCard({
8587
}>();
8688
const [shellTools, setShellTools] = useState<ShellToolType[]>([]);
8789
const [shellTypes, setShellTypes] = useState<string[]>([]);
88-
const [serverVersionOptions, setServerVersionOptions] = useState(
89-
defaultServerVersionOptions,
90-
);
9190

9291
const shellTool = useWatch({
9392
control: form.control,
@@ -132,24 +131,6 @@ export default function MainConfigCard({
132131
form.setValue("targetJdkVersion", "50");
133132
}
134133

135-
if (value === "TongWeb") {
136-
setServerVersionOptions([
137-
...defaultServerVersionOptions,
138-
{ name: "6", value: "6" },
139-
{ name: "7", value: "7" },
140-
{ name: "8", value: "8" },
141-
]);
142-
} else if (value === "Jetty") {
143-
setServerVersionOptions([
144-
...defaultServerVersionOptions,
145-
{ name: "6", value: "6" },
146-
{ name: "7+", value: "7+" },
147-
{ name: "12", value: "12" },
148-
]);
149-
} else {
150-
setServerVersionOptions(defaultServerVersionOptions);
151-
}
152-
153134
form.resetField("serverVersion");
154135
form.resetField("byPassJavaModule");
155136
form.resetField("urlPattern");
@@ -315,30 +296,37 @@ export default function MainConfigCard({
315296
/>
316297
<Controller
317298
control={form.control}
318-
name="serverVersion"
299+
name="targetJdkVersion"
319300
render={({ field, fieldState }) => (
320301
<Field
321302
orientation="vertical"
322303
data-invalid={fieldState.invalid}
323304
>
324305
<FieldContent>
325-
<FieldLabel htmlFor="serverVersion">
326-
{t("common:serverVersion")}
306+
<FieldLabel htmlFor="targetJdkVersion">
307+
{t("common:targetJdkVersion")}
327308
</FieldLabel>
328309
<Select
329-
onValueChange={field.onChange}
310+
onValueChange={(v) => {
311+
if (Number.parseInt(v ?? "0", 10) >= 53) {
312+
form.setValue("byPassJavaModule", true);
313+
} else {
314+
form.setValue("byPassJavaModule", false);
315+
}
316+
field.onChange(v);
317+
}}
330318
value={field.value}
331319
>
332320
<SelectTrigger
333-
id="serverVersion"
321+
id="targetJdkVersion"
334322
aria-invalid={fieldState.invalid}
335323
>
336324
<SelectValue
337325
data-placeholder={t("common:placeholders.select")}
338326
/>
339327
</SelectTrigger>
340328
<SelectContent>
341-
{serverVersionOptions.map((v) => (
329+
{JDKVersion.map((v) => (
342330
<SelectItem key={v.value} value={v.value}>
343331
{v.name}
344332
</SelectItem>

web/app/i18n/common/en.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,6 @@
4848
"advancedConfig": "Advanced Config",
4949
"commandTemplate": "Command Template",
5050
"commandTemplate.placeholder": "e.g., sh -c \"{command}\" 2>&1",
51-
"commandTemplate.description": "Use {command} as placeholder"
51+
"commandTemplate.description": "Use {command} as placeholder",
52+
"targetJdkVersion": "JRE Version"
5253
}

web/app/i18n/common/zh-CN.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,5 +48,6 @@
4848
"advancedConfig": "高级配置",
4949
"commandTemplate": "命令模板",
5050
"commandTemplate.placeholder": "例如:sh -c \"{command}\" 2>&1",
51-
"commandTemplate.description": "使用 {command} 作为占位符"
51+
"commandTemplate.description": "使用 {command} 作为占位符",
52+
"targetJdkVersion": "JRE 版本"
5253
}

0 commit comments

Comments
 (0)