import { CreditCard, LayoutDashboard, Settings, Users } from 'lucide-react'; import { NavigationConfigSchema } from '@kit/ui/navigation-schema'; import featureFlagsConfig from '~/config/feature-flags.config'; import pathsConfig from '~/config/paths.config'; const iconClasses = 'w-4'; const getRoutes = (account: string) => [ { label: 'common:routes.application', children: [ { label: 'common:routes.dashboard', path: pathsConfig.app.accountHome.replace('[account]', account), Icon: , end: true, }, ], }, { label: 'common:routes.settings', collapsible: false, children: [ { label: 'common:routes.settings', path: createPath(pathsConfig.app.accountSettings, account), Icon: , }, { label: 'common:routes.members', path: createPath(pathsConfig.app.accountMembers, account), Icon: , }, featureFlagsConfig.enableTeamAccountBilling ? { label: 'common:routes.billing', path: createPath(pathsConfig.app.accountBilling, account), Icon: , } : undefined, ].filter(Boolean), }, ]; export function getTeamAccountSidebarConfig(account: string) { return NavigationConfigSchema.parse({ routes: getRoutes(account), style: process.env.NEXT_PUBLIC_TEAM_NAVIGATION_STYLE, sidebarCollapsed: process.env.NEXT_PUBLIC_TEAM_SIDEBAR_COLLAPSED, sidebarCollapsedStyle: process.env.NEXT_PUBLIC_SIDEBAR_COLLAPSED_STYLE, }); } function createPath(path: string, account: string) { return path.replace('[account]', account); }