Commit graph

137 commits

Author SHA1 Message Date
Ashwin Kumar
9bfaa2279c chore: update admin docs, role config, and kb management 2026-04-06 01:46:58 +02:00
Ashwin Kumar
ab658d826b Add UGC Content Creator to AdminShell; fix dashboard preview bugs
- AdminShell: add PAGE_TITLES and ROUTE_MODULE_KEYS entries for
  /admin/ugc-content-creators with UGC_CONTENT_CREATOR_MANAGEMENT keys
- DashboardDesignPreview: fix portfolioMediaConfig to include DEVELOPER and
  FITNESS_TRAINER as visual portfolio roles
- DashboardDesignPreview: add missing customerViewFor handlers for
  'applications', 'shortlisted candidates', 'my applications', 'saved jobs'
- external-dashboard-management: add 'Settings' to CUSTOMER sidebar array
- Fix launch.json PATH so npm is found in sh shell

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-05 21:14:11 +02:00
Ashwin Kumar
8855b8b378 chore: sync latest dashboard and role flow updates 2026-04-05 16:52:01 +02:00
Ashwin Kumar
c526a376d5 fix(admin): convert AdminShell to persistent layout, fix company API URL
Replace per-page AdminShell wrapping with a single SolidStart layout file
(src/routes/admin.tsx) so the shell mounts once and persists across all
/admin/* navigation — eliminating the sidebar bounce and session re-check
flash that occurred on every page transition.

- Create src/routes/admin.tsx as layout with <Outlet /> for child routes
- Remove <AdminShell> import/wrapper from all 66 route files and 2 shared
  components (RoleUserManagementTablePage, UserListPage)
- Fix company.tsx: wrong fetch URL /api/admin/companies → /api/gateway/api/admin/companies
- Add missing auth headers (Authorization Bearer) to company.tsx and users.tsx
- Fix admin/index.tsx API constant from hardcoded localhost:8000 → /api/gateway

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 02:49:14 +02:00
Ashwin Kumar
02df2baa4e Fix admin login URL — use /api/gateway/auth/login proxy route
Was calling /api/admin/auth/login which had no handler.
Fixed to /api/gateway/auth/login which proxies to Rust backend.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-03 02:32:56 +02:00
Ashwin Kumar
8345d6574c feat(admin): wire management modules to live backend and add UGC role 2026-04-02 13:09:42 +02:00
Ashwin Kumar
82036a0608 Align admin management tables and flows with department pattern 2026-04-02 00:42:42 +02:00
Ashwin Kumar
ad8a17a766 Refine external preview flows and simplify verification/approval management 2026-03-30 21:43:49 +02:00
Ashwin Kumar
8a24700e73 feat(dashboard): add My Portfolio to all professional role dashboards
- Add full single-page portfolio preview in DashboardDesignPreview with
  profile header, about, packages, gallery, experience, testimonials,
  and FAQs sections matching Department Management design language
- Fix sidebar persona resolution to always include My Portfolio for all
  professional subtypes (Photographer, Graphic Designer, Makeup Artist,
  Tutor, Developer, Video Editor, Social Media Manager, Fitness Trainer,
  Catering Services) via a three-layer fallback: roleId lookup → role
  key from roles list → formRoleKey stored directly from dashboard record
- Add personaFromKey() helper so any professional role key maps to
  PROFESSIONAL sidebar even when the roles API returns empty data

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 14:19:00 +02:00
Ashwin Kumar
24353ef27a Polish shell transitions and dark theme behavior 2026-03-30 04:52:10 +02:00
Ashwin Kumar
8ed523d80c Standardize admin tables and polish shell UX 2026-03-30 04:48:09 +02:00
Ashwin Kumar
d7bf5a6d56 feat(roles): add module permissions for dashboards/onboarding/external roles 2026-03-27 21:34:39 +01:00
Ashwin Kumar
93e38018dc feat(admin): runtime-gated sidebar, wire roles/employees/departments/designations 2026-03-27 21:25:00 +01:00
Ashwin Kumar
bed0942d12 fix: dashboard layout spacing and CSS cascade layer bug
Move CSS reset into @layer base so Tailwind utilities aren't overridden.
Fix settings panel: search icon overlap, cramped widget items, spacing
between header card and widget grid using inline margin styles.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 20:10:08 +01:00
Ashwin Kumar
7c4ed94975 feat: wire internal role management to real API
Full wiring: load() fetches audience=INTERNAL roles, save() creates/updates
via POST/PATCH with key/name/description/department_id/permissions/settings,
delete and status toggle wired. Permission matrix uses MODULE_PERMISSIONS
with prefix_ACTION keys. Detail view fetches permission_keys from GET /{id}.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 19:27:35 +01:00
Ashwin Kumar
0d9837b8dc feat: wire department management to real API
Remove FALLBACK_DEPARTMENTS array and fallback logic. Normalize fields
from snake_case backend response (total_employees, department_head,
department_email, transfers_enabled). Empty list shown on API failure.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 19:22:55 +01:00
Ashwin Kumar
c911a0c450 feat: wire designation management to real API
Remove FALLBACK_DESIGNATIONS and static DEPARTMENTS array. Fetch
departments from API for dropdown, send department_id (UUID) on save,
normalize department_name/department_id from backend response.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 19:21:00 +01:00
Ashwin Kumar
2a3a336114 Refine admin dashboard layout spacing and widget settings UX 2026-03-27 18:29:21 +01:00
Ashwin Kumar
717a6c799e Fix admin approval/verification routing and align management UIs 2026-03-27 05:35:18 +01:00
Ashwin Kumar
a95c955ad4 Update admin panel routes: approval, designation, employees, dashboard mgmt, onboarding, roles, verification
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 02:28:34 +01:00
Ashwin Kumar
fd4f6ceba8 fix(sidebar): enable scrolling — set height:100% on sidebar and wrapper, replace h-screen/h-full Tailwind with inline styles
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 02:09:55 +01:00
Ashwin Kumar
58005121ee fix(sidebar): increase logo size to 44px height
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 02:08:00 +01:00
Ashwin Kumar
d0b904f3ff feat(sidebar): use full nxtgauge-logo.png in expanded state, icon-only when collapsed
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 02:07:32 +01:00
Ashwin Kumar
1bd7fe646c feat(department): add View Department panel with row detail display
- View Department tab now shows department details (code, head, email, employees, visibility, date)
- Clicking ⋮ → View Department on a row populates the view panel
- Table hides when View tab is active (style:display reactive binding)
- Dropdown menu items rewritten with inline styles for proper spacing (4 items: View, Edit, Deactivate, Delete)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 02:05:28 +01:00
Ashwin Kumar
ab487ce884 feat(admin): pixel-perfect UI overhaul for department, designation, roles, employees pages
- Rewrote all layout/spacing with inline styles (Tailwind v4 doesn't generate most utility classes)
- AdminSidebar: all 37 modules in 9 groups, scrollable, 220px/64px collapse, no bottom user section
- AdminShell: header height 64px, user avatar top-right (Gmail-style), removed search bar
- Department: orange-only status badges, dark navy table header (white text), edge-to-edge table, View/Create/All tabs, View action in row menu, form with inline styles
- Designation: full rewrite matching department pattern — same tabs, filter bar, table, form
- Roles/Employees: compact filter bar and table cell sizing fixes

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-27 01:56:55 +01:00
Ashwin Kumar
c65f32d45c chore: sync local changes 2026-03-26 20:58:39 +01:00
Ashwin Kumar
4ca69877d4 fix(admin): remove employees.tsx layout wrapper — breaks nested routing
Deleting employees.tsx allows employees/index.tsx to serve /admin/employees
directly (same pattern as roles/), fixing the blank page regression.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 08:09:26 +01:00
Ashwin Kumar
1844170429 feat(admin): employee management redesign + routing fix
- Fix employees routing: employees.tsx → Outlet layout, actual pages in employees/index.tsx and employees/create.tsx
- Employee list: stat cards, search/filter toolbar, table with 3-dot action menu (Edit, Deactivate, Delete), fallback data
- Employee create: form with full_name, email, role_id, department_id, designation_id selectors; auto-credential note
- Stage all other modified routes for next phases

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 08:07:55 +01:00
Ashwin Kumar
5b97af4e0f feat(admin): redesign sidebar, dashboard, dept, designation & roles UI
- Sidebar: white bg, rounded pill nav items, orange left indicator for active
- Dashboard: remove Export/View All buttons, add Customise Dashboard + drag handles on widgets
- Department/Designation/Roles: new design system with orange label header, stat cards, light table header, 3-dot action menus, status badges

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-26 08:01:23 +01:00
Ashwin Kumar
244895b241 Refactor admin UI and add Storybook/Vitest setup 2026-03-26 06:20:22 +01:00
Ashwin Kumar
df9445da65 Phase 5 & 6: Modernize Verifications, Approvals, and Onboarding UI 2026-03-26 00:35:41 +01:00
Ashwin Kumar
52adb3ad05 feat(admin): modernize verification, approvals, and onboarding ui 2026-03-26 00:16:52 +01:00
Ashwin Kumar
1b70f40e40 feat: phase 4 role management ui matching figma designs 2026-03-26 00:06:47 +01:00
Ashwin Kumar
648b6be849 feat: phase 3 identity & configuration ui matching figma designs 2026-03-26 00:01:15 +01:00
Ashwin Kumar
83a1f45e4f feat: complete phase 2 dashboard modules UI and data wiring 2026-03-25 23:55:43 +01:00
Ashwin Kumar
9d02b7be84 Phase 1: Layout & Core Design System 2026-03-25 23:50:52 +01:00
Ashwin Kumar
1ffe2b35ee chore: cleanup — remove redirect shims, unused components, fix build artifacts
- Delete 8 redirect alias pages (approval-management, approvals, external-role-management,
  internal-role-management, help, role-modules, settings, workspace) that used onMount
  navigate — causes flicker and unnecessary AdminShell renders
- Delete unused Counter.tsx and Counter.css (test artifact, never imported)
- Update AdminSidebar to link directly to /admin/roles and /admin/runtime-roles
  now that redirect shims are gone
- Remove codex build hashes from page titles (Departments, Designations, Dashboard)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 23:35:13 +01:00
Ashwin Kumar
8e2b3c1a64 Update admin dashboard UI and add management route aliases 2026-03-25 23:01:42 +01:00
Ashwin Kumar
3f20065257 chore: checkpoint current workspace changes 2026-03-25 22:15:06 +01:00
Ashwin Kumar
13b428913f feat: phase 1+2 — shell redesign + drag-and-drop dashboard
Shell (AdminShell + AdminSidebar):
- Logo moved to header-left section, width syncs with sidebar collapse state
- Global search bar with debounced multi-module API calls and grouped dropdown
- Bell notification icon with badge, gear → /admin/settings, user dropdown with logout
- Sidebar: 7 grouped nav sections with dividers, orange left-border active state,
  removed "Active" badge pill, user info (avatar + name + role) pinned to bottom
- Fixed all sidebar labels to match Figma (Employee Management, External Onboarding
  Management, Users Management, Verification Management)
- Added missing sidebar items: Verification, Fitness Trainers, Graphic Designers,
  Social Media, Video Editors, Catering Services, Applications, Responses

Dashboard (admin/index):
- Rebuilt to match Figma: "Dashboard Overview" title, Export Report button
- 4 stat cards (Total Users, Active Companies, Open Leads, Credits Purchased)
  with real API fetch, orange icons, delta badges, graceful — fallback
- ApexCharts: Leads Trend (orange gradient line) + Revenue Overview (navy bars)
- Drag-and-drop widget system via @thisbeyond/solid-dnd — sortable stat cards
  and chart cards with handles and remove buttons in Customise mode
- Add Widget panel shows all available widgets not on dashboard
- 8 stat widgets + 3 chart widgets available; layout persists in localStorage

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-25 19:21:54 +01:00
Ashwin Kumar
801bf293a0 style: match login page to public website design language
- Dark navy gradient background (matches public site's MarketingBackground feel)
- Glassmorphism card: rounded-[28px] border-white/30 bg-white/92 backdrop-blur-xl
  shadow-[0_28px_60px_-34px_rgba(2,6,23,0.88)] — identical to public site card
- Input style: rounded-xl border-[#cfd4e3] focus:border-[#fd6216] focus:ring-[#ffd8c3]
- Label style: text-xs font-semibold uppercase tracking-[0.11em] text-[#4b546f]
- Field spacing: space-y-3.5 with mb-2 labels — matches public site exactly
- Password show/hide toggle (eye icon) matching public site
- Radial glow accent blobs behind the background
- Left brand panel kept as frosted glass over the dark bg (lg+ only)
- Navy submit button (intentional admin deviation from public orange)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 16:01:07 +01:00
Ashwin Kumar
eefdbc4561 style: redesign login page with split-panel layout
Replaced cramped single-column layout with a polished two-panel design:
- Left: navy (#0a1d37) brand panel with logo, headline, feature checklist,
  radial glow accents, and security footer — visible at lg+ breakpoints
- Right: centered white card on slate-50 background with clean form,
  proper input focus states (navy ring), and consistent navy submit button
- Mobile: collapses to single column with logo above the card
- Removed washed-out disabled orange button; button is always visible
- Consistent with admin design system (navy primary, orange accent only)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 15:57:28 +01:00
Ashwin Kumar
3b2c09cd4b style: unify all primary buttons to use shared .btn-primary class
Replaced 37 files worth of inconsistent inline Tailwind button classes
(mixed font-medium/semibold, px-4/px-6, with/without shadow-sm, inline-flex
variants) with the shared .btn-primary CSS class. Added :disabled state to
.btn-primary in app.css so disabled buttons visually dim consistently.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 08:10:29 +01:00
Ashwin Kumar
33619a1b27 style: apply consistent page header pattern across all admin routes
- Replace text-2xl font-bold with text-xl font-semibold in all page headers
- Replace bg-[#fd6216] orange buttons with bg-[#0a1d37] navy buttons
- Wrap all pages in -mx-6 -mt-6 flex flex-col layout for edge-to-edge headers
- Replace .field/.actions CSS classes with explicit Tailwind utility classes
- Apply data-table/table-card shared CSS classes to remaining list pages
- Remove duplicate tab bar from roles/index.tsx (AdminShell TAB_SETS handles it)
- Move Create Internal Role button to page header in roles/index.tsx

Pages updated: applications, modules, responses, verification-status,
company/create, company/[id], employees/[id]/edit, users/[id]/edit,
users/details/[id], roles/index, roles/[id]/index, roles/[id]/edit,
role-ui-configs, runtime-roles/[roleKey], onboarding-schemas/*,
external/internal-dashboard-management, approval/[id], approval,
jobs/[id], leads/[id], photographer/[id], requirements/[id],
kb/articles/[id], kb/articles/[id]/edit, verification/[id],
verification-status/[id], help/[id], help/support-bridge

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 07:37:02 +01:00
Ashwin Kumar
3b98609cb5 ui(step-5): update roles/runtime-roles pages to reference layout
- roles/create: navy submit button, proper form inputs, data-table
- roles/templates: table-card, navy Create button
- runtime-roles/index: fix oversized heading, data-table, navy colors
- runtime-roles/new: white header shell, proper form styling

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 05:26:39 +01:00
Ashwin Kumar
3ffed6c813 ui(step-4): apply reference layout to remaining 7 pages
- catering-services, fitness-trainers, graphic-designers, social-media-managers,
  video-editors, verification, kb: white header, data-table/table-card,
  navy buttons, orange tab underlines, inline styles removed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 05:23:57 +01:00
Ashwin Kumar
5cfa4b89be ui(step-3): apply reference layout to 14 more management pages
- pricing, credit, coupon, discount, tax, order, invoice: white header,
  data-table/table-card, navy buttons, inline styles removed
- review, leads, jobs, notifications, support, report, ledger: same
  pattern + orange tab underlines where applicable

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 05:20:55 +01:00
Ashwin Kumar
0bb59b99ef ui(step-2): apply reference layout to 8 management pages
- customer, candidate, photographer, makeup-artist, users, company,
  developers, tutors: all get white sticky header, -mx-6/-mt-6 layout,
  data-table/table-card CSS classes, navy primary buttons, orange tab
  underlines, Tailwind classes replacing inline styles on all table cells

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 04:51:40 +01:00
Ashwin Kumar
d6405b55f6 ui(step-1): match reference layout for dept/designation/employees/roles pages
- All pages: white sticky page header + tab bar with orange underline,
  -mx-6 -mt-6 negative margin to stretch headers edge-to-edge
- department: full columns (ID, Name, Description, Created By, etc.),
  icon-only action buttons, navy Add Department button
- designation: Designations List / Add Designation tabs, status filter
  dropdown, inline create/edit form, full columns with status badge
- employees: View/Add tabs, icon-only action buttons, status badges
- roles/index: clean table with Name+code subtext, Description, actions

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 04:47:05 +01:00
Ashwin Kumar
c44152154f ui(step-0): rewrite sidebar/shell to match reference admin panel
- AdminSidebar: flat nav list, orange right-border active indicator,
  ACTIVE pill badge, ChevronLeft collapse (rotates 180° when collapsed)
- AdminShell: h-16 header with logo+title left, Bell+avatar+logout right,
  sidebar collapse state, bg-gray-50 main area
- app.css: shared classes — data-table (navy header), table-card,
  btn-primary (navy), btn-secondary, search-input, action-btn,
  status-badge variants, page-title

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 04:25:17 +01:00