Saghar Mohammadi 9f86acacb0 feat(batch-1): multi-role sidebar, video display, certificate layout, upload progress, counselor access
- roleMenuItems.js: merged menu builder that unions items from all user roles
  (student + missionary, student + counselor, etc.) additively
- auth store: expose `roles` array in addition to singular `role`; wire in
  WordPress auth-status cookie sync so the public site can show/hide the
  account button
- router guards: use roles.includes() instead of role === for multi-role access
- layouts (Student/Counselor/Missionary): delegate menuItems to
  buildMergedMenuItems so dual-role users see sections from both roles
- StudentSessionDetailsPage: contentKind now returns 'video' (not 'link')
  when session.videoUrl is set; adds embed iframe branch for online sessions
- CertificateItem.vue: fix CSS order/alignment for desktop + mobile layout
- StudentCertificatesPage.vue: map backend payload fields to component props
  with Jalaali date formatting
- SessionFormPage: upload progress bar (%) during video uploads; embed_code
  textarea for online sessions (frontend-only; dormant until batch-2 backend
  migration is deployed)
- wp-sync/auth-status-cookie.js: cookie helper for WordPress login-state sync

[batch-1-low-risk]
2026-09-02 11:17:20 +04:30
2026-05-28 15:52:48 +03:30
2026-05-28 15:52:48 +03:30
2026-05-28 15:52:48 +03:30
fix
2026-05-15 17:12:51 +03:30
2026-05-21 17:49:31 +03:30
2026-05-13 01:43:05 +03:30
2026-06-12 00:27:41 +03:30
2026-05-28 19:49:00 +03:30
2026-05-13 01:43:05 +03:30
2026-05-28 15:52:48 +03:30
2026-05-13 01:43:05 +03:30
2026-05-13 01:43:05 +03:30
2026-05-13 01:43:05 +03:30
2026-05-13 01:43:05 +03:30
2026-08-04 18:38:11 +00:00
2026-07-30 17:38:27 +03:30
fix
2026-05-15 17:12:51 +03:30
2026-05-21 17:49:31 +03:30
2026-07-30 18:53:56 +03:30
2026-07-30 18:53:56 +03:30
fix
2026-05-15 17:12:51 +03:30
S
Description
No description provided
5.9 MiB
Languages
Vue 73.8%
JavaScript 25.6%
SCSS 0.5%