import { useState, useParams, useEffect } from 'react' import './Home.css' import Request from '../Request.jsx' let bonusItems = []; function Bonus() { const [inputValue, setInputValue] = useState(''); const error = useState(""); let itemz = []; bonusItems.forEach((e) => { itemz.push(e.master_login_bonus_id); }) const [submittedItems, setSubmittedItems] = useState(itemz); const handleSubmit = async (event) => { event.preventDefault(); let input = parseInt(inputValue.trim()); if (isNaN(input) || submittedItems.includes(input)) return; let resp = await Request("/api/webui/startLoginbonus", { bonus_id: input }); if (resp.result !== "OK") { error[1](resp.message); return; } error[1](""); setSubmittedItems([...submittedItems, resp.id]); setInputValue(''); }; const handleRemoveItem = (index) => { const updatedItems = [...submittedItems]; updatedItems.splice(index, 1); setSubmittedItems(updatedItems); }; // return (

Current login bonus list

{ error[0] ?

Error: { error[0] }

:

}
setInputValue(event.target.value)} placeholder="Enter login bonus ID" />

You can find a list of available login bonus IDs here. You should input the id field

); } function Home() { const [user, userdata] = useState(); const [inputValue, setInputValue] = useState(''); const [serverTime, setServerTime] = useState(''); const error = useState(""); const logout = () => { window.location.href = "/webui/logout"; } const handleSubmit = async (event) => { event.preventDefault(); let time = Math.round(new Date(inputValue.trim()).getTime() / 1000); if (inputValue.trim() === "-1") { time = 1711741114; } else if (inputValue.trim() === "0") { time = 0; } if (time < 0 || isNaN(time)) return; let resp = await Request("/api/webui/set_time", { timestamp: time }); if (resp.result !== "OK") { error[1](resp.message); return; } error[1](""); if (time === 0) { setServerTime("now"); } else { setServerTime((new Date(time * 1000)).toString()); } setInputValue(''); }; useEffect(() => { if (user) return; (async () => { let resp = await Request("/api/webui/userInfo"); if (resp.result !== "OK") { window.location.href = "/?message=" + encodeURIComponent(resp.message); return; } let user = resp.data.userdata; bonusItems = resp.data.loginbonus.bonus_list; /* bonusItems = [{"master_login_bonus_id":1,"day_counts":[1,2],"event_bonus_list":[]}]; let user = { user: { id: 1, rank: 3, exp: 10, last_login_time: 5 }, time: new Date() }*/ if (resp.data.time === 0) { setServerTime("now"); } else { setServerTime((new Date(resp.data.time * 1000)).toString()); } userdata(

User id: { user.user.id }

Rank: { user.user.rank } ({ user.user.exp } exp)

Last Login: { (new Date(user.user.last_login_time * 1000)).toString() }

); })(); }); return (

Home

{ user ?
{ user }

Server time

{ error[0] ?

Error: { error[0] }

:

}

Currently set to { serverTime }. Setting to 0 will set it to now, and -1 will reset it. Time will still progress, based off of when you set this timestamp.

setInputValue(event.target.value)} placeholder="Enter Server Time" />
:

Loading...

}
); } export default Home;