Feat: Updating Mods button
This commit is contained in:
@ -70,6 +70,10 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
editPropertiesModal: document.getElementById('editPropertiesModal'),
|
||||
propertiesFields: document.getElementById('propertiesFields'),
|
||||
editPropertiesForm: document.getElementById('editPropertiesForm'),
|
||||
updateModsBtn: document.getElementById('updateModsBtn'),
|
||||
updateModsModal: document.getElementById('updateModsModal'),
|
||||
updateModsOutput: document.getElementById('updateModsOutput'),
|
||||
closeUpdateModsBtn: document.getElementById('closeUpdateModsBtn'),
|
||||
stopBtn: document.getElementById('stopBtn'),
|
||||
restartBtn: document.getElementById('restartBtn'),
|
||||
connectionStatus: document.getElementById('connectionStatus'),
|
||||
@ -371,6 +375,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
updateGeyserStatusUI(message);
|
||||
} else if (message.type === 'sftp-status') {
|
||||
updateSftpStatusUI(message);
|
||||
} else if (message.type === 'update-mods') {
|
||||
updateModsUI(message);
|
||||
} else {
|
||||
updateNonDockerUI(message);
|
||||
}
|
||||
@ -412,6 +418,7 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
const sections = document.querySelectorAll('.bg-gray-800.p-6.rounded-lg.shadow-lg.mb-6');
|
||||
const serverStatusSection = document.querySelector('.bg-gray-800.p-6.rounded-lg.shadow-lg.mb-6[data-section="server-status"]');
|
||||
const editPropertiesBtn = elements.editPropertiesBtn;
|
||||
const updateModsBtn = elements.updateModsBtn;
|
||||
const startBtn = document.getElementById('startBtn');
|
||||
const stopBtn = elements.stopBtn;
|
||||
const restartBtn = elements.restartBtn;
|
||||
@ -435,6 +442,9 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
if (editPropertiesBtn) {
|
||||
editPropertiesBtn.classList.add('hidden');
|
||||
}
|
||||
if (updateModsBtn) {
|
||||
updateModsBtn.classList.add('hidden');
|
||||
}
|
||||
if (stopBtn) {
|
||||
stopBtn.disabled = true;
|
||||
stopBtn.classList.add('disabled-btn');
|
||||
@ -454,6 +464,9 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
if (editPropertiesBtn) {
|
||||
editPropertiesBtn.classList.remove('hidden');
|
||||
}
|
||||
if (updateModsBtn) {
|
||||
updateModsBtn.classList.remove('hidden');
|
||||
}
|
||||
if (stopBtn) {
|
||||
stopBtn.disabled = false;
|
||||
stopBtn.classList.remove('disabled-btn');
|
||||
@ -520,6 +533,15 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
}
|
||||
}
|
||||
|
||||
function updateModsUI(message) {
|
||||
if (message.error) {
|
||||
elements.updateModsOutput.textContent = `Error: ${message.error}`;
|
||||
} else if (message.output) {
|
||||
elements.updateModsOutput.textContent = message.output;
|
||||
}
|
||||
elements.updateModsModal.classList.remove('hidden');
|
||||
}
|
||||
|
||||
function updateNonDockerUI(message) {
|
||||
if (message.error) {
|
||||
if (message.error.includes('Missing token') || message.error.includes('HTTP 403')) {
|
||||
@ -1214,6 +1236,28 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
}
|
||||
}
|
||||
|
||||
async function updateMods() {
|
||||
try {
|
||||
const response = await wsRequest('/update-mods', 'POST');
|
||||
console.log('Raw response:', response); // Debug: Log the full response
|
||||
console.log('Output content:', response.output); // Debug: Log the output string
|
||||
if (response.error) {
|
||||
showNotification(`Failed to update mods: ${response.error}`, 'error');
|
||||
elements.updateModsOutput.textContent = `Error: ${response.error}`;
|
||||
} else {
|
||||
const output = response.output || 'No output from mod update.';
|
||||
console.log('Processed output:', output); // Debug: Log the final output
|
||||
elements.updateModsOutput.textContent = output; // Set textContent
|
||||
}
|
||||
elements.updateModsModal.classList.remove('hidden');
|
||||
} catch (error) {
|
||||
console.error('Update mods error:', error);
|
||||
showNotification(`Failed to update mods: ${error.message}`, 'error');
|
||||
elements.updateModsOutput.textContent = `Error: ${error.message}`;
|
||||
elements.updateModsModal.classList.remove('hidden');
|
||||
}
|
||||
}
|
||||
|
||||
elements.loginBtn.addEventListener('click', () => {
|
||||
apiKey = elements.loginApiKey.value.trim();
|
||||
if (apiKey) {
|
||||
@ -1322,6 +1366,18 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
}
|
||||
});
|
||||
|
||||
elements.updateModsBtn.addEventListener('click', updateMods);
|
||||
|
||||
elements.closeUpdateModsBtn.addEventListener('click', () => {
|
||||
elements.updateModsModal.classList.add('hidden');
|
||||
elements.updateModsOutput.textContent = '';
|
||||
});
|
||||
|
||||
elements.updateModsModal.querySelector('.modal-close').addEventListener('click', () => {
|
||||
elements.updateModsModal.classList.add('hidden');
|
||||
elements.updateModsOutput.textContent = '';
|
||||
});
|
||||
|
||||
document.getElementById('searchBtn').addEventListener('click', () => {
|
||||
searchMods(1);
|
||||
});
|
||||
|
Reference in New Issue
Block a user