ConceptPortal-public/rsconcept/frontend/src/components/info/ConstituentaBadge.tsx

37 lines
1.1 KiB
TypeScript
Raw Normal View History

import clsx from 'clsx';
2024-03-20 15:27:32 +03:00
import ConstituentaTooltip from '@/components/info/ConstituentaTooltip';
import { IConstituenta } from '@/models/rsform';
import { isMockCst } from '@/models/rsformAPI';
import { colorFgCstStatus, IColorTheme } from '@/styling/color';
interface ConstituentaBadgeProps {
2023-12-28 14:04:44 +03:00
prefixID?: string;
value: IConstituenta;
theme: IColorTheme;
}
2023-12-30 19:43:24 +03:00
function ConstituentaBadge({ value, prefixID, theme }: ConstituentaBadgeProps) {
return (
2023-12-28 14:04:44 +03:00
<div
id={`${prefixID}${value.alias}`}
className={clsx(
2024-01-04 14:35:46 +03:00
'min-w-[3.1rem] max-w-[3.1rem]', // prettier: split lines
2023-12-28 14:04:44 +03:00
'px-1',
'border rounded-md',
2023-12-30 19:43:24 +03:00
'text-center font-medium whitespace-nowrap'
2023-12-28 14:04:44 +03:00
)}
style={{
borderColor: colorFgCstStatus(value.status, theme),
color: colorFgCstStatus(value.status, theme),
backgroundColor: isMockCst(value) ? theme.bgWarning : theme.bgInput
}}
>
2023-12-28 14:04:44 +03:00
{value.alias}
2023-12-30 19:43:24 +03:00
<ConstituentaTooltip anchor={`#${prefixID}${value.alias}`} data={value} />
2023-12-28 14:04:44 +03:00
</div>
);
}
2023-12-28 14:04:44 +03:00
export default ConstituentaBadge;