azures04 6f2e5f81a8 Add generic file sync and improve UI for game launch
Introduced GenericFilesService to fetch and validate required game files before launching. Updated launcher version to beta and added support for AuthlibInjector agent in launch options. Improved avatar rendering and button states in the UI, including pixelated avatar display and disabled state handling for logout during game launch.
2026-01-25 23:22:08 +01:00

185 lines
8.2 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="./assets/css/common.css">
<link rel="stylesheet" href="./assets/css/logged.css">
</head>
<body>
<main>
<aside>
<nav>
<button frame="profile" onclick="showPage(this.getAttribute('frame'))">
<img class="avatar" src="" alt="">
</button>
<button frame="game" onclick="showPage(this.getAttribute('frame'))">
<i class="fas fa-gamepad"></i>
</button>
<button frame="settings" onclick="showPage(this.getAttribute('frame'))">
<i class="fas fa-cog"></i>
</button>
<button frame="logs" onclick="showPage(this.getAttribute('frame'))">
<i class="fas fa-terminal"></i>
</button>
<button frame="dynmap" onclick="initDynmap(); showPage(this.getAttribute('frame'))">
<i class="fas fa-map"></i>
</button>
<button class="logout" onclick="system.call('auth::logout')">
<i class="fas fa-sign-out-alt"></i>
</button>
</nav>
<section class="frames">
<article class="frame profile" hidden>
<div class="container profile">
<section class="skinview3d">
<canvas id="skin">
</canvas>
</section>
<section class="cosmectics">
<article class="username">
<h2>
Pseudo
</h2>
<p>
Tu veux changer de blaze mon frérot ? Ça se passe ici.
</p>
<div>
<input type="text" name="usernameChange" id="usernameChange" placeholder="Jeb_">
<button onclick="changeUsername(usernameChange.value)">
Valider
</button>
</div>
</article>
<article class="capes">
<h2>
Capes
</h2>
<p>
Tu te sens nu ? Viens t'couvrir avec une cape mon reuf.
</p>
<div class="capes">
<div id="blank" class="cape">
</div>
</div>
</article>
<article class="skin">
<h2>
Skin
</h2>
<p>
Tu veux rafraîchir un peu ton style ? Par là
</p>
<div class="skinUpload" onclick="selectSkin()">
<h3>
Clique ici frérot
</h3>
</div>
</article>
</section>
</div>
</article>
<article class="frame game" hidden>
<h1>
Lentia
</h1>
<button class="play" onclick="play()">
<i class="fas fa-play-circle"></i> Jouer
</button>
<footer>
<div class="loader">
<div class="full">
<div class="loading">
</div>
</div>
</div>
</footer>
</article>
<article class="frame dynmap" hidden>
<iframe src="" frameborder="0"></iframe>
</article>
<article class="frame container logs" hidden>
<div class="container logs">
</div>
</article>
<article class="frame settings" hidden>
<br>
<details>
<summary>
<div>
<i class="fab fa-java"></i>
</div>
<div>
<h2>
Java
</h2>
<h3>
Permet de définir le chemin d'accès à l'exécutable java
</h3>
</div>
</summary>
<div>
<div class="filePathSelector">
<input type="file" id="fileChooserInput" onchange="system.call('dialog::javapath')" hidden>
<input type="text" id="javaPath" onchange="handleSettingsChanges('javaPath', this.value)" placeholder="Chemin d'accès par défaut à l'exécutable java (par défaut : java).">
<button onclick="fileChooserInput.click()">
Choisir le fichier
</button>
</div>
</div>
</details>
<details class="ram">
<summary>
<div>
<i class="fas fa-memory" style="font-size: 30px;"></i>
</div>
<div>
<h2>
Mémoire vive (RAM)
</h2>
<h3>
Permet de définir l'utilisation maximale de mémoire vive par le jeu
</h3>
</div>
</summary>
<div>
<h5 ondblclick="getRamInformation()">
Mémoire vive disponnible :
<span id="freeRam">
0G
</span>
</h5>
<h5 ondblclick="getRamInformation()">
Mémoire vive totale :
<span id="totalRam">
0G
</span>
</h5>
<br>
<h4 class="ramSelector">
Mémoire vive allouée au jeu
</h4>
<section class="ramSelector">
<span id="minRam">0.05 G</span>
<input type="range" min="512" value="2048" max="4096" id="ram" onchange="handleSettingsChanges('ram.max', parseInt(this.value))">
<span id="currentRam">
2.00 G
</span>
</section>
</div>
</details>
</article>
</section>
</aside>
</main>
<script type="module" src="./assets/js/skinview3d.bundle.js"></script>
<script src="./assets/js/ipc.js"></script>
<script src="./assets/js/common.js"></script>
<script src="./assets/js/frames.js"></script>
<script src="./assets/js/logged.js" type="module"></script>
</body>
</html>