import React, { useEffect, useRef, useState } from 'react';
import { useLocation, Link } from "react-router-dom";
import "./home.css"
import News from '../news';
import Record from '../record';
import Login from '../login';
export default function Homepage(prop) {
const { token, setToken } = prop
const [home, setHome] = React.useState(null);
const [profile, setProfile] = React.useState(null);
const [loading, setLoading] = React.useState(true)
const location = useLocation();
const [isLoggedIn, setIsLoggedIn] = React.useState(false);
React.useEffect(() => {
try {
fetch(`https://lp.ardapektezol.com/api/v1/profile`, {
headers: {
'Content-Type': 'application/json',
Authorization: token
}
})
.then(r => r.json())
.then(d => setProfile(d.data))
.then(d => {
if (profile != null) {
setIsLoggedIn(true)
}
})
.then(d => {
setLoading(false)
})
} catch (error) {
console.log(error)
}
}, [token, profile]);
useEffect(() => {
async function fetchMapImg() {
if (!isLoggedIn) {
return;
}
try {
const response = await fetch("https://lp.ardapektezol.com/api/v1/games", {
headers: {
'Authorization': token
}
});
const data = await response.json();
const recommendedMapImg = document.querySelector("#recommendedMapImg");
recommendedMapImg.style.backgroundImage = `url(${data.data[0].image})`
const column1 = document.querySelector("#column1");
const column2 = document.querySelector("#column2");
column2.style.height = column1.clientHeight + "px";
} catch (error) {
console.log(error)
}
}
fetchMapImg()
const panels = document.querySelectorAll(".homepage-panel");
panels.forEach(e => {
// this is cuz react is silly
if (e.innerHTML.includes('
')) {
return
}
const title = e.getAttribute("title");
const titleDiv = document.createElement("div");
const titleSpan = document.createElement("span");
titleDiv.classList.add("homepage-panel-title-div")
titleSpan.innerText = title
titleDiv.appendChild(titleSpan)
e.insertBefore(titleDiv, e.firstChild)
});
})
const newsList = [
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
{
"title": "Portal Saved on Container Ride",
"short_description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Phasellus vehicula facilisis quam, non ultrices nisl aliquam at. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas."
},
]
if (loading) {
return (
)
}
return (
Home
{isLoggedIn ?
Welcome back,
Wolfboy248
: null}
{/* Column 1 */}
{isLoggedIn ?
Overall rank
{profile.rankings.overall.rank > 0 ? "#" + profile.rankings.overall.rank : "No rank"}
Singleplayer
{profile.rankings.singleplayer.rank > 0 ? "#" + profile.rankings.singleplayer.rank : "No rank"} {profile.rankings.singleplayer.rank > 0 ? "(" + profile.rankings.singleplayer.completion_count + "/" + profile.rankings.singleplayer.completion_total + ")" : ""}
Cooperative rank
{profile.rankings.cooperative.rank > 0 ? "#" + profile.rankings.cooperative.rank : "No rank"} {profile.rankings.cooperative.rank > 0 ? "(" + profile.rankings.cooperative.completion_count + "/" + profile.rankings.cooperative.completion_total + ")" : ""}
: null}
{isLoggedIn ?
Container Ride
Your Record: 4 portals
World Record: 2 portals
: null}
Place
Runner
Portals
Time
Date
{/* Column 2 */}
{newsList.map((newsList, index) => (
))}
)
}