import fileNotFoundImgSrc from '~/assets/img/file-not-found.png' const useAttachment = () => { const { appInfo } = useGlobal() const getAttachmentSrc = (item: Record) => { if (item?.data) { return item.data } else if (item?.path) { return `${appInfo.value.ncSiteUrl}/${item.path}` } else if (item?.url) { return item.url } return fileNotFoundImgSrc } // try `${appInfo.value.ncSiteUrl}/${item.path}` // if it fails -> try item.url // if it fails -> use default image const showFallback = async (evt: any, item: Record) => { const possibleSources = [`${appInfo.value.ncSiteUrl}/${item.path}`, item.url, fileNotFoundImgSrc] evt.onerror = null const i = possibleSources.indexOf(evt.target.getAttribute('src')) if (i === -1) return evt.target.src = possibleSources[i + 1] } return { getAttachmentSrc, fileNotFoundImgSrc, showFallback, } } export default useAttachment