borders/pages/index.js

47 lines
1.3 KiB
JavaScript

import Head from "next/head";
import Image from "next/image";
import styles from "../styles/Home.module.css";
import UserInfo from "../components/userInfo";
import Select from "../components/select";
import { useEffect, useState } from "react";
export default function Home() {
const [data, setData] = useState(null);
const [borderData, setBorderData] = useState(null);
const [selected, setSelected] = useState(0);
useEffect(() => {
fetch("api/border/all")
.then((res) => res.json())
.then((data) => setData(data));
}, []);
useEffect(() => {
fetch("api/user/border/@me")
.then((res) => res.json())
.then((data) => {
setBorderData(data);
setSelected(data?.borderId || 0);
});
}, []);
return (
<div className={styles.container}>
<Head>
<title>Create Next App</title>
<meta name="description" content="Generated by create next app" />
<link rel="icon" href="/favicon.ico" />
</Head>
<header>
<h1 className={styles.title}>Steam Borders</h1>
<div className={styles.userinfo}>
<UserInfo borderData={borderData} />
</div>
</header>
<main>
<Select data={data} onSelect={setSelected} selected={selected} />
</main>
</div>
);
}