import { IProduct } from "./product"; /** * User-generated media (UGC) displayed in the widget */ export interface IMedia { /** Unique identifier for the media */ id: string; /** Type of media: image, video, or text */ type: 'image' | 'video' | 'text'; /** Caption or description of the media */ caption: string; /** Social source of the media (e.g., Instagram, TikTok) */ source: 'instagram' | 'tiktok'; /** Username of the creator (optional) */ username?: string; /** Link to the original post */ post: string; /** Image URL (optional) */ image?: string; /** Video URL (optional) */ video?: string; /** Thumbnail image URL (optional) */ thumbnail?: string; /** Products linked to this media (optional) */ products?: IProduct[]; /** Product IDs linked to this media, separated by type */ productsLinked: { /** Exact product matches */ exact?: string[]; /** Similar product matches */ similar?: string[]; }; /** Index of the post in the widget */ postIndex: number; } /** * Content block containing all medias for the widget */ export interface IContent { medias: IMedia[]; }