refactor: clean code

This commit is contained in:
Fu Diwei 2024-10-22 11:38:55 +08:00
parent 18a7bf0d66
commit 716f5f1426
26 changed files with 63 additions and 60 deletions

View File

@ -10,7 +10,7 @@ import { Input } from "@/components/ui/input";
import { PbErrorData } from "@/domain/base";
import { Access, AliyunConfig, accessFormType, getUsageByConfigType } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessAliyunFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessAliyunFormProps = {
};
const AccessAliyunForm = ({ data, op, onAfterReq }: AccessAliyunFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
id: z.string().optional(),

View File

@ -10,7 +10,7 @@ import { Button } from "@/components/ui/button";
import { PbErrorData } from "@/domain/base";
import { Access, accessFormType, AwsConfig, getUsageByConfigType } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessAwsFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessAwsFormProps = {
};
const AccessAwsForm = ({ data, op, onAfterReq }: AccessAwsFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
id: z.string().optional(),

View File

@ -10,7 +10,7 @@ import { Input } from "@/components/ui/input";
import { PbErrorData } from "@/domain/base";
import { Access, accessFormType, CloudflareConfig, getUsageByConfigType } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessCloudflareFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessCloudflareFormProps = {
};
const AccessCloudflareForm = ({ data, op, onAfterReq }: AccessCloudflareFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
id: z.string().optional(),

View File

@ -207,7 +207,13 @@ const AccessEditDialog = ({ trigger, op, data, className }: AccessEditProps) =>
<DialogContent className="sm:max-w-[600px] w-full dark:text-stone-200">
<DialogHeader>
<DialogTitle>
{op == "add" ? t("access.authorization.add") : op == "edit" ? t("access.authorization.edit") : t("access.authorization.copy")}
{
{
["add"]: t("access.authorization.add"),
["edit"]: t("access.authorization.edit"),
["copy"]: t("access.authorization.copy"),
}[op]
}
</DialogTitle>
</DialogHeader>
<ScrollArea className="max-h-[80vh]">

View File

@ -10,7 +10,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { PbErrorData } from "@/domain/base";
import { Access, accessFormType, getUsageByConfigType, GodaddyConfig } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessGodaddyFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessGodaddyFormProps = {
};
const AccessGodaddyForm = ({ data, op, onAfterReq }: AccessGodaddyFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
id: z.string().optional(),

View File

@ -12,7 +12,7 @@ import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "
import { Input } from "@/components/ui/input";
import { PbErrorData } from "@/domain/base";
import { update } from "@/repository/access_group";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessGroupEditProps = {
className?: string;
@ -20,7 +20,7 @@ type AccessGroupEditProps = {
};
const AccessGroupEdit = ({ className, trigger }: AccessGroupEditProps) => {
const { reloadAccessGroups } = useConfig();
const { reloadAccessGroups } = useConfigContext();
const [open, setOpen] = useState(false);
const { t } = useTranslation();

View File

@ -21,14 +21,14 @@ import { useToast } from "@/components/ui/use-toast";
import AccessGroupEdit from "./AccessGroupEdit";
import { getProviderInfo } from "@/domain/access";
import { getErrMessage } from "@/lib/error";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
import { remove } from "@/repository/access_group";
const AccessGroupList = () => {
const {
config: { accessGroups },
reloadAccessGroups,
} = useConfig();
} = useConfigContext();
const { toast } = useToast();

View File

@ -10,7 +10,7 @@ import { Input } from "@/components/ui/input";
import { PbErrorData } from "@/domain/base";
import { Access, HttpreqConfig, accessFormType, getUsageByConfigType } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessHttpreqFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessHttpreqFormProps = {
};
const AccessHttpreqForm = ({ data, op, onAfterReq }: AccessHttpreqFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
id: z.string().optional(),

View File

@ -10,7 +10,7 @@ import { Button } from "@/components/ui/button";
import { PbErrorData } from "@/domain/base";
import { Access, accessFormType, HuaweiCloudConfig, getUsageByConfigType } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessHuaweiCloudFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessHuaweiCloudFormProps = {
};
const AccessHuaweiCloudForm = ({ data, op, onAfterReq }: AccessHuaweiCloudFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
id: z.string().optional(),

View File

@ -12,7 +12,7 @@ import { Input } from "@/components/ui/input";
import { readFileContent } from "@/lib/file";
import { PbErrorData } from "@/domain/base";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessKubernetesFormProps = {
op: "add" | "edit" | "copy";
@ -21,7 +21,7 @@ type AccessKubernetesFormProps = {
};
const AccessKubernetesForm = ({ data, op, onAfterReq }: AccessKubernetesFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const fileInputRef = useRef<HTMLInputElement | null>(null);
const [fileName, setFileName] = useState("");
@ -119,7 +119,7 @@ const AccessKubernetesForm = ({ data, op, onAfterReq }: AccessKubernetesFormProp
e.stopPropagation();
form.handleSubmit(onSubmit)(e);
}}
className="space-y-3"
className="space-y-8"
>
<FormField
control={form.control}

View File

@ -10,7 +10,7 @@ import { Button } from "@/components/ui/button";
import { PbErrorData } from "@/domain/base";
import { Access, accessFormType, getUsageByConfigType } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessLocalFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessLocalFormProps = {
};
const AccessLocalForm = ({ data, op, onAfterReq }: AccessLocalFormProps) => {
const { addAccess, updateAccess, reloadAccessGroups } = useConfig();
const { addAccess, updateAccess, reloadAccessGroups } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
@ -88,7 +88,7 @@ const AccessLocalForm = ({ data, op, onAfterReq }: AccessLocalFormProps) => {
e.stopPropagation();
form.handleSubmit(onSubmit)(e);
}}
className="space-y-3"
className="space-y-8"
>
<FormField
control={form.control}

View File

@ -10,7 +10,7 @@ import { Input } from "@/components/ui/input";
import { PbErrorData } from "@/domain/base";
import { Access, accessFormType, getUsageByConfigType, NamesiloConfig } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessNamesiloFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessNamesiloFormProps = {
};
const AccessNamesiloForm = ({ data, op, onAfterReq }: AccessNamesiloFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
id: z.string().optional(),

View File

@ -10,7 +10,7 @@ import { Input } from "@/components/ui/input";
import { PbErrorData } from "@/domain/base";
import { Access, PdnsConfig, accessFormType, getUsageByConfigType } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessPdnsFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessPdnsFormProps = {
};
const AccessPdnsForm = ({ data, op, onAfterReq }: AccessPdnsFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
id: z.string().optional(),

View File

@ -10,7 +10,7 @@ import { Input } from "@/components/ui/input";
import { PbErrorData } from "@/domain/base";
import { Access, accessFormType, getUsageByConfigType, QiniuConfig } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessQiniuFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessQiniuFormProps = {
};
const AccessQiniuForm = ({ data, op, onAfterReq }: AccessQiniuFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
id: z.string().optional(),

View File

@ -17,7 +17,7 @@ import { cn } from "@/lib/utils";
import { PbErrorData } from "@/domain/base";
import { save } from "@/repository/access";
import { updateById } from "@/repository/access_group";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessSSHFormProps = {
op: "add" | "edit" | "copy";
@ -31,7 +31,7 @@ const AccessSSHForm = ({ data, op, onAfterReq }: AccessSSHFormProps) => {
updateAccess,
reloadAccessGroups,
config: { accessGroups },
} = useConfig();
} = useConfigContext();
const fileInputRef = useRef<HTMLInputElement | null>(null);
@ -199,7 +199,7 @@ const AccessSSHForm = ({ data, op, onAfterReq }: AccessSSHFormProps) => {
e.stopPropagation();
form.handleSubmit(onSubmit)(e);
}}
className="space-y-3"
className="space-y-8"
>
<FormField
control={form.control}

View File

@ -10,7 +10,7 @@ import { Input } from "@/components/ui/input";
import { PbErrorData } from "@/domain/base";
import { Access, accessFormType, getUsageByConfigType, TencentConfig } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessTencentFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessTencentFormProps = {
};
const AccessTencentForm = ({ data, op, onAfterReq }: AccessTencentFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
id: z.string().optional(),

View File

@ -10,7 +10,7 @@ import { Input } from "@/components/ui/input";
import { PbErrorData } from "@/domain/base";
import { Access, accessFormType, getUsageByConfigType, WebhookConfig } from "@/domain/access";
import { save } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type AccessWebhookFormProps = {
op: "add" | "edit" | "copy";
@ -19,7 +19,7 @@ type AccessWebhookFormProps = {
};
const AccessWebhookForm = ({ data, op, onAfterReq }: AccessWebhookFormProps) => {
const { addAccess, updateAccess } = useConfig();
const { addAccess, updateAccess } = useConfigContext();
const { t } = useTranslation();
const formSchema = z.object({
id: z.string().optional(),

View File

@ -13,7 +13,7 @@ import { cn } from "@/lib/utils";
import { PbErrorData } from "@/domain/base";
import { EmailsSetting } from "@/domain/settings";
import { update } from "@/repository/settings";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
type EmailsEditProps = {
className?: string;
@ -24,7 +24,7 @@ const EmailsEdit = ({ className, trigger }: EmailsEditProps) => {
const {
config: { emails },
setEmails,
} = useConfig();
} = useConfigContext();
const [open, setOpen] = useState(false);
const { t } = useTranslation();

View File

@ -8,7 +8,7 @@ import { Switch } from "@/components/ui/switch";
import { useToast } from "@/components/ui/use-toast";
import { getErrMessage } from "@/lib/error";
import { NotifyChannelDingTalk, NotifyChannels } from "@/domain/settings";
import { useNotify } from "@/providers/notify";
import { useNotifyContext } from "@/providers/notify";
import { update } from "@/repository/settings";
import Show from "@/components/Show";
import { notifyTest } from "@/api/notify";
@ -20,7 +20,7 @@ type DingTalkSetting = {
};
const DingTalk = () => {
const { config, setChannels } = useNotify();
const { config, setChannels } = useNotifyContext();
const { t } = useTranslation();
const [changed, setChanged] = useState<boolean>(false);
@ -241,4 +241,3 @@ const DingTalk = () => {
};
export default DingTalk;

View File

@ -2,7 +2,7 @@ import { Input } from "@/components/ui/input";
import { Button } from "@/components/ui/button";
import { Switch } from "@/components/ui/switch";
import { Label } from "@/components/ui/label";
import { useNotify } from "@/providers/notify";
import { useNotifyContext } from "@/providers/notify";
import { NotifyChannelLark, NotifyChannels } from "@/domain/settings";
import { useEffect, useState } from "react";
import { update } from "@/repository/settings";
@ -19,7 +19,7 @@ type LarkSetting = {
};
const Lark = () => {
const { config, setChannels } = useNotify();
const { config, setChannels } = useNotifyContext();
const { t } = useTranslation();
const [changed, setChanged] = useState<boolean>(false);
@ -222,4 +222,3 @@ const Lark = () => {
};
export default Lark;

View File

@ -9,7 +9,7 @@ import { useToast } from "@/components/ui/use-toast";
import { getErrMessage } from "@/lib/error";
import { NotifyChannels, NotifyChannelTelegram } from "@/domain/settings";
import { update } from "@/repository/settings";
import { useNotify } from "@/providers/notify";
import { useNotifyContext } from "@/providers/notify";
import { notifyTest } from "@/api/notify";
import Show from "@/components/Show";
@ -20,7 +20,7 @@ type TelegramSetting = {
};
const Telegram = () => {
const { config, setChannels } = useNotify();
const { config, setChannels } = useNotifyContext();
const { t } = useTranslation();
const [changed, setChanged] = useState<boolean>(false);
@ -244,4 +244,3 @@ const Telegram = () => {
};
export default Telegram;

View File

@ -10,7 +10,7 @@ import { getErrMessage } from "@/lib/error";
import { isValidURL } from "@/lib/url";
import { NotifyChannels, NotifyChannelWebhook } from "@/domain/settings";
import { update } from "@/repository/settings";
import { useNotify } from "@/providers/notify";
import { useNotifyContext } from "@/providers/notify";
import { notifyTest } from "@/api/notify";
import Show from "@/components/Show";
@ -21,7 +21,7 @@ type WebhookSetting = {
};
const Webhook = () => {
const { config, setChannels } = useNotify();
const { config, setChannels } = useNotifyContext();
const { t } = useTranslation();
const [changed, setChanged] = useState<boolean>(false);
@ -234,4 +234,3 @@ const Webhook = () => {
};
export default Webhook;

View File

@ -23,11 +23,11 @@ import XPagination from "@/components/certimate/XPagination";
import { convertZulu2Beijing } from "@/lib/time";
import { Access as AccessType, accessTypeMap } from "@/domain/access";
import { remove } from "@/repository/access";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
const Access = () => {
const { t } = useTranslation();
const { config, deleteAccess } = useConfig();
const { config, deleteAccess } = useConfigContext();
const { accesses } = config;
const perPage = 10;

View File

@ -25,14 +25,14 @@ import { accessTypeMap } from "@/domain/access";
import { EmailsSetting } from "@/domain/settings";
import { DeployConfig, Domain } from "@/domain/domain";
import { save, get } from "@/repository/domains";
import { useConfig } from "@/providers/config";
import { useConfigContext } from "@/providers/config";
import { Switch } from "@/components/ui/switch";
import { TooltipFast } from "@/components/ui/tooltip";
const Edit = () => {
const {
config: { accesses, emails },
} = useConfig();
} = useConfigContext();
const [domain, setDomain] = useState<Domain>({} as Domain);

View File

@ -26,13 +26,13 @@ export type ConfigContext = {
const Context = createContext({} as ConfigContext);
export const useConfig = () => useContext(Context);
export const useConfigContext = () => useContext(Context);
interface ContainerProps {
interface ConfigProviderProps {
children: ReactNode;
}
export const ConfigProvider = ({ children }: ContainerProps) => {
export const ConfigProvider = ({ children }: ConfigProviderProps) => {
const [config, dispatchConfig] = useReducer(configReducer, {
accesses: [],
emails: { content: { emails: [] } },

View File

@ -12,12 +12,13 @@ export type NotifyContext = {
const Context = createContext({} as NotifyContext);
export const useNotify = () => useContext(Context);
interface ContainerProps {
export const useNotifyContext = () => useContext(Context);
interface NotifyProviderProps {
children: ReactNode;
}
export const NotifyProvider = ({ children }: ContainerProps) => {
export const NotifyProvider = ({ children }: NotifyProviderProps) => {
const [notify, dispatchNotify] = useReducer(notifyReducer, {});
useEffect(() => {