import { SimulationIrpcPtCdt } from './simulation-irpc-pt-cdt';
import { FiscalProofParcelFields } from './fiscal-proof-parcel';
import CountrySelect, { type Country } from '@/components/country-select';
import { countryIsoCodes } from '@/lib/country-iso-codes';
import {
newInternationalProof,
prepareInternationalBook,
type AnnualBook,
} from '@/lib/irpc-annual-settlement';
import {
newInternationalPosition,
internationalCreditSource,
type CreditEvidence,
type InternationalCredits,
type InternationalPosition,
type InternationalTaxProof,
} from '@/lib/irpc-international-credit';
const pt = new Intl.DisplayNames(['pt'], { type: 'region' }),
en = new Intl.DisplayNames(['en'], { type: 'region' });
const countries: Country[] = countryIsoCodes
.filter((code) => code !== 'MZ')
.map((code) => ({
code,
name: pt.of(code) ?? code,
name_en: en.of(code) ?? code,
}))
.sort((a, b) => a.name.localeCompare(b.name, 'pt'));
function Evidence({
value,
label,
change,
}: {
value: CreditEvidence;
label: string;
change: (value: CreditEvidence) => void;
}) {
return (
);
}
export function SimulationIrpcInternational({
book,
save,
}: {
book: AnnualBook;
save: (book: AnnualBook) => void;
}) {
const c = book.internationalCredits;
if (!c)
return (
);
const update = (next: InternationalCredits) =>
save({ ...book, internationalCredits: next });
const positionChange = (p: InternationalPosition) =>
update({
...c,
positions: c.positions.map((x) => (x.id === p.id ? p : x)),
});
return (
);
}