index.tsx 584 B

1234567891011121314151617181920
  1. "use client";
  2. import { useRouter } from "next/navigation";
  3. import type { ComponentProps } from "react";
  4. import { useCallback } from "react";
  5. import { RouterProvider as ReactAriaRouterProvider } from "react-aria-components";
  6. export const RouterProvider = (
  7. props: Omit<ComponentProps<typeof ReactAriaRouterProvider>, "navigate">,
  8. ) => {
  9. const router = useRouter();
  10. const navigate = useCallback(
  11. (...params: Parameters<typeof router.push>) => {
  12. router.push(...params);
  13. },
  14. [router],
  15. );
  16. return <ReactAriaRouterProvider navigate={navigate} {...props} />;
  17. };