Skip to content

Commit d944996

Browse files
authored
Merge pull request #1 from sowonhub/mission-3-ktj
feat:keyword 출력하게 변경
2 parents 0362944 + dda4012 commit d944996

File tree

6 files changed

+24
-27
lines changed

6 files changed

+24
-27
lines changed

src/components/NavigationBar.jsx

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -43,14 +43,6 @@ export default function NavigationBar() {
4343

4444
{/* <-------------------- 검색 결과 표시 */}
4545

46-
{searchKeyword && searchKeyword.length > 0 && (
47-
<searchKeyword>
48-
{searchKeyword.map((movie) => (
49-
<p key={movie.id}>{movie.title}</p>
50-
))}
51-
</searchKeyword>
52-
)}
53-
5446
<Buttons>
5547
<LoginBtn>로그인</LoginBtn>
5648
<SignupBtn>회원가입</SignupBtn>

src/data/hooks/useTmdbDetailData.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useEffect, useState } from "react";
22
import axios from "axios";
33

4-
const apiToken = import.meta.env.VITE_TMDB_ACCESS_TOKEN;
4+
const apiToken = import.meta.env.VITE_TMDB_API_KEY;
55

66
// <-------------------- function -------------------->
77

src/data/hooks/useTmdbKeywordData.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,14 @@
11
import { useEffect, useState } from "react";
22
import axios from "axios";
33

4-
const apiToken = import.meta.env.VITE_TMDB_ACCESS_TOKEN;
4+
const apiToken = import.meta.env.VITE_TMDB_API_KEY;
55

66
export default function useTmdbKeywordData(keyword) {
77
const [search, setSearch] = useState([]);
88

99
useEffect(() => {
10+
console.log(keyword);
11+
1012
if (!keyword) return;
1113

1214
const options = {

src/data/hooks/useTmdbMainData.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ import { useEffect, useState } from "react";
22

33
// <-------------------- function -------------------->
44

5-
export default function useTmdbMainData() {
5+
export default function useTmdbMainData(keyword) {
66
const [tmdbMainData, setTmdbMainData] = useState([]);
77

88
// <-------------------- API : popular
99

1010
useEffect(() => {
11-
const apiToken = import.meta.env.VITE_TMDB_ACCESS_TOKEN;
11+
const apiToken = import.meta.env.VITE_TMDB_API_KEY;
1212
const options = {
1313
method: "GET",
1414
headers: {
@@ -30,7 +30,7 @@ export default function useTmdbMainData() {
3030
setTmdbMainData(noAdultResData);
3131
})
3232
.catch((err) => console.error(err));
33-
}, []);
33+
}, [keyword]);
3434

3535
// <-------------------- return -------------------->
3636

src/data/hooks/useTmdbTopData.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { useEffect, useState } from "react";
22
import axios from "axios";
33

4-
const apiToken = import.meta.env.VITE_TMDB_ACCESS_TOKEN;
4+
const apiToken = import.meta.env.VITE_TMDB_API_KEY;
55

66
// <-------------------- function -------------------->
77

@@ -27,7 +27,7 @@ export default function useTmdbTopData() {
2727
setTmdbTopData(res.data.results);
2828
})
2929
.catch((err) => console.error(err));
30-
});
30+
},[]);
3131

3232
// <-------------------- return -------------------->
3333

src/pages/MainPage.jsx

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,31 @@
1-
import styled from "styled-components";
1+
import styled from 'styled-components';
22

3-
import Card from "../components/Card.jsx";
4-
import useTmdbTopData from "../data/hooks/useTmdbTopData.js";
5-
import useTmdbMainData from "../data/hooks/useTmdbMainData.js";
3+
import Card from '../components/Card.jsx';
4+
import useTmdbTopData from '../data/hooks/useTmdbTopData.js';
5+
import useTmdbMainData from '../data/hooks/useTmdbMainData.js';
6+
import useTmdbKeywordData from '../data/hooks/useTmdbKeywordData.js';
67

7-
import NavigationBar from "../components/NavigationBar.jsx";
8+
import NavigationBar from '../components/NavigationBar.jsx';
89

9-
import { Swiper, SwiperSlide } from "swiper/react";
10-
import { Navigation, Pagination, Autoplay } from "swiper/modules";
11-
import "swiper/css";
12-
import "swiper/css/navigation";
13-
import "swiper/css/pagination";
10+
import { Swiper, SwiperSlide } from 'swiper/react';
11+
import { Navigation, Pagination, Autoplay } from 'swiper/modules';
12+
import 'swiper/css';
13+
import 'swiper/css/navigation';
14+
import 'swiper/css/pagination';
15+
import { useSearchParams } from 'react-router-dom';
1416

1517
// <-------------------- function -------------------->
1618

1719
export default function MainPage() {
20+
const [keyword, setKeyword] = useSearchParams();
1821
const tmdbTop = useTmdbTopData();
19-
const tmdbMain = useTmdbMainData();
22+
const query = keyword.get("keyword")?.trim();
23+
const tmdbMain = query ? useTmdbKeywordData(query) : useTmdbMainData(query);
2024

2125
// <-------------------- return -------------------->
2226

2327
return (
2428
<>
25-
<NavigationBar />
2629
<Container>
2730
<Top10>TOP 10 🏆</Top10>
2831
<Swiper

0 commit comments

Comments
 (0)