11"use client" ;
22import RecommendItem from "./RecommendItem" ;
33import { useEffect , useState } from "react" ;
4- import { TagProps } from "@component/components/common-components/tag" ;
54import Slider from "react-slick" ;
65import "slick-carousel/slick/slick.css" ;
76import "slick-carousel/slick/slick-theme.css" ;
@@ -11,6 +10,17 @@ import { useGetProjectRecommend } from "@component/hooks/useProject";
1110import ArrowBackIosNewRoundedIcon from "@mui/icons-material/ArrowBackIosNewRounded" ;
1211import ArrowForwardIosRoundedIcon from "@mui/icons-material/ArrowForwardIosRounded" ;
1312
13+ export interface RecommendData {
14+ createdAt : string ;
15+ createdBy : string ;
16+ field : string ;
17+ profileImageUrl : string ;
18+ progress : string ;
19+ projectId : number ;
20+ summary : string ;
21+ title : string ;
22+ }
23+
1424const PrevArrow = ( { onClick } : any ) => {
1525 return (
1626 < ArrowBackIosNewRoundedIcon
@@ -38,25 +48,29 @@ const settings = {
3848 slidesToShow : 3 , // ํ๋ฉด์ ํ ๋ฒ์ ํ์ํ ์ฌ๋ผ์ด๋ ๊ฐ์ ์ค์
3949 slidesToScroll : 3 , // ๋ค์ ๋ณด์ฌ ์ค ์ฌ๋ผ์ด๋์ ๊ฐ์ ์ค์
4050 speed : 2000 , // ํ๋ฉด์ ๋๊ธธ ๋ ์๋
41- autoplay : false , // TODO: ์๋ ๋๊น ๋
ผ์
51+ autoplay : false ,
4252 autoplaySpeed : 5000 , // ๊ฐ๊ฒฉ
4353 nextArrow : < NextArrow /> ,
4454 prevArrow : < PrevArrow /> ,
4555} ;
4656
4757const Carousel = ( ) => {
4858 const { data, error, isLoading } = useGetProjectRecommend ( ) ;
49- const [ recommendData , setRecommendData ] = useState < any > ( ) ;
59+ const [ recommendData , setRecommendData ] = useState < RecommendData [ ] > ( ) ;
5060
5161 useEffect ( ( ) => {
5262 if ( data ) {
53- setRecommendData ( data . data . data )
63+ setRecommendData ( data . data . data ) ;
5464 }
5565 } , [ data ] ) ;
5666
5767 if ( error ) {
5868 console . log ( error ) ;
5969 }
70+ if ( isLoading ) {
71+ console . log ( '๋ก๋ฉ ์ค~~' )
72+ return < div > ๋ก๋ฉ์ค ์
๋๋ค.</ div >
73+ }
6074 return (
6175 < >
6276 < Slider { ...settings } className = "mt-[32.5px]" >
@@ -71,7 +85,6 @@ const Carousel = () => {
7185 profileImg = { item . profileImageUrl }
7286 nickname = { item . createdBy }
7387 createdAt = { item . createdAt }
74- isLoading = { isLoading }
7588 />
7689 ) ) }
7790 </ Slider >
0 commit comments