← marzneshin
/
v0.7.1
/
dashboard/src/modules/hosts/dialogs/mutation/profiles/general/index.tsx
https://dev.kronoz.win/r/marzneshin.git
1import {
2 CommonFields,
3 EarlyDataField,
4 FragmentField,
5 HttpHeadersDynamicFields,
6 MuxSettingsFields,
7 NoiseField,
8 SecurityFields,
9 SplitHttpFields,
10} from "../../fields";
11import {
12 Accordion,
13 ClearableTextField,
14 HStack,
15} from "@marzneshin/common/components";
16import { SettingSection } from "@marzneshin/modules/hosts";
17import { useTranslation } from "react-i18next";
18
19export const GeneralProfileFields = () => {
20 const { t } = useTranslation();
21
22 return (
23 <div className="space-y-2">
24 <CommonFields />
25 <Accordion className="space-y-2" type="single" collapsible>
26 <SettingSection
27 value="network"
28 triggerText={t("page.hosts.network-settings")}
29 >
30 <HStack>
31 <ClearableTextField name="host" label={t("host")} />
32 <ClearableTextField name="path" label={t("path")} />
33 </HStack>
34 <EarlyDataField />
35 <HttpHeadersDynamicFields />
36 </SettingSection>
37 <SettingSection
38 value="split-http"
39 triggerText={t("page.hosts.split-http-settings")}
40 >
41 <SplitHttpFields />
42 </SettingSection>
43 <SettingSection
44 value="camouflage"
45 triggerText={t("page.hosts.camouflage-settings")}
46 >
47 <FragmentField />
48 <NoiseField />
49 </SettingSection>
50 <SettingSection
51 value="mux"
52 triggerText={t("page.hosts.mux-settings")}
53 >
54 <MuxSettingsFields />
55 </SettingSection>
56 <SettingSection
57 value="security"
58 triggerText={t("page.hosts.security-settings")}
59 >
60 <SecurityFields />
61 </SettingSection>
62 </Accordion>
63 </div>
64 );
65};
66
67export * from "./schema";
68export * from "./split-http-settings.schema";
69export * from "./default";