import { getExternalFaviconUrl } from './external-favicon-url.js' /** * 추천 사이트 외부 URL인지 확인한다. * @param {string} url - 링크 URL * @returns {boolean} 외부 URL 여부 */ export const isExternalRecommendedSiteUrl = (url) => /^https?:\/\//i.test(String(url || '').trim()) /** * 추천 사이트에 표시할 아이콘 URL을 반환한다. * 수동 썸네일 > 서버 캐시 파비콘 > 외부 파비콘 프록시 순이다. * @param {Object} item - 추천 사이트 항목 * @param {string} [item.thumbnailUrl] - 수동 썸네일 URL * @param {string} [item.cachedFaviconUrl] - 서버에 저장된 파비콘 URL * @param {string} [item.url] - 사이트 URL * @param {number} [sizePx] - 외부 프록시 요청 크기(px) * @returns {string} 아이콘 URL */ export const getRecommendedSiteIconUrl = (item, sizePx = 64) => { const thumbnailUrl = String(item?.thumbnailUrl || '').trim() if (thumbnailUrl) { return thumbnailUrl } const cachedFaviconUrl = String(item?.cachedFaviconUrl || '').trim() if (cachedFaviconUrl) { return cachedFaviconUrl } return getExternalFaviconUrl(item?.url, sizePx) }