* 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
26 lines
558 B
TypeScript
26 lines
558 B
TypeScript
import { cn } from '@/utils/cn';
|
|
import { useEffect, useRef } from 'react';
|
|
|
|
type Props = {
|
|
className?: string;
|
|
children: React.ReactNode;
|
|
};
|
|
|
|
export function FadeIn({ className, children }: Props) {
|
|
const ref = useRef<HTMLDivElement>(null);
|
|
useEffect(() => {
|
|
if (ref.current) {
|
|
ref.current.classList.remove('opacity-0');
|
|
ref.current.classList.add('opacity-100');
|
|
}
|
|
}, []);
|
|
return (
|
|
<div
|
|
className={cn('opacity-0 transition-opacity duration-500', className)}
|
|
ref={ref}
|
|
>
|
|
{children}
|
|
</div>
|
|
);
|
|
}
|