mirror of
https://github.com/lockfale/OSINT-Framework.git
synced 2026-08-22 22:02:23 +02:00
Backend (src/worker.js):
- Add POST /api/vote: upvote/downvote with toggle behavior, one vote per
session per tool, returns net score
- Add POST /api/report: flag tools as dead_link/paywalled/incorrect_info;
auto-creates GitHub issue via GitHub API when REPORT_THRESHOLD (3) unique
reports of the same type are received (requires GITHUB_TOKEN secret)
- Update GET /api/tool-stats to include votes { up, down, score }
- Extract validateCommon() and isRateLimited() helpers to reduce duplication
Frontend (public/js/arf.js):
- Replace static rating placeholder with _renderVoteUI(): renders thumbs
up/down buttons, reads cached vote from sessionStorage, fetches live score
async from /api/tool-stats
- Add _castVote(): fires POST /api/vote, updates button active state and
score display, persists user vote in sessionStorage
- Add _resetReportButtons() and _submitReport(): wire report buttons per
panel open, POST /api/report, show inline feedback message
HTML (public/index.html):
- Replace static rating span with vote row (thumbs up, score, thumbs down)
- Replace static GitHub report link with three report buttons + feedback div
CSS (public/css/panel.css):
- Add .vote-btn, .vote-score (.positive/.negative/.zero) styles
- Add .report-btn, .panel-report-feedback styles
- Remove old #panel-report-link styles (replaced by button row)
Co-Authored-By: Paperclip <noreply@paperclip.ing>