Menu Bar: [🟢 Your Avatar] 3
↑ ↑
Green border Problems
(completed) solved today
Menu Bar: [🔴 Your Avatar] 1
↑ ↑
Red border Problems
(pending) solved today
┌─────────────────────────────────────┐
│ 👤 YourUsername 🏆 Rank │
│ │
├─────────────────────────────────────┤
│ 🟢 Daily Challenge Completed ✓ │
│ │
│ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ 📅 3 │ │ 🔢456│ │ 🔥 7 │ │
│ │Today │ │Total │ │Streak│ │
│ └──────┘ └──────┘ └──────┘ │
│ │
├─────────────────────────────────────┤
│ Daily Challenge [Medium]│
│ │
│ Two Sum Problem │
│ │
│ [→ Solve Problem] │
│ │
├─────────────────────────────────────┤
│ Refresh | Change User | Quit │
└─────────────────────────────────────┘
- 🟢 Green = Motivation boost! You did it!
- 🔴 Red = Friendly reminder to solve today's challenge
- Shows YOUR actual LeetCode avatar
- Circular design in menu bar
- Bordered with status color
- Daily Counter: See today's progress instantly
- Total Count: Your lifetime achievement
- Streak: Keep the momentum going!
- Native macOS look and feel
- Automatically adapts to Light/Dark mode
- Smooth animations and transitions
LeetCode API → Service Layer → SwiftUI Views → Menu Bar
↓ ↓ ↓ ↓
GraphQL Fetches: Updates: Shows:
Query - Profile - Colors - Icon
- Daily Q - Counters - Badge
- Stats - Status - Number
Every 5 minutes, the app automatically:
- Fetches latest submission data
- Checks if daily challenge completed
- Updates counters
- Refreshes profile picture if needed
- Updates menu bar display
| State | Border Color | Meaning |
|---|---|---|
| Completed | 🟢 Green (#00FF00) | Daily challenge done! |
| Pending | 🔴 Red (#FF0000) | Daily challenge waiting |
| Loading | ⚪ Gray | Fetching data... |
- Click Menu Bar Icon → Opens popover
- Click "Solve Problem" → Opens LeetCode in browser
- Click "Refresh" → Manually updates data
- Click "Change User" → Switch accounts
- Click outside → Closes popover
Minimalist + Informative
- Shows exactly what you need
- No clutter, no distractions
- One glance = full status
Native + Beautiful
- Uses system fonts and colors
- Respects macOS design guidelines
- Feels like a built-in feature
Smart + Helpful
- Red/green feedback is instant
- Counters motivate daily practice
- Streak tracker builds habits
You'll love seeing that green indicator every day! 🟢✨