Commit Graph

5 Commits

Author SHA1 Message Date
Dev Server e49fa9e746 feat: subscriptions, referrals, students/mentors removal, email templates, calendar fixes
Deploy to Dev / deploy-dev (push) Failing after 31s Details
Backend:
- Subscriptions: add duration_days field to plan, fix duration logic, remove allowed_durations restriction
- Users: add StudentMentorViewSet (remove_mentor), fix remove_client (board access + notification)
- Users: add STATUS_REMOVED to MentorStudentConnection, fix re-invite after removal
- Users: add authentication_classes=[] to all public auth endpoints (fix user_not_found 401)
- Users: fix verify-email and reset-password URLs in email tasks
- Users: validate IANA timezone on registration
- Schedule: add group/group_name to LessonCalendarItemSerializer
- Referrals: add tasks.py for Celery, add process_pending_referral_bonuses to beat schedule
- Email templates: redesign all 5 templates (gradient header, icons, Училл branding)

Frontend:
- Calendar: fix SWR revalidation after create/update/delete (match childId key), clear errors on tab switch
- Students: add remove buttons with warning dialog (mentor removes student, student removes mentor)
- Students: add tabs for client (Мои менторы / Входящие / Исходящие), fix pending_student filter
- Payment: fix duration_days from plan, show Бесплатно for 0₽, show X дн. period
- Referrals: full redesign — stats, levels progress, referrals list, earnings history, bonus balance
- Sign-up: add referral code field, auto-fill from ?ref= param
- Subscription guard: redirect mentor to /payment-platform if no active subscription
- Error pages: translate to Russian
- Page titles: dynamic Russian titles via usePageTitle hook
- Logo: fix full-page reload on click (use react-router Link directly)
- Favicon: use /logo/favicon.png
- Remove logo from header (keep in nav only)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-13 00:39:37 +03:00
Dev Server f6caa7df6b feat: role-based UI for student/parent, child selector, timezone fix
- Role-based nav: hide payment/referrals for students, board/progress-children for parents
- Add "Мои группы" to student nav; groups detail page read-only for non-mentors
- Logout button in sidebar nav (signOut + redirect to login)
- Parent: auto-select first child, ChildSelector in nav above profile
- Children fetched from /parent/dashboard/ (not the broken /users/parents/children/)
- Add child by 8-char universal code with role validation (client only)
- Removed "Прогресс" button from child cards in children-view
- Fix redirect on child switch — stay on current page (no router.push)
- Parent child notification settings in profile (per-child + per-type toggles)
- Fix scroll on all pages: Main overflow auto, hasSidebar Box overflow auto
- Fix 403: isMentor guard before getStudents() calls in groups pages
- Fix timezone: FullCalendar timeZone prop + fTime() use user.timezone

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-12 16:45:15 +03:00
Dev Server 1b06404d64 feat: chat fixes, header cleanup, scrollbar, UI improvements
- chat: fix create_direct endpoint (was /chats/ → /chats/create_direct/ with user_id)
- chat: fix backend NotSupportedError — remove select_for_update()+distinct() combo
- chat: normalize chat objects (participant_id from other_participant.id)
- chat: enrich new chats with contact data so contacts section updates correctly
- chat: sendMessage — JSON when no file, FormData only with attachment
- chat: show send errors in UI instead of silent catch
- header: hide search, language, contacts, workspaces, account buttons
- theme: thin custom scrollbar (6px, theme-aware light/dark)
- settings: always high contrast, vertical nav only, purple default, Inter font
- settings-button: replaced gear icon with dark/light toggle + fullscreen button

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 21:25:36 +03:00
Dev Server f679f0c0f4 feat: board list view, excalidraw basePath fix, analytics, feedback pages
- Board: replace blank iframe with board list (my_boards + shared_with_me),
  mentor gets per-student buttons to open/create boards,
  iframe fills full available height via CSS vars (dvh)
- Excalidraw: build with NEXT_PUBLIC_BASE_PATH=/devboard so _next/ assets
  served under /devboard/_next/ and nginx path proxy works correctly
- Nginx: preserve /devboard/ path in proxy_pass (no trailing slash),
  add /yjs WebSocket proxy to devapi.uchill.online for dev YJS on port 1235
- Analytics: real API charts (income/lessons/students) with DateRangePicker
- Feedback: mentor kanban view of completed lessons, grade + notes drawer
- Nav: dynamic role-based menu (getNavData(role)), mentor-only analytics/feedback
- New API utils: analytics-api.js, board-api.js (full), dashboard-api getLessons()
- Routes: paths.dashboard.analytics, feedback, board added

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 16:35:30 +03:00
Dev Server 17bed2b321 feat: calendar form improvements + real-time sync
Deploy to Dev / deploy-dev (push) Successful in 27s Details
2026-03-08 02:46:06 +03:00