Commit Graph

60 Commits

Author SHA1 Message Date
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 7cf7a78326 fix: dashboard — remove greeting & user card, fix weekly lessons count
- remove greeting header (mentor & client dashboards)
- remove CourseMyAccount user info block from right panel (mentor)
- lessons_this_week: compute client-side from upcoming_lessons filtered
  to remaining lessons in current Mon–Sun range (was using backend value)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 21:33:48 +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 da3736e131 feat: nav sidebar user card — real data + subscription info
- Show real avatar, full name, email from useAuthContext
- Fetch GET /subscriptions/subscriptions/active/ on mount
- Display subscription plan name (label: success=active, warning=trial, default=none)
- Show end date + days left text
- LinearProgress bar showing days remaining (red <20%, yellow <50%, green otherwise)
- Trial subscription displayed as 'Пробный: <plan>'

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 17:48:54 +03:00
Dev Server a62f53fd96 fix: vite dev server config — allowedHosts, Dockerfile, docker-compose
- vite.config.js: allowedHosts: true (accept all hosts behind nginx proxy)
- Dockerfile: switch from next to vite entrypoint, VITE_* build args
- docker-compose: VITE_* build args replacing NEXT_PUBLIC_* for front_minimal

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 17:24:07 +03:00
Dev Server b55c8dc602 feat: migrate front_minimal from Next.js to Vite + React SPA
- package.json: replace next scripts with vite dev/build/preview,
  add react-router-dom + vite/plugin-react/svgr devDeps, remove next + @mui/material-nextjs
- vite.config.js: add NEXT_PUBLIC_* → process.env define map for backward compat,
  add rollup manual chunks (mui, fullcalendar), loadEnv support
- front_minimal/.env: add VITE_* prefix vars alongside legacy NEXT_PUBLIC_*
- routes/sections.jsx: replace 691-line template routes with 160-line platform-only router
- routes/paths.js: trim to platform paths only (no mock IDs, no template pages)
- app.jsx: remove CheckoutProvider (not needed)
- theme-provider.jsx: remove AppRouterCacheProvider from @mui/material-nextjs
- routes/hooks: replace next/navigation re-exports with react-router-dom wrappers
  (useRouter → useNavigate adapter, useSearchParams, usePathname, useParams)
- routes/components/router-link.jsx: Link from react-router-dom
- sections: replace all next/navigation imports with react-router-dom
- analytics-view, my-progress-view: replace next/dynamic with direct import (no SSR)
- Remove all 'use client' directives (231 files) — not needed in Vite SPA
- Build: vite build ✓ in ~8s

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 17:04:53 +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 d4ec417ebf feat: migrate Homework, Materials, Students, Notifications to front_minimal
- Homework: kanban view with columns (pending/submitted/returned/reviewed/fill_later/ai_draft), details drawer with submission list for mentor, submit drawer for client, edit draft drawer; full AI-grade support
- Materials: grid view with image preview, upload and delete dialogs
- Students: mentor view with student list + pending requests + invite by email/code; client view with mentors list + incoming invitations + send request by mentor code
- Notifications: full page + NotificationsDrawer in header connected to real API (mark read, delete, mark all)
- New API utils: homework-api.js, materials-api.js, students-api.js, notifications-api.js
- Added routes: /dashboard/homework, /dashboard/materials, /dashboard/students, /dashboard/notifications
- Updated navigation config with new items

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-09 10:09: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
root 47e134a857 fix
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-28 21:55:33 +03:00
root 835bd76479 tur
Deploy to Production / deploy-production (push) Successful in 29s Details
2026-02-23 23:21:14 +03:00
root a167683bd9 bug fix
Deploy to Production / deploy-production (push) Successful in 49s Details
2026-02-23 21:44:27 +03:00
root 9382eab7b2 fix bugs 2026-02-23 15:44:27 +03:00
root d9121fe6ef fix bugs
Deploy to Production / deploy-production (push) Successful in 27s Details
2026-02-21 23:50:05 +03:00
root d4c4dbb087 mobile
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-18 01:15:06 +03:00
root b4b99491ae moobile
Deploy to Production / deploy-production (push) Successful in 27s Details
2026-02-14 03:30:37 +03:00
root 0b5fb434db full
Deploy to Production / deploy-production (push) Successful in 27s Details
2026-02-14 02:45:50 +03:00
root 8c6406269c full
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-13 20:35:13 +03:00
root 118f33f77b full
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-13 19:26:30 +03:00
root 083fd4d826 prod: доска board, nginx, WhiteboardIframe EXCALIDRAW_URL
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-13 04:30:56 +03:00
root d722ff49bd fix: deploy-dev только на develop/dev, main только prod
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-13 03:07:50 +03:00
root 6420a9b182 Daphne (ASGI) для WebSocket, подписки, email, регистрация, mentor gate, telegram-bot
Deploy to Dev / deploy-dev (push) Failing after 3s Details
Deploy to Production / deploy-production (push) Successful in 26s Details
2026-02-13 02:58:25 +03:00
Dev Server e3517b39ff fix: use correct prod port 8123 in health check
Deploy to Dev / deploy-dev (push) Successful in 27s Details
Deploy to Production / deploy-production (push) Successful in 13s Details
2026-02-13 00:02:26 +03:00
Dev Server 2ff6ee9ab0 fix: update deploy-prod.yml workflow
Deploy to Dev / deploy-dev (push) Successful in 26s Details
Deploy to Production / deploy-production (push) Failing after 25s Details
2026-02-12 23:57:13 +03:00
Dev Server 8d04f90810 fix: add cd to health check step
Deploy to Dev / deploy-dev (push) Successful in 26s Details
Deploy to Production / deploy-production (push) Failing after 45s Details
2026-02-12 23:30:02 +03:00
Dev Server 2cfd7f2ede fix: simplify health check script
Deploy to Dev / deploy-dev (push) Successful in 26s Details
2026-02-12 23:28:20 +03:00
Dev Server e76f253c0a fix: make health check non-blocking
Deploy to Dev / deploy-dev (push) Failing after 29s Details
2026-02-12 23:27:45 +03:00
Dev Server 7868009195 fix: improve health check with retries
Deploy to Dev / deploy-dev (push) Failing after 30s Details
2026-02-12 23:27:28 +03:00
Dev Server 84668ca1e1 fix: make collectstatic non-blocking
Deploy to Dev / deploy-dev (push) Failing after 24s Details
2026-02-12 23:26:52 +03:00
Dev Server e2dbbf52f3 fix: add permissions fix for collectstatic
Deploy to Dev / deploy-dev (push) Has been cancelled Details
2026-02-12 23:26:33 +03:00
Dev Server d2d965d0e1 fix: use key directly without file path
Deploy to Dev / deploy-dev (push) Failing after 25s Details
2026-02-12 23:24:32 +03:00
Dev Server c2af4652c0 fix: use absolute path /tmp/.ssh/deploy_key for SSH key
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 23:18:46 +03:00
Dev Server eb611e809d fix: use key directly in health check step
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 23:18:02 +03:00
Dev Server 0ba0be36e6 fix: use key directly since secret is now working
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 23:15:45 +03:00
Dev Server b2ec252ae0 fix: use key directly since secret is now visible
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 23:14:10 +03:00
Dev Server 4dde350e59 fix: use key_path with setup step for SSH key
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 23:10:14 +03:00
Dev Server 5fe15456f6 debug: add env variable and debug output for SSH secret
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 23:07:05 +03:00
Dev Server 5e9bbfcf8f fix: add debug step to check SSH secret
Deploy to Dev / deploy-dev (push) Failing after 1s Details
2026-02-12 23:04:56 +03:00
Dev Server 44b822aa11 test: verify SSH secret
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 23:04:06 +03:00
Dev Server bc1c1702ba test: verify SSH authentication with corrected key
Deploy to Dev / deploy-dev (push) Failing after 1s Details
2026-02-12 22:59:03 +03:00
Dev Server 56d2f752c4 fix: add use_insecure_cipher option for SSH
Deploy to Dev / deploy-dev (push) Failing after 1s Details
2026-02-12 22:56:04 +03:00
Dev Server 7a3fff73dd fix: use key directly instead of key_path
Deploy to Dev / deploy-dev (push) Failing after 1s Details
2026-02-12 22:54:35 +03:00
Dev Server cfd891d41b fix: use /tmp/deploy_key absolute path
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 22:53:49 +03:00
Dev Server a02460aa09 fix: use $HOME instead of ~ for SSH key path
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 22:53:33 +03:00
Dev Server 3181705968 fix: use key_path instead of key for SSH authentication
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 22:52:28 +03:00
Dev Server ee49e3260e test: verify SSH authentication after key update
Deploy to Dev / deploy-dev (push) Failing after 1s Details
2026-02-12 22:51:25 +03:00
Dev Server 815288621f fix: add debug mode to SSH action
Deploy to Dev / deploy-dev (push) Failing after 1s Details
2026-02-12 22:50:18 +03:00
Dev Server 7885d50a3b test: fix SSH authentication
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 22:48:23 +03:00
Dev Server bf0f4755af test: trigger workflow after SSH fix
Deploy to Dev / deploy-dev (push) Failing after 2s Details
2026-02-12 22:47:37 +03:00
Dev Server 0461d57d5d feat: add all project files to develop branch
Deploy to Dev / deploy-dev (push) Failing after 1s Details
2026-02-12 22:45:07 +03:00