mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
chore: add i18n
based with useContext
This commit is contained in:
@ -1,27 +0,0 @@
|
||||
import { useCallback, useRef } from "react";
|
||||
|
||||
/**
|
||||
* useDebounce: useRef + useCallback
|
||||
* @param func function
|
||||
* @param delay delay duration
|
||||
* @param deps depends
|
||||
* @returns debounced function
|
||||
*/
|
||||
export default function useDebounce<T extends (...args: any[]) => any>(func: T, delay: number, deps: any[] = []): T {
|
||||
const timer = useRef<number>();
|
||||
|
||||
const cancel = useCallback(() => {
|
||||
if (timer.current) {
|
||||
clearTimeout(timer.current);
|
||||
}
|
||||
}, []);
|
||||
|
||||
const run = useCallback((...args: any) => {
|
||||
cancel();
|
||||
timer.current = window.setTimeout(() => {
|
||||
func(...args);
|
||||
}, delay);
|
||||
}, deps);
|
||||
|
||||
return run as T;
|
||||
}
|
3
web/src/hooks/useI18n.ts
Normal file
3
web/src/hooks/useI18n.ts
Normal file
@ -0,0 +1,3 @@
|
||||
import useI18n from "../labs/i18n/useI18n";
|
||||
|
||||
export default useI18n;
|
@ -1,6 +1,6 @@
|
||||
import { useState } from "react";
|
||||
|
||||
export default function useLoading(initialState = true) {
|
||||
const useLoading = (initialState = true) => {
|
||||
const [state, setState] = useState({ isLoading: initialState, isFailed: false, isSucceed: false });
|
||||
|
||||
return {
|
||||
@ -30,4 +30,6 @@ export default function useLoading(initialState = true) {
|
||||
});
|
||||
},
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
export default useLoading;
|
||||
|
@ -1,6 +1,6 @@
|
||||
import { useCallback, useState } from "react";
|
||||
|
||||
export default function useRefresh() {
|
||||
const useRefresh = () => {
|
||||
const [, setBoolean] = useState<boolean>(false);
|
||||
|
||||
const refresh = useCallback(() => {
|
||||
@ -10,4 +10,6 @@ export default function useRefresh() {
|
||||
}, []);
|
||||
|
||||
return refresh;
|
||||
}
|
||||
};
|
||||
|
||||
export default useRefresh;
|
||||
|
@ -1,7 +1,7 @@
|
||||
import { useCallback, useState } from "react";
|
||||
|
||||
// Parameter is the boolean, with default "false" value
|
||||
export default function useToggle(initialState = false): [boolean, (nextState?: boolean) => void] {
|
||||
const useToggle = (initialState = false): [boolean, (nextState?: boolean) => void] => {
|
||||
// Initialize the state
|
||||
const [state, setState] = useState(initialState);
|
||||
|
||||
@ -16,4 +16,6 @@ export default function useToggle(initialState = false): [boolean, (nextState?:
|
||||
}, []);
|
||||
|
||||
return [state, toggle];
|
||||
}
|
||||
};
|
||||
|
||||
export default useToggle;
|
||||
|
Reference in New Issue
Block a user