// Shared topic configuration for all 9 missions

import { ComponentType } from "react";

export interface TopicChallenge {
  id: string;
  title: string;
  description: string;
}

export type MediaType = "image" | "video" | "both";

export interface SubmitFormProps {
  topicId: string;
  topicTitle: string;
  onSubmit: (data: any) => void;
  doingMission?: any; // اضافه شدن doingMission برای دریافت اطلاعات ناظر
}

export interface TopicConfig {
  id: string;
  title: string;
  description: string;
  accentColor: string;
  backgroundColor: string;
  challenges: TopicChallenge[];
  chatbotIntro: string;
  // New fields for submit page
  mediaType: MediaType;
  requiresTeammates: boolean;
  formComponent: ComponentType<SubmitFormProps>;
}

// Import form components (will be created)
import { ImageForm } from "../app/components/submit-forms/ImageForm";
import { ImageVideoForm } from "../app/components/submit-forms/ImageVideoForm";
import { ImageWithSupervisorForm } from "../app/components/submit-forms/ImageWithSupervisorForm";
import { ImageWithAudioForm } from "../app/components/submit-forms/ImageWithAudioForm";

export const topicConfigs: Record<string, TopicConfig> = {
  "1": {
    id: "1",
    title: "تخته سیاه",
    description: "ماموریت‌های آموزشی و خلاقانه",
    accentColor: "#8ACEE0",
    backgroundColor: "#0a1f2e",
    mediaType: "image",
    requiresTeammates: true,
    formComponent: ImageForm,
    challenges: [
      {
        id: "chalkboard-1",
        title: "درس جدید یاد بگیر",
        description:
          "یک مفهوم علمی یا درسی جدید را با کمک هم‌کلاسی‌هایت یاد بگیر و برای بقیه توضیح بده.",
      },
      {
        id: "chalkboard-2",
        title: "معلم کوچک",
        description:
          "یه درس که بهش مسلطی رو به یه نفر از هم‌کلاسی‌هایت آموزش بده.",
      },
      {
        id: "chalkboard-3",
        title: "سوال خلاقانه",
        description:
          "یه سوال مخصوص از معلمت بپرس که فکر همه رو درگیر کنه.",
      },
    ],
    chatbotIntro:
      "سلام! به دنیای تخته سیاه خوش اومدی 📚✨\n\nاینجا می‌تونی ماموریت‌های آموزشی جذاب رو قبول کنی و با یادگیری جدید سکه جمع کنی!",
  },
  "2": {
    id: "2",
    title: "نیمکت",
    description: "لحظات استراحت و گفتگو",
    accentColor: "#A8D5E2",
    backgroundColor: "#0e1a25",
    mediaType: "image",
    requiresTeammates: false,
    formComponent: ImageForm,
    challenges: [
      {
        id: "bench-1",
        title: "دوست جدید پیدا کن",
        description:
          "با یه نفر که کمتر باهاش صحبت کردی، حرف بزن و یه چیز جالب ازش یاد بگیر.",
      },
      {
        id: "bench-2",
        title: "گوش شنوا",
        description:
          "یه روز کامل سعی کن بیشتر گوش بدی و کمتر صحبت کنی. ببین چقدر چیز یاد می‌گیری.",
      },
      {
        id: "bench-3",
        title: "مشکل‌گشا باش",
        description:
          "به یه هم‌کلاسی که مشکل دارد کمک کن. کمکت رو ثبت کن.",
      },
    ],
    chatbotIntro:
      "سلام! خوش اومدی به نیمکت 🪑💙\n\nاینجا فضایی برای رشد مهارت‌های اجتماعی و دوستی‌های عمیق‌تره. بریم یه ماموریت باحال شروع کنیم!",
  },
  "3": {
    id: "3",
    title: "دفترچه یادداشت",
    description: "یادداشت‌ها و خاطرات",
    accentColor: "#B8E0F0",
    backgroundColor: "#1a1f2e",
    mediaType: "both",
    requiresTeammates: false,
    formComponent: ImageVideoForm,
    challenges: [
      {
        id: "notebook-1",
        title: "روزنگاری",
        description:
          "هر روز یه پاراگراف از اتفاقات روزت بنویس. بعد از یه هفته برگرد و بخونش.",
      },
      {
        id: "notebook-2",
        title: "داستان کوتاه",
        description:
          "یه داستان کوتاه ۵ جمله‌ای بنویس که شخصیت اصلیش خودت باشی.",
      },
      {
        id: "notebook-3",
        title: "نامه به آینده",
        description:
          "یه نامه به خودت در ۵ سال آینده بنویس. ارزوها، هدف‌ها و احساساتت رو بنویس.",
      },
    ],
    chatbotIntro:
      "سلام نویسنده کوچولو! 📔✏️\n\nدفترچه یادداشت جایی‌ه که می‌تونی همه چیز رو ثبت کنی. ماموریت‌های نوشتاری خیلی جالبی برات دارم!",
  },
  "4": {
    id: "4",
    title: "دیوار حیاط",
    description: "نقاشی و هنر",
    accentColor: "#90C8E0",
    backgroundColor: "#0f1f30",
    mediaType: "image",
    requiresTeammates: true,
    formComponent: ImageWithAudioForm,
    challenges: [
      {
        id: "wall-1",
        title: "نقاشی با موضوع محیط‌زیست",
        description:
          "یه نقاشی بکش که پیام حفاظت از محیط‌زیست رو داشته باشه.",
      },
      {
        id: "wall-2",
        title: "پرتره دوست",
        description:
          "یه پرتره از یکی از دوستانت بکش و بهش هدیه بده.",
      },
      {
        id: "wall-3",
        title: "نقاشی با رنگ طبیعی",
        description:
          "از مواد طبیعی مثل چغندر، اسفناج یا زردچوبه رنگ بساز و باهاش نقاشی بکش.",
      },
    ],
    chatbotIntro:
      "سلام هنرمند! 🎨🖌️\n\nدیوار حیاط جای ابراز خلاقیته! ماموریت‌های هنری شگفت‌انگیزی برات دارم که می‌تونی با رنگ و نقاشی دنیا رو زیباتر کنی.",
  },
  "5": {
    id: "5",
    title: "آبخوری",
    description: "تجربه‌های روزانه",
    accentColor: "#A890E0",
    backgroundColor: "#1a1530",
    mediaType: "image",
    requiresTeammates: false,
    formComponent: ImageWithSupervisorForm,
    challenges: [
      {
        id: "fountain-1",
        title: "صرفه‌جویی در آب",
        description:
          "یه هفته میزان مصرف آب خانوادت رو بررسی کن و یه راه‌کار برای کاهش مصرف پیدا کن.",
      },
      {
        id: "fountain-2",
        title: "گیاه کوچک",
        description:
          "یه گیاه کوچک بکار، هر روز بهش آب بده و رشدش رو عکس بگیر.",
      },
      {
        id: "fountain-3",
        title: "محیط‌زیست‌یار",
        description:
          "یه بار در هفته حیاط مدرسه رو از زباله پاک کن و عکس قبل و بعد بگیر.",
      },
    ],
    chatbotIntro:
      "سلام! 💧🌿\n\nآبخوری یادآور ارزش آب و طبیعته. اینجا ماموریت‌هایی داریم که می‌تونه تأثیر واقعی روی محیط‌زیست داشته باشه!",
  },
  "6": {
    id: "6",
    title: "زنگ ورزش",
    description: "فعالیت‌های ورزشی",
    accentColor: "#80D0E0",
    backgroundColor: "#0a1f2e",
    mediaType: "both",
    requiresTeammates: true,
    formComponent: ImageVideoForm,
    challenges: [
      {
        id: "sports-1",
        title: "۱۰ دقیقه ورزش",
        description:
          "هر روز صبح ۱۰ دقیقه ورزش کن. بعد از یه هفته احساست رو گزارش بده.",
      },
      {
        id: "sports-2",
        title: "بازی جدید",
        description:
          "یه بازی ورزشی که بلد نیستی رو یاد بگیر و با دوستانت بازی کن.",
      },
      {
        id: "sports-3",
        title: "تیم‌سازی",
        description:
          "یه تیم ۴ نفره برای یه بازی گروهی تشکیل بده و یه مسابقه برگزار کن.",
      },
    ],
    chatbotIntro:
      "سلام قهرمان! 🏃‍♂️⚽\n\nزنگ ورزش وقت نشاط و سرزندگیه! ماموریت‌های ورزشی که برات دارم نه‌تنها بدنت رو قوی می‌کنه بلکه روح تیمی رو هم تقویت می‌کنه.",
  },
  "7": {
    id: "7",
    title: "سه ماه تعطیلی",
    description: "ماجراهای تابستانی",
    accentColor: "#90D8F0",
    backgroundColor: "#0f1a30",
    mediaType: "image",
    requiresTeammates: false,
    formComponent: ImageForm,
    challenges: [
      {
        id: "vacation-1",
        title: "سفر خلاقانه",
        description:
          "یه جای جدید در شهرت کشف کن. یه پارک، موزه یا مکان تاریخی که هرگز نرفتی.",
      },
      {
        id: "vacation-2",
        title: "مهارت تابستانی",
        description:
          "یه مهارت جدید در تابستان یاد بگیر: آشپزی، نقاشی، موسیقی یا هر چیزی که دوست داری.",
      },
      {
        id: "vacation-3",
        title: "کتاب‌خوانی",
        description:
          "یه کتاب کامل بخوان و خلاصه‌ای ازش برای دوستانت بنویس.",
      },
    ],
    chatbotIntro:
      "سلام! ☀️🌊\n\nسه ماه تعطیلی فرصت طلاییه! اینجا ماموریت‌هایی داریم که تابستانت رو به یه ماجراجویی فوق‌العاده تبدیل می‌کنه.",
  },
  "8": {
    id: "8",
    title: "روزنامه دیواری",
    description: "اخبار و گزارش‌ها",
    accentColor: "#A0D0E8",
    backgroundColor: "#151a2e",
    mediaType: "both",
    requiresTeammates: false,
    formComponent: ImageVideoForm,
    challenges: [
      {
        id: "newspaper-1",
        title: "خبرنگار مدرسه",
        description:
          "یه رویداد مهم در مدرسه رو گزارش بده: مسابقه، جشن یا اتفاق خاص.",
      },
      {
        id: "newspaper-2",
        title: "مصاحبه با معلم",
        description:
          "با یکی از معلمانت مصاحبه کن و داستان تدریسش رو بنویس.",
      },
      {
        id: "newspaper-3",
        title: "شعر و داستان",
        description:
          "یه شعر یا داستان کوتاه بنویس و برای روزنامه دیواری کلاست آماده کن.",
      },
    ],
    chatbotIntro:
      "سلام خبرنگار کوچولو! 📰✍️\n\nروزنامه دیواری صدای بچه‌های مدرسه‌ست! ماموریت‌هایی داریم که می‌تونی با نوشتن و گزارش، صدات رو به گوش همه برسونی.",
  },
  "9": {
    id: "9",
    title: "زنگ تفریح",
    description: "سرگرمی و بازی",
    accentColor: "#8ACEE0",
    backgroundColor: "#0a1f2e",
    mediaType: "image",
    requiresTeammates: true,
    formComponent: ImageWithAudioForm,
    challenges: [
      {
        id: "recess-1",
        title: "بازی ابداعی",
        description:
          "یه بازی جدید اختراع کن که حداقل ۵ نفر بتونن باهم بازی کنن.",
      },
      {
        id: "recess-2",
        title: "شادی‌آفرین",
        description:
          "با یه کار خلاقانه (شعر، نقاشی، بازی) حال هم‌کلاسی‌هایت رو خوب کن.",
      },
      {
        id: "recess-3",
        title: "قصه‌گو",
        description:
          "یه قصه جالب بساز و برای بچه‌های کلاست تعریف کن. ببین چقدر خندیدن!",
      },
    ],
    chatbotIntro:
      "سلام بازیگوش! 🎮🎉\n\nزنگ تفریح وقت شادیه! ماموریت‌هایی داریم که خنده و نشاط رو به مدرسه برمی‌گردونه.",
  },
};

export function getTopicConfig(topicId: string): TopicConfig {
  return topicConfigs[topicId] || topicConfigs["1"];
}