const mongoose = require('mongoose');

const homeSchema = new mongoose.Schema({
  // New structure - Camp data
  hero: {
    title: { type: String, default: '' },
    description: { type: String, default: '' },
    backgroundImage: { type: String, default: '' },
    button: {
      label: { type: String, default: 'Book Your Adventure' },
      href: { type: String, default: '/booking' }
    },
    contactBox: {
      welcomeText: { type: String, default: '' },
      phone: {
        label: { type: String, default: 'Call us' },
        number: { type: String, default: '' },
        href: { type: String, default: '' }
      },
      email: {
        label: { type: String, default: 'Email' },
        address: { type: String, default: '' },
        href: { type: String, default: '' }
      },
      workingHours: {
        label: { type: String, default: 'Working Hours' },
        hours: { type: String, default: '' }
      }
    }
  },
  about: {
    title: { type: String, default: '' },
    subtitle: { type: String, default: '' },
    description: { type: String, default: '' },
    images: {
      mainImage1: { type: String, default: '' },
      mainImage2: { type: String, default: '' },
      avatars: [{ type: String }]
    },
    features: [{ type: String }],
    quote: { type: String, default: '' },
    button: {
      label: { type: String, default: '' },
      href: { type: String, default: '' }
    },
    stats: {
      customerCount: { type: Number, default: 0 },
      customerLabel: { type: String, default: '' }
    }
  },
  missionVision: {
    title: { type: String, default: '' },
    subtitle: { type: String, default: '' },
    backgroundImage: { type: String, default: '' },
    cards: [{
      title: { type: String, default: '' },
      description: { type: String, default: '' }
    }]
  },
  whyChooseUs: {
    title: { type: String, default: '' },
    subtitle: { type: String, default: '' },
    description: { type: String, default: '' },
    button: {
      label: { type: String, default: '' },
      href: { type: String, default: '' }
    },
    features: [{
      title: { type: String, default: '' },
      description: { type: String, default: '' }
    }],
    tags: [{ type: String }],
    cta: {
      text: { type: String, default: '' },
      linkText: { type: String, default: '' },
      linkHref: { type: String, default: '' }
    }
  },
  activities: {
    cards: [{
      title: { type: String, default: '' },
      description: { type: String, default: '' },
      image: { type: String, default: '' }
    }]
  },
  faq: {
    title: { type: String, default: '' },
    subtitle: { type: String, default: '' },
    description: { type: String, default: '' },
    image: { type: String, default: '' },
    contact: {
      title: { type: String, default: '' },
      info: { type: String, default: '' }
    },
    questions: [{
      question: { type: String, default: '' },
      answer: { type: String, default: '' }
    }]
  },
  partners: {
    title: { type: String, default: '' },
    subtitle: { type: String, default: '' },
    backgroundImage: { type: String, default: '' },
    logos: [{ type: String }],
    cta: {
      badge: { type: String, default: '' },
      text: { type: String, default: '' },
      linkText: { type: String, default: '' },
      linkHref: { type: String, default: '' }
    }
  },
  programs: {
    title: { type: String, default: '' },
    subtitle: { type: String, default: '' },
    button: {
      label: { type: String, default: '' },
      href: { type: String, default: '' }
    },
    card: {
      pricePrefix: { type: String, default: 'from' },
      priceSuffix: { type: String, default: 'USD' },
      buttonLabel: { type: String, default: 'Camp Detail' },
      buttonHref: { type: String, default: '/camp-profiles' }
    },
    items: [{
      id: { type: String, default: '' },
      title: { type: String, default: '' },
      price: { type: String, default: '' },
      seasons: [{ type: String }],
      age: { type: String, default: '' },
      location: { type: String, default: '' },
      image: { type: String, default: '' },
      slug: { type: String, default: '' }
    }]
  },

  newsletter: {
    title: { type: String, default: '' },
    subtitle: { type: String, default: '' },
    description: { type: String, default: '' },
    image: { type: String, default: '' },
    decorativeImage: { type: String, default: '' },
    button: {
      label: { type: String, default: '' },
      placeholder: { type: String, default: '' },
      href: { type: String, default: '' }
    }
  },
  latestPosts: {
    title: { type: String, default: '' },
    subtitle: { type: String, default: '' },
    searchPlaceholder: { type: String, default: '' },
    sidebarTitle: { type: String, default: '' },
    blogPosts: [{
      id: { type: Number },
      image: { type: String, default: '' },
      title: { type: String, default: '' },
      description: { type: String, default: '' },
      date: { type: String, default: '' }
    }],
    sidebarPosts: [{
      id: { type: Number },
      image: { type: String, default: '' },
      title: { type: String, default: '' },
      description: { type: String, default: '' }
    }],
    featuredCard: {
      image: { type: String, default: '' },
      title: { type: String, default: '' },
      description: { type: String, default: '' }
    }
  }
}, {
  timestamps: true
});

module.exports = mongoose.model('Home', homeSchema);