From b3b66f51f7537003496fc6f7328e01e92ccb905d Mon Sep 17 00:00:00 2001 From: lgrin-byte Date: Tue, 19 Nov 2024 23:49:15 +0900 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=EB=B2=84=ED=8A=BC=20=ED=81=B4?= =?UTF-8?q?=EB=A6=AD=20=EC=8B=9C=20=EB=AA=A8=EB=8B=AC=20=EB=85=B8=EC=B6=9C?= =?UTF-8?q?=20=EC=9C=A0=EB=AC=B4=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin-new/(components)/Sidebar.tsx | 51 ++++++++++++++++--- .../ThemeDrawer/hooks/useEditHint.ts | 26 +++++++++- .../(components)/ThemeInfo/Container.tsx | 15 +++--- .../(components)/ThemeInfo/ThemeInfoHint.tsx | 32 ++++++++++-- app/components/atoms/drawer.atom.ts | 21 ++++++++ .../common/Hint-Dialog-new/Dialog.tsx | 5 ++ app/utils/localStorage.ts | 4 ++ 7 files changed, 133 insertions(+), 21 deletions(-) create mode 100644 app/components/atoms/drawer.atom.ts diff --git a/app/admin-new/(components)/Sidebar.tsx b/app/admin-new/(components)/Sidebar.tsx index 7b777a9..2b6749d 100644 --- a/app/admin-new/(components)/Sidebar.tsx +++ b/app/admin-new/(components)/Sidebar.tsx @@ -2,6 +2,7 @@ import React from "react"; import Image from "next/image"; import classNames from "classnames"; import { useRouter, useSearchParams } from "next/navigation"; +import HintDialog from "@/components/common/Hint-Dialog-new/Dialog"; import { logoProps, @@ -9,8 +10,15 @@ import { plusProps, subscribeLinkURL, } from "@/admin-new/(consts)/sidebar"; -import { getSelectedThemeId, getStatus } from "@/utils/localStorage"; +import { + getSelectedThemeId, + getStatus, + removeAccessToken, +} from "@/utils/localStorage"; import { useSelectedThemeReset } from "@/components/atoms/selectedTheme.atom"; +import { useIsLoggedInWrite } from "@/components/atoms/account.atom"; +import { useDrawerState } from "@/components/atoms/drawer.atom"; +import useModal from "@/hooks/useModal"; interface Theme { id: number; @@ -30,6 +38,10 @@ interface Props { export default function Sidebar(props: Props) { const router = useRouter(); const resetSelectedTheme = useSelectedThemeReset(); + // const setIsLoggedIn = useIsLoggedInWrite(); + const [drawer, setDrawer] = useDrawerState(); + const { open } = useModal(); + const status = getStatus(); const searchParams = useSearchParams(); const selectedThemeId = getSelectedThemeId(); @@ -40,6 +52,34 @@ export default function Sidebar(props: Props) { categories, handleClickSelected, } = props; + + // const handleLogout = () => { + // removeAccessToken(); + // setIsLoggedIn(false); + // }; + + const navigateToNewTheme = () => { + resetSelectedTheme(); + router.push("/admin-new"); + }; + const handleSelectTheme = (theme: Theme) => { + if (drawer.isOpen && !drawer.isSameHint) { + open(HintDialog, { type: "put", fn: () => handleClickSelected(theme) }); + } else { + setDrawer({ ...drawer, isOpen: false }); + handleClickSelected(theme); + } + }; + + const handleCreateTheme = () => { + if (drawer.isOpen && !drawer.isSameHint) { + open(HintDialog, { type: "put", fn: navigateToNewTheme }); + } else { + setDrawer({ ...drawer, isOpen: false }); + navigateToNewTheme(); + } + }; + return (
@@ -51,7 +91,6 @@ export default function Sidebar(props: Props) {
우리 지점 테마
-