mirror of
https://github.com/Rushilwiz/rounded.git
synced 2025-04-20 11:00:16 -04:00
feat(client): add profile and donation page
This commit is contained in:
parent
8074b7d042
commit
7a3190ad07
|
@ -7,7 +7,29 @@ export default function AuthComponent() {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const [username, setUsername] = useState("");
|
const [username, setUsername] = useState("");
|
||||||
const [password, setPassword] = useState("");
|
const [password, setPassword] = useState("");
|
||||||
|
const [registerUsername, setRegisterUsername] = useState("");
|
||||||
|
const [registerPassword, setRegisterPassword] = useState("");
|
||||||
|
|
||||||
|
async function handleRegisterSubmit(e) {
|
||||||
|
try {
|
||||||
|
const requestOptions = {
|
||||||
|
method: "POST",
|
||||||
|
headers: { "Content-Type": "application/json" },
|
||||||
|
body: JSON.stringify({
|
||||||
|
username: registerUsername,
|
||||||
|
password: registerPassword,
|
||||||
|
}),
|
||||||
|
};
|
||||||
|
const response = await fetch(
|
||||||
|
"http://localhost:8000/api/profile/create",
|
||||||
|
requestOptions
|
||||||
|
);
|
||||||
|
const dataa = await response.json();
|
||||||
|
console.log(dataa);
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
async function handleSubmit(e) {
|
async function handleSubmit(e) {
|
||||||
try {
|
try {
|
||||||
console.log(username);
|
console.log(username);
|
||||||
|
@ -29,6 +51,18 @@ export default function AuthComponent() {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
|
|
||||||
localStorage.setItem("token", data.access);
|
localStorage.setItem("token", data.access);
|
||||||
|
localStorage.setItem("username", username);
|
||||||
|
|
||||||
|
// const reqOps = {
|
||||||
|
// method: "GET",
|
||||||
|
// headers: {
|
||||||
|
// "Content-Type": "application/json",
|
||||||
|
// Authorization: `Bearer ${data.access}`,
|
||||||
|
// },
|
||||||
|
// };
|
||||||
|
// const resp = await fetch("http://localhost:8000/api/foundation/", reqOps);
|
||||||
|
// const data2 = await resp.json();
|
||||||
|
// console.log(data2);
|
||||||
|
|
||||||
router.push("/");
|
router.push("/");
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
@ -38,9 +72,9 @@ export default function AuthComponent() {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
<h1>Register</h1>
|
<h1>Login</h1>
|
||||||
<input
|
<input
|
||||||
placeholder="Email"
|
placeholder="Username"
|
||||||
onChange={(e) => setUsername(e.target.value)}
|
onChange={(e) => setUsername(e.target.value)}
|
||||||
/>
|
/>
|
||||||
<input
|
<input
|
||||||
|
@ -49,6 +83,21 @@ export default function AuthComponent() {
|
||||||
onChange={(e) => setPassword(e.target.value)}
|
onChange={(e) => setPassword(e.target.value)}
|
||||||
/>
|
/>
|
||||||
<button onClick={handleSubmit}>Submit</button>
|
<button onClick={handleSubmit}>Submit</button>
|
||||||
|
|
||||||
|
<br />
|
||||||
|
<h1>OR</h1>
|
||||||
|
<br />
|
||||||
|
<h1>Register</h1>
|
||||||
|
<input
|
||||||
|
placeholder="Username"
|
||||||
|
onChange={(e) => setRegisterUsername(e.target.value)}
|
||||||
|
/>
|
||||||
|
<input
|
||||||
|
placeholder="Password"
|
||||||
|
type="password"
|
||||||
|
onChange={(e) => setRegisterPassword(e.target.value)}
|
||||||
|
/>
|
||||||
|
<button onClick={handleRegisterSubmit}>Submit</button>
|
||||||
</>
|
</>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
32
client/src/pages/donate.js
Normal file
32
client/src/pages/donate.js
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
import { useEffect, useState } from "react";
|
||||||
|
export default function DonatePage() {
|
||||||
|
const [foundation, setFoundation] = useState("");
|
||||||
|
useEffect(() => {
|
||||||
|
async function getData() {
|
||||||
|
const reqOps = {
|
||||||
|
method: "GET",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
Authorization: `Bearer ${localStorage.getItem("token")}`,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const resp = await fetch("http://localhost:8000/api/foundation/", reqOps);
|
||||||
|
const data = await resp.json();
|
||||||
|
// console.log(data);
|
||||||
|
setFoundation(JSON.stringify(data));
|
||||||
|
}
|
||||||
|
// const d = ;
|
||||||
|
getData();
|
||||||
|
console.log(foundation);
|
||||||
|
// setFoundation(d);
|
||||||
|
}, []);
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<h1>This is the donate page.</h1>
|
||||||
|
<p>This page is under construction. Please check back later.</p>
|
||||||
|
{/* {foundation.map((item) => (
|
||||||
|
<h1>{item.name}</h1>
|
||||||
|
))} */}
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
|
@ -1,11 +1,13 @@
|
||||||
import { useAuth } from "../common/lib/firebase/authContext";
|
// import { useAuth } from "../common/lib/firebase/authContext";
|
||||||
export default function HomePage() {
|
export default function HomePage() {
|
||||||
const { currentUser } = useAuth();
|
// const { currentUser } = useAuth();
|
||||||
return (
|
return (
|
||||||
<div>
|
<div>
|
||||||
<h1>This is HackTJ 2022!</h1>
|
<h1>This is HackTJ 2022!</h1>
|
||||||
{currentUser ? (
|
{localStorage.getItem("username") ? (
|
||||||
<p>You're logged in! Current email: {currentUser.email}</p>
|
<p>
|
||||||
|
You're logged in! Current username: {localStorage.getItem("username")}
|
||||||
|
</p>
|
||||||
) : (
|
) : (
|
||||||
<p>Not logged in</p>
|
<p>Not logged in</p>
|
||||||
)}
|
)}
|
||||||
|
|
37
client/src/pages/profile.js
Normal file
37
client/src/pages/profile.js
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
import { useState } from "react";
|
||||||
|
export default function Profile() {
|
||||||
|
const [wallet, setWallet] = useState("");
|
||||||
|
async function handleSubmit(e) {
|
||||||
|
try {
|
||||||
|
const reqOps = {
|
||||||
|
method: "POST",
|
||||||
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
"Authorization": `Bearer ${localStorage.getItem("token")}`, //prettier-ignore
|
||||||
|
},
|
||||||
|
body: {
|
||||||
|
"address": wallet, //prettier-ignore
|
||||||
|
},
|
||||||
|
};
|
||||||
|
const resp = await fetch(
|
||||||
|
"http://localhost:8000/api/profile/add_wallet",
|
||||||
|
reqOps
|
||||||
|
);
|
||||||
|
const data = await resp.json();
|
||||||
|
console.log(data);
|
||||||
|
} catch (error) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<h1>Profile</h1>
|
||||||
|
<h2>Add Wallet</h2>
|
||||||
|
<input
|
||||||
|
placeholder="Address"
|
||||||
|
onChange={(e) => setWallet(e.target.value)}
|
||||||
|
/>
|
||||||
|
<button onClick={handleSubmit}>Submit</button>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user