// ─────────────────────────────────────────────────────────────────────────────
//  COACH PHOTOS — the only file you edit to put a coach's own imagery in the app
// ─────────────────────────────────────────────────────────────────────────────
//
//  Drop the coach's photos into  assets/coach/  using the filenames below, then
//  leave this file alone. Every slot is OPTIONAL: an empty string '' falls back
//  to the built-in stock image or the striped placeholder, so the app always
//  renders. Fill the REQUIRED eight first; they carry the pitch.
//
//  Run  ./prep-photos.sh <slug>  to auto-crop and compress raw photos into the
//  right aspect ratios and filenames. Do not hand-crop unless you must.
//
//  ── Aspect ratios matter. A portrait photo in a 16:9 slot crops to a torso. ──

window.PHOTOS = {

  // ── REQUIRED EIGHT ─────────────────────────────────────────────────────────
  // The coach, square. Becomes the avatar in the header, drawer and community.
  portrait:      'assets/coach/portrait.jpg',        // 1:1    · 800x800

  // Full-bleed splash background, first thing anyone sees. Pick the best photo
  // the coach owns. Vertical, face or full body, room at the top for the logo.
  splashHero:    'assets/coach/splash-hero.jpg',     // 9:16   · 1080x1920

  // Second lifestyle shot, used on the featured program card.
  splashSecond:  'assets/coach/splash-2.jpg',        // 4:5    · 1080x1350

  // Program hero — the banner on the Training tab and program detail.
  heroProgram:   'assets/coach/hero-program.jpg',    // 16:9   · 1440x810

  // Community hero — the banner at the top of the Community tab.
  heroCommunity: 'assets/coach/hero-community.jpg',  // 16:9   · 1440x810

  // Session hero — the banner on a single workout / session detail screen.
  heroSession:   'assets/coach/hero-session.jpg',    // 16:9   · 1440x810

  // Two client progress photos on the Progress screen.
  progress1:     'assets/coach/progress-1.jpg',      // 3:4    · 900x1200
  progress2:     'assets/coach/progress-2.jpg',      // 3:4    · 900x1200

  // ── OPTIONAL FOUR ──────────────────────────────────────────────────────────
  // Community member avatars. Leave '' and the app uses stock faces, which is
  // fine for a demo but reads as generic in a live pitch. Only use real client
  // photos with that client's permission — see references/photos.md.
  clientA:       '',                                 // 1:1 · 400x400
  clientB:       '',                                 // 1:1 · 400x400
  clientC:       '',                                 // 1:1 · 400x400

  // A photo for the top post in the community feed.
  communityPost: '',                                 // 16:9 · 1440x810
};

// Resolve a slot with a fallback. Never throws if PHOTOS is missing a key.
window.PHOTO = function (key, fallback) {
  var v = window.PHOTOS && window.PHOTOS[key];
  return (typeof v === 'string' && v.length) ? v : (fallback || '');
};
