@@ -6,6 +6,8 @@ import SortDropDown from 'components/SortDropDown';
66import { getSubject } from 'api/subjects' ;
77import Logo from 'assets/images/img_Logo.svg' ;
88import useViewport from 'hooks/useViewport' ;
9+ import ToastMovePage from 'components/ToastMovePage' ;
10+ import { ReactComponent as IcArrowDashRight } from 'assets/images/icons/ic_Arrow-dash-right.svg' ;
911
1012const QuestionList = ( ) => {
1113 const navigate = useNavigate ( ) ;
@@ -16,6 +18,7 @@ const QuestionList = () => {
1618 const [ count , setCount ] = useState ( ) ;
1719 const [ cards , setCards ] = useState ( [ ] ) ;
1820 const [ loading , setLoading ] = useState ( false ) ;
21+ const [ toastMessage , setToastMessage ] = useState ( '' ) ;
1922
2023 const readSubject = useCallback ( async ( ) => {
2124 setLoading ( true ) ;
@@ -38,10 +41,16 @@ const QuestionList = () => {
3841
3942 const onClickPageMove = ( ) => {
4043 const storedId = localStorage . getItem ( 'id' ) ;
41- if ( storedId ) {
42- navigate ( `/post/${ storedId } /answer` ) ;
44+ if ( ! storedId ) {
45+ setToastMessage ( '로그인 후 이용 가능한 페이지입니다.' ) ;
46+ setTimeout ( ( ) => {
47+ navigate ( '/' ) ;
48+ } , 2000 ) ;
4349 } else {
44- navigate ( '/' ) ;
50+ setToastMessage ( '답변페이지로 이동합니다.' ) ;
51+ setTimeout ( ( ) => {
52+ navigate ( `/post/${ storedId } /answer` ) ;
53+ } , 2000 ) ;
4554 }
4655 } ;
4756
@@ -54,12 +63,12 @@ const QuestionList = () => {
5463 </ Link >
5564
5665 < button
57- className = 'flex flex-row justify-between gap-[4px] bg-brown-10 border-brown-40 border rounded-lg px-3 py-2 text-sm text-brown-40 font-normal whitespace-nowrap transition-colors duration-300 hover:bg-brown-20'
66+ className = 'flex flex-row items-center justify-center gap-[4px] bg-brown-10 border-brown-40 border rounded-lg px-3 py-2 text-sm text-brown-40 font-normal whitespace-nowrap w-[127px] h-[34px] md:w-[166px] md:h-[46px] md:gap-[8px] md:text-base transition-colors duration-300 hover:bg-brown-20'
5867 type = 'button'
5968 onClick = { onClickPageMove }
6069 >
6170 < div > 답변하러 가기</ div >
62- < div > → </ div >
71+ < IcArrowDashRight alt = '답변하러가기_화살표' className = 'fill-brown-40 w-[18px] h-[18px]' / >
6372 </ button >
6473 </ div >
6574 </ header >
@@ -70,7 +79,7 @@ const QuestionList = () => {
7079 </ div >
7180
7281 < div className = 'mx-6 md:mx-8' >
73- < div className = 'relative' >
82+ < div className = 'relative w-full h-full min-h-[539px] md:min-h-[358px] ' >
7483 { loading && (
7584 < div className = 'absolute inset-0 border rounded-2xl flex justify-center items-center bg-gray-20 z-10' >
7685 < div className = 'w-10 h-10 border-4 border-t-transparent border-brown-30 rounded-full animate-spin' />
@@ -81,6 +90,7 @@ const QuestionList = () => {
8190 </ div >
8291
8392 < Pagination data = { { limit, sort, count, pageWidth : width , setLimit, setOffset } } />
93+ { ToastMovePage && < ToastMovePage toastMessage = { toastMessage } /> }
8494 </ >
8595 ) ;
8696} ;
0 commit comments