51 lines
2.0 KiB
TypeScript
51 lines
2.0 KiB
TypeScript
import { IconType } from 'react-icons'
|
|
import { TbAlertTriangle, TbBuilding, TbChartBar, TbCreditCard, TbHistory, TbPackage, TbShoppingCart, TbUsers } from 'react-icons/tb'
|
|
|
|
export interface MenuItem {
|
|
value: string
|
|
label: string
|
|
icon: IconType
|
|
to: string
|
|
}
|
|
|
|
export interface AppConfig {
|
|
id: string
|
|
name: string
|
|
menus: MenuItem[]
|
|
}
|
|
|
|
export const APP_CONFIGS: Record<string, AppConfig> = {
|
|
'desa-plus': {
|
|
id: 'desa-plus',
|
|
name: 'Desa+',
|
|
menus: [
|
|
{ value: 'overview', label: 'Overview', icon: TbChartBar, to: '/apps/desa-plus' },
|
|
{ value: 'logs', label: 'Log Activity', icon: TbHistory, to: '/apps/desa-plus/logs' },
|
|
{ value: 'errors', label: 'Error Reports', icon: TbAlertTriangle, to: '/apps/desa-plus/errors' },
|
|
{ value: 'villages', label: 'Villages', icon: TbBuilding, to: '/apps/desa-plus/villages' },
|
|
{ value: 'users', label: 'Users', icon: TbUsers, to: '/apps/desa-plus/users' },
|
|
],
|
|
},
|
|
'e-commerce': {
|
|
id: 'e-commerce',
|
|
name: 'E-Commerce (Example)',
|
|
menus: [
|
|
{ value: 'overview', label: 'Overview', icon: TbChartBar, to: '/apps/e-commerce' },
|
|
{ value: 'logs', label: 'Log Activity', icon: TbHistory, to: '/apps/e-commerce/logs' },
|
|
{ value: 'errors', label: 'Error Reports', icon: TbAlertTriangle, to: '/apps/e-commerce/errors' },
|
|
{ value: 'orders', label: 'Orders', icon: TbShoppingCart, to: '/apps/e-commerce/orders' },
|
|
{ value: 'products', label: 'Products', icon: TbPackage, to: '/apps/e-commerce/products' },
|
|
{ value: 'payments', label: 'Payments', icon: TbCreditCard, to: '/apps/e-commerce/payments' },
|
|
],
|
|
},
|
|
'fitness-app': {
|
|
id: 'fitness-app',
|
|
name: 'Fitness App (Example)',
|
|
menus: [
|
|
{ value: 'overview', label: 'Overview', icon: TbChartBar, to: '/apps/fitness-app' },
|
|
{ value: 'logs', label: 'Log Activity', icon: TbHistory, to: '/apps/fitness-app/logs' },
|
|
{ value: 'errors', label: 'Error Reports', icon: TbAlertTriangle, to: '/apps/fitness-app/errors' },
|
|
],
|
|
},
|
|
}
|