-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathHome.jsx
47 lines (45 loc) · 1.39 KB
/
Home.jsx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import React from "react";
import { useState, useEffect } from "react";
import Sidenav from "./partials/Sidenav";
import TopNav from "./partials/TopNav";
import axios from "./partials/axios";
import Header from "./partials/Header";
import HorizontalCards from "./partials/HorizontalCards";
const Home=()=>{
const [wallpaper, setWallpaper] = useState(null);
const [trending, setTrending] = useState(null);
const GetHeaderWallpaper = async () => {
try {
const { data } = await axios.get(`/trending/all/day`);
const randomData = data.results[Math.floor(Math.random() * data.results.length)];
setWallpaper(randomData);
} catch (error) {
console.error("Error fetching wallpaper:", error);
}
};
const GetTrending = async () => {
try {
const { data } = await axios.get(`/trending/all/day`);
setTrending(data.results);
} catch (error) {
console.error("Error fetching trending data:", error);
}
};
console.log(wallpaper);
useEffect(() => {
if(!wallpaper) GetHeaderWallpaper();
if (!trending) GetTrending();
}, []);
console.log(trending);
return wallpaper && trending ? (
<>
<Sidenav/>
<div className="w-[80%] h-full overflow-auto overflow-x-hidden">
<TopNav />
<Header data={wallpaper}/>
<HorizontalCards data = {trending}/>
</div>
</>
):<h1>Loading</h1>
}
export default Home;