mirror of
https://github.com/aaronpo97/the-biergarten-app.git
synced 2026-02-16 10:42:08 +00:00
Refactor: change directory structure of hooks to organize by task
This commit is contained in:
@@ -7,7 +7,7 @@ import { FunctionComponent } from 'react';
|
|||||||
import { useForm, SubmitHandler } from 'react-hook-form';
|
import { useForm, SubmitHandler } from 'react-hook-form';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|
||||||
import useBeerPostComments from '@/hooks/useBeerPostComments';
|
import useBeerPostComments from '@/hooks/data-fetching/beer-comments/useBeerPostComments';
|
||||||
import CreateCommentValidationSchema from '@/services/types/CommentSchema/CreateCommentValidationSchema';
|
import CreateCommentValidationSchema from '@/services/types/CommentSchema/CreateCommentValidationSchema';
|
||||||
import CommentForm from '../ui/CommentForm';
|
import CommentForm from '../ui/CommentForm';
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ import UserContext from '@/contexts/userContext';
|
|||||||
import { FaRegEdit } from 'react-icons/fa';
|
import { FaRegEdit } from 'react-icons/fa';
|
||||||
import beerPostQueryResult from '@/services/BeerPost/schema/BeerPostQueryResult';
|
import beerPostQueryResult from '@/services/BeerPost/schema/BeerPostQueryResult';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import useGetBeerPostLikeCount from '@/hooks/useBeerPostLikeCount';
|
import useGetBeerPostLikeCount from '@/hooks/data-fetching/beer-likes/useBeerPostLikeCount';
|
||||||
import useTimeDistance from '@/hooks/useTimeDistance';
|
import useTimeDistance from '@/hooks/utilities/useTimeDistance';
|
||||||
import BeerPostLikeButton from './BeerPostLikeButton';
|
import BeerPostLikeButton from './BeerPostLikeButton';
|
||||||
|
|
||||||
interface BeerInfoHeaderProps {
|
interface BeerInfoHeaderProps {
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import beerPostQueryResult from '@/services/BeerPost/schema/BeerPostQueryResult'
|
|||||||
|
|
||||||
import { FC, MutableRefObject, useContext, useRef } from 'react';
|
import { FC, MutableRefObject, useContext, useRef } from 'react';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import useBeerPostComments from '@/hooks/useBeerPostComments';
|
import useBeerPostComments from '@/hooks/data-fetching/beer-comments/useBeerPostComments';
|
||||||
import { useRouter } from 'next/router';
|
import { useRouter } from 'next/router';
|
||||||
import BeerCommentForm from './BeerCommentForm';
|
import BeerCommentForm from './BeerCommentForm';
|
||||||
|
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import useCheckIfUserLikesBeerPost from '@/hooks/useCheckIfUserLikesBeerPost';
|
import useCheckIfUserLikesBeerPost from '@/hooks/data-fetching/beer-likes/useCheckIfUserLikesBeerPost';
|
||||||
import sendBeerPostLikeRequest from '@/requests/sendBeerPostLikeRequest';
|
import sendBeerPostLikeRequest from '@/requests/sendBeerPostLikeRequest';
|
||||||
import { FC, useEffect, useState } from 'react';
|
import { FC, useEffect, useState } from 'react';
|
||||||
|
|
||||||
import useGetBeerPostLikeCount from '@/hooks/useBeerPostLikeCount';
|
import useGetBeerPostLikeCount from '@/hooks/data-fetching/beer-likes/useBeerPostLikeCount';
|
||||||
import LikeButton from '../ui/LikeButton';
|
import LikeButton from '../ui/LikeButton';
|
||||||
|
|
||||||
const BeerPostLikeButton: FC<{
|
const BeerPostLikeButton: FC<{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import useBeerPostComments from '@/hooks/useBeerPostComments';
|
import useBeerPostComments from '@/hooks/data-fetching/beer-comments/useBeerPostComments';
|
||||||
import CommentQueryResult from '@/services/types/CommentSchema/CommentQueryResult';
|
import CommentQueryResult from '@/services/types/CommentSchema/CommentQueryResult';
|
||||||
import { FC, useState } from 'react';
|
import { FC, useState } from 'react';
|
||||||
import { useInView } from 'react-intersection-observer';
|
import { useInView } from 'react-intersection-observer';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import UserContext from '@/contexts/userContext';
|
import UserContext from '@/contexts/userContext';
|
||||||
import useTimeDistance from '@/hooks/useTimeDistance';
|
import useTimeDistance from '@/hooks/utilities/useTimeDistance';
|
||||||
import { format } from 'date-fns';
|
import { format } from 'date-fns';
|
||||||
import { Dispatch, FC, SetStateAction, useContext } from 'react';
|
import { Dispatch, FC, SetStateAction, useContext } from 'react';
|
||||||
import { Link, Rating } from 'react-daisyui';
|
import { Link, Rating } from 'react-daisyui';
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { FC, useState, useEffect, Dispatch, SetStateAction } from 'react';
|
|||||||
import { Rating } from 'react-daisyui';
|
import { Rating } from 'react-daisyui';
|
||||||
import { useForm, SubmitHandler } from 'react-hook-form';
|
import { useForm, SubmitHandler } from 'react-hook-form';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import useBeerPostComments from '@/hooks/useBeerPostComments';
|
import useBeerPostComments from '@/hooks/data-fetching/beer-comments/useBeerPostComments';
|
||||||
import CommentQueryResult from '@/services/types/CommentSchema/CommentQueryResult';
|
import CommentQueryResult from '@/services/types/CommentSchema/CommentQueryResult';
|
||||||
import { useInView } from 'react-intersection-observer';
|
import { useInView } from 'react-intersection-observer';
|
||||||
import CreateCommentValidationSchema from '@/services/types/CommentSchema/CreateCommentValidationSchema';
|
import CreateCommentValidationSchema from '@/services/types/CommentSchema/CreateCommentValidationSchema';
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import Image from 'next/image';
|
|||||||
import beerPostQueryResult from '@/services/BeerPost/schema/BeerPostQueryResult';
|
import beerPostQueryResult from '@/services/BeerPost/schema/BeerPostQueryResult';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import UserContext from '@/contexts/userContext';
|
import UserContext from '@/contexts/userContext';
|
||||||
import useGetBeerPostLikeCount from '@/hooks/useBeerPostLikeCount';
|
import useGetBeerPostLikeCount from '@/hooks/data-fetching/beer-likes/useBeerPostLikeCount';
|
||||||
import BeerPostLikeButton from '../BeerById/BeerPostLikeButton';
|
import BeerPostLikeButton from '../BeerById/BeerPostLikeButton';
|
||||||
|
|
||||||
const BeerCard: FC<{ post: z.infer<typeof beerPostQueryResult> }> = ({ post }) => {
|
const BeerCard: FC<{ post: z.infer<typeof beerPostQueryResult> }> = ({ post }) => {
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import UseBeerPostsByBrewery from '@/hooks/useBeerPostsByBrewery';
|
import UseBeerPostsByBrewery from '@/hooks/data-fetching/beer-posts/useBeerPostsByBrewery';
|
||||||
import BreweryPostQueryResult from '@/services/BreweryPost/types/BreweryPostQueryResult';
|
import BreweryPostQueryResult from '@/services/BreweryPost/types/BreweryPostQueryResult';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import { FC } from 'react';
|
import { FC } from 'react';
|
||||||
|
|||||||
@@ -2,12 +2,13 @@ import UserContext from '@/contexts/userContext';
|
|||||||
import BreweryPostQueryResult from '@/services/BreweryPost/types/BreweryPostQueryResult';
|
import BreweryPostQueryResult from '@/services/BreweryPost/types/BreweryPostQueryResult';
|
||||||
import { FC, MutableRefObject, useContext, useRef } from 'react';
|
import { FC, MutableRefObject, useContext, useRef } from 'react';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
import useBreweryPostComments from '@/hooks/useBreweryPostComments';
|
|
||||||
import CreateCommentValidationSchema from '@/services/types/CommentSchema/CreateCommentValidationSchema';
|
import CreateCommentValidationSchema from '@/services/types/CommentSchema/CreateCommentValidationSchema';
|
||||||
import { zodResolver } from '@hookform/resolvers/zod';
|
import { zodResolver } from '@hookform/resolvers/zod';
|
||||||
import { useForm, SubmitHandler } from 'react-hook-form';
|
import { useForm, SubmitHandler } from 'react-hook-form';
|
||||||
import APIResponseValidationSchema from '@/validation/APIResponseValidationSchema';
|
import APIResponseValidationSchema from '@/validation/APIResponseValidationSchema';
|
||||||
import CommentQueryResult from '@/services/types/CommentSchema/CommentQueryResult';
|
import CommentQueryResult from '@/services/types/CommentSchema/CommentQueryResult';
|
||||||
|
|
||||||
|
import useBreweryPostComments from '@/hooks/data-fetching/brewery-comments/useBreweryPostComments';
|
||||||
import LoadingComponent from '../BeerById/LoadingComponent';
|
import LoadingComponent from '../BeerById/LoadingComponent';
|
||||||
import CommentsComponent from '../ui/CommentsComponent';
|
import CommentsComponent from '../ui/CommentsComponent';
|
||||||
import CommentForm from '../ui/CommentForm';
|
import CommentForm from '../ui/CommentForm';
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import UserContext from '@/contexts/userContext';
|
import UserContext from '@/contexts/userContext';
|
||||||
import useGetBreweryPostLikeCount from '@/hooks/useGetBreweryPostLikeCount';
|
import useGetBreweryPostLikeCount from '@/hooks/data-fetching/brewery-likes/useGetBreweryPostLikeCount';
|
||||||
import useTimeDistance from '@/hooks/useTimeDistance';
|
import useTimeDistance from '@/hooks/utilities/useTimeDistance';
|
||||||
import BreweryPostQueryResult from '@/services/BreweryPost/types/BreweryPostQueryResult';
|
import BreweryPostQueryResult from '@/services/BreweryPost/types/BreweryPostQueryResult';
|
||||||
import { format } from 'date-fns';
|
import { format } from 'date-fns';
|
||||||
import { FC, useContext } from 'react';
|
import { FC, useContext } from 'react';
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import useMediaQuery from '@/hooks/useMediaQuery';
|
import useMediaQuery from '@/hooks/utilities/useMediaQuery';
|
||||||
import 'mapbox-gl/dist/mapbox-gl.css';
|
import 'mapbox-gl/dist/mapbox-gl.css';
|
||||||
import { FC, useMemo } from 'react';
|
import { FC, useMemo } from 'react';
|
||||||
import Map, { Marker } from 'react-map-gl';
|
import Map, { Marker } from 'react-map-gl';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import UserContext from '@/contexts/userContext';
|
import UserContext from '@/contexts/userContext';
|
||||||
import useGetBreweryPostLikeCount from '@/hooks/useGetBreweryPostLikeCount';
|
import useGetBreweryPostLikeCount from '@/hooks/data-fetching/brewery-likes/useGetBreweryPostLikeCount';
|
||||||
import BreweryPostQueryResult from '@/services/BreweryPost/types/BreweryPostQueryResult';
|
import BreweryPostQueryResult from '@/services/BreweryPost/types/BreweryPostQueryResult';
|
||||||
import { FC, useContext } from 'react';
|
import { FC, useContext } from 'react';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import useCheckIfUserLikesBreweryPost from '@/hooks/useCheckIfUserLikesBreweryPost';
|
import useCheckIfUserLikesBreweryPost from '@/hooks/data-fetching/brewery-likes/useCheckIfUserLikesBreweryPost';
|
||||||
import useGetBreweryPostLikeCount from '@/hooks/useGetBreweryPostLikeCount';
|
import useGetBreweryPostLikeCount from '@/hooks/data-fetching/brewery-likes/useGetBreweryPostLikeCount';
|
||||||
import sendBreweryPostLikeRequest from '@/requests/sendBreweryPostLikeRequest';
|
import sendBreweryPostLikeRequest from '@/requests/sendBreweryPostLikeRequest';
|
||||||
import { FC, useState } from 'react';
|
import { FC, useState } from 'react';
|
||||||
import LikeButton from '../ui/LikeButton';
|
import LikeButton from '../ui/LikeButton';
|
||||||
|
|||||||
@@ -3,8 +3,9 @@ import { FaArrowUp } from 'react-icons/fa';
|
|||||||
|
|
||||||
import { useInView } from 'react-intersection-observer';
|
import { useInView } from 'react-intersection-observer';
|
||||||
|
|
||||||
import useBeerPostComments from '@/hooks/useBeerPostComments';
|
import useBeerPostComments from '@/hooks/data-fetching/beer-comments/useBeerPostComments';
|
||||||
import useBreweryPostComments from '@/hooks/useBreweryPostComments';
|
|
||||||
|
import useBreweryPostComments from '@/hooks/data-fetching/brewery-comments/useBreweryPostComments';
|
||||||
import NoCommentsCard from '../BeerById/NoCommentsCard';
|
import NoCommentsCard from '../BeerById/NoCommentsCard';
|
||||||
import LoadingComponent from '../BeerById/LoadingComponent';
|
import LoadingComponent from '../BeerById/LoadingComponent';
|
||||||
import CommentCardBody from '../BeerById/CommentCardBody';
|
import CommentCardBody from '../BeerById/CommentCardBody';
|
||||||
|
|||||||
@@ -1,10 +1,11 @@
|
|||||||
import useMediaQuery from '@/hooks/useMediaQuery';
|
import useMediaQuery from '@/hooks/utilities/useMediaQuery';
|
||||||
import useNavbar from '@/hooks/useNavbar';
|
import useNavbar from '@/hooks/utilities/useNavbar';
|
||||||
|
import useTheme from '@/hooks/utilities/useTheme';
|
||||||
|
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import { FC } from 'react';
|
import { FC } from 'react';
|
||||||
import { MdDarkMode, MdLightMode } from 'react-icons/md';
|
import { MdDarkMode, MdLightMode } from 'react-icons/md';
|
||||||
import { GiHamburgerMenu } from 'react-icons/gi';
|
import { GiHamburgerMenu } from 'react-icons/gi';
|
||||||
import useTheme from '@/hooks/useTheme';
|
|
||||||
|
|
||||||
const DesktopLinks: FC = () => {
|
const DesktopLinks: FC = () => {
|
||||||
const { pages, currentURL } = useNavbar();
|
const { pages, currentURL } = useNavbar();
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import useUser from '@/hooks/useUser';
|
import useUser from '@/hooks/auth/useUser';
|
||||||
import GetUserSchema from '@/services/User/schema/GetUserSchema';
|
import GetUserSchema from '@/services/User/schema/GetUserSchema';
|
||||||
import { createContext } from 'react';
|
import { createContext } from 'react';
|
||||||
import { z } from 'zod';
|
import { z } from 'zod';
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
import UserContext from '@/contexts/userContext';
|
import UserContext from '@/contexts/userContext';
|
||||||
import useUser from '@/hooks/useUser';
|
|
||||||
import '@/styles/globals.css';
|
import '@/styles/globals.css';
|
||||||
import type { AppProps } from 'next/app';
|
import type { AppProps } from 'next/app';
|
||||||
import { useEffect } from 'react';
|
import { useEffect } from 'react';
|
||||||
@@ -10,6 +10,7 @@ import { Analytics } from '@vercel/analytics/react';
|
|||||||
import { Space_Grotesk } from 'next/font/google';
|
import { Space_Grotesk } from 'next/font/google';
|
||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
import Layout from '@/components/ui/Layout';
|
import Layout from '@/components/ui/Layout';
|
||||||
|
import useUser from '@/hooks/auth/useUser';
|
||||||
|
|
||||||
const spaceGrotesk = Space_Grotesk({
|
const spaceGrotesk = Space_Grotesk({
|
||||||
subsets: ['latin'],
|
subsets: ['latin'],
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ import { z } from 'zod';
|
|||||||
|
|
||||||
import 'react-responsive-carousel/lib/styles/carousel.min.css';
|
import 'react-responsive-carousel/lib/styles/carousel.min.css';
|
||||||
import { Carousel } from 'react-responsive-carousel';
|
import { Carousel } from 'react-responsive-carousel';
|
||||||
import useMediaQuery from '@/hooks/useMediaQuery';
|
import useMediaQuery from '@/hooks/utilities/useMediaQuery';
|
||||||
import { Tab } from '@headlessui/react';
|
import { Tab } from '@headlessui/react';
|
||||||
|
|
||||||
interface BeerPageProps {
|
interface BeerPageProps {
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ import { MutableRefObject, useContext, useRef } from 'react';
|
|||||||
import { useInView } from 'react-intersection-observer';
|
import { useInView } from 'react-intersection-observer';
|
||||||
import Spinner from '@/components/ui/Spinner';
|
import Spinner from '@/components/ui/Spinner';
|
||||||
|
|
||||||
import useBeerPosts from '@/hooks/useBeerPosts';
|
import useBeerPosts from '@/hooks/data-fetching/beer-posts/useBeerPosts';
|
||||||
import { FaArrowUp, FaPlus } from 'react-icons/fa';
|
import { FaArrowUp, FaPlus } from 'react-icons/fa';
|
||||||
import LoadingCard from '@/components/ui/LoadingCard';
|
import LoadingCard from '@/components/ui/LoadingCard';
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import { ChangeEvent, useEffect, useState } from 'react';
|
|||||||
import Spinner from '@/components/ui/Spinner';
|
import Spinner from '@/components/ui/Spinner';
|
||||||
|
|
||||||
import debounce from 'lodash/debounce';
|
import debounce from 'lodash/debounce';
|
||||||
import useBeerPostSearch from '@/hooks/useBeerPostSearch';
|
import useBeerPostSearch from '@/hooks/data-fetching/beer-posts/useBeerPostSearch';
|
||||||
import FormLabel from '@/components/ui/forms/FormLabel';
|
import FormLabel from '@/components/ui/forms/FormLabel';
|
||||||
|
|
||||||
const DEBOUNCE_DELAY = 300;
|
const DEBOUNCE_DELAY = 300;
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import Head from 'next/head';
|
|||||||
import Image from 'next/image';
|
import Image from 'next/image';
|
||||||
import 'react-responsive-carousel/lib/styles/carousel.min.css'; // requires a loader
|
import 'react-responsive-carousel/lib/styles/carousel.min.css'; // requires a loader
|
||||||
import { Carousel } from 'react-responsive-carousel';
|
import { Carousel } from 'react-responsive-carousel';
|
||||||
import useMediaQuery from '@/hooks/useMediaQuery';
|
import useMediaQuery from '@/hooks/utilities/useMediaQuery';
|
||||||
import { Tab } from '@headlessui/react';
|
import { Tab } from '@headlessui/react';
|
||||||
import BreweryInfoHeader from '@/components/BreweryById/BreweryInfoHeader';
|
import BreweryInfoHeader from '@/components/BreweryById/BreweryInfoHeader';
|
||||||
import BreweryPostMap from '@/components/BreweryById/BreweryPostMap';
|
import BreweryPostMap from '@/components/BreweryById/BreweryPostMap';
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import BreweryCard from '@/components/BreweryIndex/BreweryCard';
|
|||||||
import LoadingCard from '@/components/ui/LoadingCard';
|
import LoadingCard from '@/components/ui/LoadingCard';
|
||||||
import Spinner from '@/components/ui/Spinner';
|
import Spinner from '@/components/ui/Spinner';
|
||||||
import UserContext from '@/contexts/userContext';
|
import UserContext from '@/contexts/userContext';
|
||||||
import useBreweryPosts from '@/hooks/useBreweryPosts';
|
import useBreweryPosts from '@/hooks/data-fetching/brewery-posts/useBreweryPosts';
|
||||||
import BreweryPostQueryResult from '@/services/BreweryPost/types/BreweryPostQueryResult';
|
import BreweryPostQueryResult from '@/services/BreweryPost/types/BreweryPostQueryResult';
|
||||||
import { NextPage } from 'next';
|
import { NextPage } from 'next';
|
||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ import DBClient from '@/prisma/DBClient';
|
|||||||
import LocationMarker from '@/components/ui/LocationMarker';
|
import LocationMarker from '@/components/ui/LocationMarker';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
import useGeolocation from '@/hooks/useGeolocation';
|
import useGeolocation from '@/hooks/utilities/useGeolocation';
|
||||||
|
|
||||||
type MapStyles = Record<'light' | 'dark', `mapbox://styles/mapbox/${string}`>;
|
type MapStyles = Record<'light' | 'dark', `mapbox://styles/mapbox/${string}`>;
|
||||||
|
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import { FaUserCircle } from 'react-icons/fa';
|
|||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
import Link from 'next/link';
|
import Link from 'next/link';
|
||||||
|
|
||||||
import useRedirectWhenLoggedIn from '@/hooks/useRedirectIfLoggedIn';
|
import useRedirectWhenLoggedIn from '@/hooks/auth/useRedirectIfLoggedIn';
|
||||||
|
|
||||||
const LoginPage: NextPage = () => {
|
const LoginPage: NextPage = () => {
|
||||||
useRedirectWhenLoggedIn();
|
useRedirectWhenLoggedIn();
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import RegisterUserForm from '@/components/RegisterUserForm';
|
import RegisterUserForm from '@/components/RegisterUserForm';
|
||||||
import FormPageLayout from '@/components/ui/forms/FormPageLayout';
|
import FormPageLayout from '@/components/ui/forms/FormPageLayout';
|
||||||
|
|
||||||
import useRedirectWhenLoggedIn from '@/hooks/useRedirectIfLoggedIn';
|
import useRedirectWhenLoggedIn from '@/hooks/auth/useRedirectIfLoggedIn';
|
||||||
import { NextPage } from 'next';
|
import { NextPage } from 'next';
|
||||||
import Head from 'next/head';
|
import Head from 'next/head';
|
||||||
import { BiUser } from 'react-icons/bi';
|
import { BiUser } from 'react-icons/bi';
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import UserContext from '@/contexts/userContext';
|
|||||||
|
|
||||||
import { GetServerSideProps, NextPage } from 'next';
|
import { GetServerSideProps, NextPage } from 'next';
|
||||||
import { useContext } from 'react';
|
import { useContext } from 'react';
|
||||||
import useMediaQuery from '@/hooks/useMediaQuery';
|
import useMediaQuery from '@/hooks/utilities/useMediaQuery';
|
||||||
|
|
||||||
const ProtectedPage: NextPage = () => {
|
const ProtectedPage: NextPage = () => {
|
||||||
const { user, isLoading } = useContext(UserContext);
|
const { user, isLoading } = useContext(UserContext);
|
||||||
|
|||||||
Reference in New Issue
Block a user