diff --git a/apps/frontend/src/components/new-launch/providers/tiktok/tiktok.provider.tsx b/apps/frontend/src/components/new-launch/providers/tiktok/tiktok.provider.tsx index 7ed473af..edd5e5e4 100644 --- a/apps/frontend/src/components/new-launch/providers/tiktok/tiktok.provider.tsx +++ b/apps/frontend/src/components/new-launch/providers/tiktok/tiktok.provider.tsx @@ -29,12 +29,29 @@ const TikTokSettings: FC<{ return value?.[0]?.image?.some((p) => (p?.path?.indexOf?.('mp4') ?? -1) === -1); }, [value]); + const hasMedia = (value?.[0]?.image?.length ?? 0) > 0; + const isVideo = hasMedia && !isTitle; + const disclose = watch('disclose'); const brand_organic_toggle = watch('brand_organic_toggle'); const brand_content_toggle = watch('brand_content_toggle'); const content_posting_method = watch('content_posting_method'); const isUploadMode = content_posting_method === 'UPLOAD'; + const tiktokRestrictionNotice = useMemo(() => { + if (!hasMedia || !isVideo) return null; + if (!isUploadMode) { + return t( + 'tiktok_restriction_direct_video', + 'TikTok restriction: For direct post with video, your post content is used as the title. A separate title field is not available.' + ); + } + return t( + 'tiktok_restriction_upload_video', + 'TikTok restriction: For upload-only video, TikTok does not accept a title or message. The content will default to "#Postiz" and you can edit it inside the TikTok app before publishing.' + ); + }, [hasMedia, isUploadMode, isVideo, t]); + const privacyLevel = [ { value: 'PUBLIC_TO_EVERYONE', @@ -83,6 +100,25 @@ const TikTokSettings: FC<{ return (