Add web auth and continuous scraping logs

This commit is contained in:
forust committed 2026-04-25 02:34:35 +02:00
1 parent 19e173212c
commit db3641ddf9
7 files changed
+640 -10

No files matched your search

+70
View File
@@ -26,6 +26,39 @@
<p id="auth-details" class="muted small"></p>
</section>
<section class="status-card">
<div class="section-title">Telegram Login</div>
<form id="credentials-form" class="stack-form">
<input id="api-id-input" name="api_id" placeholder="API ID" />
<input id="api-hash-input" name="api_hash" placeholder="API Hash" />
<button class="button" type="submit">Сохранить креды</button>
</form>
<div class="auth-actions">
<button class="button primary" id="start-qr-btn">Логин по QR</button>
</div>
<div id="qr-wrap" class="qr-wrap hidden">
<img id="qr-image" alt="Telegram QR login" />
<p class="muted small">Открой Telegram -> Settings -> Devices -> Scan QR</p>
</div>
<form id="phone-form" class="stack-form">
<input id="phone-input" name="phone" placeholder="+1234567890" />
<button class="button" type="submit">Отправить код</button>
</form>
<form id="code-form" class="stack-form hidden">
<input id="code-input" name="code" placeholder="Код из Telegram" />
<button class="button" type="submit">Подтвердить код</button>
</form>
<form id="password-form" class="stack-form hidden">
<input id="password-input" name="password" type="password" placeholder="2FA password" />
<button class="button" type="submit">Подтвердить пароль</button>
</form>
</section>
<section class="status-card">
<div class="section-title">Быстрые действия</div>
<button class="button primary" id="scrape-all-btn">Скрапить все каналы</button>
@@ -92,6 +125,43 @@
</div>
<div id="jobs-list" class="jobs-list"></div>
</section>
<section class="panel">
<div class="panel-header">
<div>
<h2>Continuous Scraping</h2>
<p class="muted">Периодически перескрапливает каналы и пишет лог прямо в панель.</p>
</div>
</div>
<form id="continuous-form" class="continuous-form">
<label class="toggle-row">
<span>Включить</span>
<input id="continuous-enabled" type="checkbox" />
</label>
<label class="stack-form">
<span class="muted small">Интервал, минут</span>
<input id="continuous-interval" type="number" min="1" value="1" />
</label>
<label class="toggle-row">
<span>Все отслеживаемые каналы</span>
<input id="continuous-all" type="checkbox" checked />
</label>
<label class="stack-form">
<span class="muted small">Если выключить опцию выше, сюда можно вписать ID каналов через запятую</span>
<input id="continuous-channels" placeholder="-100123, 5926277437" />
</label>
<button class="button primary" type="submit">Сохранить continuous scraping</button>
</form>
<div class="continuous-meta">
<div class="muted small">Статус: <span id="continuous-status">—</span></div>
<div class="muted small">Последний цикл: <span id="continuous-last-iteration">—</span></div>
<div class="muted small">Последняя ошибка: <span id="continuous-last-error">—</span></div>
</div>
<pre id="continuous-logs" class="job-logs"></pre>
</section>
</main>
</div>