Files
helix-engage/src/components/base/avatar/base-components/avatar-online-indicator.tsx

30 lines
755 B
TypeScript

import { cx } from "@/utils/cx";
const sizes = {
xs: "size-1.5",
sm: "size-2",
md: "size-2.5",
lg: "size-3",
xl: "size-3.5",
"2xl": "size-4",
"3xl": "size-4.5",
"4xl": "size-5",
};
interface AvatarOnlineIndicatorProps {
size: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "4xl";
status: "online" | "offline";
className?: string;
}
export const AvatarOnlineIndicator = ({ size, status, className }: AvatarOnlineIndicatorProps) => (
<span
className={cx(
"absolute right-0 bottom-0 rounded-full ring-[1.5px] ring-bg-primary",
status === "online" ? "bg-fg-success-secondary" : "bg-fg-disabled_subtle",
sizes[size],
className,
)}
/>
);