Fájl részletek

Ezen az oldalon egy konkrét fájl aktuális állapotát tudod megnézni.

Vissza a fájltérképhez Csak változott Stratégia-labor Monitor főoldal
Fájl útvonala
/opt/bots/saturnus/app/templates/partials/freqtrade_block.html
Létezik most?
IGEN
Aktuális státusz
UNCHANGED
Méret
3871
Módosítás ideje
1767390798.349857
Korábbi baseline időpont
1767390798.349857
SHA256 rövid

Előnézet (első 120 sor)

<section id="freqtrade-block" style="margin-top:18px;">
  <div style="border:1px solid #2b2b2b; border-radius:14px; padding:14px;">
    <div style="display:flex; align-items:center; justify-content:space-between; gap:10px;">
      <h2 style="margin:0; font-size:18px;">Freqtrade</h2>
      <div id="ft-status-pill" style="padding:4px 10px; border-radius:999px; border:1px solid #2b2b2b; font-size:12px;">
        betöltés…
      </div>
    </div>

    <div style="margin-top:12px; display:grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap:10px;">
      <div style="border:1px solid #2b2b2b; border-radius:12px; padding:10px;">
        <div style="font-size:12px; opacity:.75;">Státusz</div>
        <div id="ft-status" style="font-size:16px; font-weight:600;">–</div>
      </div>

      <div style="border:1px solid #2b2b2b; border-radius:12px; padding:10px;">
        <div style="font-size:12px; opacity:.75;">Profit (összesen)</div>
        <div id="ft-profit" style="font-size:16px; font-weight:600;">–</div>
      </div>

      <div style="border:1px solid #2b2b2b; border-radius:12px; padding:10px;">
        <div style="font-size:12px; opacity:.75;">Nyitott trade</div>
        <div id="ft-open" style="font-size:16px; font-weight:600;">–</div>
      </div>

      <div style="border:1px solid #2b2b2b; border-radius:12px; padding:10px;">
        <div style="font-size:12px; opacity:.75;">Utolsó frissítés</div>
        <div id="ft-updated" style="font-size:16px; font-weight:600;">–</div>
      </div>
    </div>

    <details style="margin-top:10px;">
      <summary style="cursor:pointer; opacity:.85;">Részletek (raw)</summary>
      <pre id="ft-raw" style="white-space:pre-wrap; margin-top:8px; border:1px solid #2b2b2b; border-radius:12px; padding:10px; max-height:220px; overflow:auto;">–</pre>
    </details>
  </div>
</section>

<script>
(function() {
  const pill = document.getElementById('ft-status-pill');
  const elStatus = document.getElementById('ft-status');
  const elProfit = document.getElementById('ft-profit');
  const elOpen = document.getElementById('ft-open');
  const elUpd = document.getElementById('ft-updated');
  const elRaw = document.getElementById('ft-raw');

  function setPill(text, ok) {
    pill.textContent = text;
    pill.style.borderColor = ok ? '#1f6f3a' : '#7a1f1f';
  }

  function pick(obj, keys) {
    for (const k of keys) {
      if (obj && Object.prototype.hasOwnProperty.call(obj, k)) return obj[k];
    }
    return null;
  }

  async function refresh() {
    try {
      const r = await fetch('/api/freqtrade/summary', { cache: 'no-store' });
      if (!r.ok) throw new Error('HTTP ' + r.status);
      const data = await r.json();

      // rugalmas mezőkezelés (különböző summary formátumokra)
      const status = pick(data, ['status', 'state', 'bot_state', 'running', 'ft_status']) ?? 'OK';
      const profit = pick(data, ['profit_total', 'profit_total_abs', 'profit_total_pct', 'profit_all', 'profit']) ?? '–';
      const openTrades = pick(data, ['open_trades', 'open_trade_count', 'open']) ?? '–';
      const updated = pick(data, ['updated_at', 'ts', 'timestamp', 'time']) ?? new Date().toISOString();

      elStatus.textContent = String(status);
      elProfit.textContent = (typeof profit === 'number') ? profit.toString() : String(profit);
      elOpen.textContent = String(openTrades);
      elUpd.textContent = String(updated);
      elRaw.textContent = JSON.stringify(data, null, 2);

      setPill('ELÉRHETŐ', true);
    } catch (e) {
      elStatus.textContent = 'NEM ELÉRHETŐ';
      elProfit.textContent = '–';
      elOpen.textContent = '–';
      elUpd.textContent = new Date().toISOString();
      elRaw.textContent = String(e);
      setPill('NEM ELÉRHETŐ', false);
    }
  }

  refresh();
  setInterval(refresh, 10000);
})();
</script>

Csak változott diff sorok

Teljes diff

[INFO] Nincs tartalmi eltérés a baseline és az aktuális fájl között.