Commit Graph

74 Commits

Author SHA1 Message Date
madresebanoo f5620a86f9 feat(certificates): admin certificate management UI
Admin can view, issue, and delete certificates. Student certificate
query now normalises the response shape (works with both paginated
and non-paginated API responses).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-09-02 15:16:20 +04:30
madresebanoo 72d92c24d5 feat(admin/users): support multiple roles in user table and form
UsersTable now shows all role labels joined (not just the first role),
and its CSS badge class is based on the primary role. UserFormPage
uses a multi-select for roles instead of a single-select, and the
form validation requires at least one role. TermItem layout fix for
inactive badge alignment.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-09-02 15:16:04 +04:30
madresebanoo 97adb2923e fix: branding, 401 logout, and blocked-user message on register page
- Copyright.vue / AuthCopyright.vue: change link from mugweb.ir to madresebanoo.ir
- SelectField.vue: add min-width:0 to prevent flex overflow in narrow layouts
- useRedirectAfterLogin: check roles array (multi-role support) instead of single role
- StudentRegisterPage: show block reason when user's status is blocked
- http.js: only clear session on 401 if a token already existed (login
  form 401 should not trigger logout); clear via authStore so WordPress
  cookie is also cleaned up

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-09-02 15:15:46 +04:30
madresebanoo c17dbe2ae9 fix(courses): normalize "my courses" list response and cover image
The list query returned the raw paginated payload unmapped, so
current/ended filtering and pagination metadata didn't work; align it
with the same coverUrl fallback the detail query already used.
2026-09-02 15:04:31 +04:30
madresebanoo fb629a54a5 feat(users): add user evaluation panel with PDF export
Shows the admin a summary of a user's sessions viewed, exam/homework
performance, and current term status, with a PDF export action.
2026-09-02 15:03:55 +04:30
madresebanoo 2b3e8ee322 feat(services): add Service Types management UI
Admin CRUD page for service types, plus wiring the student "request
service" form's category select to the real list instead of a
hardcoded pair of options.
2026-09-02 15:03:15 +04:30
madresebanoo a8b24ca46e fix(courses): course cover image not saved on create/edit
The admin course form sent a stray upload id (imageId/uploadId) that
didn't match any field the API accepts; the API expects cover_media_id
with the media id returned from the upload endpoint. Also switch course
displays to the coverUrl field the API actually returns.
2026-09-02 15:02:02 +04:30
madresebanoo 0bd7c44c6c Merge branch 'master' of https://git.madresebanoo.ir/front-end/banu-front
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2026-09-02 14:59:50 +04:30
madresebanoo 9064de4c7d fix: support onUploadProgress in useUploadMediaMutation
SessionFormPage now passes { formData, onUploadProgress } to mutateAsync
for progress tracking. Update uploadMediaMutationFn to destructure the
object and forward onUploadProgress to apiUploadMedia; update apiUploadMedia
to accept and pass the callback to axios.

[batch-1-hotfix]
2026-09-02 14:19:51 +04:30
madresebanoo ab99daeec1 Merge pull request 'feat(batch-1): multi-role sidebar, video display, certificate layout, upload progress, counselor access' (#1) from deploy/batch-1-low-risk into master
Reviewed-on: #1
2026-09-02 08:06:21 +00:00
madresebanoo d63ab86e70 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
sajjadtalkhabi 81332abdb0 fix: bugs
Deploy banu-front / deploy (push) Successful in 1m47s
2026-08-18 09:08:45 +03:30
sajjadtalkhabi e4a0eb463b Merge branch 'master' of ssh://git.madresebanoo.ir:2222/front-end/banu-front
Deploy banu-front / deploy (push) Successful in 2m0s
2026-08-17 16:59:27 +03:30
sajjadtalkhabi 20551fee63 fix: bugs 2026-08-17 16:59:24 +03:30
Server Migration 612a6e3dfe Merge remote-tracking branch 'origin/master'
Deploy banu-front / deploy (push) Successful in 2m42s
2026-08-16 17:07:32 +03:30
Server Migration 861773b05b fix: make admin media uploads reliable 2026-08-16 17:03:36 +03:30
sajjadtalkhabi b2f2f89181 fix: bugs
Deploy banu-front / deploy (push) Successful in 1m26s
2026-08-15 19:42:33 +03:30
Server Migration b64f528c0d fix: complete registration frontend flow
Deploy banu-front / deploy (push) Successful in 1m40s
2026-08-15 17:28:40 +03:30
Server Migration d94a96b25e fix: resolve education dashboard interface issues 2026-08-15 13:06:49 +03:30
sajjadtalkhabi af0149d722 fix: media recorder
Deploy banu-front / deploy (push) Successful in 1m45s
2026-08-15 13:01:18 +03:30
sajjadtalkhabi fec1da6ec8 fix: localize Yup validation messages
Deploy banu-front / deploy (push) Successful in 1m50s
2026-08-14 21:08:52 +03:30
Server Migration fe08fc46fb fix: bind session audio URL correctly
Deploy banu-front / deploy (push) Successful in 1m20s
2026-08-04 18:45:39 +00:00
Server Migration 3d005859ab fix: remove old-server frontend references
Deploy banu-front / deploy (push) Waiting to run
2026-08-04 18:43:12 +00:00
Server Migration f13eb9bbb4 build: use reliable npm registry
Deploy banu-front / deploy (push) Waiting to run
2026-08-04 18:38:11 +00:00
Server Migration fb0e4aa7f4 chore: bind frontend deployment to loopback
Deploy banu-front / deploy (push) Waiting to run
2026-08-04 18:32:43 +00:00
Server Migration 94ac69d96a chore: migrate deployment to madresebanoo.ir
Deploy banu-front / deploy (push) Waiting to run
2026-08-04 18:32:19 +00:00
sajjadtalkhabi 39b295037e fix: bugs
Deploy banu-front / deploy (push) Successful in 2m18s
2026-08-01 10:34:21 +03:30
sajjadtalkhabi 31d100861b fix: bugs
Deploy banu-front / deploy (push) Failing after 23s
2026-07-30 18:56:55 +03:30
sajjadtalkhabi 6510432f41 Merge branch 'master' of ssh://109.122.252.86:2222/front-end/banu-front
Deploy banu-front / deploy (push) Successful in 10m31s
2026-07-30 18:53:59 +03:30
sajjadtalkhabi 8fefb4568b fix: bugs 2026-07-30 18:53:56 +03:30
root 32e97a7591 Revert "feat: update admin dashboard statistics"
Deploy banu-front / deploy (push) Failing after 1m24s
This reverts commit fe1fb6cfa4.
2026-07-30 14:16:10 +00:00
root fe1fb6cfa4 feat: update admin dashboard statistics
Deploy banu-front / deploy (push) Failing after 1m31s
2026-07-30 14:15:46 +00:00
sajjadtalkhabi bc9ce01d3f Merge branch 'master' of ssh://109.122.252.86:2222/front-end/banu-front
Deploy banu-front / deploy (push) Successful in 3m33s
2026-07-30 17:41:10 +03:30
sajjadtalkhabi 38051db180 fix: bugs 2026-07-30 17:40:41 +03:30
sajjadtalkhabi 36b747d267 fix: bugs 2026-07-30 17:38:27 +03:30
root c69a1babe5 fix: attach admin user avatars
Deploy banu-front / deploy (push) Successful in 4m35s
2026-07-30 13:55:30 +00:00
root 90cf147362 fix: allow images up to 5 MB
Deploy banu-front / deploy (push) Successful in 1m0s
2026-07-30 13:38:28 +00:00
sajjadtalkhabi e8b1e4add6 fix: missionary education
Deploy banu-front / deploy (push) Successful in 1m31s
2026-07-21 12:24:58 +03:30
sajjadtalkhabi 2a1f1b19d4 fix: responsive
Deploy banu-front / deploy (push) Successful in 1m33s
2026-07-13 12:15:44 +03:30
sajjadtalkhabi 8d2aa1c214 fix: router
Deploy banu-front / deploy (push) Successful in 1m38s
2026-07-12 12:16:12 +03:30
sajjadtalkhabi b592f520ab fix: dashboard
Deploy banu-front / deploy (push) Successful in 1m34s
2026-07-12 12:03:26 +03:30
sajjadtalkhabi dbc166f015 fix: bugs
Deploy banu-front / deploy (push) Successful in 1m27s
2026-07-09 13:50:49 +03:30
sajjadtalkhabi da34813b1d fix: bugs
Deploy banu-front / deploy (push) Successful in 1m28s
2026-07-09 13:25:59 +03:30
sajjadtalkhabi 38a396ba21 fix
Deploy banu-front / deploy (push) Successful in 1m27s
2026-07-07 17:36:43 +03:30
sajjadtalkhabi b9ef684b51 fix: bugs
Deploy banu-front / deploy (push) Successful in 1m22s
2026-07-02 19:09:13 +03:30
sajjadtalkhabi e700609236 fix
Deploy banu-front / deploy (push) Successful in 1m20s
2026-06-27 20:07:58 +03:30
sajjadtalkhabi 2c617258f4 fix: dashboard 2026-06-27 15:45:07 +03:30
sajjadtalkhabi a4432a30cb fix: mirror
Deploy banu-front / deploy (push) Successful in 1m27s
2026-06-12 01:01:45 +03:30
saji_kk 6b36ec8241 ci: read VITE env from Gitea action variables instead of hardcoding
Deploy banu-front / deploy (push) Failing after 44m27s
- deploy.yml now uses ${{ vars.VITE_API_BASE_URL }} / ${{ vars.VITE_USE_MOCKS }}
- Dockerfile drops hardcoded prod IP default for VITE_API_BASE_URL
2026-06-11 21:10:37 +00:00
sajjadtalkhabi 70d14cc119 fix: env
Deploy banu-front / deploy (push) Failing after 16m13s
2026-06-12 00:27:41 +03:30