'use client'
import { type CSSProperties, forwardRef } from 'react'
import { MoonFilledIcon } from '@channel.io/bezier-icons'
import classNames from 'classnames'
import { type BetaSemanticColor } from '~/src/types/beta-tokens'
import { colorTokenCssVar } from '~/src/utils/style'
import { Icon } from '~/src/components/Icon'
import { type StatusBadgeProps } from './StatusBadge.types'
import styles from './StatusBadge.module.scss'
// TODO: Change to use AlphaIcon and alpha color tokens
/**
* `StatusBadge` is a component to indicate user status.
* @example
*
* ```tsx
*
* ```
*/
export const StatusBadge = forwardRef(
function StatusBadge(
{
size = 'm',
online = false,
doNotDisturb = false,
style,
className,
...rest
},
forwardedRef
) {
const iconColor: BetaSemanticColor = online
? 'text-accent-green'
: doNotDisturb
? 'text-accent-yellow'
: 'fill-neutral-heavy'
const backgroundColor: BetaSemanticColor = doNotDisturb
? 'surface-high'
: iconColor
return (
{doNotDisturb && (
)}
)
}
)