mirror of
https://git.ethanthesleepy.one/ethanaobrien/ew.git
synced 2025-05-13 11:37:33 -05:00
Add ability to change time in webui
This commit is contained in:
parent
42bdc28d0f
commit
a50eab7dc9
3 changed files with 50 additions and 10 deletions
|
@ -83,15 +83,15 @@ pub fn timestamp_since_midnight() -> u64 {
|
||||||
fn set_time(data: &mut JsonValue, req: HttpRequest) {
|
fn set_time(data: &mut JsonValue, req: HttpRequest) {
|
||||||
data["server_time"] = 1711741114.into();
|
data["server_time"] = 1711741114.into();
|
||||||
let blank_header = HeaderValue::from_static("");
|
let blank_header = HeaderValue::from_static("");
|
||||||
let uid = headers.get("aoharu-user-id").unwrap_or(&blank_header).to_str().unwrap_or("").parse<i64>().unwrap_or(0);
|
let uid = req.headers().get("aoharu-user-id").unwrap_or(&blank_header).to_str().unwrap_or("").parse::<i64>().unwrap_or(0);
|
||||||
if uid == 0 {
|
if uid == 0 {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
let server_data = userdata::get_server_data(get_login_token(uid));
|
let server_data = userdata::get_server_data(&userdata::get_login_token(uid));
|
||||||
|
|
||||||
if server_data["timestamp"].as_i64().is_ok() {
|
if !server_data["timestamp"].as_i64().is_none() {
|
||||||
if server_data["timestamp"].as_i64().unwrap() == 0 {
|
if server_data["timestamp"].as_i64().unwrap() == 0 {
|
||||||
data["server_time"] = global::timestamp().into();
|
data["server_time"] = timestamp().into();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
data["server_time"] = server_data["timestamp"].clone();
|
data["server_time"] = server_data["timestamp"].clone();
|
||||||
|
@ -100,7 +100,7 @@ fn set_time(data: &mut JsonValue, req: HttpRequest) {
|
||||||
|
|
||||||
pub fn send(mut data: JsonValue, req: HttpRequest) -> HttpResponse {
|
pub fn send(mut data: JsonValue, req: HttpRequest) -> HttpResponse {
|
||||||
//println!("{}", json::stringify(data.clone()));
|
//println!("{}", json::stringify(data.clone()));
|
||||||
set_time(&data, req)
|
set_time(&mut data, req);
|
||||||
|
|
||||||
let encrypted = encryption::encrypt_packet(&json::stringify(data)).unwrap();
|
let encrypted = encryption::encrypt_packet(&json::stringify(data)).unwrap();
|
||||||
let resp = encrypted.into_bytes();
|
let resp = encrypted.into_bytes();
|
||||||
|
|
|
@ -494,7 +494,8 @@ pub fn webui_get_user(token: &str) -> Option<JsonValue> {
|
||||||
|
|
||||||
return Some(object!{
|
return Some(object!{
|
||||||
userdata: get_acc(&login_token),
|
userdata: get_acc(&login_token),
|
||||||
loginbonus: get_acc_loginbonus(&login_token)
|
loginbonus: get_acc_loginbonus(&login_token),
|
||||||
|
time: get_server_data(&login_token)["server_time"].clone()
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -523,7 +524,7 @@ pub fn webui_start_loginbonus(bonus_id: i64, token: &str) -> JsonValue {
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn set_server_time(time: i64, token: &str) -> JsonValue {
|
pub fn set_server_time(time: i64, token: &str) -> JsonValue {
|
||||||
if time > global::timestamp() {
|
if time as u64 > global::timestamp() {
|
||||||
return object!{
|
return object!{
|
||||||
result: "ERR",
|
result: "ERR",
|
||||||
message: "Timestamp is in the future"
|
message: "Timestamp is in the future"
|
||||||
|
|
|
@ -25,7 +25,7 @@ function Bonus() {
|
||||||
error[1](resp.message);
|
error[1](resp.message);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
error[1]("");
|
||||||
setSubmittedItems([...submittedItems, resp.id]);
|
setSubmittedItems([...submittedItems, resp.id]);
|
||||||
setInputValue('');
|
setInputValue('');
|
||||||
};
|
};
|
||||||
|
@ -63,10 +63,32 @@ function Bonus() {
|
||||||
|
|
||||||
function Home() {
|
function Home() {
|
||||||
const [user, userdata] = useState();
|
const [user, userdata] = useState();
|
||||||
|
const [inputValue, setInputValue] = useState('');
|
||||||
|
const [serverTime, setServerTime] = useState('');
|
||||||
|
const error = useState("");
|
||||||
|
|
||||||
const logout = () => {
|
const logout = () => {
|
||||||
window.location.href = "/webui/logout";
|
window.location.href = "/webui/logout";
|
||||||
}
|
}
|
||||||
|
const handleSubmit = async (event) => {
|
||||||
|
event.preventDefault();
|
||||||
|
let input = parseInt(inputValue.trim());
|
||||||
|
let time = Math.round((new Date(inputValue.trim()).getTime() + 200000) / 1000);
|
||||||
|
if (input === -1) {
|
||||||
|
time = 1711741114;
|
||||||
|
}
|
||||||
|
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]("");
|
||||||
|
setServerTime((new Date(time * 1000)).toString());
|
||||||
|
setInputValue('');
|
||||||
|
};
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (user) return;
|
if (user) return;
|
||||||
|
@ -86,8 +108,11 @@ function Home() {
|
||||||
rank: 3,
|
rank: 3,
|
||||||
exp: 10,
|
exp: 10,
|
||||||
last_login_time: 5
|
last_login_time: 5
|
||||||
}
|
},
|
||||||
|
time: new Date()
|
||||||
}*/
|
}*/
|
||||||
|
setServerTime((new Date(resp.data.time * 1000)).toString());
|
||||||
|
|
||||||
userdata(
|
userdata(
|
||||||
<div>
|
<div>
|
||||||
<p>User id: { user.user.id } </p>
|
<p>User id: { user.user.id } </p>
|
||||||
|
@ -104,7 +129,21 @@ function Home() {
|
||||||
<button id="logout" onClick={logout}>Logout</button>
|
<button id="logout" onClick={logout}>Logout</button>
|
||||||
<h1>Home</h1>
|
<h1>Home</h1>
|
||||||
|
|
||||||
{ user ? <div> { user } </div> : <p>Loading...</p> }
|
{ user ? <div>
|
||||||
|
{ user }
|
||||||
|
<h2>Server time</h2>
|
||||||
|
<div id="error"> { error[0] ? <p>Error: { error[0] } </p> : <p></p> } </div>
|
||||||
|
<p>Currently set to { serverTime }. Setting to 0 will set it to now, and -1 will reset it.</p>
|
||||||
|
<form onSubmit={handleSubmit}>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
value={inputValue}
|
||||||
|
onChange={(event) => setInputValue(event.target.value)}
|
||||||
|
placeholder="Enter Server Time"
|
||||||
|
/>
|
||||||
|
<button type="submit">Submit</button>
|
||||||
|
</form></div>
|
||||||
|
: <p>Loading...</p> }
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue