minecraft-launcher-registra.../public/js/skin3d.js

101 lines
2.7 KiB
JavaScript
Raw Normal View History

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);
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);
}
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
}