Skip to content

feat: Dark-mode Web UI + Email Verifier (Bounty #1 & #2)#8

Open
Susuhome wants to merge 1 commit intodmb4086:masterfrom
Susuhome:feat/atlas-email-suite
Open

feat: Dark-mode Web UI + Email Verifier (Bounty #1 & #2)#8
Susuhome wants to merge 1 commit intodmb4086:masterfrom
Susuhome:feat/atlas-email-suite

Conversation

@Susuhome
Copy link

Web UI + Email Verifier — Bounty #1 ($200) & #2 ($150) (@Susuhome)

Wallet: 0xddef90d4688e8f7c4954fecbbf0937b43809020f


✅ Bounty #1 — Web UI ($200)

  • /inbox page listing all messages (from /v1/inboxes/me/messages)
  • Click message → view full content (HTML iframe + text fallback)
  • /compose page with to/subject/body form → calls /v1/inboxes/me/send
  • API key input stored in localStorage
  • Error handling (toast notifications, skeleton loading states)
  • Dark mode ✅, mobile responsive ✅, zero dependencies ✅

2-line integration:

from app.ui import mount_ui
mount_ui(app)  # mounts /inbox, /compose, / + static files

Features:

  • Unread indicators + count badge
  • All / Unread filter tabs
  • HTML email rendering (iframe) with plain text fallback
  • Smart time display: HH:MM / day / date
  • Loading skeleton animation
  • Error recovery with actionable toasts

✅ Bounty #2 — Automated Email Verification ($150)

  • IMAP/SSL to Gmail, Outlook, any host
  • Regex extraction for 4-6 digit verification codes
  • Sender domain filter
  • Logging + error handling
from app.verifier import AtlasEmailVerifier
v = AtlasEmailVerifier('imap.gmail.com', '[email protected]', 'app_password')
code = v.fetch_verification_code(sender_filter='noreply')  # → '482910'

Closes #1, closes #2

- app/static/index.html: Full dark-mode responsive inbox UI
  - /inbox: lists all messages with unread indicators
  - Click message: shows full content (HTML/text)
  - /compose: send new emails with form validation
  - API key stored in localStorage, error handling
  - Mobile responsive
- app/ui.py: FastAPI static mount helper
- app/verifier.py: IMAP/regex automated email verification

Closes dmb4086#1, closes dmb4086#2
Wallet: 0xddef90d4688e8f7c4954fecbbf0937b43809020f
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

💰 Bounty: Automated Email Verification (150 tokens) 💰 Bounty: Web UI for Email Inbox (200 tokens)

1 participant