docs: activity log — frontend v2.8.71 (solar icons, avatar upload, achievements, theme-toggle fix)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
moojttaba
2026-06-03 18:05:36 +03:30
parent 17755b97e0
commit d6628db325

View File

@@ -899,4 +899,29 @@ warning in telegram-webapp.ts, untouched).
--- ---
### 2026-06-03 — frontend v2.8.71 — Mini App: solar icons, avatar upload, achievements, theme-toggle fix
**Icons:** telegram-icons.tsx redrawn to mirror the dashboard's Solar "linear"
set (home-2 / document-add / chat-round-dots / user / shop-2 / wallet-money /
rounded arrows). Added sun, moon, themeAuto, camera, trophy, lock.
**Theme toggle now icon-based** (sun=light, moon=dark, half-disc=auto) instead
of text labels — per user request.
**BUGFIX — theme toggle didn't respond:** TelegramListRow rendered a *disabled*
<button> wrapper whenever it had no onClick; a disabled button swallows clicks
from nested children, so the language AND theme toggles (rendered inside the
row's `value` slot) never received taps. Non-interactive rows (no onClick, no
href) now render a <div>.
**Avatar upload in settings:** telegram-settings-view gained a tappable avatar
with a camera badge → file picker → uploadUserAvatar + updateUserProfile
(persists immediately + session refresh); 3 MB / JPG-PNG-GIF validation; relative
/uploads paths resolved to full backend URL.
**Achievements in points view:** milestone badges (joined / verify email / first
referral / 5 active referrals / 1000 points) derived client-side from the user's
points + referral + isEmailVerified data; unlocked (trophy + "earned") vs locked
(lock + "+N" reward) with an N/total counter. Display-layer gamification over the
existing server-side point grants.
**Verification:** tsc + eslint clean.
---
<!-- Add new entries above this line. Newest at top. --> <!-- Add new entries above this line. Newest at top. -->