Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions src/app/bookshelf/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ import Image from "next/image";

export default function Dnd() {
const { toRead, reading, done, setItems } = useLikedBookStore();
const { isOpen, data } = useModalStore();
const { isOpen } = useModalStore();
const [activeId, setActiveId] = useState<string | null>(null);
const [isOutside, setIsOutside] = useState<boolean>(false);

Expand Down Expand Up @@ -91,7 +91,7 @@ export default function Dnd() {
) : null}
</DragOverlay>

{isOpen && data && <Modal />}
{isOpen && <Modal />}
</DndContext>
</article>
);
Expand Down
12 changes: 9 additions & 3 deletions src/app/components/home/Carousel.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,14 @@ import Modal from "../modal/Modal";

import { Book } from "@/types/common";

export default function Carousel({ books }: { books: Book[] }) {
const { isOpen, openModalWithData, data } = useModalStore();
export default function Carousel({
books,
isModal,
}: {
books: Book[];
isModal: boolean;
}) {
const { isOpen, openModalWithData } = useModalStore();

return (
<section className="group relative z-0 flex h-[213px] w-full items-center overflow-hidden border-2 border-neutral-200">
Expand Down Expand Up @@ -49,7 +55,7 @@ export default function Carousel({ books }: { books: Book[] }) {
);
})}
</div>
{data && isOpen && <Modal />}
{isOpen && isModal && <Modal />}
</section>
);
}
9 changes: 1 addition & 8 deletions src/app/components/modal/Modal.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,6 @@ export default function Modal() {
const { closeModal, data, isBookMark } = useModalStore();

useEffect(() => {
// const body = document.body as HTMLBodyElement;
// body.classList.add("modal-open");

const handlePopState = () => {
closeModal();
};
Expand All @@ -25,7 +22,7 @@ export default function Modal() {
useScrollLock.enable(); // 스크롤 잠김
return () => {
useScrollLock.disable(); // 스크롤 잠김 해제
// body.classList.remove("modal-open");
closeModal(); // 뒤로가기 or 앞으로가기 시 모달 닫기
};
}, []);

Expand All @@ -41,8 +38,6 @@ export default function Modal() {
];

return createPortal(
// <>
// {data && (
<div className="fixed left-0 top-0 z-50 flex h-screen w-screen items-center justify-center bg-black bg-opacity-50">
<div className="relative flex w-[600px] flex-col justify-start gap-7 border-2 border-black bg-white p-16 drop-shadow-black">
<Image
Expand Down Expand Up @@ -91,8 +86,6 @@ export default function Modal() {
)}
</div>
</div>,
// )}
// </>,
document.querySelector("#global-modal") as HTMLDivElement,
);
}
4 changes: 2 additions & 2 deletions src/app/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -21,12 +21,12 @@ export default async function Home() {
<h1 className="text-2xl font-bold">오늘의 주제</h1>
<h3 className="text-xl font-semibold">{topics[randomIndex]}</h3>
</div>
<Carousel books={bookData.topic} />
<Carousel books={bookData.topic} isModal={true} />
<div className="flex items-center gap-7">
<h1 className="text-2xl font-bold">오늘의 작가</h1>
<h3 className="text-xl font-semibold">{authors[randomIndex]}</h3>
</div>
<Carousel books={bookData.author} />
<Carousel books={bookData.author} isModal={false} />
</div>
</main>
);
Expand Down
6 changes: 3 additions & 3 deletions src/data/topics.ts
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
const topics = [
"미래",
"심리",
"역사",
"인공지능",
"자기계발",
"동화",
"코딩",
"철학",
"여행",
"건강",
"환경",
"요리",
"신기술",
"",
"예술",
"습관",
"건축",
Expand Down
Loading