mirror of
https://github.com/zumbiepig/MineXLauncher.git
synced 2025-06-08 09:24:48 +00:00
test
This commit is contained in:
parent
69f433a992
commit
e8a0e4ad66
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -1,718 +0,0 @@
|
||||
@font-face {
|
||||
font-family: Minecraftia-Regular;
|
||||
src: url(/resources/fonts/Minecraftia-Regular.ttf);
|
||||
}
|
||||
|
||||
body {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
margin: 0;
|
||||
font-family: sans-serif;
|
||||
background-color: #1e1e1e;
|
||||
color: #fff;
|
||||
overflow: hidden;
|
||||
background-image: none;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.ads-container {
|
||||
display: none;
|
||||
flex: 1;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.launcher {
|
||||
width: 65vw;
|
||||
height: 95vh;
|
||||
margin: 15px auto 0 auto;
|
||||
background-color: #333;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.title-bar {
|
||||
background-color: #2c2c2c;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
color: #ddd;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.content {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
background-color: #242424;
|
||||
width: 200px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex-shrink: 0;
|
||||
border-right: 1px solid #333;
|
||||
}
|
||||
|
||||
.profile {
|
||||
padding: 20px 10px;
|
||||
border-bottom: 1px solid #333;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.profile-name {
|
||||
font-weight: bold;
|
||||
display: block;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
nav {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.nav-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 15px 20px;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.2s;
|
||||
}
|
||||
|
||||
.nav-item:hover,
|
||||
.nav-item.selected {
|
||||
background-color: #444;
|
||||
}
|
||||
|
||||
.nav-icon {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.nav-text {
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.main-panel {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background-color: #202020;
|
||||
}
|
||||
|
||||
.top-bar {
|
||||
background-color: #2c2c2c;
|
||||
padding: 15px 20px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
color: #ddd;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.top-menu {
|
||||
background-color: #2c2c2c;
|
||||
padding: 10px 20px;
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
align-items: center;
|
||||
color: #ddd;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.top-menu ul {
|
||||
list-style-type: none;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.top-menu ul li {
|
||||
margin-right: 20px;
|
||||
cursor: pointer;
|
||||
font-size: 16px;
|
||||
color: #ccc;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
|
||||
.top-menu ul li.selected {
|
||||
color: #fff;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.top-menu ul li:hover {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.game-title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.tabs {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.tab {
|
||||
margin-left: 20px;
|
||||
cursor: pointer;
|
||||
color: #888;
|
||||
text-transform: uppercase;
|
||||
font-size: 14px;
|
||||
transition: color 0.2s;
|
||||
}
|
||||
|
||||
.tab:hover,
|
||||
.tab.selected {
|
||||
color: #00cc00;
|
||||
}
|
||||
|
||||
.main-content {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
background-color: #202020;
|
||||
box-sizing: border-box;
|
||||
overflow-y: auto;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #555 #333;
|
||||
}
|
||||
|
||||
.cover-image {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.cover-image img {
|
||||
flex: 1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.installations {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
background-color: #292929;
|
||||
box-sizing: border-box;
|
||||
position: sticky;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
padding: 10px 20px;
|
||||
border-top: 1px solid #333;
|
||||
}
|
||||
|
||||
.custom-select-wrapper {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 250px;
|
||||
}
|
||||
|
||||
.custom-select {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-family: sans-serif;
|
||||
font-size: 1em;
|
||||
padding: 7px;
|
||||
border: 2px solid #000;
|
||||
background-color: #048239;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
box-shadow: 4px 4px #4e4e50;
|
||||
user-select: none;
|
||||
transition: box-shadow 0.3s;
|
||||
}
|
||||
|
||||
.custom-select:hover {
|
||||
box-shadow: 6px 6px #4e4e50;
|
||||
}
|
||||
|
||||
.custom-select.open {
|
||||
border-radius: 0 0 5px 5px;
|
||||
}
|
||||
|
||||
.custom-options {
|
||||
position: absolute;
|
||||
bottom: calc(100% + 2px);
|
||||
left: 0;
|
||||
right: 0;
|
||||
border: 2px solid #000;
|
||||
border-bottom: none;
|
||||
background-color: #035525;
|
||||
box-shadow: 4px 4px #4e4e50;
|
||||
display: none;
|
||||
border-radius: 5px 5px 0 0;
|
||||
color: #fff;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #048239 #035525;
|
||||
max-height: 0;
|
||||
overflow: auto;
|
||||
transition: max-height 0.3s ease-out, padding 0.3s ease-out, opacity 0.3s ease-out;
|
||||
}
|
||||
|
||||
.custom-options.open {
|
||||
display: block;
|
||||
max-height: 200px;
|
||||
padding: 10px 0;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.custom-option {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 10px;
|
||||
cursor: pointer;
|
||||
border-bottom: 1px solid #000;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
.custom-option:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.custom-option:hover {
|
||||
background-color: #127e3f;
|
||||
}
|
||||
|
||||
.custom-option img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
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::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%);
|
||||
z-index: 0;
|
||||
}
|
||||
|
||||
.play-button:hover::before {
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.play-button:hover {
|
||||
background-color: #17b117;
|
||||
border-color: #005500;
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
.play-button span {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
.play-button:hover span {
|
||||
animation: play-button 1.5s infinite alternate;
|
||||
}
|
||||
|
||||
@keyframes play-button {
|
||||
0% {
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: scale(1.1);
|
||||
}
|
||||
}
|
||||
|
||||
.bottom-bar {
|
||||
background-color: #2c2c2c;
|
||||
padding: 10px 20px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
font-size: 14px;
|
||||
text-decoration: none;
|
||||
border-top: 1px solid #333;
|
||||
box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
.bottom-bar .bottom-bar-links {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.bottom-bar .bottom-bar-left {
|
||||
color: #ddd;
|
||||
margin-right: 10px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.bottom-bar .bottom-bar-right {
|
||||
color: #ddd;
|
||||
margin-left: 10px;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.bottom-bar .bottom-bar-left.link:hover,
|
||||
.bottom-bar .bottom-bar-right.link:hover {
|
||||
text-decoration: underline;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.updates-container {
|
||||
margin: 20px;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.updates-container strong {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.updates-container ul {
|
||||
margin: 0px;
|
||||
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 {
|
||||
padding: 25px;
|
||||
padding-top: 5px;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.download-link {
|
||||
display: inline-block;
|
||||
background-color: #048239;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
padding: 10px 20px;
|
||||
border-radius: 5px;
|
||||
margin-bottom: 10px;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
.download-link:hover {
|
||||
background-color: #00cc00;
|
||||
}
|
||||
|
||||
.mod-list {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 10px;
|
||||
padding: 10px;
|
||||
text-align: center;
|
||||
scrollbar-width: thin;
|
||||
scrollbar-color: #555 #333;
|
||||
}
|
||||
|
||||
.mod-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: 35px;
|
||||
}
|
||||
|
||||
.mod-item .mod-icon {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
margin: 0 auto 10px;
|
||||
}
|
||||
|
||||
.mod-item .mod-icon img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: 5px;
|
||||
object-fit: cover;
|
||||
}
|
||||
|
||||
.mod-item .mod-details {
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
||||
.mod-item .mod-name {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
margin-bottom: 5px;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.mod-item .mod-author {
|
||||
font-size: 12px;
|
||||
color: #ccc;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.mod-item .mod-author a {
|
||||
color: #0000ff
|
||||
}
|
||||
|
||||
.mod-item .mod-description {
|
||||
font-size: 14px;
|
||||
color: #bbb;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.mod-item .mod-links {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
width: calc(100% - 20px);
|
||||
position: absolute;
|
||||
bottom: 10px;
|
||||
left: 10px;
|
||||
}
|
||||
|
||||
.mod-item .mod-links .mod-download,
|
||||
.mod-item .mod-links .mod-install {
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.mod-item .mod-links .mod-download {
|
||||
padding: 5px 15px;
|
||||
background-color: #555;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
border-radius: 7px;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
.mod-item .mod-links .mod-download:hover {
|
||||
cursor: pointer;
|
||||
background-color: #777;
|
||||
}
|
||||
|
||||
.mod-item .mod-links .mod-install {
|
||||
padding: 5px 15px;
|
||||
background-color: #4c4;
|
||||
color: #fff;
|
||||
text-decoration: none;
|
||||
border-radius: 7px;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
.mod-item .mod-links .mod-install:hover {
|
||||
cursor: pointer;
|
||||
background-color: #00b300;
|
||||
}
|
||||
|
||||
.mod-item .mod-links .mod-install.installed {
|
||||
background-color: #ff0000;
|
||||
}
|
||||
|
||||
.mod-item .mod-links .mod-install.installed:hover {
|
||||
background-color: #cc0000;
|
||||
}
|
||||
|
||||
.server-list {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.server-list iframe {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.version-select {
|
||||
width: 100%;
|
||||
padding: 0.5rem;
|
||||
border: 2px solid #4a4a4a;
|
||||
border-radius: 5px;
|
||||
background-color: #1e1e1e;
|
||||
color: #ffffff;
|
||||
font-size: 1rem;
|
||||
cursor: pointer;
|
||||
appearance: none;
|
||||
background-image: linear-gradient(45deg, transparent 50%, #ffffff 50%), linear-gradient(135deg, #1e1e1e 50%, transparent 50%);
|
||||
background-position: right 0.7rem center, right 0.7rem center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 0.65rem auto, 0.65rem auto;
|
||||
transition: border-color 0.3s, background-color 0.3s;
|
||||
}
|
||||
|
||||
.version-select:focus {
|
||||
border-color: #4a90e2;
|
||||
outline: none;
|
||||
background-color: #2e2e2e;
|
||||
}
|
||||
|
||||
.version-select option {
|
||||
background-color: #1e1e1e;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
.version-label {
|
||||
font-size: 1rem;
|
||||
color: #ffffff;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.archive-section {
|
||||
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;
|
||||
margin: 0.5rem 1rem;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
background-color: #4a90e2;
|
||||
color: #ffffff;
|
||||
font-size: 1rem;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.3s;
|
||||
}
|
||||
|
||||
.archive-button:hover,
|
||||
.archive-link:hover {
|
||||
background-color: #357abd;
|
||||
}
|
||||
|
||||
.archive-button:focus,
|
||||
.archive-link:focus {
|
||||
outline: none;
|
||||
box-shadow: 0 0 0 2px #357abd;
|
||||
}
|
||||
|
||||
.archive-button:active,
|
||||
.archive-link:active {
|
||||
transform: scale(0.95);
|
||||
}
|
||||
|
||||
.settings {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.settings-section {
|
||||
margin: 5px;
|
||||
}
|
||||
|
||||
#username-input,
|
||||
#theme-select {
|
||||
width: calc(100% - 22px);
|
||||
padding: 10px;
|
||||
margin-bottom: 10px;
|
||||
border: none;
|
||||
border-radius: 3px;
|
||||
background-color: #333;
|
||||
color: #fff;
|
||||
appearance: none;
|
||||
}
|
||||
|
||||
#offline-checkbox {
|
||||
padding: 10px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
#username-input:focus,
|
||||
#theme-select:focus {
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.setup-submit {
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
border: none;
|
||||
border-radius: 3px;
|
||||
background-color: #00cc00;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
transition: background-color 0.2s;
|
||||
}
|
||||
|
||||
.setup-submit:hover {
|
||||
background-color: #00ff00;
|
||||
}
|
||||
|
||||
.setup-page,
|
||||
.error-page {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 20px;
|
||||
padding-bottom: 7%;
|
||||
}
|
@ -4,11 +4,14 @@
|
||||
<meta charset="UTF-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<title>MineXLauncher</title>
|
||||
<link rel="stylesheet" href="styles.css" />
|
||||
<script src="main.js"></script>
|
||||
<link rel="icon" type="image/webp" href="/resources/images/icons/favicon.webp" />
|
||||
<link rel="stylesheet" href="/resources/styles/themes/default.css" />
|
||||
<link rel="stylesheet" id="theme" onload="document.body.style.display = ''" />
|
||||
<meta name="theme-color" content="#333" />
|
||||
<script src="/resources/scripts/google-tag.js"></script>
|
||||
<script src="/resources/scripts/main.js"></script>
|
||||
</head>
|
||||
<body style="display: none">
|
||||
|
||||
<div class="launcher">
|
||||
<div class="title-bar">
|
||||
<span id="title-bar-text">MineXLauncher</span>
|
||||
@ -19,19 +22,16 @@
|
||||
<span class="profile-name" id="profile-name"></span>
|
||||
</div>
|
||||
<nav>
|
||||
|
||||
<li class="nav-item selected" onclick="navigate.home.game()">
|
||||
<li class="nav-item selected" href="/offline/">
|
||||
<img src="/resources/images/icons/nav/game.webp" class="nav-icon" />
|
||||
<span class="nav-text">Offline Game</span>
|
||||
<span class="nav-text">Offline</span>
|
||||
</li>
|
||||
|
||||
</nav>
|
||||
</div>
|
||||
<div class="main-panel">
|
||||
<div class="top-menu">
|
||||
<ul>
|
||||
<li class="menu-item selected" onclick="navigate.home.game()">Game</li>
|
||||
|
||||
<li class="menu-item selected" href="/offline/">Game</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="main-content">
|
||||
@ -45,40 +45,39 @@
|
||||
<span class="custom-select-trigger">Select a version</span>
|
||||
</div>
|
||||
<div class="custom-options">
|
||||
<div class="custom-option" onclick="game.select('game/EaglercraftL_1.9', '1.9.4')">
|
||||
<div class="custom-option" onclick="game.select('/game/offline/main/EaglercraftL_1.9.html', '1.9.4')">
|
||||
<img src="/resources/images/icons/clients/all.webp" />
|
||||
<span>1.9.4</span>
|
||||
</div>
|
||||
<div class="custom-option" onclick="game.select('game/EaglercraftX_1/8', '1.8.8')">
|
||||
<div class="custom-option" onclick="game.select('/game/offline/main/EaglercraftX_1.8.html', '1.8.8')">
|
||||
<img src="/resources/images/icons/clients/all.webp" />
|
||||
<span>1.8.8</span>
|
||||
</div>
|
||||
<div class="custom-option" onclick="game.select('game/Eaglercraft_1.5', '1.5.2')">
|
||||
<div class="custom-option" onclick="game.select('/game/offline/main/Eaglercraft_1.5.html', '1.5.2')">
|
||||
<img src="/resources/images/icons/clients/all.webp" />
|
||||
<span>1.5.2</span>
|
||||
</div>
|
||||
<div class="custom-option" onclick="game.select('/game/Eaglercraft_a1.2.5', '1.2.5')">
|
||||
<div class="custom-option" onclick="game.select('/game/offline/main/Eaglercraft_1.2.5.html', '1.2.5')">
|
||||
<img src="/resources/images/icons/clients/all.webp" />
|
||||
<span>1.2.5</span>
|
||||
</div>
|
||||
<div class="custom-option" onclick="game.select('/game/Eag;ercraft_b1.7.3.html', 'Beta 1.7.3')">
|
||||
<div class="custom-option" onclick="game.select('/game/offline/main/Eaglercraft_b1.7.3.html', 'Beta 1.7.3')">
|
||||
<img src="/resources/images/icons/clients/all.webp" />
|
||||
<span>Beta 1.7.3</span>
|
||||
</div>
|
||||
<div class="custom-option" onclick="game.select('/game/Eaglercraft_b1.3.html', 'Beta 1.3')">
|
||||
<div class="custom-option" onclick="game.select('/game/offline/main/Eaglercraft_b1.3.html', 'Beta 1.3')">
|
||||
<img src="/resources/images/icons/clients/all.webp" />
|
||||
<span>Beta 1.3</span>
|
||||
</div>
|
||||
<div class="custom-option" onclick="game.select('/game/Eaglercraft_a1.2.6/', 'Alpha')">
|
||||
<div class="custom-option" onclick="game.select('/game/offline/main/Eaglercraft_a1.2.6.html', 'Alpha')">
|
||||
<img src="/resources/images/icons/clients/all.webp" />
|
||||
<span>Alpha 1.2.6</span>
|
||||
</div>
|
||||
|
||||
<div class="custom-option" onclick="game.select('/game/Eaglercraft_Indev', 'Indev')">
|
||||
<div class="custom-option" onclick="game.select('/game/offline/main/Eaglercraft_Indev.html', 'Indev')">
|
||||
<img src="/resources/images/icons/clients/all.webp" />
|
||||
<span>Indev</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<button class="play-button" onclick="game.play()">Play</button>
|
37
src/sw.ts
37
src/sw.ts
@ -1,8 +1,7 @@
|
||||
// @ts-nocheck
|
||||
const cacheVersion = '1.6';
|
||||
const cacheName = `minexlauncher-v${cacheVersion}`;
|
||||
const offlineUrl = '/lite/index.html';
|
||||
const cacheAssets: string[] = [
|
||||
const CACHE_VERSION = '1.6';
|
||||
const OFFLINE_URL = '/offline/';
|
||||
const CACHE_ASSETS = [
|
||||
offlineUrl,
|
||||
'/resources/images/icons/favicon.webp',
|
||||
'/resources/scripts/google-tag.js',
|
||||
@ -26,26 +25,28 @@ const cacheAssets: string[] = [
|
||||
'/resources/images/backgrounds/themes/retro.webp',
|
||||
'/resources/images/backgrounds/themes/starfall.webp',
|
||||
'/resources/images/backgrounds/themes/campfire.webp',
|
||||
'/lite/index.html',
|
||||
'/lite/main.js',
|
||||
'/lite/styles.css',
|
||||
'/lite/game/Eaglercraft_1.2.5.html',
|
||||
'/lite/game/Eaglercraft_1.5.html',
|
||||
'/lite/game/Eaglercraft_a1.2.6.html',
|
||||
'/lite/game/Eaglercraft_b1.3.html',
|
||||
'/lite/game/Eaglercraft_b1.7.3.html',
|
||||
'/lite/game/Eaglercraft_Indev.html',
|
||||
'/lite/game/EaglercraftL_1.9.html',
|
||||
'/lite/game/EaglercraftX_1.8.html'
|
||||
'/resources/images/icons/nav/game.webp',
|
||||
'/resources/images/covers/minecraft.webp',
|
||||
'/resources/images/icons/clients/all.webp',
|
||||
'/game/offline/main/EaglercraftL_1.9.html',
|
||||
'/game/offline/main/EaglercraftX_1.8.html',
|
||||
'/game/offline/main/Eaglercraft_1.5.html',
|
||||
'/game/offline/main/Eaglercraft_1.2.5.html',
|
||||
'/game/offline/main/Eaglercraft_b1.7.3.html',
|
||||
'/game/offline/main/Eaglercraft_b1.3.html',
|
||||
'/game/offline/main/Eaglercraft_a1.2.6.html',
|
||||
'/game/offline/main/Eaglercraft_Indev.html',
|
||||
];
|
||||
|
||||
const cacheName = `minexlauncher-v${CACHE_VERSION}`;
|
||||
|
||||
self.addEventListener('install', (event) => {
|
||||
event.waitUntil(
|
||||
caches.open(cacheName).then(async (cache) => {
|
||||
const totalAssets = cacheAssets.length;
|
||||
const totalAssets = CACHE_ASSETS.length;
|
||||
let cachedAssets = 0;
|
||||
|
||||
for (const asset of cacheAssets) {
|
||||
for (const asset of CACHE_ASSETS) {
|
||||
await cache.add(asset);
|
||||
++cachedAssets;
|
||||
const progress = `${cachedAssets.toString()}/${totalAssets.toString()}`;
|
||||
@ -76,7 +77,7 @@ self.addEventListener('fetch', (event) => {
|
||||
if (event.request.mode === 'navigate') {
|
||||
event.respondWith(
|
||||
fetch(event.request).catch(() => {
|
||||
return caches.match(offlineUrl);
|
||||
return caches.match(OFFLINE_URL);
|
||||
})
|
||||
);
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user