enchance farming/fix

This commit is contained in:
2026-04-29 23:22:25 +03:00
parent 2517538b88
commit 0643422a30
4 changed files with 154 additions and 73 deletions

View File

@@ -324,10 +324,11 @@
<th>Έτοιμα</th>
<th>Σύνολο</th>
<th>Επόμενο</th>
<th>Τελευταία Λεηλασία</th>
</tr>
</thead>
<tbody id="farm-table-body">
<tr><td colspan="4"><div class="empty-state"><p>Φόρτωση δεδομένων...</p></div></td></tr>
<tr><td colspan="5"><div class="empty-state"><p>Φόρτωση δεδομένων...</p></div></td></tr>
</tbody>
</table>
</div>
@@ -395,17 +396,27 @@
}
// -- Load farm data table --
function timeAgo(isoStr) {
if (!isoStr) return '—';
const diff = Math.floor((Date.now() - new Date(isoStr + (isoStr.endsWith('Z') ? '' : 'Z'))) / 1000);
if (diff < 60) return `${diff}δ πριν`;
if (diff < 3600) return `${Math.floor(diff / 60)}λ πριν`;
return `${Math.floor(diff / 3600)}ω πριν`;
}
function loadFarmData() {
fetch(`/dashboard/farm-data?player_id=${PLAYER_ID}`)
.then(r => r.json())
.then(data => {
.then(resp => {
const data = resp.towns || [];
const lastFarmed = resp.last_farmed_at ? timeAgo(resp.last_farmed_at) : '—';
const tbody = document.getElementById('farm-table-body');
if (!data || data.length === 0) {
tbody.innerHTML = '<tr><td colspan="4"><div class="empty-state">🌱 <p>Δεν υπάρχουν δεδομένα χωριών ακόμη.<br>Βεβαιώσου ότι το script v3.3+ τρέχει στο παιχνίδι.</p></div></td></tr>';
tbody.innerHTML = '<tr><td colspan="5"><div class="empty-state">🌱 <p>Δεν υπάρχουν δεδομένα χωριών ακόμη.<br>Βεβαιώσου ότι το script v3.3+ τρέχει στο παιχνίδι.</p></div></td></tr>';
return;
}
const now = Math.floor(Date.now() / 1000);
tbody.innerHTML = data.map(t => {
tbody.innerHTML = data.map((t, idx) => {
const readyBadge = t.ready_farms > 0
? `<span class="badge ready">✓ ${t.ready_farms} Έτοιμα</span>`
: `<span class="badge waiting">Αναμονή</span>`;
@@ -420,11 +431,16 @@
nextStr = '<span class="countdown">Τώρα</span>';
}
}
// Show last farmed only in first row — same value for all rows
const lastFarmedCell = idx === 0
? `<td rowspan="${data.length}" style="color:#4acc64;font-size:0.82rem;vertical-align:middle;">${lastFarmed}</td>`
: '';
return `<tr>
<td><strong>${t.town_name}</strong></td>
<td>${readyBadge}</td>
<td><span style="color:#888">${t.total_farms}</span></td>
<td>${nextStr}</td>
${lastFarmedCell}
</tr>`;
}).join('');
});