import { useIntegration } from '@gitroom/frontend/components/launches/helpers/use.integration'; import { useMediaDirectory } from '@gitroom/react/helpers/use.media.directory'; import { useFormatting } from '@gitroom/frontend/components/launches/helpers/use.formatting'; import clsx from 'clsx'; import { VideoOrImage } from '@gitroom/react/helpers/video.or.image'; import { FC } from 'react'; import { textSlicer } from '@gitroom/helpers/utils/count.length'; import interClass from '@gitroom/react/helpers/inter.font'; export const GeneralPreviewComponent: FC<{ maximumCharacters?: number; }> = (props) => { const { value: topValue, integration } = useIntegration(); const mediaDir = useMediaDirectory(); const newValues = useFormatting(topValue, { removeMarkdown: true, saveBreaklines: true, specialFunc: (text: string) => { const { start, end } = textSlicer( integration?.identifier || '', props.maximumCharacters || 10000, text ); return ( text.slice(start, end) + '' + text?.slice(end) + '' ); }, }); return (
{newValues.map((value, index) => (
x {index !== topValue.length - 1 && (
)}
{integration?.name}
{integration?.display || '@username'}
              {!!value?.images?.length && (
                
3 ? 'grid grid-cols-2 gap-[4px]' : 'flex gap-[4px]' )} > {value.images.map((image, index) => ( ))}
)}
))}
); };