import React, { useMemo, useState } from "react";
import "../Company/company.css";
import { useGetCompanyList } from "../../../apis/Company";
import { Select } from "antd";
const companies = [
{
label: "RKD Holdings Limited",
value: "RKD Holdings Limited",
},
{
label: "Tourism Investement Fund Limited",
value: "Tourism Investement Fund Limited",
},
{
label: "Bandipur Cable Car & Tourism Limited",
value: "Bandipur Cable Car & Tourism Limited",
},
{
label: "Panchase Cable Car and Tours Limited",
value: "Panchase Cable Car and Tours Limited",
},
{
label: "Bizbazar Limited",
value: "Bizbazar Limited",
},
];
/**
* Represents a CompanyList component for showing company details
* @module CompanyList
* @returns {JSX.Element} Returns a JSX code for showing company details
*/
const CompanyList = () => {
/**
* React state that holds company details
* @constant {object} company
* @type {object}
* @default {{}}
* @memberof module:CompanyList
*/
const [companyIndex, setCompanyIndex] = useState(0);
/**
* React state that holds loading status
* @constant {boolean} isLoading
* @type {boolean}
* @default true
* @memberof module:CompanyList
*/
const [company, setCompany] = useState(companies[0].label);
/**
* React query hook for getting company list
* @constant {function} useGetCompanyList
* @memberof module:CompanyList
* @inner
*/
const { data: companyData, isLoading } = useGetCompanyList();
/**
* React hook for memoizing company list
* @constant companyList
* @memberof module:CompanyList
* @type {T[]}
*/
const companyList = useMemo(() => {
let temp = companyData?.data?.data?.results || [];
temp = temp.filter((result) => result.name === company);
return temp;
}, [companyData?.data, company]);
/**
* Function that handles next company
* @memberof module:CompanyList
* @inner
* @function handleNext
*/
const handleNext = () => {
if (companyList.length == companyIndex + 1) {
setCompanyIndex(0);
} else {
setCompanyIndex((prev) => prev + 1);
}
};
if (isLoading) {
return;
}
return (
<>
<div className="company_details__container">
<div className="company_details__container_heading flex flex-column">
<h2 className="main_title text-xl text-left">
Company <span>List</span>
</h2>
<div className="company_selector w-100 ">
<Select
style={{ width: "100%" }}
defaultValue="RKD Holdings Limited"
className="report_company_selector parent_select "
onChange={(value) => setCompany(value)}
options={companies}
/>
</div>
</div>
<div className="company_details__container_body mt-2">
<div className="company_details_top flex ">
<div className="company_logo_for_details">
<img src={companyList[0]?.logo} alt="" />
</div>
<div className="company_details_public p-3 flex flex-column gap-2 text-xs">
<div className="company_details_item">
<div className="details-label mr-2 font-bold">
Company:
<span className="details-value">
{companyList[0]?.name || ""}
</span>
</div>
</div>
<div className="company_details_item">
<div className="details-label mr-2">
Sectors:
<span className="details-value">
{companyList[0]?.industry || ""}
</span>
</div>
</div>
<div className="company_details_item">
<div className="details-label">
Website:
<a
target="_blank"
href={companyList[0]?.website || ""}
className="details-value"
>
{companyList[0]?.website || ""}
</a>
</div>
</div>
<div className="company_details_item">
<div className="details-label mr-2">
Contact No. :
<span className="details-value">
{companyList[0]?.phone_number || ""}
</span>
</div>
</div>
<div className="company_details_item">
<div className="details-label mr-2">
Established:
<span className="details-value">
{companyList[0]?.founded_at_bs || ""}
</span>
</div>
</div>
</div>
</div>
<div className="company_details_bottom ">
<div className="company_overview_title font-bold">
Company overview
</div>
<div className="company_overview_title">
{companyList[0]?.description || ""}
</div>
</div>
</div>
{/* <div id="carouselExampleIndicators" className="carousel slide" data-bs-ride="carousel">
<div className="carousel-indicators">
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="0" className="active" aria-current="true" aria-label="Slide 1"></button>
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="1" aria-label="Slide 2"></button>
<button type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide-to="2" aria-label="Slide 3"></button>
</div>
<div className="carousel-inner">
<div className="carousel-item active">
<img src={logo} className="d-block w-100" alt="..."/>
<div className="carousel-caption d-none d-md-block">
<h5>{companyList[companyIndex]?.name}</h5>
<p>Some representative placeholder content for the first slide.</p>
</div>
</div>
<div className="carousel-item">
<img src={tifl} className="d-block w-100" alt="..."/>
<div className="carousel-caption d-none d-md-block">
<h5>First slide label</h5>
<p>Some representative placeholder content for the first slide.</p>
</div>
</div>
<div className="carousel-item">
<img src={bizbazars} className="d-block w-100" alt="..."/>
</div>
</div>
<button className="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="prev">
<span className="carousel-control-prev-icon" aria-hidden="true"></span>
<span className="visually-hidden">Previous</span>
</button>
<button className="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="next">
<span className="carousel-control-next-icon" aria-hidden="true"></span>
<span className="visually-hidden">Next</span>
</button>
</div> */}
</div>
</>
);
};
export default CompanyList;
Source