mirror of
https://github.com/amiayweb/Hytale-F2P.git
synced 2026-02-26 10:21:45 -03:00
Add files via upload
This commit is contained in:
@@ -30,6 +30,24 @@ export function setupInstallation() {
|
||||
if (installPlayerName) {
|
||||
installPlayerName.addEventListener('change', savePlayerName);
|
||||
}
|
||||
|
||||
if (window.electronAPI && window.electronAPI.onProgressUpdate) {
|
||||
window.electronAPI.onProgressUpdate((data) => {
|
||||
if (window.LauncherUI) {
|
||||
window.LauncherUI.showProgress();
|
||||
window.LauncherUI.updateProgress(data);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (window.electronAPI && window.electronAPI.onProgressComplete) {
|
||||
window.electronAPI.onProgressComplete(() => {
|
||||
if (window.LauncherUI) {
|
||||
window.LauncherUI.hideProgress();
|
||||
}
|
||||
resetInstallButton();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export async function installGame() {
|
||||
|
||||
@@ -31,6 +31,15 @@ export function setupLauncher() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (window.electronAPI && window.electronAPI.onProgressComplete) {
|
||||
window.electronAPI.onProgressComplete(() => {
|
||||
if (window.LauncherUI) {
|
||||
window.LauncherUI.hideProgress();
|
||||
}
|
||||
resetPlayButton();
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export async function launch() {
|
||||
|
||||
@@ -1,9 +1,42 @@
|
||||
import './ui.js';
|
||||
import './install.js';
|
||||
import './launcher.js';
|
||||
import './news.js';
|
||||
import './mods.js';
|
||||
import './players.js';
|
||||
import './chat.js';
|
||||
import './settings.js';
|
||||
|
||||
import './ui.js';
|
||||
import './install.js';
|
||||
import './launcher.js';
|
||||
import './news.js';
|
||||
import './mods.js';
|
||||
import './players.js';
|
||||
import './chat.js';
|
||||
import './settings.js';
|
||||
|
||||
// Discord notification functions
|
||||
window.closeDiscordNotification = function() {
|
||||
const notification = document.getElementById('discordNotification');
|
||||
if (notification) {
|
||||
notification.classList.add('hidden');
|
||||
setTimeout(() => {
|
||||
notification.style.display = 'none';
|
||||
}, 300);
|
||||
}
|
||||
};
|
||||
|
||||
// Show notification after a delay
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
const notification = document.getElementById('discordNotification');
|
||||
if (notification) {
|
||||
// Check if user has previously dismissed the notification
|
||||
const dismissed = localStorage.getItem('discordNotificationDismissed');
|
||||
if (!dismissed) {
|
||||
setTimeout(() => {
|
||||
notification.style.display = 'flex';
|
||||
}, 3000); // Show after 3 seconds
|
||||
} else {
|
||||
notification.style.display = 'none';
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
// Remember when user closes notification
|
||||
const originalClose = window.closeDiscordNotification;
|
||||
window.closeDiscordNotification = function() {
|
||||
localStorage.setItem('discordNotificationDismissed', 'true');
|
||||
originalClose();
|
||||
};
|
||||
@@ -119,6 +119,15 @@ async function loadAllSettings() {
|
||||
await loadPlayerName();
|
||||
}
|
||||
|
||||
async function openGameLocation() {
|
||||
try {
|
||||
if (window.electronAPI && window.electronAPI.openGameLocation) {
|
||||
await window.electronAPI.openGameLocation();
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('Error opening game location:', error);
|
||||
}
|
||||
}
|
||||
|
||||
export function getCurrentJavaPath() {
|
||||
if (customJavaCheck && customJavaCheck.checked && customJavaPath) {
|
||||
@@ -135,6 +144,9 @@ export function getCurrentPlayerName() {
|
||||
return 'Player';
|
||||
}
|
||||
|
||||
// Make openGameLocation globally available
|
||||
window.openGameLocation = openGameLocation;
|
||||
|
||||
document.addEventListener('DOMContentLoaded', initSettings);
|
||||
|
||||
window.SettingsAPI = {
|
||||
|
||||
29
GUI/js/ui.js
29
GUI/js/ui.js
@@ -196,8 +196,26 @@ function setupFirstLaunchHandlers() {
|
||||
updateProgress(data);
|
||||
});
|
||||
|
||||
let lockButtonTimeout = null;
|
||||
|
||||
window.electronAPI.onLockPlayButton((locked) => {
|
||||
lockPlayButton(locked);
|
||||
|
||||
if (locked) {
|
||||
if (lockButtonTimeout) {
|
||||
clearTimeout(lockButtonTimeout);
|
||||
}
|
||||
lockButtonTimeout = setTimeout(() => {
|
||||
console.warn('Play button has been locked for too long, forcing unlock');
|
||||
lockPlayButton(false);
|
||||
lockButtonTimeout = null;
|
||||
}, 20000);
|
||||
} else {
|
||||
if (lockButtonTimeout) {
|
||||
clearTimeout(lockButtonTimeout);
|
||||
lockButtonTimeout = null;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@@ -448,6 +466,17 @@ function setupUI() {
|
||||
|
||||
lockPlayButton(true);
|
||||
|
||||
setTimeout(() => {
|
||||
const playButton = document.getElementById('homePlayBtn');
|
||||
if (playButton && playButton.getAttribute('data-locked') === 'true') {
|
||||
const spanElement = playButton.querySelector('span');
|
||||
if (spanElement && spanElement.textContent === 'CHECKING...') {
|
||||
console.warn('Play button still locked after startup timeout, forcing unlock');
|
||||
lockPlayButton(false);
|
||||
}
|
||||
}
|
||||
}, 25000);
|
||||
|
||||
handleNavigation();
|
||||
setupWindowControls();
|
||||
setupSidebarLogo();
|
||||
|
||||
Reference in New Issue
Block a user