import {useNavigate, useParams as useRouterParams, Link, useLocation} from 'react-router-dom';

function useRouter() {
    const navigate = useNavigate();
    return {
        push: (path: string) => navigate(path),
        replace: (path: string) => navigate(path, {replace: true}),
        back: () => navigate(-1),
    };
}

function useParams<T extends Record<string, string>>(): T {
    return useRouterParams() as T;
}

function usePathname(): string {
    return useLocation().pathname;
}

export {Link, useRouter, useParams, usePathname};
