gitscope
← marzneshin / v0.7.4 / dashboard/src/modules/hosts/dialogs/mutation/profiles/general/index.tsx
https://dev.kronoz.win/r/marzneshin.git
dashboard/src/modules/hosts/dialogs/mutation/profiles/general/index.tsx · TypeScript
Blame Raw
 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";