feat(admin-portal): implement admin dashboard, user management, audit logs...
Overview
This PR introduces the full-featured Admin Portal, enabling administrators to manage users, assign dynamic roles, inspect audit logs, and configure granular permissions with complete internationalization (EN/VI) support.
Key Changes
-
Admin Management Portal:
-
Admin Hub (
/admin): Central dashboard with quick metrics and module navigation. -
User Management (
/admin/users): Search, filter by role/status, change user status (Active/Inactive), and assign roles via interactive modal. -
Audit Logs Viewer (
/admin/audit-logs): Chronological activity feed with actor metadata, IP addresses, action types, and structured JSON change diffs. -
Role & Permission Matrix (
/admin/roles): Refactored interactive permission toggle grid with system-role mutation protection.
-
Admin Hub (
-
Dynamic Permission Integration & Guards:
- Navigation bar and layout updated to conditionally render Admin links based on user permissions (
users:read,roles:read). - Created
useAdminhook and modular API services (user.service.ts,rbac.service.ts).
- Navigation bar and layout updated to conditionally render Admin links based on user permissions (
-
Internationalization (i18n):
- Added complete English and Vietnamese translations (
en.json,vi.json) for all admin modules, audit actions, status badges, and error messages.
- Added complete English and Vietnamese translations (
-
UX & Visual Polish:
- Styled with responsive glassmorphic cards, status pills, skeleton loaders, and micro-interactions.
- Dynamic page titles updated via
DocumentTitlecomponent.