import type React from 'react';

import type { CompanyDbModel } from './CompaniesComponents.helper';

export interface EditHandlerInterface {
	// event : FormEvent,
	selectedCompanyId: string;
	companies: CompanyDbModel[] | null;
	setCompanyName: React.Dispatch<React.SetStateAction<string>>;
	setIndustryType: React.Dispatch<React.SetStateAction<string>>;
	setCurrency: React.Dispatch<React.SetStateAction<string>>;
	setCompanyId: React.Dispatch<React.SetStateAction<string>>;
	setIndustryId: React.Dispatch<React.SetStateAction<number>>;
	setCompanyRegNumber: React.Dispatch<React.SetStateAction<number>>;
}

export function companyEditHandler({
	selectedCompanyId,
	companies,
	setCompanyName,
	setIndustryType,
	setCurrency,
	setIndustryId,
	setCompanyId,
	setCompanyRegNumber
}: EditHandlerInterface): void {
	// const id = event.currentTarget.parentElement?.parentElement?.id as string;
	if (companies && selectedCompanyId) {
		const id = selectedCompanyId;
		const itemForEditArray = (companies as CompanyDbModel[]).filter(
			(item) => item.company_id === id
		);
		const itemForEdit = itemForEditArray[0];
		const industryIdNumber = +itemForEdit.industry_id;
		setCompanyName(itemForEdit.company_name);
		setIndustryType(itemForEdit.industry_type);
		setCurrency(
			typeof itemForEdit.currency_symbol === 'string'
				? itemForEdit.currency_symbol
				: itemForEdit.currency_symbol.label
		);
		setCompanyId(itemForEdit.company_id);
		setCompanyRegNumber(+itemForEdit.company_reg_number);
		setIndustryId(industryIdNumber);
	}
}
