import { FC } from 'react'; import { withProvider } from '@gitroom/frontend/components/launches/providers/high.order.provider'; import { useIntegration } from '@gitroom/frontend/components/launches/helpers/use.integration'; import { useFormatting } from '@gitroom/frontend/components/launches/helpers/use.formatting'; import { useMediaDirectory } from '@gitroom/react/helpers/use.media.directory'; import { afterLinkedinCompanyPreventRemove, linkedinCompanyPreventRemove, } from '@gitroom/helpers/utils/linkedin.company.prevent.remove'; import { VideoOrImage } from '@gitroom/react/helpers/video.or.image'; const ThreadsPreview: FC = (props) => { const { value: topValue, integration } = useIntegration(); const mediaDir = useMediaDirectory(); const newValues = useFormatting(topValue, { removeMarkdown: true, saveBreaklines: true, beforeSpecialFunc: (text: string) => { return linkedinCompanyPreventRemove(text); }, specialFunc: (text: string) => { return afterLinkedinCompanyPreventRemove(text.slice(0, 280)); }, }); const [firstPost, ...morePosts] = newValues; if (!firstPost) { return null; } return (
); }; export default withProvider(null, ThreadsPreview, undefined, async ([firstPost, ...otherPosts]) => { if (!firstPost.length) { return 'Instagram should have at least one media'; } return true; });