/** * MediaRenderers.js * HTML generators for media items (images/videos) in the showcase */ /** * Generate video wrapper HTML * @param {Object} media - Media metadata * @param {number} heightPercent - Height percentage for container * @param {boolean} shouldBlur - Whether content should be blurred * @param {string} nsfwText - NSFW warning text * @param {string} metadataPanel - Metadata panel HTML * @param {string} localUrl - Local file URL * @param {string} remoteUrl - Remote file URL * @param {string} mediaControlsHtml - HTML for media control buttons * @returns {string} HTML content */ export function generateVideoWrapper(media, heightPercent, shouldBlur, nsfwText, metadataPanel, localUrl, remoteUrl, mediaControlsHtml = '') { const nsfwLevel = media.nsfwLevel !== undefined ? media.nsfwLevel : 0; return `
${shouldBlur ? ` ` : ''} ${mediaControlsHtml} ${shouldBlur ? `

${nsfwText}

` : ''} ${metadataPanel}
`; } /** * Generate image wrapper HTML * @param {Object} media - Media metadata * @param {number} heightPercent - Height percentage for container * @param {boolean} shouldBlur - Whether content should be blurred * @param {string} nsfwText - NSFW warning text * @param {string} metadataPanel - Metadata panel HTML * @param {string} localUrl - Local file URL * @param {string} remoteUrl - Remote file URL * @param {string} mediaControlsHtml - HTML for media control buttons * @returns {string} HTML content */ export function generateImageWrapper(media, heightPercent, shouldBlur, nsfwText, metadataPanel, localUrl, remoteUrl, mediaControlsHtml = '') { const nsfwLevel = media.nsfwLevel !== undefined ? media.nsfwLevel : 0; return `
${shouldBlur ? ` ` : ''} ${mediaControlsHtml} Preview ${shouldBlur ? `

${nsfwText}

` : ''} ${metadataPanel}
`; }