// 이미지 호스트 리턴하는 함수 // [TODO] 환경변수 처리 수정 export const getResolvedHost = (path: string): string => { const config = useRuntimeConfig() // const isDev = process.env.NODE_ENV === "development"; // const rootPath = isDev ? "/images" : `${config.public.staticUrl}`; const rootPath = config.public.staticUrl return `${rootPath}${path}` } // 리소스 데이터 리턴하는 함수 // [TODO] data 타입 정의 export const getResourcesData = ({ resources, isMultiple = false, groupSets = false, }: { resources: any isMultiple?: boolean groupSets?: boolean }) => { const groups = groupSets ? resources[0]?.group_sets[0]?.groups : resources[0]?.groups if (isMultiple) { return groups } return groups?.[0] ?? null } // 반응형 클래스 리턴하는 함수 export const getResponsiveClass = () => { return ['bg-[image:var(--mobile-bg)]', 'sm:bg-[image:var(--pc-bg)]'] } // 통합된 반응형 리소스 함수 export const getResponsiveSrc = ( pathArray: any, options: { resourcesType?: 'image' | 'bg' | 'video' } = {} ) => { const { resourcesType = 'image' } = options const pcField = resourcesType === 'video' ? 'path_vid_pc' : 'path_pc' const mobileField = resourcesType === 'video' ? 'path_vid_mo' : 'path_mo' if (!pathArray?.[mobileField]) { return null } const resolvedImages = { pc: getResolvedHost(pathArray[pcField] || pathArray[mobileField]), mobile: getResolvedHost(pathArray[mobileField]), } if (resourcesType === 'bg') { return { '--pc-bg': `url(${resolvedImages.pc})`, '--mobile-bg': `url(${resolvedImages.mobile})`, } } return { mobileSrc: resolvedImages.mobile, pcSrc: resolvedImages.pc, } }