import React from 'react';
import { Twitter } from './components/TwitterComponent';
import { Youtube } from './components/YoutubeComponent';
import { TikTok } from './components/TiktokComponent';
import { Instagram } from './components/InstagramComponent';
import { Facebook } from './components/FacebookComponent';
import { useSocialEmbedsContext } from '../../contexts/SocialEmbedsProvider';
import { BlockedEmbedMessage } from './BlockedEmbedMessage';
import { VendorName } from './types';
const vendors = {
twitter: Twitter,
youtube: Youtube,
tiktok: TikTok,
instagram: Instagram,
facebook: Facebook
};
export const Vendor = ({
vendorName,
url
}: {
vendorName: VendorName;
url: string;
}) => {
const { isSocialEmbedAllowed, isAllowedOnce } = useSocialEmbedsContext();
// Step 2: Only mount the actual social vendor component after consent
const allowed =
isSocialEmbedAllowed[vendorName] === true ||
isAllowedOnce[vendorName] === true;
if (
!allowed &&
['instagram', 'twitter', 'facebook', 'youtube', 'tiktok'].includes(
vendorName
)
) {
return ;
}
const Component = vendors[vendorName];
return ;
};