import { ArticleList } from '@/features/posts/_lib/transformers';
import { TopicsEnum } from '@/config/enums';
import VisionItem from './vision-item';
import OpinionItem from './opinion-item';
import ProjectItem from './project-item';
import CityItem from './city-item';
import ReviewItem from './review-item';
import PhotoItem from './photo-item';

const DynamicArticle = ({ data }: { data: ArticleList[number] }) => {
  const article = () => {
    switch (data.topic) {
      case TopicsEnum.VISIONS:
        return <VisionItem data={data} />;
      case TopicsEnum.OPINION:
        return <OpinionItem data={data} type='list' />;
      case TopicsEnum.PROJECT:
        return <ProjectItem data={data} />;
      case TopicsEnum.CITY_SPACES:
        return <CityItem data={data} type='list' />;
      case TopicsEnum.CITY_LIFE:
        return <CityItem data={data} type='list' />;
      case TopicsEnum.KBHPLUS:
        return <CityItem data={data} type='list' />;
      case TopicsEnum.REVIEWS:
        return <ReviewItem data={data} />;
      case TopicsEnum.PHOTO:
        return <PhotoItem data={data} />;
      default:
        return <CityItem data={data} type='list' />;
    }
  };

  return article();
};

export default DynamicArticle;
