unlock village and fixes

This commit is contained in:
2026-04-23 22:54:08 +03:00
parent 73037c510c
commit 6f7fce1c1a
4 changed files with 188 additions and 9 deletions

View File

@@ -44,6 +44,21 @@
margin-left: auto;
}
.online-dot.live { background: #7bcc7b; box-shadow: 0 0 6px #7bcc7b; }
.sync-btn {
background: transparent;
border: 1px solid #4acc64;
color: #4acc64;
border-radius: 6px;
padding: 0.3rem 0.6rem;
font-size: 0.8rem;
font-weight: 600;
cursor: pointer;
transition: all 0.2s;
margin-left: 0.5rem;
}
.sync-btn:hover {
background: rgba(74, 204, 100, 0.1);
}
/* ---- Control Panel ---- */
.panel {
@@ -147,6 +162,21 @@
}
.save-status.visible { opacity: 1; }
/* Input field */
.input-field {
background: #12121e;
border: 1px solid #2a2a40;
color: #e0e0e0;
border-radius: 6px;
padding: 0.6rem;
width: 100px;
font-family: inherit;
font-size: 0.95rem;
outline: none;
transition: border-color 0.2s;
}
.input-field:focus { border-color: #4acc64; }
/* ---- Farm Table ---- */
.farm-table-wrap { overflow-x: auto; }
table {
@@ -206,6 +236,7 @@
<a href="/player/{{ player_id }}">← Πίσω</a>
<h1>🌾 Farm Manager</h1>
<span class="online-dot" id="online-dot" title="Κατάσταση Script"></span>
<button class="sync-btn" onclick="requestSync()">Live Sync</button>
</div>
<!-- Status banner -->
@@ -248,6 +279,23 @@
<span class="save-status" id="save-status">✓ Αποθηκεύτηκε</span>
</div>
<!-- Farm Upgrade Panel -->
<div class="panel">
<h2>🏰 Αυτόματη Αναβάθμιση Χωριών</h2>
<p style="font-size: 0.85rem; color: #888; margin-bottom: 1rem;">
Το script θα χρησιμοποιήσει αυτόματα τους πόντους μάχης σας για να ξεκλειδώσει νέα χωριά και να τα αναβαθμίσει μέχρι το επίπεδο 6.<br>
Επιλέξτε πόσους πόντους μάχης θέλετε να κρατήσετε ως <strong>όριο ασφαλείας</strong>. Το script θα ξοδέψει μόνο τους πόντους ΠΑΝΩ από αυτό το όριο.
</p>
<div style="display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem;">
<label for="kp-threshold" style="font-size: 0.95rem; font-weight: 600;">Ελάχιστοι Πόντοι (Όριο):</label>
<input type="number" id="kp-threshold" class="input-field" value="0" min="0" step="10">
</div>
<button class="save-btn" id="upgrade-btn" onclick="triggerUpgrade()">🚀 Ξεκλείδωμα & Αναβάθμιση Τώρα</button>
<span class="save-status" id="upgrade-status">Εντολή εστάλη!</span>
</div>
<!-- Farm Status Table -->
<div class="panel">
<h2>🏘️ Κατάσταση Χωριών</h2>
@@ -376,6 +424,37 @@
});
}
// -- Live Sync --
function requestSync() {
fetch(`/api/sync-request?player_id=${PLAYER_ID}`, { method: 'POST' })
.then(r => r.json())
.then(data => {
// Will get a fast state update
setTimeout(loadFarmData, 1500);
});
}
// -- Trigger Upgrade --
function triggerUpgrade() {
const threshold = document.getElementById('kp-threshold').value;
fetch('/dashboard/commands', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
player_id: PLAYER_ID,
town_id: 0,
type: 'farm_upgrade',
payload: { threshold: threshold }
})
})
.then(r => r.json())
.then(() => {
const s = document.getElementById('upgrade-status');
s.classList.add('visible');
setTimeout(() => s.classList.remove('visible'), 3000);
});
}
// -- Boot --
loadSettings();
loadFarmData();