2025-01-31 17:28:52 +03:00
|
|
|
const uploadSkin = async (event) => {
|
|
|
|
event.preventDefault();
|
|
|
|
const skinFile = document.getElementById("skinFile").files[0];
|
|
|
|
|
|
|
|
if (!skinFile) {
|
|
|
|
alert("Please, select a skin before uploading!");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
let formData = new FormData();
|
|
|
|
formData.append("file", skinFile);
|
|
|
|
|
|
|
|
await fetch(`/api/uploadSkin`, {
|
|
|
|
method: "POST",
|
|
|
|
body: formData
|
|
|
|
})
|
|
|
|
|
2025-01-31 17:37:16 +03:00
|
|
|
window.location = window.location.href+'?eraseCache=true';
|
2025-01-31 17:28:52 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
const uploadCape = async (event) => {
|
|
|
|
event.preventDefault();
|
|
|
|
const capeFile = document.getElementById("capeFile").files[0];
|
|
|
|
|
|
|
|
if (!capeFile) {
|
|
|
|
alert("Please, select a cape befora uploading!");
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
let formData = new FormData();
|
|
|
|
formData.append("file", capeFile);
|
|
|
|
|
|
|
|
await fetch(`/api/uploadCape`, {
|
|
|
|
method: "POST",
|
|
|
|
body: formData
|
|
|
|
})
|
|
|
|
|
2025-01-31 17:37:16 +03:00
|
|
|
window.location = window.location.href+'?eraseCache=true';
|
2025-01-31 17:28:52 +03:00
|
|
|
}
|
|
|
|
|
2025-01-31 17:53:27 +03:00
|
|
|
const changePassword = async (event) => {
|
|
|
|
event.preventDefault();
|
|
|
|
|
|
|
|
const oldPassword = document.getElementById("oldPassword").value
|
|
|
|
const newPassword = document.getElementById("newPassword").value
|
|
|
|
|
|
|
|
if (oldPassword == newPassword) {
|
|
|
|
alert("You cannod change your password to the same!")
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
await fetch(`/api/changePassword`, {
|
|
|
|
method: "POST",
|
|
|
|
headers: {
|
|
|
|
"Content-Type": "application/json"
|
|
|
|
},
|
|
|
|
body: JSON.stringify({
|
|
|
|
oldPassword,
|
|
|
|
newPassword
|
|
|
|
})
|
|
|
|
});
|
|
|
|
alert("Password has been changed!");
|
|
|
|
}
|
|
|
|
|
2025-01-31 17:28:52 +03:00
|
|
|
|
2025-01-23 20:56:44 +03:00
|
|
|
window.onload = async function() {
|
2025-01-31 17:28:52 +03:00
|
|
|
document.getElementById("skinForm").addEventListener("submit", uploadSkin)
|
2025-01-31 17:53:27 +03:00
|
|
|
document.getElementById("passwordChangeForm").addEventListener("submit", changePassword);
|
2025-01-31 01:02:29 +03:00
|
|
|
if (document.getElementById("cape")) {
|
|
|
|
document.getElementById("cape").addEventListener("click", () => { set_cape_type("cape") }, false);
|
|
|
|
document.getElementById("cape").checked = true;
|
2025-01-31 17:28:52 +03:00
|
|
|
|
|
|
|
document.getElementById("capeForm").addEventListener("submit", uploadCape);
|
2025-01-31 01:02:29 +03:00
|
|
|
}
|
|
|
|
if (document.getElementById("elytra")) {
|
|
|
|
document.getElementById("elytra").addEventListener("click", () => { set_cape_type("elytra") }, false );
|
|
|
|
document.getElementById("elytra").checked = false;
|
|
|
|
}
|
2025-01-23 20:42:55 +03:00
|
|
|
|
2025-01-23 20:56:44 +03:00
|
|
|
const username = await (await (fetch("/api/getUsername"))).text();
|
|
|
|
|
|
|
|
let skinViewer = new skinview3d.SkinViewer({
|
|
|
|
canvas: document.getElementById("skin_container"),
|
|
|
|
width: 300,
|
|
|
|
height: 400,
|
|
|
|
skin: `https://launcher.foxarmy.org/skins/${username}.png`,
|
|
|
|
cape: `https://launcher.foxarmy.org/cloaks/${username}.png`
|
|
|
|
});
|
|
|
|
|
|
|
|
skinViewer.nameTag = username;
|
|
|
|
skinViewer.loadPanorama("images/panorama.jpeg");
|
|
|
|
skinViewer.fov = 120;
|
|
|
|
skinViewer.zoom = 0.65;
|
|
|
|
skinViewer.autoRotate = true;
|
|
|
|
|
|
|
|
function set_cape_type(type) {
|
|
|
|
skinViewer.loadCape(`https://launcher.foxarmy.org/cloaks/${username}.png`, { backEquipment: type });
|
|
|
|
}
|
2025-01-31 17:28:52 +03:00
|
|
|
|
|
|
|
|
2025-01-23 20:56:44 +03:00
|
|
|
}
|