Portal/rsconcept/frontend/src/features/rsform/components/BadgeGrammeme.tsx

37 lines
809 B
TypeScript
Raw Normal View History

2024-06-07 20:17:03 +03:00
import clsx from 'clsx';
import { APP_COLORS, colorFgGrammeme } from '@/styling/color';
2024-06-07 20:17:03 +03:00
import { labelGrammeme } from '@/utils/labels';
import { GramData } from '../models/language';
2024-06-07 20:17:03 +03:00
interface BadgeGrammemeProps {
/** Grammeme to display. */
2024-06-07 20:17:03 +03:00
grammeme: GramData;
}
/**
* Displays a badge with a grammeme tag.
*/
2024-06-07 20:17:03 +03:00
function BadgeGrammeme({ grammeme }: BadgeGrammemeProps) {
return (
<div
className={clsx(
2025-01-23 19:41:31 +03:00
'min-w-[3rem]', //
2024-06-07 20:17:03 +03:00
'px-1',
'border rounded-md',
'text-sm font-medium text-center whitespace-nowrap'
)}
style={{
borderColor: colorFgGrammeme(grammeme),
color: colorFgGrammeme(grammeme),
backgroundColor: APP_COLORS.bgInput
2024-06-07 20:17:03 +03:00
}}
>
{labelGrammeme(grammeme)}
</div>
);
}
export default BadgeGrammeme;