Spaces:
Paused
Paused
File size: 1,122 Bytes
9114bf3 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | /** Direct Cloudinary delivery URLs for quiz audio/images. */
export function mediaFileStem(fileId) {
let id = String(fileId || '').trim()
if (!id) return ''
if (id.startsWith('http://') || id.startsWith('https://')) return id
id = id
.replace(/^\/api\/images\//, '')
.replace(/^\/images\//, '')
.replace(/^\/api\/audio\//, '')
.replace(/^\/audio\//, '')
return id.split('.')[0]
}
export function cloudinaryCloudName() {
return (import.meta.env.VITE_CLOUDINARY_CLOUD_NAME || '').trim()
}
export function cloudinaryAudioUrl(fileId) {
const stem = mediaFileStem(fileId)
const cloud = cloudinaryCloudName()
if (!cloud || !stem || stem.startsWith('http')) return ''
return `https://res.cloudinary.com/${cloud}/video/upload/audio/${stem}.mp3`
}
export function cloudinaryImageUrl(fileId) {
const stem = mediaFileStem(fileId)
const cloud = cloudinaryCloudName()
if (!cloud || !stem || stem.startsWith('http')) return ''
return `https://res.cloudinary.com/${cloud}/image/upload/images/${stem}.png`
}
export function usesCloudinaryCdn() {
return Boolean(cloudinaryCloudName())
}
|