ahp
7716c1677c
feat(frontend): draft/publish, certificate approval UI, contributors, leaderboard tiers
...
- admin-studio: chapter/lesson publish toggle with Draft/Published badges; per-chapter accordion
- cap/page: remove auto-issue effect; student requests, admin approves
- learning-panel: admin issue-certificate action per student
- site-settings: contributors editor with avatar upload (ContributorAvatarPicker, TagInput)
- community-panel: render contributors section below social links
- leaderboard-panel: TierBadge, totalParticipants, tier on entries and self
- page.tsx: fix "شروع مسیر" routing to /register instead of /login
- navbar: correct icons (Settings, Palette) in user dropdown
- types: Contributor, LeaderboardTier, Certificate status field, updated LeaderboardData/Entry
- layout: PWA icon metadata (192, 512, apple-touch-icon)
2026-10-20 17:51:23 +03:30
ahp
6228e66d2c
feat: production-grade video player — ambient mode, speed controls, hls.js, double-tap, settings flyout
...
- Ambient canvas (32×18, ~8fps rAF, blur(55px)) behind video; toggleable, persisted
- Speed controls 0.5×–2× via settings flyout; capRate replaces lockRate, anti-cheat
preserved
- hls.js dynamic import for .m3u8 URLs; Safari native HLS fallback; MP4 unchanged
- Double-tap left=seek back 10s, right=blocked; single-tap toggles play on touch
- Keyboard: Space/K play-pause, J/← back, L/→ blocked, ↑↓ volume, M mute, F fullscreen
- Settings flyout with speed picker + ambient toggle (animated, framer-motion)
- Theater mode toggle, fullscreen API, volume slider with localStorage persistence
- Buffer visualization behind progress bar, hover timestamp tooltip, playhead thumb
- All anti-cheat intact: maxTrustedPosRef, PiP block, visibility pause, heartbeat system
2026-10-18 11:10:11 +03:30
ahp
03610bc3d3
feat: implement 8 features across full stack
...
- Leaderboard: rank-based percentile tiers (champion/gold/silver/bronze),
deterministic tie-breaking (xp DESC, user_id ASC)
- Mentor chat: md: breakpoints, safe-area-inset-bottom padding
- Learning progress: server-side progressPct, curriculum expansion safety
- Physical orders: hard-disabled with 410 Gone
- Certificate approval: pending/issued flow, admin issue/revoke endpoints,
certificate_requires_approval setting (migration 0031)
- Draft/publish: is_published on lessons and chapters, admin publish UI
(migration 0030)
- Video panel: static thumbnails (no preload), client-side pagination
- Rich editor: TipTap + tiptap-markdown for lesson descriptions,
marked + DOMPurify for SafeMarkdown rendering
2026-10-18 10:14:22 +03:30