Rename frontend directory (#472)

* Rename directory

* Cleanup

* Recover lost images

* remove lint
This commit is contained in:
Andrey Pokhilko
2023-09-26 10:04:44 +01:00
committed by GitHub
parent 133eef6745
commit dd7aca70ff
146 changed files with 595 additions and 309 deletions

View File

@@ -0,0 +1,10 @@
import { useContext } from "react";
import { ErrorModalContext } from "../context/ErrorModalContext";
function useAlertError() {
const { setShowErrorModal, shouldShowErrorModal } =
useContext(ErrorModalContext);
return { setShowErrorModal, shouldShowErrorModal };
}
export default useAlertError;

View File

@@ -0,0 +1,34 @@
import { useCallback } from "react";
import { useSearchParams } from "react-router-dom";
const useCustomSearchParams = () => {
const [search, setSearch] = useSearchParams();
const searchAsObject: { [key: string]: string } = Object.fromEntries(
new URLSearchParams(search)
);
const upsertSearchParams = useCallback(
(k: string, value: string) => {
const copySearchParams = new URLSearchParams(search);
copySearchParams.set(k, value);
setSearch(copySearchParams);
return copySearchParams;
},
[search, setSearch]
);
const removeSearchParam = (k: string) => {
const copySearchParams = new URLSearchParams(search);
copySearchParams.delete(k);
setSearch(copySearchParams);
};
return {
searchParamsObject: searchAsObject,
setSearchParams: setSearch,
upsertSearchParams,
removeSearchParam,
};
};
export default useCustomSearchParams;

View File

@@ -0,0 +1,19 @@
import { useState, useEffect } from "react";
function useDebounce<T>(value: T, delay : number) {
const [debouncedValue, setDebouncedValue] = useState(value);
useEffect(() => {
const handler = setTimeout(() => {
setDebouncedValue(value);
}, delay);
return () => {
clearTimeout(handler);
};
}, [value, delay]);
return debouncedValue;
}
export default useDebounce;

View File

@@ -0,0 +1,13 @@
import { useLocation, useNavigate } from "react-router-dom";
const useNavigateWithSearchParams = () => {
const navigate = useNavigate();
const { search } = useLocation();
const navigateWithSearchParams = (url: string, ...restArgs: any[]) => {
navigate(url + search, ...restArgs);
};
return navigateWithSearchParams;
};
export default useNavigateWithSearchParams;