From cada8b39eb95f15f81d9896f64d515111429af25 Mon Sep 17 00:00:00 2001 From: AmirHossein Shirazi Date: Wed, 20 Nov 2024 15:33:22 +0330 Subject: [PATCH] Fix build problem --- .../auth/signin/components/SignInForm.tsx | 106 -------------- src/app/admin/auth/signin/page.tsx | 12 -- src/app/admin/components/CountBox.tsx | 23 --- src/app/admin/components/LoadingIndicator.tsx | 25 ---- src/app/admin/components/RippleEffect.tsx | 35 ----- src/app/admin/components/SectionTitle.tsx | 15 -- .../events/components/AddEventButton.tsx | 34 ----- .../admin/events/components/AddEventModal.tsx | 99 ------------- .../events/components/DeleteEventModal.tsx | 80 ---------- .../events/components/EditEventModal.tsx | 116 --------------- src/app/admin/events/components/EventCard.tsx | 55 ------- .../events/components/EventsPlaceholder.tsx | 29 ---- .../events/components/RenderEvents/index.tsx | 65 --------- src/app/admin/events/page.tsx | 20 --- src/app/admin/faqs/components/AddFaqModal.tsx | 85 ----------- .../admin/faqs/components/CreateFaqButton.tsx | 39 ----- .../admin/faqs/components/DeleteFaqModal.tsx | 76 ---------- .../admin/faqs/components/EditFaqModal.tsx | 112 -------------- src/app/admin/faqs/components/FaqsTable.tsx | 137 ------------------ src/app/admin/faqs/page.tsx | 20 --- src/app/admin/layout.tsx | 26 ---- .../layouts/AdminLayout/Navbar/SignOut.tsx | 22 --- .../layouts/AdminLayout/Navbar/index.tsx | 30 ---- .../layouts/AdminLayout/Sidebar/Logo.tsx | 15 -- .../AdminLayout/Sidebar/SidebarItem.tsx | 36 ----- .../AdminLayout/Sidebar/UserDetails.tsx | 18 --- .../layouts/AdminLayout/Sidebar/index.tsx | 25 ---- src/app/admin/layouts/AdminLayout/index.tsx | 30 ---- src/app/admin/page.tsx | 29 ---- .../sponsors/components/AddSponsorButton.tsx | 34 ----- .../sponsors/components/AddSponsorModal.tsx | 107 -------------- .../components/DeleteSponsorModal.tsx | 82 ----------- .../sponsors/components/EditSponsorModal.tsx | 126 ---------------- .../components/RenderSponsors/index.tsx | 65 --------- .../admin/sponsors/components/SponsorCard.tsx | 55 ------- .../components/SponsorsPlaceholder.tsx | 29 ---- src/app/admin/sponsors/page.tsx | 20 --- .../admin/teams/components/AddTeamButton.tsx | 34 ----- .../admin/teams/components/AddTeamModal.tsx | 107 -------------- .../teams/components/Categories/Category.tsx | 24 --- .../teams/components/Categories/index.tsx | 31 ---- .../teams/components/DeleteTeamModal.tsx | 82 ----------- .../admin/teams/components/EditTeamModal.tsx | 126 ---------------- .../teams/components/RenderTeams/index.tsx | 136 ----------------- src/app/admin/teams/components/TeamCard.tsx | 84 ----------- .../teams/components/TeamsPlaceholder.tsx | 29 ---- src/app/admin/teams/page.tsx | 25 ---- 47 files changed, 2610 deletions(-) delete mode 100644 src/app/admin/auth/signin/components/SignInForm.tsx delete mode 100644 src/app/admin/auth/signin/page.tsx delete mode 100644 src/app/admin/components/CountBox.tsx delete mode 100644 src/app/admin/components/LoadingIndicator.tsx delete mode 100644 src/app/admin/components/RippleEffect.tsx delete mode 100644 src/app/admin/components/SectionTitle.tsx delete mode 100644 src/app/admin/events/components/AddEventButton.tsx delete mode 100644 src/app/admin/events/components/AddEventModal.tsx delete mode 100644 src/app/admin/events/components/DeleteEventModal.tsx delete mode 100644 src/app/admin/events/components/EditEventModal.tsx delete mode 100644 src/app/admin/events/components/EventCard.tsx delete mode 100644 src/app/admin/events/components/EventsPlaceholder.tsx delete mode 100644 src/app/admin/events/components/RenderEvents/index.tsx delete mode 100644 src/app/admin/events/page.tsx delete mode 100644 src/app/admin/faqs/components/AddFaqModal.tsx delete mode 100644 src/app/admin/faqs/components/CreateFaqButton.tsx delete mode 100644 src/app/admin/faqs/components/DeleteFaqModal.tsx delete mode 100644 src/app/admin/faqs/components/EditFaqModal.tsx delete mode 100644 src/app/admin/faqs/components/FaqsTable.tsx delete mode 100644 src/app/admin/faqs/page.tsx delete mode 100644 src/app/admin/layout.tsx delete mode 100644 src/app/admin/layouts/AdminLayout/Navbar/SignOut.tsx delete mode 100644 src/app/admin/layouts/AdminLayout/Navbar/index.tsx delete mode 100644 src/app/admin/layouts/AdminLayout/Sidebar/Logo.tsx delete mode 100644 src/app/admin/layouts/AdminLayout/Sidebar/SidebarItem.tsx delete mode 100644 src/app/admin/layouts/AdminLayout/Sidebar/UserDetails.tsx delete mode 100644 src/app/admin/layouts/AdminLayout/Sidebar/index.tsx delete mode 100644 src/app/admin/layouts/AdminLayout/index.tsx delete mode 100644 src/app/admin/page.tsx delete mode 100644 src/app/admin/sponsors/components/AddSponsorButton.tsx delete mode 100644 src/app/admin/sponsors/components/AddSponsorModal.tsx delete mode 100644 src/app/admin/sponsors/components/DeleteSponsorModal.tsx delete mode 100644 src/app/admin/sponsors/components/EditSponsorModal.tsx delete mode 100644 src/app/admin/sponsors/components/RenderSponsors/index.tsx delete mode 100644 src/app/admin/sponsors/components/SponsorCard.tsx delete mode 100644 src/app/admin/sponsors/components/SponsorsPlaceholder.tsx delete mode 100644 src/app/admin/sponsors/page.tsx delete mode 100644 src/app/admin/teams/components/AddTeamButton.tsx delete mode 100644 src/app/admin/teams/components/AddTeamModal.tsx delete mode 100644 src/app/admin/teams/components/Categories/Category.tsx delete mode 100644 src/app/admin/teams/components/Categories/index.tsx delete mode 100644 src/app/admin/teams/components/DeleteTeamModal.tsx delete mode 100644 src/app/admin/teams/components/EditTeamModal.tsx delete mode 100644 src/app/admin/teams/components/RenderTeams/index.tsx delete mode 100644 src/app/admin/teams/components/TeamCard.tsx delete mode 100644 src/app/admin/teams/components/TeamsPlaceholder.tsx delete mode 100644 src/app/admin/teams/page.tsx diff --git a/src/app/admin/auth/signin/components/SignInForm.tsx b/src/app/admin/auth/signin/components/SignInForm.tsx deleted file mode 100644 index 81ec915..0000000 --- a/src/app/admin/auth/signin/components/SignInForm.tsx +++ /dev/null @@ -1,106 +0,0 @@ -"use client"; - -import { SubmitHandler, useForm } from "react-hook-form"; -import { yupResolver } from "@hookform/resolvers/yup"; -import { signIn } from "next-auth/react"; -import toast from "react-hot-toast"; -import Image from "next/image"; -import { Input } from "@nextui-org/input"; -import { Button } from "@nextui-org/button"; -import * as yup from "yup"; -import { useRouter } from "next/navigation"; - -type SignInForm = { - email: string; - password: string; -}; - -const SignInFormSchema = yup - .object().shape({ - email: yup - .string() - .email("ایمیل وارد شده اشتباه است") - .required("ایمیل را وارد کنید"), - password: yup - .string() - .min(8, "رمزعبور نباید کمتر از ۸ کاراکتر باشد") - .required("پسوورد را وارد کنید") - }); - -const SignInForm = () => { - const router = useRouter(); - - const { register, handleSubmit, formState: { isSubmitting, errors } } = useForm({ - resolver: yupResolver(SignInFormSchema) - }); - - const onSubmit: SubmitHandler = async (data) => { - try { - const response = await signIn("credentials", { ...data, redirect: false }); - - if (response?.error) throw new Error(response?.error); - - toast.success("با موفقیت وارد شدید"); - router.push("/admin"); - } catch (e) { - toast.error("خطایی رخ داده است"); - } - }; - - return ( -
-
-
- logo - ورد به پنل CS50xShiraz -
- } - label="ایمیل" - className="w-full text-foreground" - variant="bordered" - isInvalid={!!errors.email} - errorMessage={errors.email?.message} - autoComplete="username" - {...register("email")} - /> - } - label="رمز عبور" - className="w-full text-foreground" - variant="bordered" - isInvalid={!!errors.password} - errorMessage={errors.password?.message} - autoComplete="current-password" - {...register("password")} - /> - -
-
- ); -}; - -export default SignInForm; \ No newline at end of file diff --git a/src/app/admin/auth/signin/page.tsx b/src/app/admin/auth/signin/page.tsx deleted file mode 100644 index 199d632..0000000 --- a/src/app/admin/auth/signin/page.tsx +++ /dev/null @@ -1,12 +0,0 @@ -import SignInForm from "./components/SignInForm"; - -const SignInPage = async () => { - return ( -
- -
- ); - -}; - -export default SignInPage; \ No newline at end of file diff --git a/src/app/admin/components/CountBox.tsx b/src/app/admin/components/CountBox.tsx deleted file mode 100644 index cb84979..0000000 --- a/src/app/admin/components/CountBox.tsx +++ /dev/null @@ -1,23 +0,0 @@ -import { Card, CardBody } from "@nextui-org/react"; - -export type CountBoxProps = { - count: number; - text: string; -} - -const CountBox = ({ count, text }: CountBoxProps) => { - return ( - - -
-
- {Intl.NumberFormat("fa-IR", {}).format(count)} -
-
{text}
-
-
-
- ); -}; - -export default CountBox; \ No newline at end of file diff --git a/src/app/admin/components/LoadingIndicator.tsx b/src/app/admin/components/LoadingIndicator.tsx deleted file mode 100644 index d9b72c5..0000000 --- a/src/app/admin/components/LoadingIndicator.tsx +++ /dev/null @@ -1,25 +0,0 @@ -"use client"; - -import { Progress } from "@nextui-org/react"; -import { useQuery } from "@tanstack/react-query"; - -export type LoadingIndicatorProps = { - queries: string[]; -} - -const LoadingIndicator = ({ queries }: LoadingIndicatorProps) => { - const { isFetching } = useQuery({ - queryKey: queries - }); - - return ( - - ); -}; - -export default LoadingIndicator; diff --git a/src/app/admin/components/RippleEffect.tsx b/src/app/admin/components/RippleEffect.tsx deleted file mode 100644 index 1395868..0000000 --- a/src/app/admin/components/RippleEffect.tsx +++ /dev/null @@ -1,35 +0,0 @@ -"use client"; - -import { useButton,Ripple } from "@nextui-org/react"; -import { forwardRef } from "react"; - -export type RippleEffectProps = { - className?: string; - children?: React.ReactNode; -} - -const RippleEffect = forwardRef((props, ref) => { - const { - children, - domRef, - getButtonProps, - getRippleProps, - } = useButton({ - ref, - ...props - }); - - const {ripples, onClear} = getRippleProps(); - - return ( -
- {children} - -
- ) -}); - -RippleEffect.displayName = "RippleEffect"; - - -export default RippleEffect; \ No newline at end of file diff --git a/src/app/admin/components/SectionTitle.tsx b/src/app/admin/components/SectionTitle.tsx deleted file mode 100644 index 0f1ad36..0000000 --- a/src/app/admin/components/SectionTitle.tsx +++ /dev/null @@ -1,15 +0,0 @@ -export type SectionTitleProp = { - title: string; -} - -const SectionTitle = ({ title }: SectionTitleProp) => { - return ( -
- - {title} - -
- ); -}; - -export default SectionTitle; \ No newline at end of file diff --git a/src/app/admin/events/components/AddEventButton.tsx b/src/app/admin/events/components/AddEventButton.tsx deleted file mode 100644 index 06097be..0000000 --- a/src/app/admin/events/components/AddEventButton.tsx +++ /dev/null @@ -1,34 +0,0 @@ -"use client"; - -import { Button } from "@nextui-org/button"; -import { useDisclosure } from "@nextui-org/react"; -import AddEventModal from "@/app/admin/events/components/AddEventModal"; - -const AddEventButton = () => { - const { isOpen, onOpen, onClose, onOpenChange } = useDisclosure(); - - return ( - <> -
- -
- - - ); -}; - -export default AddEventButton; \ No newline at end of file diff --git a/src/app/admin/events/components/AddEventModal.tsx b/src/app/admin/events/components/AddEventModal.tsx deleted file mode 100644 index 7a6079d..0000000 --- a/src/app/admin/events/components/AddEventModal.tsx +++ /dev/null @@ -1,99 +0,0 @@ -import { Button, Input, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader } from "@nextui-org/react"; -import { SubmitHandler, useForm } from "react-hook-form"; -import toast from "react-hot-toast"; -import useCreateEvent, { CreateEventRequest } from "@/hooks/api/events/useCreateEvent"; -import { useQueryClient } from "@tanstack/react-query"; - -export type AddEventModalProps = { - isOpen: boolean; - onOpen: () => void; - onClose: () => void; - onOpenChange: () => void; -} - -type AddEventForm = CreateEventRequest; - -const AddEventModal = ({ onOpenChange, isOpen, onClose }: AddEventModalProps) => { - const queryClient = useQueryClient(); - const { mutateAsync: createEvent, isPending: isCreatingEvent } = useCreateEvent(); - const { register, handleSubmit, reset, formState: { errors } } = useForm(); - - const onSubmit: SubmitHandler = async (data) => { - await createEvent(data); - queryClient.refetchQueries({ - queryKey: ["events"] - }); - reset(); - onClose(); - toast.success("رویداد افزوده شد"); - }; - - return ( - { - onOpenChange(); - reset(); - }} - > - - {(onClose) => ( -
- - افزودن رویداد - - - - - https:// - - } - {...register("link", { required: true })} - /> - - - - - - -
- )} -
-
- ); -}; - -export default AddEventModal; \ No newline at end of file diff --git a/src/app/admin/events/components/DeleteEventModal.tsx b/src/app/admin/events/components/DeleteEventModal.tsx deleted file mode 100644 index 8657972..0000000 --- a/src/app/admin/events/components/DeleteEventModal.tsx +++ /dev/null @@ -1,80 +0,0 @@ -import { Button, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, Spinner } from "@nextui-org/react"; -import useEvent from "@/hooks/api/events/useEvent"; -import Image from "next/image"; -import useDeleteEvent from "@/hooks/api/events/useDeleteEvent"; -import toast from "react-hot-toast"; -import { useQueryClient } from "@tanstack/react-query"; - -export type DeleteEventModalProps = { - id: number; - isOpen: boolean; - onOpen: () => void; - onClose: () => void; - onOpenChange: () => void; -} - -const DeleteEventModal = ({ onOpen, onClose, isOpen, onOpenChange, id }: DeleteEventModalProps) => { - const queryClient = useQueryClient(); - const { data: event, isLoading } = useEvent(id); - - const { - mutateAsync: deleteEvent, - isPending: isDeletingEvent - } = useDeleteEvent(id); - - const onDeleteEventClick = async () => { - await deleteEvent(); - onClose(); - queryClient.refetchQueries({ - queryKey: ["events"] - }); - toast.success(`رویداد ${event?.title} دیلیت شد`); - }; - - return ( - - - {(onClose) => ( - event ? ( -
- - حذف رویداد - - -
- {event.title} -
-

- از حذف رویداد - {event.title} - مطمئنید؟ -

-
- - - - -
- ) : ( -
- -
- ) - )} -
-
- ); -}; - -export default DeleteEventModal; \ No newline at end of file diff --git a/src/app/admin/events/components/EditEventModal.tsx b/src/app/admin/events/components/EditEventModal.tsx deleted file mode 100644 index c2c1783..0000000 --- a/src/app/admin/events/components/EditEventModal.tsx +++ /dev/null @@ -1,116 +0,0 @@ -import { Button, Input, Modal, ModalBody, ModalContent, ModalFooter, ModalHeader, Spinner } from "@nextui-org/react"; -import { SubmitHandler, useForm } from "react-hook-form"; -import toast from "react-hot-toast"; -import useEvent from "@/hooks/api/events/useEvent"; -import { useEffect } from "react"; -import useUpdateEvent, { UpdateEventRequest } from "@/hooks/api/events/useUpdateEvent"; -import { useQueryClient } from "@tanstack/react-query"; - -export type EditEventModalProps = { - id: number; - isOpen: boolean; - onOpen: () => void; - onClose: () => void; - onOpenChange: () => void; -} - -type EditEventForm = UpdateEventRequest; - -const EditEventModal = ({ onOpenChange, isOpen, id, onClose }: EditEventModalProps) => { - const queryClient = useQueryClient(); - const { data: event } = useEvent(id); - const { mutateAsync: updateEvent, isPending: isUpdatingEvent } = useUpdateEvent(id); - const { register, handleSubmit, reset, setValue, formState: { errors } } = useForm(); - - useEffect(() => { - if (event && isOpen) { - setValue("link", event.link); - setValue("title", event.title); - } - }, [event, isOpen]); - - const onSubmit: SubmitHandler = async (data) => { - await updateEvent(data); - toast.success("رویداد ابدیت شد"); - queryClient.refetchQueries({ - queryKey: ["events"] - }); - reset(); - onClose(); - }; - - return ( - { - onOpenChange(); - reset(); - }} - > - - {(onClose) => ( - event ? ( -
- - ویرایش اسپانسر - - -
- - - https:// -
- } - {...register("link", { required: true })} - /> - - -
- - - - -
- ) : ( -
- -
- ) - )} -
-
- ); -}; - -export default EditEventModal; \ No newline at end of file diff --git a/src/app/admin/events/components/EventCard.tsx b/src/app/admin/events/components/EventCard.tsx deleted file mode 100644 index 484c516..0000000 --- a/src/app/admin/events/components/EventCard.tsx +++ /dev/null @@ -1,55 +0,0 @@ -"use client"; - -import { Card, CardBody, CardFooter } from "@nextui-org/react"; -import Image from "next/image"; -import { Button } from "@nextui-org/button"; - -export type EventCardProps = EventType & { - onEditModalOpen: () => void; - onDeleteModalOpen: () => void; - setSelectedEventId: (id: number) => void; -}; - -const EventCard = ({ - id, - title, - photo, - setSelectedEventId, - onEditModalOpen, - onDeleteModalOpen - }: EventCardProps) => { - - const onEventPress = () => { - setSelectedEventId(id); - onEditModalOpen(); - }; - - const onDeleteButtonClick = () => { - setSelectedEventId(id); - onDeleteModalOpen(); - }; - - return ( - <> - - -
- test -
-
- - {title} -