import styles from "./Project.module.scss";

import React from "react";
import Image from "next/image";
import Head from "next/head";

import { useTranslation } from "next-i18next";

import AppContext from "../../particles/contexts/app-context";
import AppTemplate from "../../templates/app";
import Footer from "../../organisms/footer";
import Header from "../../organisms/header";
import ProjectPictures from "../../organisms/project-pictures";

const ProjectPage = ({ project, appData }: any) => {
  const { t } = useTranslation("common");

  const infoItems = [
    {
      label: t("Category"),
      value: project.categoryName,
    },
    {
      label: t("Client"),
      value: project.client,
    },
    {
      label: t("Status"),
      value: project.status,
    },
    {
      label: t("Start date"),
      value: project.start_date,
    },
    {
      label: t("End date"),
      value: project.end_date,
    },
  ];

  return (
    <AppContext.Provider value={appData}>
      <AppTemplate header={<Header />} footer={<Footer />}>
        <Head>
          <title>BASS</title>
        </Head>

        <main className={styles.main}>
          <div className="mt-10 mb-12">
            <div className="container">
              <div className="mb-8">
                <div className="flex items-baseline">
                  <h1 className="ltr:mr-6 rtl:ml-6 mb-4 text-gradiant">{project.name}</h1>

                  <hr className="w-40 md:w-60 ltr:mr-6 rtl:ml-6 border-color-2" />
                </div>
              </div>

              <div className="relative project-cover-image">
                <Image src={project.img} fill alt="" />
              </div>

              <div className="md:flex mb-17.5">
                <div className="flex-3 ltr:mr-3 rtl:ml:3 mb-8 md:mb-0">
                  <div
                    className="project-des"
                    dangerouslySetInnerHTML={{ __html: project.description }}
                  ></div>
                </div>

                <div className="flex-1 bg-grey-1 rtl:ml-3 rtl:mr-3">
                  <ul className="project-info">
                    {infoItems.map(({ label, value }: any) => (
                      <li key={label}>
                        <div className="flex">
                          <div className="basis-32 title text-color-1 font-semibold">{label}:</div>
                          <div>{value}</div>
                        </div>
                      </li>
                    ))}
                  </ul>
                </div>
              </div>

              <ProjectPictures data={project.gallery} />
            </div>
          </div>
        </main>
      </AppTemplate>
    </AppContext.Provider>
  );
};

export default ProjectPage;
