15 Commits

Author SHA1 Message Date
ruslan 7ee57a1865 Fix cooldown timer visibility after Start; add real-time modal validation; update context.md with prod server
- Cooldown counter now always rendered (hidden) when auto_reply active, shown dynamically via polling
- Modal form validates fields on blur/input with red highlight via .input-invalid class
- Telegram: switched back to tel.4mont.ru proxy (working via /etc/hosts on 192.168.33.19)
- context.md: added prod server 45.129.3.83, deploy commands, NPM routing notes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 22:01:38 +03:00
ruslan a605c92ab3 Add access request modal with Telegram notification
- Modal on login page: Name, Email, Phone with client-side validation
- POST /request-access → sends Telegram message via corporate proxy
- Includes IP + geo lookup (ip-api.com)
- Success screen after submission, Esc/click-outside closes modal

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 21:38:14 +03:00
ruslan 643ec4e0ca Remove WBfeed text labels, keep logo only
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 21:35:39 +03:00
ruslan 095da4380c Fix logo visibility: use auto width for horizontal image, rename to WBfeed
- topbar: height:28px width:auto (fits 4:1 logo without squishing)
- login brand icon: white rectangular bg, height:36px width:auto
- auth-kicker: height:24px width:auto
- Brand name: WBfeed everywhere

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 21:34:21 +03:00
ruslan de278227ac Store picker in topbar, redesign cabinet, rename to WBfeed.ru
- index.html: store dropdown in topbar (switch without leaving page)
- cabinet.html: store-cards with Активировать/Проверить, edit hidden in <details>
- Removed 'Используется' button, active shown as green card + label
- next=index param to return to main page after store switch
- Brand name changed to WBfeed.ru across all templates

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 21:30:03 +03:00
ruslan 17f898f73f Redesign login promo logo: pill brand mark instead of standalone image
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 21:26:21 +03:00
ruslan 93be1e8089 Redesign settings UI and log entries, add wb3 logo
- Settings: tab per star with mini-toggle + template count badge
- Templates: full-width textarea per template (not cramped columns)
- Filter mode: pill-cards instead of raw radio buttons
- Save button aligned right with border-top separator
- Log: card-based entries (rating pill, meta row, review/reply blocks)
- wb3.png logo, 160px on login, 40px in topbar with ring shadow
- Fix CSS variable names (--c-* → --line/--card/--text/--muted)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 21:21:12 +03:00
ruslan ee946f7f1f Redesign: Start/Stop buttons, locked settings, queue countdown, wb2 logo
- Replace tumbler with Start/Stop buttons (green/red)
- Lock settings form with <fieldset disabled> when auto-reply active
- Clear queue + reset fetch timer on settings save
- Show 'Очередь подгрузится через X сек.' countdown in queue section
- API /status returns next_fetch_seconds, queue_len, auto_reply_enabled
- Login: price 15₽/день, up to 144 replies/day, wb2 logo, promo panel 25% width
- Replace wb.png → wb2.png across all templates

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 21:11:56 +03:00
ruslan bd45267ac0 Change cooldown label to 'Следующий ответ через X сек.'
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 21:01:22 +03:00
ruslan 064954e997 Redesign auto-reply settings: per-star pools, filter modes, login promo
- Support reply pools for all 5 stars (1★–5★)
- Configurable enabled stars (DB setting, not env)
- Filter mode: no_text / empty / all reviews
- New settings UI: star toggles with colors, filter radios, dynamic pool columns
- Remove review browse/export UI from main page
- Login: left panel 1/4 width, logo 140px, price 7₽/день
- Fix Jinja2 vars() → reply_pools dict

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 18:20:57 +03:00
ruslan e5050a7c83 Redesign: add 1-3★ auto-reply pools, filter modes, new settings UI
- app.py: add pool keys for stars 1-3, AUTO_REPLY_STARS_KEY/FILTER_KEY,
  _load_enabled_stars(), _load_filter_mode(), updated _has_review_content()
  with filter_mode param, new /auto-reply-settings POST route, index route
  passes enabled_stars/filter_mode/pools 1-5 to template
- templates/index.html: remove reviews list & controls section, replace pool
  card with full settings card (star toggles, filter mode radios, dynamic
  per-star pool columns), update JS for all 5 stars
- templates/login.html: fix ratings feature text (1-5★), update price to
  7 ₽/день with corrected description
- static/styles.css: login-promo fixed 300px width, logo 140px, add
  settings UI styles (star-toggles, filter-options, pool-columns, star-chips 1-3)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 18:19:38 +03:00
ruslan 60ea2757bc Redesign login page with split promo layout
Left panel: logo, headline, feature list, price (200 ₽/мес).
Right panel: login form. Responsive for mobile.
Fix topbar logo display with white bg and shadow.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 18:05:01 +03:00
ruslan 1a06979120 Add WB logo image to all pages
Replace text "WB" placeholder with wb.png in topbar and login/register pages.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 18:02:03 +03:00
ruslan 773382a7bb Add ID and date columns to auto-reply queue display
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 17:51:23 +03:00
ruslan 53f1bb2e71 Sync project structure and apply feature updates
- Move files from remote_copy/ to root (proper project structure)
- Add Docker setup: Dockerfile, docker-compose.yml with volume mounts
- Auto-reply: fix skip logic (only text field, not pros/cons)
- Auto-reply: fix _paginate to handle cooldown gracefully mid-pagination
- Auto-reply: fix fetch timestamp not saved on API error (infinite retry loop)
- Auto-reply: reduce EMPTY_REMAINING_FALLBACK from 600s to 150s default
- UI: add auto-reply queue display with article number (nm_id)
- UI: replace button with CSS tumbler toggle for auto-reply
- UI: add review_created_at and review_id columns to journal
- UI: add skipped/sent/error status colors to journal

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 17:46:35 +03:00