60 lines
2.3 KiB
TypeScript
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'
|
|
}
|