profit-planet-frontend/src/app/admin/user-management/constants/userStatusPresentation.ts
DeathKaioken 646c293bc1 .
Co-authored-by: Copilot <copilot@github.com>
2026-05-04 06:22:10 +02:00

60 lines
2.3 KiB
TypeScript

export type ManagedUserStatus = 'active' | 'pending' | 'suspended' | 'inactive' | 'archived'
export type ManagedUserType = 'personal' | 'company'
export type ManagedUserRole = 'user' | 'admin' | 'guest' | 'super_admin'
export const USER_STATUS_FILTER_OPTIONS: ManagedUserStatus[] = [
'active',
'pending',
'suspended',
'inactive',
'archived',
]
export function getUserStatusLabelKey(status: ManagedUserStatus): string {
if (status === 'active') return 'autofix.kf6afbb1f'
if (status === 'pending') return 'autofix.k8f278f58'
if (status === 'suspended') return 'autofix.k18bf2a04'
if (status === 'inactive') return 'autofix.k2fc06d90'
return 'autofix.k9129ea6f'
}
export function getUserStatusLabel(t: (key: string) => string, status: ManagedUserStatus): string {
return t(getUserStatusLabelKey(status))
}
export function getUserStatusBadgeClass(status: ManagedUserStatus): string {
if (status === 'active') return 'bg-green-100 text-green-800 border-green-200'
if (status === 'pending') return 'bg-amber-100 text-amber-800 border-amber-200'
if (status === 'suspended') return 'bg-rose-100 text-rose-800 border-rose-200'
return 'bg-slate-100 text-slate-800 border-slate-200'
}
export function getUserTypeLabelKey(type: ManagedUserType): string {
return type === 'personal' ? 'autofix.kf9463361' : 'autofix.k7eedf98b'
}
export function getUserTypeLabel(t: (key: string) => string, type: ManagedUserType): string {
return t(getUserTypeLabelKey(type))
}
export function getUserTypeBadgeClass(type: ManagedUserType): string {
return type === 'personal' ? 'bg-sky-100 text-sky-700' : 'bg-violet-100 text-violet-700'
}
export function getUserRoleLabelKey(role: ManagedUserRole): string {
if (role === 'admin') return 'autofix.k03f9899f'
if (role === 'guest') return 'autofix.kdcdca454'
if (role === 'super_admin') return 'userDetailModal.superAdmin'
return 'autofix.k2bf5e6ec'
}
export function getUserRoleLabel(t: (key: string) => string, role: ManagedUserRole): string {
return t(getUserRoleLabelKey(role))
}
export function getUserRoleBadgeClass(role: ManagedUserRole): string {
if (role === 'admin' || role === 'super_admin') return 'bg-indigo-100 text-indigo-700'
if (role === 'guest') return 'bg-amber-100 text-amber-700'
return 'bg-slate-100 text-slate-700'
}