"use client";

import {
  FaBuilding,
  FaChevronRight,
  FaEarthEurope,
  FaGlobe,
  FaHandsHolding,
  FaMoneyBillWave,
  FaPersonCirclePlus,
  FaWheelchair,
} from "react-icons/fa6";
import {
  FaLock,
  FaMapMarkerAlt,
  FaMoneyBillAlt,
  FaRocket,
  FaShieldAlt,
  FaTv,
  FaUtensils,
  FaWifi,
} from "react-icons/fa";
import { useRouter } from "next/navigation";

import { INTERNAL_PAGES } from "@/constants/pages-mapping/internal-pages-mapping";
import ServiceEleven from "@/public/client/services/11.webp";
import {
  Service,
  ServiceUnitProps,
} from "@/components/pages/client/services/services";
import Hero from "@/components/pages/client/services/sections/hero";
import AboutTheService from "@/components/pages/client/services/sections/about-the-service";
import WhatElseWeCanDo from "@/components/pages/client/services/sections/what-else-we-can-do";
import Testimonials from "@/components/pages/client/services/sections/testimonials";
import FinalCTA from "@/components/pages/client/services/sections/final-cta";
import Button from "@/components/common/button";
import CaseStudy from "@/components/pages/client/services/sections/case-studies";
import CompaniesHouseLogo from "@/public/client/services/testimonials-logos/recruitment-and-studio/companies-house.webp";
import MaceMenterLogo from "@/public/client/services/testimonials-logos/recruitment-and-studio/mace-menter.webp";
import MakeHumanLogo from "@/public/client/services/testimonials-logos/recruitment-and-studio/make-human.webp";

export const RECRUITMENT_AND_STUDIO: Service = {
  slug: "recruitment-and-studio",
  title: "Recruitment & studio",
  description:
    "Providing a full suite of recruitment and studio services for seamless research execution.",
  imgSrc: ServiceEleven,
  alt: "A group of people collaborating in a modern office space with large windows.",
  icon: FaBuilding,
  href: INTERNAL_PAGES.client.services.recruitmentAndStudio,
  serviceCharacteristics: {
    about:
      "People for Research owns and manages User Viewing, Bristol's only combined user experience testing lab and market research viewing facility. Besides managing our own flexible research space and usability testing lab situated in the heart of the city and equipped with state-of-the-art technology, we can also assist you with booking facilities in other locations across the UK.",
    catchySentence:
      "Research excellence with comprehensive recruitment and studio services.",
    whyPFR: {
      title:
        "Why you should choose PFR to be your participant recruitment partner and viewing facility provider",
      content: [
        {
          title:
            "Combined in-house participant recruitment and facility provision/booking service",
          icon: FaGlobe,
        },
        {
          title:
            "Get 15% discount on your User Viewing hire if using People for Research recruitment services",
          icon: FaMoneyBillAlt,
        },
        {
          title:
            "Ability to recruit for and host all types of user research or usability testing session, from 1-2-1 interviews to group product testing",
          icon: FaRocket,
        },
        {
          title:
            "Dedicated Studio Manager who will work with you to fully understand your project's requirements",
          icon: FaPersonCirclePlus,
        },
        {
          title:
            "Host available on the day of the research to support your team and welcome your participants",
          icon: FaHandsHolding,
        },

        {
          title:
            "Lab booking service for other viewing facilities across the UK",
          icon: FaEarthEurope,
        },
        {
          title:
            "Ability to adapt our facility or find bespoke rooms/venues in other locations based on your requirements",
          icon: FaBuilding,
        },
        {
          title:
            "Fully GDPR-compliant process, accredited by the Market Research Society and Fair Data partners, that covers the entire process from recruitment to video recording processing",
          icon: FaShieldAlt,
        },
      ],
    },
    whatElseWeCanDo: {
      title: "Find out more about User Viewing services",
      content: [
        {
          title: "Prime Bristol location",
          description:
            "Facility located in the heart of the city, within walking distance from public transport links and car parks",
          icon: FaMapMarkerAlt,
        },
        {
          title: "State-of-the-art technology",
          description:
            "Equipped with high-definition widescreens and audio equipment, as well as high-quality recordings",
          icon: FaTv,
        },
        {
          title: "Secure live streaming",
          description:
            "Secure and encrypted live streaming to ensure privacy and protection for your sessions",
          icon: FaLock,
        },
        {
          title: "Reliable connectivity",
          description:
            "Dedicated broadband and device compatibility, including assistive technology compatibility",
          icon: FaWifi,
        },
        {
          title: "Adaptable rooms for your sessions",
          description:
            "Two flexible rooms that can be adapted to your session's structure and needs",
          icon: FaBuilding,
        },
        {
          title: "Fully accessible facilities",
          description:
            "Fully accessible facility for participants with impairments and ability to source BSL interpreters or other specialist help for your sessions",
          icon: FaWheelchair,
        },
        {
          title: "Flexible rates and solutions",
          description:
            "Flexible rates and service solutions that fit your budget",
          icon: FaMoneyBillWave,
        },
        {
          title: "Catering & logistics",
          description: "Handling of catering requests and other logistics",
          icon: FaUtensils,
        },
      ],
    },
    testimonials: [
      {
        companyName: "Make Human",
        headline: "Valuable on-site feedback for kitchen appliance research",
        testimonial:
          "We just returned from a fascinating two days of research into how people interacted with a prototype of an innovative new kitchen appliance. We designed and moderated research at People for Research's studios - they were amazing. Researching with a physical product was a refreshing change from a recent trend of remote digital studies. Having the client team on-site for real-time feedback amplified the value of our research.",
        logo: MakeHumanLogo,
      },
      {
        companyName: "Companies House",
        headline: "Reliable user recruitment and great hospitality",
        testimonial:
          "PFR have always been very prompt in recruiting the right type of user for our sessions and their help and hospitality on the day is always top notch.",
        logo: CompaniesHouseLogo,
      },
      {
        companyName: "Mace & Menter",
        headline: "Excellent facilities and service for team observations",
        testimonial:
          "It was great to come in and use the facilities. We were really impressed with the set-up and the service. If we ever have   clients who want to observe as a team then we'll know who to call.",
        logo: MaceMenterLogo,
      },
    ],
  },
};

function UserViewingCTA() {
  const router = useRouter();

  return (
    <div className="bg-midnightBlue/50 m-8 p-12 rounded-lg flex flex-col lg:flex-row justify-between items-center space-x-0 lg:space-x-6">
      <div>
        <h2 className="text-3xl font-black font-inter text-center lg:text-start">
          Take your research to the next level
        </h2>
        <h3 className="text-xl font-noto mt-2 text-center lg:text-start">
          Discover how People for Research can elevate your user experience
          testing with our top-tier recruitment and studio services. Find out
          more about the services we offer at User Viewing.
        </h3>
      </div>
      <div className="flex space-x-4 mt-4 lg:mt-0">
        <Button
          btnLabel="Learn more about User Viewing"
          customVariant="transparent"
          endContent={<FaChevronRight />}
          onClick={() => router.push(INTERNAL_PAGES.userViewing.homepage)}
        />
      </div>
    </div>
  );
}

function RecruitmentAndStudio({ featuredPost }: ServiceUnitProps) {
  const { title, description, imgSrc, alt } = RECRUITMENT_AND_STUDIO;
  const { catchySentence, about, whyPFR, whatElseWeCanDo, testimonials } =
    RECRUITMENT_AND_STUDIO.serviceCharacteristics;

  return (
    <>
      <Hero
        description={description}
        image={imgSrc}
        imageAlt={alt}
        title={title}
      />
      <AboutTheService
        catchySentence={catchySentence}
        description={about}
        whyPFRSection={whyPFR}
      />
      <UserViewingCTA />
      {whatElseWeCanDo && <WhatElseWeCanDo whatElseWeCanDo={whatElseWeCanDo} />}
      {featuredPost?.feature_image && <CaseStudy post={featuredPost} />}
      {testimonials && <Testimonials testimonials={testimonials} />}
      <FinalCTA />
    </>
  );
}

export default RecruitmentAndStudio;
