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:
@@ -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. -->
|
||||
|
||||
Reference in New Issue
Block a user