customize api...

This commit is contained in:
Gabe Yuan
2023-09-06 00:25:46 +08:00
parent 93fd82fcd9
commit f772fa000c
9 changed files with 286 additions and 20 deletions

26
src/hooks/Api.js Normal file
View File

@@ -0,0 +1,26 @@
import { useCallback } from "react";
import { DEFAULT_TRANS_APIS } from "../config";
import { useSetting } from "./Setting";
export function useApi(translator) {
const { setting, updateSetting } = useSetting();
const apis = setting?.transApis || DEFAULT_TRANS_APIS;
const api = apis[translator] || {};
console.log("apis", translator, apis);
const updateApi = useCallback(
async (obj) => {
const api = apis[translator] || {};
const transApis = { ...apis, [translator]: { ...api, ...obj } };
await updateSetting({ transApis });
},
[translator, apis, updateSetting]
);
const resetApi = useCallback(async () => {
const transApis = { ...apis, [translator]: DEFAULT_TRANS_APIS[translator] };
await updateSetting({ transApis });
}, [translator, apis, updateSetting]);
return { api, updateApi, resetApi };
}