diff --git a/index.html b/index.html index b0b31fe..9dd515d 100644 --- a/index.html +++ b/index.html @@ -1,13 +1,16 @@ - - - - - ph-ee-operations-web-react - - -
- - - + + + + + + ph-ee-operations-web-react + + + +
+ + + + \ No newline at end of file diff --git a/public/fav.png b/public/fav.png new file mode 100644 index 0000000..b3414a5 Binary files /dev/null and b/public/fav.png differ diff --git a/public/favicon.png b/public/favicon.png new file mode 100644 index 0000000..9614e52 Binary files /dev/null and b/public/favicon.png differ diff --git a/src/components/shared/AppLayout.tsx b/src/components/shared/AppLayout.tsx index 3a12005..24ce958 100644 --- a/src/components/shared/AppLayout.tsx +++ b/src/components/shared/AppLayout.tsx @@ -1,11 +1,42 @@ import { Link, Outlet, useLocation, useNavigate } from 'react-router-dom' import { useState } from 'react' -import { Bell, HelpCircle, Search, User } from 'lucide-react' +import type { LucideIcon } from 'lucide-react' +import { + ArrowLeftRight, + BarChart2, + Bell, + ClipboardList, + HelpCircle, + LayoutDashboard, + Landmark, + Search, + Settings, + Shield, + SlidersHorizontal, + Ticket, + User, + Users, +} from 'lucide-react' import { APP_NAME, DEFAULT_TENANT, TENANTS } from '@/config/constants' -const navItems = [ - { label: 'Dashboard', path: '/' }, - { label: 'Settings', path: '/settings' }, +interface NavItem { + label: string + path: string + icon: LucideIcon + exact?: boolean +} + +const navItems: NavItem[] = [ + { label: 'Dashboard', path: '/', icon: LayoutDashboard, exact: true }, + { label: 'Payment Hub', path: '/payment-hub', icon: Landmark }, + { label: 'Vouchers', path: '/vouchers', icon: Ticket }, + { label: 'Account Mapper', path: '/account-mapper',icon: ArrowLeftRight }, + { label: 'Visualizations', path: '/reporting', icon: BarChart2 }, + { label: 'G2P Payment Config',path: '/g2p-config', icon: SlidersHorizontal }, + { label: 'Users', path: '/rbac', icon: Users }, + { label: 'Roles & Permissions',path: '/rbac', icon: Shield }, + { label: 'Audit Trails', path: '/audit', icon: ClipboardList }, + { label: 'Settings', path: '/settings', icon: Settings }, ] export default function AppLayout() { @@ -20,48 +51,54 @@ export default function AppLayout() { localStorage.setItem('tenant', value) } + function isActive(item: NavItem) { + return item.exact + ? location.pathname === item.path + : location.pathname.startsWith(item.path) + } + return (
{/* Sidebar */} -