// Mock product + content data for FRIDAY SELECT SHOP
const CATEGORIES = [
  { slug: 'new', name: 'New Arrivals', zh: '新品' },
  { slug: 'friday', name: 'Friday Drop', zh: '週五限定' },
  { slug: 'tops', name: 'Tops', zh: 'T恤 / 衛衣' },
  { slug: 'outerwear', name: 'Outerwear', zh: '外套' },
  { slug: 'bottoms', name: 'Bottoms', zh: '下著' },
  { slug: 'hats', name: 'Headwear', zh: '帽子' },
  { slug: 'bags', name: 'Bags', zh: '包款' },
  { slug: 'acc', name: 'Accessories', zh: '配件' },
  { slug: 'footwear', name: 'Footwear', zh: '鞋履' },
  { slug: 'collab', name: 'Collaborations', zh: '聯名限量' },
];

const COLORS = [
  { n: 'Jet', v: '#0a0a0a' },
  { n: 'Ivory', v: '#f1ede3' },
  { n: 'Storm', v: '#7a7d82' },
  { n: 'Cement', v: '#c9c3b7' },
  { n: 'Blood', v: '#9a1a14' },
  { n: 'Olive', v: '#585c3a' },
  { n: 'Rust', v: '#b2542b' },
  { n: 'Denim', v: '#29425b' },
];

const SIZES = ['XS','S','M','L','XL','XXL'];

const mkProduct = (i, o={}) => ({
  id: `F${String(i).padStart(3, '0')}`,
  sku: `FRI-${String(i).padStart(4, '0')}`,
  name: o.name,
  zh: o.zh || '',
  cat: o.cat,
  price: o.price,
  old: o.old || null,
  tag: o.tag || null,
  colors: o.colors || ['Jet','Ivory'],
  sizes: o.sizes || SIZES.slice(0, 5),
  series: o.series || 'SS26',
  desc: o.desc || 'Cut from heavyweight 280gsm organic cotton, garment-washed for a lived-in hand feel. Boxy fit, drop shoulder, embroidered Friday star at left chest. Made in Taiwan.',
  details: o.details || [
    '280gsm 有機純棉',
    '水洗加工，略有落差屬正常',
    '台灣製造',
    '建議手洗，低溫烘乾',
  ],
  stock: o.stock ?? 14,
});

const PRODUCTS = [
  mkProduct(1,  { name: 'Orbit Star Heavyweight Tee',  zh: '軌道星芒重磅T', cat: 'tops',      price: 1480, tag: 'FRIDAY DROP', colors: ['Jet','Ivory','Cement'], series: 'SS26 / WK17' }),
  mkProduct(2,  { name: 'Friday Graphic Hoodie',        zh: '標語連帽衛衣', cat: 'tops',      price: 2680, old: 2980, tag: 'SALE', colors: ['Jet','Storm','Olive'] }),
  mkProduct(3,  { name: 'Select Shop Cap',              zh: '選物棒球帽',   cat: 'hats',      price: 980,  colors: ['Jet','Ivory','Rust'] }),
  mkProduct(4,  { name: 'Crosstown Varsity Jacket',     zh: '穿越校園外套', cat: 'outerwear', price: 5800, tag: 'NEW', colors: ['Jet','Cement'] }),
  mkProduct(5,  { name: 'Everyday Cargo Pants',         zh: '日常工裝褲',   cat: 'bottoms',   price: 2480, colors: ['Olive','Jet','Storm'] }),
  mkProduct(6,  { name: 'Double Pocket Tote',           zh: '雙口袋托特包', cat: 'bags',      price: 1680, colors: ['Ivory','Jet'] }),
  mkProduct(7,  { name: 'Orbit Ring Necklace',          zh: '軌道環項鍊',   cat: 'acc',       price: 1280, tag: 'LIMITED', colors: ['Jet'] }),
  mkProduct(8,  { name: 'Runner Low-Top',               zh: '低筒跑者鞋',   cat: 'footwear',  price: 4280, colors: ['Ivory','Jet'] }),
  mkProduct(9,  { name: 'F-Star Beanie',                zh: '星芒毛帽',     cat: 'hats',      price: 780,  colors: ['Jet','Storm','Blood'] }),
  mkProduct(10, { name: 'Archive Washed Tee',           zh: '水洗檔案T',    cat: 'tops',      price: 1280, colors: ['Cement','Ivory','Storm'] }),
  mkProduct(11, { name: 'Utility Crossbody',            zh: '機能斜背包',   cat: 'bags',      price: 2380, tag: 'NEW', colors: ['Jet','Olive'] }),
  mkProduct(12, { name: 'Track Pant — Piped',           zh: '運動長褲',     cat: 'bottoms',   price: 2180, colors: ['Jet','Storm'] }),
  mkProduct(13, { name: 'Friday × Kosuke Tee',          zh: '聯名短袖',     cat: 'collab',    price: 1880, tag: 'COLLAB', colors: ['Ivory','Jet'] }),
  mkProduct(14, { name: 'Coach Windbreaker',            zh: '教練風衣',     cat: 'outerwear', price: 3680, colors: ['Jet','Olive'] }),
  mkProduct(15, { name: 'Signature Socks (3-pack)',     zh: '標準襪3入',   cat: 'acc',       price: 680,  colors: ['Jet','Ivory'] }),
  mkProduct(16, { name: 'Boxy Denim Shirt',             zh: '寬版丹寧襯衫', cat: 'tops',      price: 2880, colors: ['Denim','Ivory'] }),
];

const LOOKBOOK = [
  { id: 1, title: 'Chapter 01 — Off Hours',     sub: 'SS26 Lookbook',    items: [1, 5, 3] },
  { id: 2, title: 'Chapter 02 — Midnight Run',  sub: 'Night Capsule',    items: [2, 12, 8] },
  { id: 3, title: 'Chapter 03 — Island Static', sub: 'Summer Delivery',  items: [10, 6, 9] },
];

const NEWS = [
  { id: 1, date: '2026.04.19', cat: 'Drop',    title: 'WK17 Friday Drop — 軌道星芒系列週五午夜 0:00 上架' },
  { id: 2, date: '2026.04.12', cat: 'Collab',  title: 'FRIDAY × KOSUKE — 東京藝術家聯名系列預告' },
  { id: 3, date: '2026.04.05', cat: 'Event',   title: '台北 POP-UP：四月最後一個週末，赤峰街限定店' },
  { id: 4, date: '2026.03.28', cat: 'Journal', title: '選物筆記 #012 — 重磅素T的六種穿法' },
];

const STORES = [
  { name: 'FRIDAY 台北旗艦店',  addr: '台北市大同區赤峰街 41 巷 12 號', hours: '週二—週日 13:00–21:00', tel: '02 2555 1987' },
  { name: 'FRIDAY 台中 概念店',  addr: '台中市西區向上路一段 79 巷 66 號', hours: '週二—週日 14:00–22:00', tel: '04 2301 8866' },
  { name: 'FRIDAY 高雄 門市',    addr: '高雄市新興區文化路 32 號',          hours: '週三—週日 14:00–21:30', tel: '07 286 4320' },
  { name: 'FRIDAY 東京 原宿',    addr: '東京都渋谷区神宮前 4-26-13',        hours: 'Tue—Sun 12:00–20:00',    tel: '+81 3-6804-6611' },
];

const TESTIMONIALS = [
  { name: 'Lin W.',    city: 'Taipei',  text: '重磅T的手感很扎實，水洗後的落色剛剛好。包裝也很用心。' },
  { name: 'Marcus C.', city: 'Tokyo',   text: 'Friday drop 的節奏很棒，每週五都像開獎。' },
  { name: 'Ayumi T.',  city: 'Osaka',   text: 'The fit is boxy but clean — exactly what I was looking for in an everyday tee.' },
];

const FRIDAY_DROP_TIME = () => {
  // Next Friday midnight (00:00 Taipei time) — we'll compute relative in-component
  const now = new Date();
  const d = new Date(now);
  d.setHours(0, 0, 0, 0);
  const dayOfWeek = d.getDay(); // 0=Sun
  const diff = (5 - dayOfWeek + 7) % 7 || 7;
  d.setDate(d.getDate() + diff);
  return d.getTime();
};

Object.assign(window, {
  CATEGORIES, COLORS, SIZES, PRODUCTS, LOOKBOOK, NEWS, STORES, TESTIMONIALS, FRIDAY_DROP_TIME
});
