diff --git a/src/components/PhoneCheck.tsx b/src/components/PhoneCheck.tsx index 51edf6b..66e6879 100644 --- a/src/components/PhoneCheck.tsx +++ b/src/components/PhoneCheck.tsx @@ -1,6 +1,7 @@ import React, { useState, useEffect } from "react"; import { sendSMSAPI, checkSMSAPI, sendSMSFindAPI } from '@/apis/sms'; import Container from '@/styles/PhoneCheck'; +import { AxiosError } from "axios"; interface PhoneCheckProps { @@ -84,7 +85,7 @@ const PhoneCheck : React.FC = ({setCheck, tel, setTel, type}) = const handleCertifyNum = async () => { if(isSend){ SetIsCheck(false); - setTime(10); + setTime(5*60); } try{ const {data} = type === true ? (await sendSMSAPI({ @@ -100,7 +101,9 @@ const PhoneCheck : React.FC = ({setCheck, tel, setTel, type}) = setToken(data.result.token); } } catch(e){ - setPhoneCertify(true); + const err = e as AxiosError; + if(err.response?.status === 400) + setPhoneCertify(true); } } diff --git a/src/components/layout/header/alarm/AlarmItem.tsx b/src/components/layout/header/alarm/AlarmItem.tsx index f59d184..83b66dd 100644 --- a/src/components/layout/header/alarm/AlarmItem.tsx +++ b/src/components/layout/header/alarm/AlarmItem.tsx @@ -70,20 +70,25 @@ const AlarmItem = ({ }; const handleClick = async () => { - if (alarm.type === 'notice') { - navigate('/guide'); - onClose(); - } - if (alarm.type === 'video' && !alarm.is_confirm && alarm.alarm_id !== 999) { + if (!alarm.is_confirm) { try { await confirmSelectAlarmAPI({ alarms: [alarm.alarm_id] }); onRefresh(); - navigate(`/summary/${alarm.video_id}`); - onClose(); } catch (e) { console.error(e); } } + if (alarm.type === 'notice') { + navigate('/guide'); + } + if ( + alarm.type === 'video' && + alarm.state === 'success' && + alarm.alarm_id !== 999 + ) { + navigate(`/summary/${alarm.video_id}`); + } + onClose(); }; const handleClickRemoveButton: React.MouseEventHandler = ( diff --git a/src/components/layout/sideBar/AddCategory.tsx b/src/components/layout/sideBar/AddCategory.tsx index 210aa73..909c334 100644 --- a/src/components/layout/sideBar/AddCategory.tsx +++ b/src/components/layout/sideBar/AddCategory.tsx @@ -1,18 +1,22 @@ import * as AddCategoryStyle from '@/styles/layout/sideBar/AddCategory.style'; import PlusSvg from '@/assets/icons/plus.svg?react'; import { useRecoilValue, useSetRecoilState } from 'recoil'; -import { topCategoryModalState } from '@/stores/modal'; +import { addCategoryModalState } from '@/stores/modal'; import { userTokenState } from '@/stores/user'; import { useState } from 'react'; import NoticeModal from '@/components/modals/NoticeModal'; const AddCategory = () => { const isUser = useRecoilValue(userTokenState); - const setTopCategoryModal = useSetRecoilState(topCategoryModalState); + const setIsAddCategoryModalOpen = useSetRecoilState(addCategoryModalState); const [isNoticeModalOpen, setIsNoticeModalOpen] = useState(false); const openAddModal = (e: React.MouseEvent) => { - setTopCategoryModal(true); + setIsAddCategoryModalOpen({ + location: 'top', + isOpen: true, + categoryId: -1, + }); e.stopPropagation(); }; diff --git a/src/components/layout/sideBar/SubCategory.tsx b/src/components/layout/sideBar/SubCategory.tsx index dfcca2c..c248f90 100644 --- a/src/components/layout/sideBar/SubCategory.tsx +++ b/src/components/layout/sideBar/SubCategory.tsx @@ -4,7 +4,7 @@ import { useState } from 'react'; import * as SubCategoryStyles from '@/styles/layout/sideBar/SubCategory.style'; import Option from './Option'; import handleDrag from '@/utils/handleDrag'; -import { ISubFolderProps } from 'types/category'; +import { IEditProps, ISubFolderProps } from 'types/category'; import EditCategoryName from '@/components/category/EditCategoryName'; import useCreateToast from '@/hooks/useCreateToast'; @@ -13,10 +13,8 @@ interface ISubCategoryProps { subId: number; subFolder: ISubFolderProps; grabedCategory: React.MutableRefObject; - isEditing: { activated: boolean; categoryId: number }; - setIsEditing: React.Dispatch< - React.SetStateAction<{ activated: boolean; categoryId: number }> - >; + isEditing: IEditProps; + setIsEditing: React.Dispatch>; setIsDeleteModalOpen: React.Dispatch>; putCategoryFolder: () => void; setCategoryId: React.Dispatch>; diff --git a/src/components/layout/sideBar/TopCategory.tsx b/src/components/layout/sideBar/TopCategory.tsx index d717eba..9493cfe 100644 --- a/src/components/layout/sideBar/TopCategory.tsx +++ b/src/components/layout/sideBar/TopCategory.tsx @@ -7,7 +7,12 @@ import useOutsideClick from '@/hooks/useOutsideClick'; import SubCategory from './SubCategory'; import Option from './Option'; import handleDrag from '@/utils/handleDrag'; -import { IFolderProps, ISubFolderProps } from 'types/category'; +import { + IAddCategoryModalProps, + IEditProps, + IFolderProps, + ISubFolderProps, +} from 'types/category'; import EditCategoryName from '@/components/category/EditCategoryName'; interface ITopCategoryProps { @@ -17,11 +22,11 @@ interface ITopCategoryProps { grabedCategory: React.MutableRefObject; dropedCategory: React.MutableRefObject; category: IFolderProps; - isEditing: { activated: boolean; categoryId: number }; - setIsEditing: React.Dispatch< - React.SetStateAction<{ activated: boolean; categoryId: number }> + isEditing: IEditProps; + setIsEditing: React.Dispatch>; + setIsAddCategoryModalOpen: React.Dispatch< + React.SetStateAction >; - setIsSubCategoryModalOpen: React.Dispatch>; setIsDeleteModalOpen: React.Dispatch>; setCategoryId: React.Dispatch>; putCategoryFolder: () => void; @@ -36,7 +41,7 @@ const TopCategory = ({ category, isEditing, setIsEditing, - setIsSubCategoryModalOpen, + setIsAddCategoryModalOpen, setIsDeleteModalOpen, putCategoryFolder, setCategoryId, @@ -53,7 +58,12 @@ const TopCategory = ({ const handleOptionClick = (e: React.MouseEvent, option: string) => { e.stopPropagation(); if (option === '추가') { - setIsSubCategoryModalOpen(true); + console.log(category.categoryId); + setIsAddCategoryModalOpen({ + location: 'sub', + isOpen: true, + categoryId: category.categoryId, + }); } else if (option === '수정') { setIsEditing({ activated: true, categoryId: category.categoryId }); setBeforeEdit(edit); @@ -101,7 +111,6 @@ const TopCategory = ({ return ( <> { - const isTopCategoryModalOpen = useRecoilValue(topCategoryModalState); + const [isAddCategoryModalOpen, setIsAddCategoryModalOpen] = useRecoilState( + addCategoryModalState, + ); const [isSuccessAddCategoryModalOpen, setIsSuccessAddCategoryModalOpen] = useState(false); const [isDeleteModalOpen, setIsDeleteModalOpen] = useState(false); @@ -24,7 +26,6 @@ const UserMode = () => { const [categoryId, setCategoryId] = useState(null); const [to, setTo] = useState(''); const categories = useRecoilValue(categoryState); - const [isSubCategoryModalOpen, setIsSubCategoryModalOpen] = useState(false); const grabedCategory = useRef(undefined); const dropedCategory = useRef(undefined); const { createToast } = useCreateToast(); @@ -96,7 +97,7 @@ const UserMode = () => { category={category} isEditing={isEditing} setIsEditing={setIsEditing} - setIsSubCategoryModalOpen={setIsSubCategoryModalOpen} + setIsAddCategoryModalOpen={setIsAddCategoryModalOpen} setIsDeleteModalOpen={setIsDeleteModalOpen} putCategoryFolder={putCategoryFolder} setCategoryId={setCategoryId} @@ -104,14 +105,11 @@ const UserMode = () => { /> ))} - {(isTopCategoryModalOpen || isSubCategoryModalOpen) && ( + {isAddCategoryModalOpen.isOpen && ( )} diff --git a/src/components/modals/AddCategoryModal.tsx b/src/components/modals/AddCategoryModal.tsx index fccc42f..78f8c6d 100644 --- a/src/components/modals/AddCategoryModal.tsx +++ b/src/components/modals/AddCategoryModal.tsx @@ -1,6 +1,6 @@ import useOutsideClick from '@/hooks/useOutsideClick'; -import { topCategoryModalState } from '@/stores/modal'; -import { useSetRecoilState } from 'recoil'; +import { addCategoryModalState } from '@/stores/modal'; +import { useRecoilState } from 'recoil'; import OpenFileSvg from '@/assets/icons/open-file.svg?react'; import CloseSvg from '@/assets/icons/close.svg?react'; import * as AddTopCategoryModalStyles from '@/styles/modals/AddCategoryModal.style'; @@ -17,22 +17,18 @@ import useUpdateCategories from '@/hooks/useUpdateCategories'; import useCreateToast from '@/hooks/useCreateToast'; interface IAddTopCategoryModalProps extends ICommonModalProps { - isTopCategoryModalOpen: boolean; - setIsSubCategoryModalOpen: React.Dispatch>; - topCategoryId: number; setTo: React.Dispatch>; } const AddCategoryModal = ({ - isTopCategoryModalOpen, - setIsSubCategoryModalOpen, categoryName, setCategoryName, setIsSuccessAddCategoryModalOpen, - topCategoryId, setTo, }: IAddTopCategoryModalProps) => { - const setIsTopCategoryModalOpen = useSetRecoilState(topCategoryModalState); + const [isAddCategoryModalOpen, setIsAddCategoryModalOpen] = useRecoilState( + addCategoryModalState, + ); const { createToast } = useCreateToast(); const { updateCategories } = useUpdateCategories(); const { editText } = handleEdit(); @@ -42,13 +38,14 @@ const AddCategoryModal = ({ const categoryNameRegex = /^[a-zA-Z0-9가-힣\s]*$/; const checkCategoryNameRegex = categoryNameRegex.test(categoryName); const addEnabled = categoryName.length > 0 && checkCategoryNameRegex; + const isTopAdd = isAddCategoryModalOpen.location === 'top'; - const onCloseModal = () => { - isTopCategoryModalOpen - ? setIsTopCategoryModalOpen(false) - : setIsSubCategoryModalOpen(false); - setCategoryName(''); - }; + const onCloseModal = () => + setIsAddCategoryModalOpen({ + location: '', + isOpen: false, + categoryId: -1, + }); const [topCategoryModalRef] = useOutsideClick(onCloseModal); @@ -60,13 +57,13 @@ const AddCategoryModal = ({ createToast(`'기타' 이름은 사용하실 수 없어요`); return; } - const response = isTopCategoryModalOpen + const response = isTopAdd ? await postTopCategroy(categoryName) - : await postSubCategroy(categoryName, topCategoryId); + : await postSubCategroy(categoryName, isAddCategoryModalOpen.categoryId); if (response.isSuccess) { updateCategories(); setTo( - isTopCategoryModalOpen + isTopAdd ? `${response.result.categoryId}` : `${response.result.topCategoryId}/${response.result.categoryId}`, ); @@ -83,7 +80,7 @@ const AddCategoryModal = ({ - {isTopCategoryModalOpen ? '상위' : '하위'} 카테고리 추가 + {isTopAdd ? '상위' : '하위'} 카테고리 추가 만들고 싶은 카테고리의 이름을 작성해주세요 diff --git a/src/pages/FindEmailPage.tsx b/src/pages/FindEmailPage.tsx index 7b03d71..8d29e34 100644 --- a/src/pages/FindEmailPage.tsx +++ b/src/pages/FindEmailPage.tsx @@ -11,6 +11,7 @@ import NotFindUserModal from '@/components/modals/NotFindUserModal'; import PhoneCheck from '@/components/PhoneCheck'; import FindEmail from '@/components/FindEmail'; import ImageSlider from '@/components/ImageSlider'; +import { useNavigate } from 'react-router-dom'; import theme from '@/styles/theme'; @@ -41,6 +42,12 @@ const FindEmailPage = () => { } }; + const navigate = useNavigate(); + + const tohome = () => { + navigate('/'); + }; + if (isFind) { return ( @@ -49,19 +56,19 @@ const FindEmailPage = () => { ); } return ( - - + + - - - + + +

이메일 찾기

이메일이 기억나지 않으시나요?

-
- - - + > + + - - + + 찾아보기 - - - + + { }} > 계정이 기억나시나요? - + 로그인 - - - + + { }} > 아직 계정이 없으신가요? - + 이메일로 회원가입 - - -
-
+ + + + {isModal && } -
+
); }; export default FindEmailPage; -const Container = styled.div` - display: flex; -`; - -const Wrapper = styled.div` - display: flex; - justify-content: center; - align-items: center; - min-width: 1440px; - width: 100%; - min-height: 100vh; - gap: 124px; -`; - -const MainSection = styled.div` - display: flex; - flex-direction: column; - align-items: center; - justify-content: center; - width: auto; - height: 840px; -`; - -const Intro = styled.div` - display: flex; - flex-direction: column; - align-items: center; - margin-bottom: 40px; - img { - width: 64.55px; - height: 20px; - margin-bottom: 4px; - } - h3 { - color: #1e1e1e; - font-family: Pretendard; - font-size: 36px; - font-weight: bold; - line-height: 160%; - margin: 0; - } - p { - color: #bbb; - font-size: 16px; - font-weight: 500; - margin-top: 10px; - line-height: 160%; - } -`; - -const InputSection = styled.div` - display: flex; - flex-direction: column; - align-items: center; - width: 600px; - height: auto; -`; - -const Label = styled.label` - span { - font-size: 16px; - color: #787878; - font-family: Pretendard; - margin-bottom: 8px; - font-weight: 500; - line-height: 160%; - } - - &:not(:first-of-type) { - margin-top: 20px; - } -`; - -const TwoLabel = styled.label` - display: flex; - flex-direction: column; - margin-bottom: 8px; - span { - font-size: 16px; - font-family: Pretendard; - margin-bottom: 8px; - font-weight: 500; - line-height: 160%; - } - - &:not(:first-of-type) { - margin-top: 20px; - } -`; - -const InputBox = styled.input` - display: flex; - align-items: center; - justify-content: center; - width: 494px; - height: 56px; - padding: 0px 0px 0px 20px; - gap: 20px; - flex: 1 0 0; - font-size: 16px; - font-style: normal; - color: var(--Main, #1e1e1e); - font-family: Pretendard; - font-weight: 500; - line-height: 160%; - border-radius: 12px; - border: 1.5px solid var(--gray-200, #e8e8e8); - outline: none; - - &:hover { - border: 1.5px solid #1e1e1e; - } - &:focus { - border: 1.5px solid #1e1e1e; - border-color: #1e1e1e; - } - &::placeholder { - color: #bbb; - - ${theme.typography.Body1}; - } -`; - -const FindButton = styled.button` - width: 494px; - height: 56px; - background: #1e1e1e; - color: #eeeeee; - font-size: 16px; - font-weight: 500; - line-height: 160%; - border-radius: 12px; - border: none; - font-family: Pretendard; - &:hover { - cursor: pointer; - } - &:disabled { - background-color: #f3f3f3; - color: #bbbbbb; - } -`; - -const TextTotalComponent = styled.div` - display: flex; - flex-direction: row; - margin: '0px'; -`; - -const TextDiv = styled.div` - color: ${(props) => props.color || '#1e1e1e'}; - text-transform: capitalize; - font-size: 36px; - font-weight: bold; - font-style: normal; - line-height: 160%; /* 57.6px */ - font-family: Pretendard; - margin: '0px'; -`; - const StyledLink = styled(Link)` color: ${({ theme }) => theme.color.gray500}; ${theme.typography.Body3}; diff --git a/src/pages/FindPasswordPage.tsx b/src/pages/FindPasswordPage.tsx index 57aa097..e23810f 100644 --- a/src/pages/FindPasswordPage.tsx +++ b/src/pages/FindPasswordPage.tsx @@ -1,5 +1,6 @@ import React, { useState} from 'react'; import styled from 'styled-components'; +import * as FindPasswordPageStyles from '@/styles/find/FindPasswordPageStyle'; import { Link } from 'react-router-dom'; import smallLogo from "../assets/logo.png"; import theme from '@/styles/theme'; @@ -8,6 +9,7 @@ import PhoneCheck from '@/components/PhoneCheck'; import { findPasswordAPI } from '@/apis/user'; import FindPassword from '@/components/FindPassword'; import ImageSlider from '@/components/ImageSlider'; +import { useNavigate } from 'react-router-dom'; const FindPasswordPage = () => { const [name, setName] = useState(""); @@ -44,38 +46,44 @@ const FindPasswordPage = () => { } } +const navigate = useNavigate(); + +const tohome = () => { + navigate('/'); +} + if(isFind){ return ( - + - + ); } return ( - - + + - - - 로고 이미지 + + + 로고 이미지

비밀번호 찾기

비밀번호가 기억나지 않으시나요?

-
- - - - + > + + - - + + 찾아보기 - - - + + + 계정이 기억나시나요? - + 로그인 - - - + + + 아직 계정이 없으신가요? - + 이메일로 회원가입 - - -
-
+ + + + {isModal && } -
+ ); }; export default FindPasswordPage; - -const Container = styled.div` - display: flex; -`; - -const Wrapper = styled.div` - display: flex; - justify-content: center; - align-items: center; - min-width: 1440px; - width: 100%; - min-height: 100vh; - gap: 124px; -`; - - -const MainSection = styled.div` - display: flex; - flex-direction: column; - align-items: center; - width: auto; - height: 840px; - margin-top: 300px; -`; - -const Intro = styled.div` - display: flex; - flex-direction: column; - align-items: center; - margin-bottom: 40px; - img { - width: 64.55px; - height: 20px; - margin-bottom: 4px; - } - h3 { - color: #1e1e1e; - font-family: Pretendard; - font-size: 36px; - font-weight: bold; - line-height: 160%; - margin: 0; - } - p { - color: #bbb; - font-size: 16px; - font-weight: 500; - margin-top: 10px; - line-height: 160%; - } -`; - -const InputSection = styled.div` - display: flex; - flex-direction: column; - align-items: center; - width: 600px; - height: auto; -`; - - -const Label = styled.label` - margin-bottom: 20px; - span { - font-size: 16px; - color: #787878; - font-family: Pretendard; - margin-bottom: 8px; - font-weight: 500; - line-height: 160%; - } -`; - -const TwoLabel = styled.label` - display : flex; - flex-direction : column; - margin-bottom: 8px; - span { - font-size: 16px; - font-family: Pretendard; - margin-bottom: 8px; - font-weight: 500; - line-height: 160%; - } -`; - -const InputBox = styled.input` - display: flex; - align-items: center; - margin-bottom : 8px; - justify-content: center; - width: 494px; - height: 56px; - padding: 0px 0px 0px 20px; - gap: 20px; - flex: 1 0 0; - font-size: 16px; - font-style: normal; - color: var(--Main, #1E1E1E); - font-family: Pretendard; - font-weight: 500; - line-height: 160%; - border-radius: 12px; - border: 1.5px solid var(--gray-200, #e8e8e8); - outline: none; - - &:hover { - border: 1.5px solid #1e1e1e; - } - &:focus { - border: 1.5px solid #1e1e1e; - border-color: #1e1e1e; - } - &::placeholder { - color: #bbb; - - ${theme.typography.Body1}; - } -`; - -const FindButton = styled.button` - width: 494px; - height: 56px; - background: #1E1E1E; - color: #EEEEEE; - font-size: 16px; - font-weight: 500; - line-height: 160%; - border-radius: 12px; - border: none; - font-family: Pretendard; - &:hover { - cursor: pointer; - } - &:disabled { - background-color : #F3F3F3; - color : #BBBBBB; - } -`; - -const TextTotalComponent = styled.div` - display: flex; - flex-direction: row; - margin: "0px"; -`; - -const TextDiv = styled.div` - color: ${(props) => props.color || "#1e1e1e"}; - text-transform: capitalize; - font-size: 36px; - font-weight: bold; - font-style: normal; - line-height: 160%; /* 57.6px */ - font-family: Pretendard; - margin: "0px"; -`; - const StyledLink = styled(Link)` color: ${({ theme }) => theme.color.gray500}; ${ theme.typography.Body3 }; diff --git a/src/pages/SignInPage.tsx b/src/pages/SignInPage.tsx index 1e76da9..d902dc9 100644 --- a/src/pages/SignInPage.tsx +++ b/src/pages/SignInPage.tsx @@ -102,10 +102,14 @@ const SignInPage: React.FC = () => { window.location.href = kakaoURL; }; + const tohome = () => { + navigate('/'); + }; + return ( - + 로그인 { const [passwordMessage, setPasswordMessage] = useState( '*8자 이상으로 입력 *대문자 사용 *숫자 사용 *특수문자 사용', ); - const [passwordcheckMessage, setPasswordCheckMessage] = useState( - '비밀번호 확인을 위해 다시 한 번 입력해주세요', - ); + const [passwordcheckMessage, setPasswordCheckMessage] = useState(''); const [mismatchError, setMismatchError] = useState(false); const [isEmailSuccess, setIsEmailSuccess] = useState(false); @@ -102,7 +100,7 @@ const SignUp = () => { const onChangePasswordCheck = (e: React.ChangeEvent) => { setPasswordCheck(e.target.value); - if (e.target.value === '') { + if (!password) { setPasswordCheckMessage('비밀번호를 재입력해주세요'); } else if (password && e.target.value !== password) { setMismatchError(true); @@ -120,6 +118,11 @@ const SignUp = () => { }; const navigate = useNavigate(); + + const tohome = () => { + navigate('/'); + }; + const onApply = () => { if ( name && @@ -178,7 +181,7 @@ const SignUp = () => { - +

회원가입

새로운 계정을 생성하고 나만의 영상 아카이빙을 시작해요

diff --git a/src/stores/modal.ts b/src/stores/modal.ts index 5adae7b..5570113 100644 --- a/src/stores/modal.ts +++ b/src/stores/modal.ts @@ -1,8 +1,8 @@ import { atom } from 'recoil'; -export const topCategoryModalState = atom({ - key: 'topCategoryModal', - default: false, +export const addCategoryModalState = atom({ + key: 'addCategoryModal', + default: { location: '', isOpen: false, categoryId: -1 }, }); export const summaryTransformModalState = atom({ @@ -16,6 +16,6 @@ export const recommendationModalState = atom({ }); export const errorModalState = atom({ - key: 'error-modal', - default: false, + key: 'error-modal', + default: false, }); diff --git a/src/styles/category/Card.style.ts b/src/styles/category/Card.style.ts index eba2049..39802a5 100644 --- a/src/styles/category/Card.style.ts +++ b/src/styles/category/Card.style.ts @@ -47,6 +47,10 @@ export const DropdownWrap = styled.div` fill: ${(props) => props.theme.color.gray400}; } } + + &.changed { + background-color: ${theme.color.green400}; + } } `; diff --git a/src/styles/find/FindEmailPageStyle.ts b/src/styles/find/FindEmailPageStyle.ts index ce3baf6..54c1fe5 100644 --- a/src/styles/find/FindEmailPageStyle.ts +++ b/src/styles/find/FindEmailPageStyle.ts @@ -34,6 +34,7 @@ export const Intro = styled.div` width: 64.55px; height: 20px; margin-bottom: 4px; + cursor: pointer; } h3 { color: #1e1e1e; diff --git a/src/styles/find/FindPasswordPageStyle.ts b/src/styles/find/FindPasswordPageStyle.ts index 33a8f6d..837c7b3 100644 --- a/src/styles/find/FindPasswordPageStyle.ts +++ b/src/styles/find/FindPasswordPageStyle.ts @@ -34,6 +34,7 @@ export const Intro = styled.div` width: 64.55px; height: 20px; margin-bottom: 4px; + cursor: pointer; } h3 { color: #1e1e1e; diff --git a/src/styles/layout/header/alarm/AlarmItem.style.ts b/src/styles/layout/header/alarm/AlarmItem.style.ts index eb4e232..7b31746 100644 --- a/src/styles/layout/header/alarm/AlarmItem.style.ts +++ b/src/styles/layout/header/alarm/AlarmItem.style.ts @@ -2,6 +2,7 @@ import theme from '@/styles/theme'; import styled from 'styled-components'; export const Container = styled.div` + cursor: pointer !important; padding: 28px 0; display: flex; flex-direction: column; diff --git a/src/styles/signin/SigninpageStyle.ts b/src/styles/signin/SigninpageStyle.ts index a27888d..8c95cb5 100644 --- a/src/styles/signin/SigninpageStyle.ts +++ b/src/styles/signin/SigninpageStyle.ts @@ -27,6 +27,7 @@ export const LoginTotalComponent = styled.div` export const Image = styled.img` width: ${(props) => props.width || '68px'}; height: ${(props) => props.height || '39.667px'}; + cursor: pointer; `; export const TextTotalComponent = styled.div` diff --git a/src/styles/signup/SignuppageStyle.ts b/src/styles/signup/SignuppageStyle.ts index 15178e1..7177635 100644 --- a/src/styles/signup/SignuppageStyle.ts +++ b/src/styles/signup/SignuppageStyle.ts @@ -58,6 +58,7 @@ export const Intro = styled.div` width: 64.55px; height: 20px; margin-bottom: 4px; + cursor: pointer; } h3 { color: #1e1e1e; diff --git a/types/category.ts b/types/category.ts index ac6a12b..4dbe752 100644 --- a/types/category.ts +++ b/types/category.ts @@ -20,3 +20,14 @@ export interface ITagProps { tag_id: number; name: string; } + +export interface IEditProps { + activated: boolean; + categoryId: number; +} + +export interface IAddCategoryModalProps { + location: string; + isOpen: boolean; + categoryId: number; +}