1
0
mirror of https://github.com/zumbiepig/MineXLauncher.git synced 2025-06-08 09:24:48 +00:00

this is insanely broken

This commit is contained in:
zumbiepig 2024-09-07 10:18:23 -07:00
parent a8c80e7320
commit 830a11bcec
No known key found for this signature in database
GPG Key ID: 17C891BE28B953DE
29 changed files with 775 additions and 941 deletions

BIN
bun.lockb

Binary file not shown.

View File

@ -32,6 +32,7 @@
"@types/compression": "^1.7.5", "@types/compression": "^1.7.5",
"@types/debug": "^4.1.12", "@types/debug": "^4.1.12",
"@types/errorhandler": "^1.5.3", "@types/errorhandler": "^1.5.3",
"@types/eslint-config-prettier": "^6.11.3",
"@types/eslint__js": "^8.42.3", "@types/eslint__js": "^8.42.3",
"@types/html-minifier": "^4.0.5", "@types/html-minifier": "^4.0.5",
"@types/morgan": "^1.9.9", "@types/morgan": "^1.9.9",

View File

@ -37,13 +37,11 @@
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -63,26 +63,18 @@
</div> </div>
<div class="main-content"> <div class="main-content">
<div class="article-list"> <div class="article-list">
<div class="article-item" onclick="article.open('mc-server')"> <div onclick="article.open('mc-server')">
<img class="article-icon" loading="lazy" src="/resources/images/icons/articles/mc-server.webp" /> <img loading="lazy" src="/resources/images/icons/articles/mc-server.webp" />
<div class="article-details"> <div class="article-details">
<strong class="article-name">How To Make An Eaglercraft Server</strong> <strong>How To Make An Eaglercraft Server</strong>
<p class="article-description"> <p>Have you ever wondered how to make an Eaglercraft Server? Read this article to find out how!</p>
Have you ever wondered how to make an Eaglercraft Server? Read this article to find out how!
</p>
</div> </div>
</div> </div>
<div class="article-item" onclick="article.open('cloudflare-tunnel')"> <div onclick="article.open('cloudflare-tunnel')">
<img <img loading="lazy" src="/resources/images/icons/articles/cloudflare-tunnel.webp" />
class="article-icon"
loading="lazy"
src="/resources/images/icons/articles/cloudflare-tunnel.webp"
/>
<div class="article-details"> <div class="article-details">
<strong class="article-name">Setting Up a Cloudflare Tunnel for an Eaglercraft Server</strong> <strong>Setting Up a Cloudflare Tunnel for an Eaglercraft Server</strong>
<p class="article-description"> <p>This brief guide walks you through configuring a Cloudflare Tunnel for your Eaglercraft server.</p>
This brief guide walks you through configuring a Cloudflare Tunnel for your Eaglercraft server.
</p>
</div> </div>
</div> </div>
</div> </div>
@ -90,13 +82,11 @@
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>
@ -110,9 +100,10 @@
data-full-width-responsive="true" data-full-width-responsive="true"
></ins> ></ins>
</div> </div>
<div id="article-mc-server" class="article"> <div class="article" id="article-mc-server">
<div class="article-content"> <div>
<span class="close-button" onclick="article.close('mc-server')">&times;</span> <span onclick="article.close('mc-server')">&times;</span>
<div>
<h1>How To Make An Eaglercraft Server</h1> <h1>How To Make An Eaglercraft Server</h1>
<h5>Written by ServerDotSo and revised by zumbiepig</h5> <h5>Written by ServerDotSo and revised by zumbiepig</h5>
<p>Have you ever wondered how to make an Eaglercraft Server?</p> <p>Have you ever wondered how to make an Eaglercraft Server?</p>
@ -139,8 +130,8 @@
</li> </li>
<li>Create a new directory for your server and place the Bungee JAR file in it</li> <li>Create a new directory for your server and place the Bungee JAR file in it</li>
<li> <li>
Create a start script (e.g., <code>start.bat</code> for Windows or <code>start.sh</code> for Linux) with the Create a start script (e.g., <code>start.bat</code> for Windows or <code>start.sh</code> for Linux) with
following content: the following content:
<pre><code>java -Xms512M -Xmx512M -jar bungee.jar</code></pre> <pre><code>java -Xms512M -Xmx512M -jar bungee.jar</code></pre>
</li> </li>
<li>Run the start script to generate configuration files, then stop the server</li> <li>Run the start script to generate configuration files, then stop the server</li>
@ -151,8 +142,8 @@
<li>Download a compatible Minecraft server JAR (e.g., Paper)</li> <li>Download a compatible Minecraft server JAR (e.g., Paper)</li>
<li>Set up the backend server in a separate directory</li> <li>Set up the backend server in a separate directory</li>
<li> <li>
Create a start script (e.g., <code>start.bat</code> for Windows or <code>start.sh</code> for Linux) with the Create a start script (e.g., <code>start.bat</code> for Windows or <code>start.sh</code> for Linux) with
following content: the following content:
<pre><code>java -Xms1024M -Xmx1024M -jar server.jar</code></pre> <pre><code>java -Xms1024M -Xmx1024M -jar server.jar</code></pre>
</li> </li>
<li>Configure <code>server.properties</code> (Disable online mode, change the port, etc.)</li> <li>Configure <code>server.properties</code> (Disable online mode, change the port, etc.)</li>
@ -182,7 +173,9 @@
</ol> </ol>
<h3>Step 4: Set Up Caddy</h3> <h3>Step 4: Set Up Caddy</h3>
<ol> <ol>
<li>Download and install Caddy from <a href="https://caddyserver.com/download" target="_blank">here</a>.</li> <li>
Download and install Caddy from <a href="https://caddyserver.com/download" target="_blank">here</a>.
</li>
<li> <li>
Create a file called Caddyfile with this configuration: Create a file called Caddyfile with this configuration:
<pre><code>localhost {<br> reverse_proxy :8081<br>}</code></pre> <pre><code>localhost {<br> reverse_proxy :8081<br>}</code></pre>
@ -217,14 +210,16 @@
<li><code>wss://example.com</code></li> <li><code>wss://example.com</code></li>
<h3>Security Considerations</h3> <h3>Security Considerations</h3>
<p> <p>
Ensure you keep all software (especially the EaglerXBungee plugin) up to date and properly secure your server Ensure you keep all software (especially the EaglerXBungee plugin) up to date and properly secure your
to protect against potential vulnerabilities. server to protect against potential vulnerabilities.
</p> </p>
</div> </div>
</div> </div>
<div id="article-cloudflare-tunnel" class="article"> </div>
<div class="article-content"> <div class="article" id="article-cloudflare-tunnel">
<span class="close-button" onclick="article.close('cloudflare-tunnel')">&times;</span> <div>
<span onclick="article.close('cloudflare-tunnel')">&times;</span>
<div>
<h1>Setting Up a Cloudflare Tunnel for an Eaglercraft Server</h1> <h1>Setting Up a Cloudflare Tunnel for an Eaglercraft Server</h1>
<h5>Written by zumbiepig and SpeedSlicer</h5> <h5>Written by zumbiepig and SpeedSlicer</h5>
<p> <p>
@ -240,8 +235,8 @@
<h3>Step 1: Access Cloudflare Tunnels</h3> <h3>Step 1: Access Cloudflare Tunnels</h3>
<ol> <ol>
<li> <li>
Go to the <a href="https://dash.cloudflare.com/" target="_blank">Dashboard</a> and log in to your Cloudflare Go to the <a href="https://dash.cloudflare.com/" target="_blank">Dashboard</a> and log in to your
account. Cloudflare account.
</li> </li>
<li>Navigate to the <strong>Zero Trust</strong> page using the navigation bar on the left.</li> <li>Navigate to the <strong>Zero Trust</strong> page using the navigation bar on the left.</li>
<li>Sign up for Cloudflare Zero Trust with the Free Plan if you have not already.</li> <li>Sign up for Cloudflare Zero Trust with the Free Plan if you have not already.</li>
@ -253,8 +248,8 @@
<li>Click <strong>Next</strong>.</li> <li>Click <strong>Next</strong>.</li>
<li>Enter a name for the tunnel.</li> <li>Enter a name for the tunnel.</li>
<li> <li>
Follow the instructions provided on the site to install the tunnel.<br />You should do these instructions on Follow the instructions provided on the site to install the tunnel.<br />You should do these instructions
the computer that your Eaglercraft server is running on. on the computer that your Eaglercraft server is running on.
</li> </li>
</ol> </ol>
<h3>Step 3: Configure Domain/Subdomain</h3> <h3>Step 3: Configure Domain/Subdomain</h3>
@ -274,5 +269,6 @@
</ol> </ol>
</div> </div>
</div> </div>
</div>
</body> </body>
</html> </html>

View File

@ -67,9 +67,10 @@
</ul> </ul>
</div> </div>
<div class="main-content"> <div class="main-content">
<div class="archive-section"> <div class="archive">
<label for="18-client-version" class="version-label">1.8 versions:</label> <div>
<select id="18-client-version" class="version-select"> <label for="18-client-version">1.8 versions:</label>
<select id="18-client-version">
<option disabled selected hidden value="">Select version</option> <option disabled selected hidden value="">Select version</option>
<optgroup label="Releases"> <optgroup label="Releases">
<option value="u35">u35</option> <option value="u35">u35</option>
@ -116,11 +117,11 @@
<option value="pre-alpha">pre-alpha</option> <option value="pre-alpha">pre-alpha</option>
</optgroup> </optgroup>
</select> </select>
<button class="archive-button" onclick="game.archive('1.8')">Open</button> <button onclick="game.archive('1.8')">Open</button>
</div> </div>
<div class="archive-section"> <div>
<label for="15-client-version" class="version-label">1.5 versions:</label> <label for="15-client-version">1.5 versions:</label>
<select id="15-client-version" class="version-select"> <select id="15-client-version">
<option disabled selected hidden value="">Select version</option> <option disabled selected hidden value="">Select version</option>
<optgroup label="Service Packs"> <optgroup label="Service Packs">
<option value="sp1.01">sp1.01</option> <option value="sp1.01">sp1.01</option>
@ -196,11 +197,11 @@
<option value="20m06-29">20m06-29</option> <option value="20m06-29">20m06-29</option>
</optgroup> </optgroup>
</select> </select>
<button class="archive-button" onclick="game.archive('1.5')">Open</button> <button onclick="game.archive('1.5')">Open</button>
</div> </div>
<div class="archive-section"> <div>
<label for="b13-client-version" class="version-label">Select Beta 1.3 version:</label> <label for="b13-client-version">Select Beta 1.3 version:</label>
<select id="b13-client-version" class="version-select"> <select id="b13-client-version">
<option disabled selected hidden value="">Select version</option> <option disabled selected hidden value="">Select version</option>
<optgroup label="Releases"> <optgroup label="Releases">
<option value="23w49a">23w49a</option> <option value="23w49a">23w49a</option>
@ -209,37 +210,27 @@
<option value="22w17a">22w17a</option> <option value="22w17a">22w17a</option>
</optgroup> </optgroup>
</select> </select>
<button class="archive-button" onclick="game.archive('b1.3')">Open</button> <button onclick="game.archive('b1.3')">Open</button>
</div> </div>
<button <button onclick="window.open('https://archive.eaglercraft.rip/EaglercraftX_1.8/server/')">
class="archive-link"
onclick="window.open('https://archive.eaglercraft.rip/EaglercraftX_1.8/server/')"
>
1.8 EaglerXBungee Jar 1.8 EaglerXBungee Jar
</button> </button>
<button <button onclick="window.open('https://archive.eaglercraft.rip/Eaglercraft_1.5/server/')">
class="archive-link"
onclick="window.open('https://archive.eaglercraft.rip/Eaglercraft_1.5/server/')"
>
Eaglercraft 1.5 Server Eaglercraft 1.5 Server
</button> </button>
<button <button onclick="window.open('https://archive.eaglercraft.rip/Eaglercraft_b1.3/server/')">
class="archive-link"
onclick="window.open('https://archive.eaglercraft.rip/Eaglercraft_b1.3/server/')"
>
Eaglercraft Beta 1.3 Server Eaglercraft Beta 1.3 Server
</button> </button>
</div> </div>
</div> </div>
</div> </div>
<div class="bottom-bar">
<div class="bottom-bar-links">
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank"
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div class="bottom-bar">
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <div>
<a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
</div>
<div>
<span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -72,45 +72,43 @@
</div> </div>
</div> </div>
<div class="installations"> <div class="installations">
<div class="custom-select-wrapper"> <div>
<div class="custom-select" onclick="versionSelector.toggle()"> <div class="selector" onclick="versionSelector.toggle()">
<span class="custom-select-trigger">Select a client</span> <span>Select a client</span>
</div> </div>
<div class="custom-options"> <div class="options">
<div class="custom-option" onclick="game.select('/game/web/clients/eaglerforge/', 'EaglerForge')"> <div onclick="game.select('/game/web/clients/eaglerforge/', 'EaglerForge')">
<img src="/resources/images/icons/clients/eaglerforge.webp" /> <img src="/resources/images/icons/clients/eaglerforge.webp" />
<span>EaglerForge</span> <span>EaglerForge</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/clients/resent/', 'Resent Client')"> <div onclick="game.select('/game/web/clients/resent/', 'Resent Client')">
<img src="/resources/images/icons/clients/resent.webp" /> <img src="/resources/images/icons/clients/resent.webp" />
<span>Resent Client</span> <span>Resent Client</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/clients/shadow/', 'Shadow Client')"> <div onclick="game.select('/game/web/clients/shadow/', 'Shadow Client')">
<img src="/resources/images/icons/clients/shadow.webp" /> <img src="/resources/images/icons/clients/shadow.webp" />
<span>Shadow Client</span> <span>Shadow Client</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/clients/astra/', 'Astra Client')"> <div onclick="game.select('/game/web/clients/astra/', 'Astra Client')">
<img src="/resources/images/icons/clients/astra.webp" /> <img src="/resources/images/icons/clients/astra.webp" />
<span>Astra Client</span> <span>Astra Client</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/clients/starlike/', 'Starlike Client')"> <div onclick="game.select('/game/web/clients/starlike/', 'Starlike Client')">
<img src="/resources/images/icons/clients/starlike.webp" /> <img src="/resources/images/icons/clients/starlike.webp" />
<span>Starlike Client</span> <span>Starlike Client</span>
</div> </div>
</div> </div>
</div> </div>
<button class="play-button" onclick="game.play()">Play</button> <button onclick="game.play()">Play</button>
</div> </div>
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -69,30 +69,30 @@
<div class="main-content"> <div class="main-content">
<div class="downloads"> <div class="downloads">
<h3>Downloads:</h3> <h3>Downloads:</h3>
<a class="download-link" href="/game/offline/main/EaglercraftL_1.9.html" download>1.9.4</a> <a href="/game/offline/main/EaglercraftL_1.9.html" download>1.9.4</a>
<a class="download-link" href="/game/offline/main/EaglercraftX_1.8.html" download>1.8.8</a> <a href="/game/offline/main/EaglercraftX_1.8.html" download>1.8.8</a>
<a class="download-link" href="/game/offline/main/Eaglercraft_1.5.html" download>1.5.2</a> <a href="/game/offline/main/Eaglercraft_1.5.html" download>1.5.2</a>
<a class="download-link" href="/game/offline/main/Eaglercraft_1.2.5.html" download>1.2.5</a> <a href="/game/offline/main/Eaglercraft_1.2.5.html" download>1.2.5</a>
<a class="download-link" href="/game/offline/main/Eaglercraft_b1.7.3.html" download>Beta 1.7.3</a> <a href="/game/offline/main/Eaglercraft_b1.7.3.html" download>Beta 1.7.3</a>
<a class="download-link" href="/game/offline/main/Eaglercraft_b1.3.html" download>Beta 1.3</a> <a href="/game/offline/main/Eaglercraft_b1.3.html" download>Beta 1.3</a>
<a class="download-link" href="/game/offline/main/Eaglercraft_a1.2.6.html" download>Alpha 1.2.6</a> <a href="/game/offline/main/Eaglercraft_a1.2.6.html" download>Alpha 1.2.6</a>
<a class="download-link" href="/game/offline/main/Eaglercraft_Indev.html" download>Indev</a> <a href="/game/offline/main/Eaglercraft_Indev.html" download>Indev</a>
<br /><br /> <br /><br />
<a class="download-link" href="/game/offline/clients/EaglerForge.html" download>EaglerForge</a> <a href="/game/offline/clients/EaglerForge.html" download>EaglerForge</a>
<a class="download-link" href="/game/offline/clients/Resent_Client.html" download>Resent Client</a> <a href="/game/offline/clients/Resent_Client.html" download>Resent Client</a>
<a class="download-link" href="/game/offline/clients/Shadow_Client.html" download>Shadow Client</a> <a href="/game/offline/clients/Shadow_Client.html" download>Shadow Client</a>
<a class="download-link" href="/game/offline/clients/Astra_Client.html" download>Astra Client</a> <a href="/game/offline/clients/Astra_Client.html" download>Astra Client</a>
<a class="download-link" href="/game/offline/clients/Starlike_Client.html" download>Starlike Client</a> <a href="/game/offline/clients/Starlike_Client.html" download>Starlike Client</a>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left">Join the MineXLauncher Discord</a> <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -72,65 +72,63 @@
</div> </div>
</div> </div>
<div class="installations"> <div class="installations">
<div class="custom-select-wrapper"> <div>
<div class="custom-select" onclick="versionSelector.toggle()"> <div class="selector" onclick="versionSelector.toggle()">
<span class="custom-select-trigger">Select a version</span> <span>Select a version</span>
</div> </div>
<div class="custom-options"> <div class="options">
<div class="custom-option" onclick="game.select('/game/web/main/1.9.4/', '1.9.4')"> <div onclick="game.select('/game/web/main/1.9.4/', '1.9.4')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>1.9.4</span> <span>1.9.4</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/main/1.8.8/', '1.8.8')"> <div onclick="game.select('/game/web/main/1.8.8/', '1.8.8')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>1.8.8</span> <span>1.8.8</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/main/1.5.2/', '1.5.2')"> <div onclick="game.select('/game/web/main/1.5.2/', '1.5.2')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>1.5.2</span> <span>1.5.2</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/offline/main/Eaglercraft_1.2.5.html', '1.2.5')"> <div onclick="game.select('/game/offline/main/Eaglercraft_1.2.5.html', '1.2.5')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>1.2.5</span> <span>1.2.5</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/main/b1.7.3/', 'Beta 1.7.3')"> <div onclick="game.select('/game/web/main/b1.7.3/', 'Beta 1.7.3')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>Beta 1.7.3</span> <span>Beta 1.7.3</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/main/b1.3/', 'Beta 1.3')"> <div onclick="game.select('/game/web/main/b1.3/', 'Beta 1.3')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>Beta 1.3</span> <span>Beta 1.3</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/main/a1.2.6/', 'Alpha')"> <div onclick="game.select('/game/web/main/a1.2.6/', 'Alpha')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>Alpha 1.2.6</span> <span>Alpha 1.2.6</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/main/infdev/', 'Infdev')"> <div onclick="game.select('/game/web/main/infdev/', 'Infdev')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>Infdev</span> <span>Infdev</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/main/indev/', 'Indev')"> <div onclick="game.select('/game/web/main/indev/', 'Indev')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>Indev</span> <span>Indev</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/web/main/classic/', 'Classic')"> <div onclick="game.select('/game/web/main/classic/', 'Classic')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>Classic</span> <span>Classic</span>
</div> </div>
</div> </div>
</div> </div>
<button class="play-button" onclick="game.play()">Play</button> <button onclick="game.play()">Play</button>
</div> </div>
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -36,7 +36,7 @@
<img src="/resources/images/covers/minecraft.webp" /> <img src="/resources/images/covers/minecraft.webp" />
</div> </div>
<div class="installations"> <div class="installations">
<button class="play-button" onclick="game.play('/game/web/main/1.8.8/?mobile=true')">Play</button> <button onclick="game.play('/game/web/main/1.8.8/?mobile=true')">Play</button>
<a <a
class="play-button" class="play-button"
style="text-decoration: none" style="text-decoration: none"
@ -49,13 +49,11 @@
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -68,18 +68,16 @@
<div class="mod-list"></div> <div class="mod-list"></div>
</div> </div>
<div class="installations"> <div class="installations">
<button class="play-button" onclick="game.play('/game/web/clients/eaglerforge/')">Play</button> <button onclick="game.play('/game/web/clients/eaglerforge/')">Play</button>
</div> </div>
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -70,13 +70,11 @@
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -37,13 +37,11 @@
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -40,24 +40,24 @@
</div> </div>
</div> </div>
<div class="installations"> <div class="installations">
<div class="custom-select-wrapper"> <div>
<div class="custom-select" onclick="versionSelector.toggle()"> <div class="selector" onclick="versionSelector.toggle()">
<span class="custom-select-trigger">Select a version</span> <span>Select a version</span>
</div> </div>
<div class="custom-options"> <div class="options">
<div class="custom-option" onclick="game.select('/game/offline/main/EaglercraftL_1.9.html', '1.9.4')"> <div onclick="game.select('/game/offline/main/EaglercraftL_1.9.html', '1.9.4')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>1.9.4</span> <span>1.9.4</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/offline/main/EaglercraftX_1.8.html', '1.8.8')"> <div onclick="game.select('/game/offline/main/EaglercraftX_1.8.html', '1.8.8')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>1.8.8</span> <span>1.8.8</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/offline/main/Eaglercraft_1.5.html', '1.5.2')"> <div onclick="game.select('/game/offline/main/Eaglercraft_1.5.html', '1.5.2')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>1.5.2</span> <span>1.5.2</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/offline/main/Eaglercraft_1.2.5.html', '1.2.5')"> <div onclick="game.select('/game/offline/main/Eaglercraft_1.2.5.html', '1.2.5')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>1.2.5</span> <span>1.2.5</span>
</div> </div>
@ -75,29 +75,27 @@
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>Beta 1.3</span> <span>Beta 1.3</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/offline/main/Eaglercraft_a1.2.6.html', 'Alpha')"> <div onclick="game.select('/game/offline/main/Eaglercraft_a1.2.6.html', 'Alpha')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>Alpha 1.2.6</span> <span>Alpha 1.2.6</span>
</div> </div>
<div class="custom-option" onclick="game.select('/game/offline/main/Eaglercraft_Indev.html', 'Indev')"> <div onclick="game.select('/game/offline/main/Eaglercraft_Indev.html', 'Indev')">
<img src="/resources/images/icons/clients/all.webp" /> <img src="/resources/images/icons/clients/all.webp" />
<span>Indev</span> <span>Indev</span>
</div> </div>
</div> </div>
</div> </div>
<button class="play-button" onclick="game.play()">Play</button> <button onclick="game.play()">Play</button>
</div> </div>
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -20,24 +20,24 @@ const theme = {
const versionSelector = { const versionSelector = {
open: function () { open: function () {
const customOptions = document.querySelector('.custom-options'); const customOptions = document.querySelector('.installations div .installations div .options divs');
const customSelect = document.querySelector('.custom-select'); const customSelect = document.querySelector('.installations div .selector');
if (customOptions && customSelect) { if (customOptions && customSelect) {
customOptions.classList.add('open'); customOptions.classList.add('open');
customSelect.classList.add('open'); customSelect.classList.add('open');
} }
}, },
close: function () { close: function () {
const customOptions = document.querySelector('.custom-options'); const customOptions = document.querySelector('.installations div .installations div .options divs');
const customSelect = document.querySelector('.custom-select'); const customSelect = document.querySelector('.installations div .selector');
if (customOptions && customSelect) { if (customOptions && customSelect) {
customOptions.classList.remove('open'); customOptions.classList.remove('open');
customSelect.classList.remove('open'); customSelect.classList.remove('open');
} }
}, },
toggle: function () { toggle: function () {
const customOptions = document.querySelector('.custom-options'); const customOptions = document.querySelector('.installations div .installations div .options divs');
const customSelect = document.querySelector('.custom-select'); const customSelect = document.querySelector('.installations div .selector');
if (customOptions && customSelect) { if (customOptions && customSelect) {
customOptions.classList.toggle('open'); customOptions.classList.toggle('open');
customSelect.classList.toggle('open'); customSelect.classList.toggle('open');
@ -64,7 +64,7 @@ const game = {
}, },
select: function (path: string, name?: string) { select: function (path: string, name?: string) {
selectedVersion = path; selectedVersion = path;
const selector = document.querySelector('.custom-select'); const selector = document.querySelector('.installations div .selector');
if (selector?.textContent) { if (selector?.textContent) {
if (name) { if (name) {
selector.textContent = `Selected: ${name}`; selector.textContent = `Selected: ${name}`;
@ -614,8 +614,7 @@ if (window.location.pathname === '/settings/') {
// @ts-expect-error // @ts-expect-error
addonData[addonType].forEach((addon) => { addonData[addonType].forEach((addon) => {
const modItem = document.createElement('div'); const modItem = document.createElement('div');
modItem.classList.add('mod-item'); modItem.innerHTML = `<img loading="lazy" src="/resources/mods/icons/${addon.id}.webp" /><div class="mod-details"><strong>${
modItem.innerHTML = `<img class="mod-icon" loading="lazy" src="/resources/mods/icons/${addon.id}.webp" /><div class="mod-details"><strong class="mod-name">${
addon.name addon.name
}</strong><p class="mod-author">By <a href="${addon.authorLink}" target="_blank">${addon.author}</a></p><p class="mod-description">${addon.description}</p></div><div class="mod-links">${ }</strong><p class="mod-author">By <a href="${addon.authorLink}" target="_blank">${addon.author}</a></p><p class="mod-description">${addon.description}</p></div><div class="mod-links">${
addonType === 'mods' addonType === 'mods'

View File

@ -4,6 +4,6 @@
margin: 10px auto 0 auto; margin: 10px auto 0 auto;
} }
.play-button { .installations button {
padding: 10px 10px; padding: 10px 10px;
} }

View File

@ -41,32 +41,32 @@ body {
border-top: 1px solid #4a2f1b; border-top: 1px solid #4a2f1b;
} }
.custom-select { .installations div .selector {
background-color: #5a3a2a; background-color: #5a3a2a;
border: 2px solid #4a2f1b; border: 2px solid #4a2f1b;
color: #f5e0c3; color: #f5e0c3;
box-shadow: 4px 4px #2b1b0f; box-shadow: 4px 4px #2b1b0f;
} }
.custom-select:hover { .installations div .selector:hover {
box-shadow: 6px 6px #2b1b0f; box-shadow: 6px 6px #2b1b0f;
} }
.custom-options { .installations div .installations div .options divs {
background-color: #4a2f1b; background-color: #4a2f1b;
box-shadow: 4px 4px #2b1b0f; box-shadow: 4px 4px #2b1b0f;
} }
.custom-option:hover { .installations div .options div:hover {
background-color: #6a4a3a; background-color: #6a4a3a;
} }
.play-button { .installations button {
background-color: #ff6600; background-color: #ff6600;
border: 2px solid #cc5200; border: 2px solid #cc5200;
} }
.play-button:hover { .installations button:hover {
background-color: #ff8533; background-color: #ff8533;
border-color: #b34700; border-color: #b34700;
} }
@ -77,24 +77,11 @@ body {
box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.3); box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.3);
} }
.minecraft-button { .downloads a {
background-color: #cc5200;
border: 1px solid #4a2f1b;
}
.minecraft-button:hover {
background-color: #e65c00;
}
.minecraft-button:active {
background-color: #b34700;
}
.download-link {
background-color: #ff6600; background-color: #ff6600;
} }
.download-link:hover { .downloads a:hover {
background-color: #ff8533; background-color: #ff8533;
} }

View File

@ -59,33 +59,33 @@ body {
border-top: 1px solid #e0d1e3; border-top: 1px solid #e0d1e3;
} }
.custom-select { .installations div .selector {
border: 2px solid #f2c8d5; border: 2px solid #f2c8d5;
background-color: #f9e6f1; background-color: #f9e6f1;
color: #333; color: #333;
} }
.custom-options { .installations div .installations div .options divs {
border: 2px solid #f2c8d5; border: 2px solid #f2c8d5;
background-color: #fceef2; background-color: #fceef2;
color: #333; color: #333;
scrollbar-color: #f2c8d5 #fceef2; scrollbar-color: #f2c8d5 #fceef2;
} }
.custom-option { .installations div .options div {
border-bottom: 1px solid #f2c8d5; border-bottom: 1px solid #f2c8d5;
} }
.custom-option:hover { .installations div .options div:hover {
background-color: #f8d4e4; background-color: #f8d4e4;
} }
.play-button { .installations button {
background-color: #e5a1b8; background-color: #e5a1b8;
border: 2px solid #d0808e; border: 2px solid #d0808e;
} }
.play-button:hover { .installations button:hover {
background-color: #f7b7bc; background-color: #f7b7bc;
border-color: #d0808e; border-color: #d0808e;
} }
@ -95,33 +95,20 @@ body {
border-top: 1px solid #e0d1e3; border-top: 1px solid #e0d1e3;
} }
.bottom-bar .bottom-bar-left, .bottom-bar div .bottom-bar-left,
.bottom-bar .bottom-bar-right { .bottom-bar div .bottom-bar-right {
color: #333; color: #333;
} }
.bottom-bar .bottom-bar-left:hover { .bottom-bar div .bottom-bar-left:hover {
color: #e5a1b8; color: #e5a1b8;
} }
.minecraft-button { .downloads a {
background-color: #f2c8d5;
border: 1px solid #e0d1e3;
}
.minecraft-button:hover {
background-color: #e5a1b8;
}
.minecraft-button:active {
background-color: #d0808e; background-color: #d0808e;
} }
.download-link { .downloads a:hover {
background-color: #d0808e;
}
.download-link:hover {
background-color: #e5a1b8; background-color: #e5a1b8;
} }

View File

@ -203,13 +203,55 @@ body {
border-top: 1px solid #333; border-top: 1px solid #333;
} }
.custom-select-wrapper { .installations button {
background-color: #0f990f;
border: 2px solid #007700;
padding: 10px 40px;
border-radius: 5px;
cursor: pointer;
color: #fff;
font-size: 16px;
font-weight: bold;
text-transform: uppercase;
transition:
background-color 0.2s,
border-color 0.2s,
transform 0.2s;
overflow: hidden;
position: relative;
}
.installations button:hover {
background-color: #17b117;
border-color: #005500;
transform: scale(1.05);
}
.installations button:hover::before {
width: 0;
height: 0;
}
.installations button::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 300%;
height: 300%;
background-color: rgba(255, 255, 255, 0.1);
transition: all 0.4s ease-out;
border-radius: 50%;
transform: translate(-50%, -50%);
}
.installations div {
position: relative; position: relative;
display: inline-block; display: inline-block;
width: 250px; width: 250px;
} }
.custom-select { .installations div .selector {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@ -225,15 +267,15 @@ body {
transition: box-shadow 0.3s; transition: box-shadow 0.3s;
} }
.custom-select:hover { .installations div .selector:hover {
box-shadow: 6px 6px #4e4e50; box-shadow: 6px 6px #4e4e50;
} }
.custom-select.open { .installations div .selector.open {
border-radius: 0 0 5px 5px; border-radius: 0 0 5px 5px;
} }
.custom-options { .installations div .options {
position: absolute; position: absolute;
bottom: calc(100% + 2px); bottom: calc(100% + 2px);
left: 0; left: 0;
@ -255,14 +297,7 @@ body {
opacity 0.3s ease-out; opacity 0.3s ease-out;
} }
.custom-options.open { .installations div .options div {
display: block;
max-height: 200px;
padding: 10px 0;
opacity: 1;
}
.custom-option {
display: flex; display: flex;
align-items: center; align-items: center;
padding: 10px; padding: 10px;
@ -271,62 +306,27 @@ body {
transition: background-color 0.3s; transition: background-color 0.3s;
} }
.custom-option:last-child { .installations div .options div.open {
display: block;
max-height: 200px;
padding: 10px 0;
opacity: 1;
}
.installations div .options div:last-child {
border-bottom: none; border-bottom: none;
} }
.custom-option:hover { .installations div .options div:hover {
background-color: #127e3f; background-color: #127e3f;
} }
.custom-option img { .installations div .options div img {
width: 32px; width: 32px;
height: 32px; height: 32px;
margin-right: 10px; margin-right: 10px;
} }
.play-button {
background-color: #0f990f;
border: 2px solid #007700;
padding: 10px 40px;
border-radius: 5px;
cursor: pointer;
color: #fff;
font-size: 16px;
font-weight: bold;
text-transform: uppercase;
transition:
background-color 0.2s,
border-color 0.2s,
transform 0.2s;
overflow: hidden;
position: relative;
}
.play-button:hover {
background-color: #17b117;
border-color: #005500;
transform: scale(1.05);
}
.play-button:hover::before {
width: 0;
height: 0;
}
.play-button::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 300%;
height: 300%;
background-color: rgba(255, 255, 255, 0.1);
transition: all 0.4s ease-out;
border-radius: 50%;
transform: translate(-50%, -50%);
}
.bottom-bar { .bottom-bar {
background-color: #2c2c2c; background-color: #2c2c2c;
padding: 10px 20px; padding: 10px 20px;
@ -339,24 +339,24 @@ body {
box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.2); box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.2);
} }
.bottom-bar .bottom-bar-links { .bottom-bar div {
display: flex; display: flex;
} }
.bottom-bar .bottom-bar-left { .bottom-bar div .left {
color: #ddd; color: #ddd;
margin-right: 10px; margin-right: 10px;
text-decoration: none; text-decoration: none;
} }
.bottom-bar .bottom-bar-right { .bottom-bar div .right {
color: #ddd; color: #ddd;
margin-left: 10px; margin-left: 10px;
text-decoration: none; text-decoration: none;
} }
.bottom-bar .bottom-bar-left.link:hover, .bottom-bar div a[class='left']:hover,
.bottom-bar .bottom-bar-right.link:hover { .bottom-bar div a[class='right']:hover {
text-decoration: underline; text-decoration: underline;
cursor: pointer; cursor: pointer;
} }
@ -375,30 +375,6 @@ body {
padding: 5px 0 20px 30px; padding: 5px 0 20px 30px;
} }
.minecraft-button {
background-color: #a9a9a9;
border: 1px solid #333;
border-radius: 5px;
padding: 10px 20px;
font-size: 16px;
font-weight: bold;
text-transform: uppercase;
cursor: pointer;
outline: none;
}
.minecraft-button:hover {
background-color: #bdbdbd;
}
.minecraft-button:active {
background-color: #8a8a8a;
}
.version-label {
margin-right: 10px;
}
.downloads { .downloads {
padding: 25px; padding: 25px;
padding-top: 5px; padding-top: 5px;
@ -406,7 +382,7 @@ body {
align-items: center; align-items: center;
} }
.download-link { .downloads a {
display: inline-block; display: inline-block;
background-color: #048239; background-color: #048239;
color: #fff; color: #fff;
@ -417,7 +393,7 @@ body {
transition: background-color 0.3s; transition: background-color 0.3s;
} }
.download-link:hover { .downloads a:hover {
background-color: #00cc00; background-color: #00cc00;
} }
@ -431,7 +407,7 @@ body {
scrollbar-color: #555 #333; scrollbar-color: #555 #333;
} }
.mod-item { .mod-list div {
background-color: #333; background-color: #333;
border-radius: 8px; border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3); box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
@ -441,7 +417,7 @@ body {
padding-bottom: 35px; padding-bottom: 35px;
} }
.mod-item .mod-icon { .mod-list div img {
width: 80px; width: 80px;
height: 80px; height: 80px;
margin: 0 auto 10px; margin: 0 auto 10px;
@ -449,34 +425,34 @@ body {
object-fit: cover; object-fit: cover;
} }
.mod-item .mod-details { .mod-list div .mod-details {
padding: 10px 0; padding: 10px 0;
} }
.mod-item .mod-name { .mod-list div .mod-details strong {
font-size: 16px; font-size: 16px;
font-weight: bold; font-weight: bold;
margin-bottom: 5px; margin-bottom: 5px;
color: #fff; color: #fff;
} }
.mod-item .mod-author { .mod-list div .mod-details .mod-author {
font-size: 12px; font-size: 12px;
color: #ccc; color: #ccc;
margin-bottom: 5px; margin-bottom: 5px;
} }
.mod-item .mod-author a { .mod-list div .mod-details .mod-author a {
color: #0000ee; color: #0000ee;
} }
.mod-item .mod-description { .mod-list div .mod-details .mod-description {
font-size: 14px; font-size: 14px;
color: #bbb; color: #bbb;
margin-bottom: 10px; margin-bottom: 10px;
} }
.mod-item .mod-links { .mod-list div .mod-links {
display: flex; display: flex;
justify-content: space-around; justify-content: space-around;
width: calc(100% - 10px); width: calc(100% - 10px);
@ -486,8 +462,8 @@ body {
justify-content: center; justify-content: center;
} }
.mod-item .mod-links .mod-download, .mod-list div .mod-links .mod-download,
.mod-item .mod-links .mod-install { .mod-list div .mod-links .mod-install {
flex: 1; flex: 1;
margin: 0 5px; margin: 0 5px;
padding: 5px; padding: 5px;
@ -497,32 +473,130 @@ body {
transition: background-color 0.3s; transition: background-color 0.3s;
} }
.mod-item .mod-links .mod-download { .mod-list div .mod-links .mod-download {
background-color: #555; background-color: #555;
} }
.mod-item .mod-links .mod-download:hover { .mod-list div .mod-links .mod-download:hover {
cursor: pointer; cursor: pointer;
background-color: #777; background-color: #777;
} }
.mod-item .mod-links .mod-install { .mod-list div .mod-links .mod-install {
background-color: #4c4; background-color: #4c4;
} }
.mod-item .mod-links .mod-install:hover { .mod-list div .mod-links .mod-install:hover {
cursor: pointer; cursor: pointer;
background-color: #00b300; background-color: #00b300;
} }
.mod-item .mod-links .mod-install.installed { .mod-list div .mod-links .mod-install.installed {
background-color: #ff0000; background-color: #ff0000;
} }
.mod-item .mod-links .mod-install.installed:hover { .mod-list div .mod-links .mod-install.installed:hover {
background-color: #cc0000; background-color: #cc0000;
} }
.article-list {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 10px;
padding: 10px;
text-align: center;
scrollbar-width: thin;
scrollbar-color: #555 #333;
}
.article-list div {
background-color: #333;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
padding: 10px;
text-align: center;
position: relative;
padding-bottom: 0;
}
.article-list div:hover {
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
cursor: pointer;
background-color: #3d3d3d;
}
.article-list div img {
width: 80px;
height: 80px;
margin: 0 auto 10px;
border-radius: 5px;
object-fit: cover;
}
.article-list div .article-details {
padding: 10px 0;
}
.article-list div .article-details strong {
font-size: 16px;
font-weight: bold;
margin-bottom: 5px;
color: #fff;
}
.article-list div .article-details p {
font-size: 14px;
color: #bbb;
margin-bottom: 10px;
}
.article {
display: none;
position: fixed;
width: 500vw;
height: 500vh;
overflow: auto;
background-color: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
}
.article div {
background-color: #333;
padding: 20px;
border: 1px solid #888;
width: 65vw;
height: 85vh;
max-width: 85vw;
border-radius: 15px;
color: #fff;
overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: #555 #333;
position: relative;
}
.article div span {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
position: absolute;
top: 15px;
right: 15px;
}
.article div span:hover,
.article div span:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
.article div div a {
color: #0000ee;
}
.server-list { .server-list {
display: flex; display: flex;
flex: 1; flex: 1;
@ -535,7 +609,18 @@ body {
border: none; border: none;
} }
.version-select { .archive div {
margin: 1rem;
padding: 1rem;
border: 2px solid #3c3c3c;
border-radius: 8px;
background-color: #2e2e2e;
display: flex;
flex-direction: column;
align-items: flex-start;
}
.archive div select {
width: 100%; width: 100%;
padding: 0.5rem; padding: 0.5rem;
border: 2px solid #4a4a4a; border: 2px solid #4a4a4a;
@ -559,72 +644,53 @@ body {
background-color 0.3s; background-color 0.3s;
} }
.version-select:focus { .archive div select:focus {
border-color: #4a90e2; border-color: #00cc00;
outline: none; outline: none;
background-color: #2e2e2e; background-color: #2e2e2e;
} }
.version-select option { .archive div select option {
background-color: #1e1e1e; background-color: #1e1e1e;
color: #ffffff; color: #ffffff;
} }
.version-label { .archive div label {
font-size: 1rem; font-size: 1rem;
color: #ffffff; color: #ffffff;
margin-bottom: 0.5rem; margin-bottom: 0.5rem;
margin-right: 10px;
} }
.archive-section { .archive button {
margin: 1rem;
padding: 1rem;
border: 2px solid #3c3c3c;
border-radius: 8px;
background-color: #2e2e2e;
display: flex;
flex-direction: column;
align-items: flex-start;
}
.archive-button {
padding: 0.5rem 1rem;
margin-top: 0.5rem;
border: none;
border-radius: 5px;
background-color: #4a90e2;
color: #ffffff;
font-size: 1rem;
cursor: pointer;
transition: background-color 0.3s;
}
.archive-link {
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
margin: 0.5rem 1rem; margin: 0.5rem 1rem;
border: none; border: none;
border-radius: 5px; border-radius: 5px;
background-color: #4a90e2; background-color: #048239;
color: #ffffff; color: #ffffff;
font-size: 1rem; font-size: 1rem;
cursor: pointer; cursor: pointer;
transition: background-color 0.3s; transition: background-color 0.3s;
width: calc(100% - 2rem);
} }
.archive-button:hover, .archive button:hover {
.archive-link:hover { background-color: #00cc00;
background-color: #357abd;
} }
.archive-button:focus, .archive button:focus {
.archive-link:focus {
outline: none; outline: none;
box-shadow: 0 0 0 2px #357abd; box-shadow: 0 0 0 2px #00cc00;
} }
.archive-button:active, .archive button:active {
.archive-link:active { transform: scale(0.99);
transform: scale(0.95); }
.archive div button {
margin: 0.5rem 0 0 0;
width: 100%;
} }
.settings { .settings {
@ -635,12 +701,12 @@ body {
justify-content: center; justify-content: center;
} }
.settings-section { .settings form {
margin: 5px; margin: 5px;
} }
.settings-input, .settings form input[type='text'],
.settings-select { .settings form select {
width: calc(100% - 22px); width: calc(100% - 22px);
padding: 10px; padding: 10px;
margin-bottom: 10px; margin-bottom: 10px;
@ -651,17 +717,17 @@ body {
appearance: none; appearance: none;
} }
.settings-checkbox { .settings form input[type='checkbox'] {
padding: 10px; padding: 10px;
margin-bottom: 15px; margin-bottom: 15px;
} }
.settings-input:focus, .settings form input[type='text']:focus,
.settings-select:focus { .settings form select:focus {
outline: none; outline: none;
} }
.setup-submit { .settings form button[type='submit'] {
width: 100%; width: 100%;
padding: 10px; padding: 10px;
border: none; border: none;
@ -672,11 +738,10 @@ body {
transition: background-color 0.2s; transition: background-color 0.2s;
} }
.setup-submit:hover { .settings form button[type='submit']:hover {
background-color: #00ff00; background-color: #00ff00;
} }
.setup-page,
.error-page { .error-page {
display: flex; display: flex;
flex: 1; flex: 1;
@ -687,104 +752,6 @@ body {
padding-bottom: 7%; padding-bottom: 7%;
} }
.article-list {
display: grid;
grid-template-columns: repeat(6, 1fr);
gap: 10px;
padding: 10px;
text-align: center;
scrollbar-width: thin;
scrollbar-color: #555 #333;
}
.article-item {
background-color: #333;
border-radius: 8px;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
padding: 10px;
text-align: center;
position: relative;
padding-bottom: 0;
}
.article-item:hover {
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
cursor: pointer;
background-color: #3d3d3d;
}
.article-item .article-icon {
width: 80px;
height: 80px;
margin: 0 auto 10px;
border-radius: 5px;
object-fit: cover;
}
.article-item .article-details {
padding: 10px 0;
}
.article-item .article-name {
font-size: 16px;
font-weight: bold;
margin-bottom: 5px;
color: #fff;
}
.article-item .article-description {
font-size: 14px;
color: #bbb;
margin-bottom: 10px;
}
.article {
display: none;
position: fixed;
width: 500vw;
height: 500vh;
overflow: auto;
background-color: rgba(0, 0, 0, 0.5);
justify-content: center;
align-items: center;
}
.article .article-content {
background-color: #333;
padding: 20px;
border: 1px solid #888;
width: 65vw;
height: 85vh;
max-width: 85vw;
border-radius: 15px;
color: #fff;
overflow-y: auto;
scrollbar-width: thin;
scrollbar-color: #555 #333;
position: relative;
}
.article .article-content a {
color: #0000ee;
}
.article .article-content .close-button {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
position: absolute;
top: 15px;
right: 15px;
}
.article .article-content .close-button:hover,
.article .article-content .close-button:focus {
color: #fff;
text-decoration: none;
cursor: pointer;
}
@media (max-width: 1750px) { @media (max-width: 1750px) {
.mod-list, .mod-list,
.article-list { .article-list {

View File

@ -48,18 +48,18 @@ body {
background-color: #1c1c1c; background-color: #1c1c1c;
} }
.custom-select { .installations div .selector {
border: 2px solid #444; border: 2px solid #444;
background-color: #333; background-color: #333;
color: #e0e0e0; color: #e0e0e0;
box-shadow: 4px 4px #111; box-shadow: 4px 4px #111;
} }
.custom-select:hover { .installations div .selector:hover {
box-shadow: 6px 6px #111; box-shadow: 6px 6px #111;
} }
.custom-options { .installations div .installations div .options divs {
border: 2px solid #444; border: 2px solid #444;
background-color: #222; background-color: #222;
box-shadow: 4px 4px #111; box-shadow: 4px 4px #111;
@ -67,21 +67,21 @@ body {
scrollbar-color: #333 #222; scrollbar-color: #333 #222;
} }
.custom-option { .installations div .options div {
border-bottom: 1px solid #444; border-bottom: 1px solid #444;
} }
.custom-option:hover { .installations div .options div:hover {
background-color: #333; background-color: #333;
} }
.play-button { .installations button {
background-color: #444; background-color: #444;
border: 2px solid #333; border: 2px solid #333;
color: #e0e0e0; color: #e0e0e0;
} }
.play-button:hover { .installations button:hover {
background-color: #555; background-color: #555;
border-color: #444; border-color: #444;
} }
@ -91,37 +91,24 @@ body {
box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.5); box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.5);
} }
.bottom-bar .bottom-bar-left { .bottom-bar div .bottom-bar-left {
color: #e0e0e0; color: #e0e0e0;
} }
.bottom-bar .bottom-bar-left:hover { .bottom-bar div .bottom-bar-left:hover {
color: #aaa; color: #aaa;
} }
.bottom-bar .bottom-bar-right { .bottom-bar div .bottom-bar-right {
color: #e0e0e0; color: #e0e0e0;
} }
.minecraft-button { .downloads a {
background-color: #333;
border: 1px solid #444;
}
.minecraft-button:hover {
background-color: #444;
}
.minecraft-button:active {
background-color: #555;
}
.download-link {
background-color: #333; background-color: #333;
color: #e0e0e0; color: #e0e0e0;
} }
.download-link:hover { .downloads a:hover {
background-color: #444; background-color: #444;
} }

View File

@ -45,66 +45,53 @@ body {
border-top: 1px solid #ddd; border-top: 1px solid #ddd;
} }
.custom-select { .installations div .selector {
border: 2px solid #ccc; border: 2px solid #ccc;
background-color: #fff; background-color: #fff;
color: #333; color: #333;
box-shadow: 4px 4px #ddd; box-shadow: 4px 4px #ddd;
} }
.custom-select:hover { .installations div .selector:hover {
box-shadow: 6px 6px #ddd; box-shadow: 6px 6px #ddd;
} }
.custom-options { .installations div .installations div .options divs {
border: 2px solid #ccc; border: 2px solid #ccc;
background-color: #fff; background-color: #fff;
box-shadow: 4px 4px #ddd; box-shadow: 4px 4px #ddd;
} }
.custom-option { .installations div .options div {
border-bottom: 1px solid #ccc; border-bottom: 1px solid #ccc;
color: #333; color: #333;
} }
.custom-option:hover { .installations div .options div:hover {
background-color: #f0f0f0; background-color: #f0f0f0;
} }
.play-button { .installations button {
background-color: #4caf50; background-color: #4caf50;
border: 2px solid #388e3c; border: 2px solid #388e3c;
color: #fff; color: #fff;
} }
.play-button:hover { .installations button:hover {
background-color: #66bb6a; background-color: #66bb6a;
border-color: #2e7d32; border-color: #2e7d32;
} }
.bottom-bar .bottom-bar-left, .bottom-bar div .bottom-bar-left,
.bottom-bar .bottom-bar-right { .bottom-bar div .bottom-bar-right {
color: #333; color: #333;
} }
.minecraft-button { .downloads a {
background-color: #e0e0e0;
border: 1px solid #ccc;
}
.minecraft-button:hover {
background-color: #d5d5d5;
}
.minecraft-button:active {
background-color: #bdbdbd;
}
.download-link {
background-color: #4caf50; background-color: #4caf50;
} }
.download-link:hover { .downloads a:hover {
background-color: #66bb6a; background-color: #66bb6a;
} }

View File

@ -40,32 +40,32 @@ body {
border-top: 1px solid #5c3c3c; border-top: 1px solid #5c3c3c;
} }
.custom-select { .installations div .selector {
background-color: #8b0000; background-color: #8b0000;
border: 2px solid #4c2c2c; border: 2px solid #4c2c2c;
box-shadow: 4px 4px #5c3c3c; box-shadow: 4px 4px #5c3c3c;
} }
.custom-select:hover { .installations div .selector:hover {
box-shadow: 6px 6px #5c3c3c; box-shadow: 6px 6px #5c3c3c;
} }
.custom-options { .installations div .installations div .options divs {
background-color: #4c2c2c; background-color: #4c2c2c;
border: 2px solid #4c2c2c; border: 2px solid #4c2c2c;
box-shadow: 4px 4px #5c3c3c; box-shadow: 4px 4px #5c3c3c;
} }
.custom-option:hover { .installations div .options div:hover {
background-color: #8b0000; background-color: #8b0000;
} }
.play-button { .installations button {
background-color: #ff4500; background-color: #ff4500;
border: 2px solid #8b0000; border: 2px solid #8b0000;
} }
.play-button:hover { .installations button:hover {
background-color: #ff6347; background-color: #ff6347;
border-color: #8b0000; border-color: #8b0000;
} }
@ -76,29 +76,16 @@ body {
box-shadow: 0 -2px 4px rgba(255, 69, 0, 0.2); box-shadow: 0 -2px 4px rgba(255, 69, 0, 0.2);
} }
.bottom-bar .bottom-bar-left, .bottom-bar div .bottom-bar-left,
.bottom-bar .bottom-bar-right { .bottom-bar div .bottom-bar-right {
color: #ffcc00; color: #ffcc00;
} }
.minecraft-button { .downloads a {
background-color: #8b0000;
border: 1px solid #4c2c2c;
}
.minecraft-button:hover {
background-color: #a52a2a;
}
.minecraft-button:active {
background-color: #5c3c3c;
}
.download-link {
background-color: #8b0000; background-color: #8b0000;
} }
.download-link:hover { .downloads a:hover {
background-color: #ff4500; background-color: #ff4500;
} }

View File

@ -40,32 +40,32 @@ body {
border-top: 1px solid #5c7c5c; border-top: 1px solid #5c7c5c;
} }
.custom-select { .installations div .selector {
background-color: #00b000; background-color: #00b000;
border: 2px solid #4c6c4c; border: 2px solid #4c6c4c;
box-shadow: 4px 4px #5c7c5c; box-shadow: 4px 4px #5c7c5c;
} }
.custom-select:hover { .installations div .selector:hover {
box-shadow: 6px 6px #5c7c5c; box-shadow: 6px 6px #5c7c5c;
} }
.custom-options { .installations div .installations div .options divs {
background-color: #4c6c4c; background-color: #4c6c4c;
border: 2px solid #4c6c4c; border: 2px solid #4c6c4c;
box-shadow: 4px 4px #5c7c5c; box-shadow: 4px 4px #5c7c5c;
} }
.custom-option:hover { .installations div .options div:hover {
background-color: #00b000; background-color: #00b000;
} }
.play-button { .installations button {
background-color: #00ff00; background-color: #00ff00;
border: 2px solid #00b000; border: 2px solid #00b000;
} }
.play-button:hover { .installations button:hover {
background-color: #32ff32; background-color: #32ff32;
border-color: #00b000; border-color: #00b000;
} }
@ -76,29 +76,16 @@ body {
box-shadow: 0 -2px 4px rgba(0, 255, 0, 0.2); box-shadow: 0 -2px 4px rgba(0, 255, 0, 0.2);
} }
.bottom-bar .bottom-bar-left, .bottom-bar div .bottom-bar-left,
.bottom-bar .bottom-bar-right { .bottom-bar div .bottom-bar-right {
color: #00ff00; color: #00ff00;
} }
.minecraft-button { .downloads a {
background-color: #00b000;
border: 1px solid #4c6c4c;
}
.minecraft-button:hover {
background-color: #32cd32;
}
.minecraft-button:active {
background-color: #5c7c5c;
}
.download-link {
background-color: #00b000; background-color: #00b000;
} }
.download-link:hover { .downloads a:hover {
background-color: #00ff00; background-color: #00ff00;
} }

View File

@ -28,11 +28,10 @@ body {
.profile, .profile,
.nav-bar li, .nav-bar li,
.installations, .installations,
.custom-select, .installations div .selector,
.custom-options, .installations div .installations div .options divs,
.play-button, .installations button,
.minecraft-button, .downloads a {
.download-link {
background-color: #111; background-color: #111;
border: 2px solid #00ff00; border: 2px solid #00ff00;
color: #00ff00; color: #00ff00;
@ -40,42 +39,40 @@ body {
.nav-bar li:hover, .nav-bar li:hover,
.nav-bar li.selected, .nav-bar li.selected,
.custom-option:hover, .installations div .options div:hover,
.play-button:hover, .installations button:hover,
.minecraft-button:hover, .downloads a:hover {
.download-link:hover {
background-color: #333; background-color: #333;
} }
.custom-select:hover, .installations div .selector:hover,
.custom-select.open, .installations div .selector.open,
.play-button:hover, .installations button:hover,
.minecraft-button:hover, .downloads a:hover {
.download-link:hover {
box-shadow: none; box-shadow: none;
} }
.custom-option { .installations div .options div {
border-bottom: 1px solid #00ff00; border-bottom: 1px solid #00ff00;
} }
.custom-option:last-child { .installations div .options div:last-child {
border-bottom: none; border-bottom: none;
} }
.play-button::before { .installations button::before {
background-color: rgba(0, 255, 0, 0.1); background-color: rgba(0, 255, 0, 0.1);
} }
.play-button:hover::before { .installations button:hover::before {
background-color: rgba(0, 255, 0, 0.2); background-color: rgba(0, 255, 0, 0.2);
} }
.play-button span { .installations button span {
animation: none; animation: none;
} }
.bottom-bar .bottom-bar-left:hover { .bottom-bar div .bottom-bar-left:hover {
text-decoration: none; text-decoration: none;
color: #00ff00; color: #00ff00;
} }

View File

@ -24,31 +24,31 @@ body {
color: #00ccff; color: #00ccff;
} }
.custom-select, .installations div .selector,
.custom-options { .installations div .installations div .options divs {
background-color: rgba(0, 0, 0, 0.8); background-color: rgba(0, 0, 0, 0.8);
color: #00ccff; color: #00ccff;
border: 2px solid #00ccff; border: 2px solid #00ccff;
} }
.custom-option:hover { .installations div .options div:hover {
background-color: rgba(0, 204, 255, 0.2); background-color: rgba(0, 204, 255, 0.2);
} }
.play-button { .installations button {
background-color: #00ccff; background-color: #00ccff;
border: 2px solid #0099cc; border: 2px solid #0099cc;
} }
.play-button:hover { .installations button:hover {
background-color: #00e6ff; background-color: #00e6ff;
border-color: #0077aa; border-color: #0077aa;
} }
.download-link { .downloads a {
background-color: #00ccff; background-color: #00ccff;
} }
.download-link:hover { .downloads a:hover {
background-color: #00e6ff; background-color: #00e6ff;
} }

View File

@ -42,59 +42,46 @@ body {
border-top: 1px solid #330066; border-top: 1px solid #330066;
} }
.custom-select { .installations div .selector {
background-color: #4d0099; background-color: #4d0099;
border: 2px solid #330066; border: 2px solid #330066;
box-shadow: 4px 4px #6600cc; box-shadow: 4px 4px #6600cc;
} }
.custom-select:hover { .installations div .selector:hover {
box-shadow: 6px 6px #6600cc; box-shadow: 6px 6px #6600cc;
} }
.custom-options { .installations div .installations div .options divs {
background-color: #330066; background-color: #330066;
border: 2px solid #22004d; border: 2px solid #22004d;
box-shadow: 4px 4px #6600cc; box-shadow: 4px 4px #6600cc;
} }
.custom-option:hover { .installations div .options div:hover {
background-color: #4d0099; background-color: #4d0099;
} }
.play-button { .installations button {
background-color: #6600cc; background-color: #6600cc;
border: 2px solid #330066; border: 2px solid #330066;
} }
.play-button:hover { .installations button:hover {
background-color: #8000ff; background-color: #8000ff;
border-color: #22004d; border-color: #22004d;
} }
.bottom-bar .bottom-bar-left:hover { .bottom-bar div .bottom-bar-left:hover {
text-decoration: underline; text-decoration: underline;
color: #b300b3; color: #b300b3;
} }
.minecraft-button { .downloads a {
background-color: #8000ff;
border: 1px solid #330066;
}
.minecraft-button:hover {
background-color: #9933ff;
}
.minecraft-button:active {
background-color: #6600cc;
}
.download-link {
background-color: #4d0099; background-color: #4d0099;
} }
.download-link:hover { .downloads a:hover {
background-color: #8000ff; background-color: #8000ff;
} }

View File

@ -66,13 +66,11 @@
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -63,36 +63,32 @@
</div> </div>
<div class="main-content"> <div class="main-content">
<div class="settings"> <div class="settings">
<div class="settings-section"> <form>
<label for="username-input">Username:</label> <label for="username-input">Username:</label>
<input type="text" class="settings-input" id="username-input" /> <input id="username-input" type="text" />
</div>
<div class="settings-section">
<label for="theme-select">Theme:</label> <label for="theme-select">Theme:</label>
<select id="theme-select" class="settings-select"> <select id="theme-select">
<option disabled hidden value=""></option> <option disabled hidden value=""></option>
</select> </select>
</div> </form>
<!-- <div class="settings-section"> <!-- <div>
<label for="offline-checkbox">Enable offline use:</label> <label for="offline-checkbox">Enable offline use:</label>
<input type="checkbox" class="settings-checkbox" id="offline-checkbox" /> <input id="offline-checkbox" type="checkbox" />
</div> --> </div> -->
<!-- <div class="settings-section"> <!-- <div>
<label for="ads-checkbox">Show ads:</label> <label for="ads-checkbox">Show ads:</label>
<input type="checkbox" class="settings-checkbox" id="ads-checkbox" /> <input id="ads-checkbox" type="checkbox" />
</div> --> </div> -->
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -67,13 +67,11 @@
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>

View File

@ -19,32 +19,30 @@
<div class="content"> <div class="content">
<div class="main-panel"> <div class="main-panel">
<div class="main-content"> <div class="main-content">
<div class="setup-page"> <div class="settings">
<h2>Welcome to MineXLauncher!</h2> <h2>Welcome to MineXLauncher!</h2>
<p>Let's get you setup.</p> <p>Let's get you setup.</p>
<form id="setup-form"> <form id="setup-form">
<label for="username-input">Username:</label> <label for="username-input">Username:</label>
<input id="username-input" class="settings-input" placeholder="Enter username" /> <input id="username-input" type="text" placeholder="Enter username" />
<label for="theme-select">Theme:</label> <label for="theme-select">Theme:</label>
<select id="theme-select" class="settings-select"> <select id="theme-select">
<option disabled hidden value=""></option> <option disabled hidden value=""></option>
</select> </select>
<!-- <label for="offline-checkbox">Enable offline use:</label> <!-- <label for="offline-checkbox">Enable offline use:</label>
<input type="checkbox" id="offline-checkbox" class="settings-checkbox" /> --> <input id="offline-checkbox" type="checkbox" /> -->
<button type="submit" class="setup-submit">Submit</button> <button type="submit">Submit</button>
</form> </form>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="bottom-bar"> <div class="bottom-bar">
<div class="bottom-bar-links"> <div>
<a href="https://discord.gg/VRwbRJjXzt" class="bottom-bar-left link" target="_blank" <a class="left" href="https://discord.gg/VRwbRJjXzt" target="_blank">Join the MineXLauncher Discord</a>
>Join the MineXLauncher Discord</a
>
</div> </div>
<div class="bottom-bar-links"> <div>
<span class="bottom-bar-right">© 2024 MineXLauncher. All rights reserved.</span> <span class="right">© 2024 MineXLauncher. All rights reserved.</span>
</div> </div>
</div> </div>
</div> </div>