/**
 * POI 封面照片注册表
 *
 * 照片分两层存放，因为微信小程序主包上限 2 MB，30 张大图单独就超限：
 *   - 缩略图 400×300 放主包，供地图、行程、打卡等卡片使用（最大 192rpx ≈ 288 px）
 *   - 大图 800×600 放 pages-poi 分包，供详情页 hero 使用，随分包按需下载
 *
 * 如何添加一张真实照片：
 * 1. 原图放入 src/photo-intake/（不提交仓库），命名为 <poiId>.jpg
 * 2. 跑 `node scripts/process-poi-photos.mjs` 生成两层图片
 * 3. 将 poiId 加入下方 POI_COVER_PHOTOS_READY 集合
 *
 * 未在此集合中的 POI 会继续使用占位图 /static/poi/placeholder.png
 */

/** 已放入真实照片的 POI ID 集合 */
export const POI_COVER_PHOTOS_READY: ReadonlySet<string> = new Set<string>([
  // 文化场馆
  'poi_gm_culture_center', // 光明文化艺术中心
  'poi_amap_b0hbtu4bfr', // 光明区图书馆
  'poi_amap_b0ffk306gx', // 光明区文化馆
  'poi_amap_b02f38meio', // 光明区少年儿童图书馆
  'poi_amap_b0jun773j3', // 深圳国际美术馆
  'poi_amap_b0jbbzx4oo', // 光明区城市规划展览馆
  'poi_amap_b0k025w32e', // 茅洲河图书馆
  // 公园湿地
  'poi_hongqiao_park', // 虹桥公园
  'poi_honghuashan_park', // 红花山公园
  'poi_amap_b0j2jc4n0w', // 科学公园
  'poi_amap_b0ffmdhve1', // 鹅颈水湿地公园
  'poi_amap_b0fffwu1l5', // 明湖公园
  'poi_amap_b0ffhfbsje', // 光明新城公园（牛山公园）
  'poi_amap_b0ffjf1b20', // 光明开明公园
  'poi_amap_b0g0kzrt5s', // 左岸科技公园
  'poi_amap_b02f30abgs', // 西田公园
  'poi_amap_b0jgbp18uf', // 大雁山森林公园
  'poi_amap_b0grac6nzz', // 楼村湿地公园
  'poi_amap_b02f309r88', // 大顶岭山林公园
  // 田园休闲
  'poi_farm_grand_view', // 光明农场大观园
  'poi_happy_pastoral', // 华侨城光明欢乐田园
  'poi_amap_b0ffkkmzsc', // 双晖稻田农场
  // 人文地标
  'poi_amap_b02f38nj9k', // 弘源寺
  'poi_amap_b0ffgthbcf', // 陈仙姑祠
  'poi_amap_b0fffttiov', // 黄氏大宗祠
  'poi_amap_b0kb4cxaby', // 玉律醒狮文化馆
  // 绿道户外
  'poi_dadingling_greenway', // 大顶岭绿道
  'poi_amap_b0ldbsbeea', // 光明湖碧道
  'poi_amap_b0kup558j4', // 茅洲河碧道
  'poi_amap_b0jb2aurvw', // 五指耙森林公园（光明片区）
])

/** 主包缩略图目录（400×300） */
const POI_THUMB_BASE_URL = '/static/poi/photos'
/** pages-poi 分包大图目录（800×600），仅分包内页面可引用 */
const POI_FULL_BASE_URL = '/pages-poi/static/photos'

/**
 * 卡片用缩略图 URL。主包内任何页面都可用。
 */
export function coverPhotoUrlFor(poiId: string): string {
  return `${POI_THUMB_BASE_URL}/${poiId}.jpg`
}

/**
 * 详情页 hero 用大图 URL。
 *
 * 只有 pages-poi 分包内的页面能引用 —— 分包资源要等分包下载后才存在，
 * 主包页面拿到这个路径会加载失败。
 */
export function coverPhotoFullUrlFor(poiId: string): string {
  return `${POI_FULL_BASE_URL}/${poiId}.jpg`
}

export function hasCoverPhoto(poiId: string): boolean {
  return POI_COVER_PHOTOS_READY.has(poiId)
}
