const { mockAssets } = require("./assets");

const categories = ["情侣", "闺蜜", "生日", "汉服"];
const sceneTags = ["公园", "街拍", "夜景", "室内"];

const worksCatalog = mockAssets.works.map((url, idx) => ({
  id: `work_${idx + 1}`,
  cover: url,
  category: categories[idx % categories.length],
  ratio: idx % 3 === 0 ? "wide" : "tall",
  title: `${categories[idx % categories.length]}客片 ${idx + 1}`,
  scene: sceneTags[idx % sceneTags.length],
}));

const photoBookHome = {
  photographerName: "陪你拍阿柚",
  photographerTagline: "你负责开心，我负责把自然瞬间拍好看",
  heroImage: mockAssets.hero,
  tags: categories,
  works: worksCatalog.slice(0, 6),
  portfolioCount: worksCatalog.length,
  updateText: "最近 7 天新增 12 组客片",
  packages: [
    {
      id: "pkg_1",
      badge: "精选",
      title: "2小时轻陪拍",
      desc: "适合第一次拍｜情侣日常",
      price: 399,
      originalPrice: 459,
      availableSlots: "本周剩余 3 档",
      ctaLabel: "立即预约",
    },
    {
      id: "pkg_2",
      badge: "高人气",
      title: "3小时沉浸拍摄",
      desc: "适合故事感记录｜含修图",
      price: 569,
      originalPrice: 639,
      availableSlots: "本周剩余 2 档",
      ctaLabel: "立即预约",
    },
  ],
};

const packageDetail = {
  id: "pkg_1",
  title: "情侣纪念日 · 2h",
  price: 899,
  originalPrice: 999,
  availableSlots: "本周可约：周六下午 / 周日上午",
  cover: mockAssets.banner,
  gains: [
    "轻松微步式拍摄，不用担心不会摆姿势",
    "72小时内初修件片，7天内全部交付",
    "可免费改档1次，天气不好可顺延",
  ],
  flow: ["选好时间", "表格向我提到路线和穿搭", "一起轻松拍完"],
};

const bookingDraft = {
  dateList: [
    { day: "周六", date: "28", active: true },
    { day: "周日", date: "29", active: false },
    { day: "周一", date: "30", active: false },
  ],
  startTime: "14:00",
  endTime: "17:00",
  devices: [
    { id: "d1", name: "Pocket3", desc: "清晰便携｜氛围感好", active: true },
    { id: "d2", name: "iPhone", desc: "生活感｜轻快松弛", active: false },
    { id: "d3", name: "复古相机", desc: "文艺胶片｜氛围更强", active: false },
  ],
  total: 399,
  validation: {
    dateValid: true,
    timeValid: true,
    contactValid: false,
  },
  submitState: "idle",
};

const bookingConfirm = {
  title: "今天开始，慢慢陪你拍。",
  tip: "提交后 30 分钟内，我会来和你确认时间、地点和拍照感觉。",
  dateText: "2026年03月28日 周六",
  timeText: "16:30 - 18:30",
  contactText: "林夏 / 138****1029",
  notice: "提交即表示你已阅读拍摄须知与改期说明。确认成功后，页面会带你回到「我的预约」。",
};

const works = {
  tabs: ["全部", ...categories],
  activeTab: "全部",
  list: worksCatalog,
};

const myBookings = [
  {
    id: "o1",
    status: "待确认",
    statusType: "pending",
    statusReason: "等待摄影师确认时间",
    duration: "2小时",
    time: "2026/03/28 14:00-16:00",
    location: "深圳 南山区 · 深圳湾公园",
    primaryText: "联系摄影师",
    secondaryText: "取消预约",
    canCancel: true,
    canContact: true,
  },
  {
    id: "o2",
    status: "已确认",
    statusType: "confirmed",
    statusReason: "档期和地点已确认",
    duration: "3小时",
    time: "2026/04/01 16:30-19:30",
    location: "深圳 福田区 · 香蜜公园",
    primaryText: "联系摄影师",
    secondaryText: "改期申请",
    canCancel: false,
    canContact: true,
  },
  {
    id: "o3",
    status: "已取消",
    statusType: "cancelled",
    statusReason: "你已取消该订单",
    duration: "2小时",
    time: "2026/03/22 10:00-12:00",
    location: "深圳 罗湖区 · 东湖公园",
    primaryText: "再次预约",
    secondaryText: "已结束",
    canCancel: false,
    canContact: false,
  },
];

const bookingDetail = {
  status: "已确认",
  photographer: "摄影师 安可",
  subtitle: "轻松微步式拍摄 ｜ 已与你确认档期",
  time: "2026/04/01 16:30-19:30",
  duration: "3小时",
  device: "Pocket3",
  contact: "wx:linxin / 138****1029",
  note: "想拍自然互动呀，偏傍晚逆光，穿浅色系。",
  total: 899,
};

module.exports = {
  photoBookHome,
  packageDetail,
  bookingDraft,
  bookingConfirm,
  works,
  myBookings,
  bookingDetail,
};
