/** @jsxImportSource @emotion/react */ import { css } from '@emotion/react'; import { useTheme } from '../../context/MagicBellThemeContext.js'; import { toRGBA } from '../../lib/color.js'; import { cleanslate } from '../Styled/index.js'; export interface Props { count: number; } /** * Badge to display the number of unseen notifications. The color of the badge * can be customized through the theme context. * * @example * */ export default function Badge({ count }: Props) { const theme = useTheme(); const { unseenBadge: badgeTheme } = theme; const style = css` align-items: center; background: ${toRGBA(badgeTheme.backgroundColor, badgeTheme.backgroundOpacity)} !important; border: 1px solid ${badgeTheme.borderColor} !important; border-radius: ${badgeTheme.borderRadius} !important; color: ${badgeTheme.textColor} !important; display: flex; font-family: ${badgeTheme.fontFamily} !important; font-size: ${badgeTheme.fontSize} !important; font-weight: ${badgeTheme.fontWeight} !important; padding: ${badgeTheme.padding} !important; text-align: ${badgeTheme.textAlign} !important; text-transform: ${badgeTheme.textTransform} !important; div { width: 100%; } `; return (
{count > 99 ? '99+' : count}
); }