'use client'; import { detectUrlPlatform, SupportedPlatform } from '@/lib/utils/link'; import { UrlCard } from '@semble/types'; import SembleCollectionCardContent from './SembleCollectionCardContent'; import LinkCardContent from './LinkCardContent'; import BlueskyPost from '@/features/platforms/bluesky/components/blueskyPost/BlueskyPost'; import { Suspense } from 'react'; import { ErrorBoundary } from 'react-error-boundary'; import BlueskyPostSkeleton from '@/features/platforms/bluesky/components/blueskyPost/Skeleton.BlueskyPost'; import YoutubeVideo from '@/features/platforms/youtube/components/YoutubeVideo/YoutubeVideo'; import SpotifyEmbed from '@/features/platforms/spotify/components/SpotifyEmbed/SpotifyEmbed'; import { useUserSettings } from '@/features/settings/lib/queries/useUserSettings'; interface Props { url: string; cardContent: UrlCard['cardContent']; } export default function UrlCardContent(props: Props) { const platform = detectUrlPlatform(props.url); const { settings } = useUserSettings(); if (platform.type === SupportedPlatform.SEMBLE_COLLECTION) { return ; } if ( platform.type === SupportedPlatform.BLUESKY_POST || platform.type === SupportedPlatform.BLACKSKY_POST ) { return ( } > }> } /> ); } if ( platform.type === SupportedPlatform.YOUTUBE_VIDEO && settings.cardView !== 'list' ) { return ; } if ( platform.type === SupportedPlatform.SPOTIFY && settings.cardView !== 'list' ) { return ; } return ; }