export type PublicBank = {
  id: string;
  account_number: string;
  bank_name: string;
  qr_image_url: string;
  qr_alt: string;
  qr_note?: string;
};

export type PublicPaymentSettings = {
  methodLabel: string;
  infoTitle: string;
  directPayLead: string;
  directPayAddress: string;
  transferLead: string;
  screenshotNote: string;
  policyTitle: string;
  policyLinkHref: string;
  policyLinkLabel: string;
  banks: PublicBank[];
  defaultOperatorLogo: string;
};

export function banksForUi(settings: PublicPaymentSettings) {
  return settings.banks.map((bank) => ({
    id: bank.id,
    qrImage: bank.qr_image_url,
    accountNumber: bank.account_number,
    bankName: bank.bank_name,
    qrAlt: bank.qr_alt,
    qrNote: (bank.qr_note ?? "").trim(),
  }));
}

export function paymentCopyFromSettings(settings: PublicPaymentSettings) {
  return {
    methodLabel: settings.methodLabel,
    infoTitle: settings.infoTitle,
    directPayLead: settings.directPayLead,
    directPayAddress: settings.directPayAddress,
    transferLead: settings.transferLead,
    screenshotNote: settings.screenshotNote,
    policyTitle: settings.policyTitle,
    policyLinkHref: settings.policyLinkHref,
    policyLinkLabel: settings.policyLinkLabel,
  };
}
