mirror of
https://github.com/supabase/supabase.git
synced 2026-10-17 07:09:07 +03:00
## Context This is largely just a mechanical change here: Opting to use lucide icons with the `Icon` suffix across all icon imports within `studio` - so that it’s clearer which components are icons + reduces the possibility of name collision with our own components - e.g <User /> vs <UserIcon /> Also added a eslint rule for this: <img width="1069" height="167" alt="image" src="https://github.com/user-attachments/assets/7f36f443-5ca2-4bf6-8d22-86e774513bfc" /> And updated `AGENTS.md` as such: ``` Icons come from `lucide-react`, always imported with the `Icon` suffix (`import { CheckIcon, Trash2Icon } from 'lucide-react'`) — never the bare names (`Check`) or `Check as CheckIcon` aliases (lint-enforced). ```
47 lines
1017 B
TypeScript
47 lines
1017 B
TypeScript
import { MinusIcon } from 'lucide-react'
|
|
import { cn } from 'ui'
|
|
|
|
export const DataTableColumnStatusCode = ({
|
|
value,
|
|
level,
|
|
className,
|
|
}: {
|
|
value?: number | string
|
|
level?: string
|
|
className?: string
|
|
}) => {
|
|
const colorClassName = getStatusColor(level)
|
|
|
|
function getStatusColor(value?: number | string): string {
|
|
switch (value) {
|
|
case '1':
|
|
case 'info':
|
|
return 'text-blue-500'
|
|
case '2':
|
|
case 'success':
|
|
return 'text-foreground'
|
|
case '4':
|
|
case 'warning':
|
|
case 'redirect':
|
|
return 'text-warning'
|
|
case '5':
|
|
case 'error':
|
|
return 'text-destructive'
|
|
default:
|
|
return 'text-foreground'
|
|
}
|
|
}
|
|
|
|
if (!value) {
|
|
return <MinusIcon className="h-4 w-4 text-muted-foreground/50" />
|
|
}
|
|
|
|
return (
|
|
<div className={cn('flex items-center relative', className)}>
|
|
<div className={cn('flex items-center justify-center relative font-mono', colorClassName)}>
|
|
{value}
|
|
</div>
|
|
</div>
|
|
)
|
|
}
|