From 259bc55c8656d58c39f0f70c8c983650ccc09cab Mon Sep 17 00:00:00 2001 From: madresebanoo Date: Wed, 2 Sep 2026 15:37:41 +0430 Subject: [PATCH] feat(admin): add certificates page to admin sidebar and router MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - AdminLayout: add گواهینامه‌ها menu item - admin router: register /certificates route → AdminCertificatesPage - endpoints: add getAdminCertificates, addAdminCertificate, deleteAdminCertificate Co-Authored-By: Claude Sonnet 4.6 --- src/features/admin/router.js | 11 +++++++++++ src/layouts/AdminLayout.vue | 6 ++++++ src/services/api/endpoints.js | 5 +++++ 3 files changed, 22 insertions(+) diff --git a/src/features/admin/router.js b/src/features/admin/router.js index 49560c5..5b40f20 100644 --- a/src/features/admin/router.js +++ b/src/features/admin/router.js @@ -274,4 +274,15 @@ export default [ subtitle: 'درخواست‌های اعزام مبلغین را مشاهده و مدیریت نمایید.', }, }, + { + path: '/certificates', + name: 'admin-certificates', + component: () => import('@/features/admin/certificates/pages/AdminCertificatesPage.vue'), + meta: { + layout: 'admin', + role: 'admin', + title: 'گواهینامه‌ها', + subtitle: 'گواهینامه‌های دوره‌ها را صادر و مدیریت نمایید.', + }, + }, ] diff --git a/src/layouts/AdminLayout.vue b/src/layouts/AdminLayout.vue index 354bc67..9fe4d70 100644 --- a/src/layouts/AdminLayout.vue +++ b/src/layouts/AdminLayout.vue @@ -173,6 +173,12 @@ const menuItems = computed(() => [ to: { name: 'admin-missionary-requests' }, active: route.name === 'admin-missionary-requests', }, + { + title: 'گواهینامه‌ها', + icon: 'certificate', + to: { name: 'admin-certificates' }, + active: route.name === 'admin-certificates', + }, ]) diff --git a/src/services/api/endpoints.js b/src/services/api/endpoints.js index 1e80d53..d61d26b 100644 --- a/src/services/api/endpoints.js +++ b/src/services/api/endpoints.js @@ -196,6 +196,11 @@ export const endpoints = { listAdminMissionaryRequests: '/admin/missionary-requests', showAdminMissionaryRequest: '/admin/missionary-requests/:id', changeAdminMissionaryRequestStatus: '/admin/missionary-requests/:id/status', + + // ─── Admin: certificates ─────────────────────────────────────────────────── + getAdminCertificates: '/admin/certificates', + addAdminCertificate: '/admin/certificates', + deleteAdminCertificate: '/admin/certificates/:id', } export const buildUrl = (template, params = {}) =>