* esm * wip * wip * wip * wip * wip * wip * subscription notice * wip * wip * wip * fix envs * fix: update docker build * fix * esm/types * delete dashboard :D * add patches to dockerfiles * update packages + catalogs + ts * wip * remove native libs * ts * improvements * fix redirects and fetching session * try fix favicon * fixes * fix * order and resize reportds within a dashboard * improvements * wip * added userjot to dashboard * fix * add op * wip * different cache key * improve date picker * fix table * event details loading * redo onboarding completely * fix login * fix * fix * extend session, billing and improve bars * fix * reduce price on 10M
29 lines
668 B
TypeScript
29 lines
668 B
TypeScript
import { cn } from '@/utils/cn';
|
|
import { Badge } from './ui/badge';
|
|
|
|
export function Ping({ className }: { className?: string }) {
|
|
return (
|
|
<div className="relative">
|
|
<div className={cn('size-2 bg-emerald-500 rounded-full', className)} />
|
|
<div
|
|
className={cn(
|
|
'size-2 bg-emerald-500 rounded-full absolute inset-0 animate-ping',
|
|
className,
|
|
)}
|
|
/>
|
|
</div>
|
|
);
|
|
}
|
|
|
|
export function PingBadge({
|
|
children,
|
|
className,
|
|
}: { children: React.ReactNode; className?: string }) {
|
|
return (
|
|
<Badge variant={'outline'} className={cn('flex gap-1', className)}>
|
|
<Ping />
|
|
{children}
|
|
</Badge>
|
|
);
|
|
}
|