import React from "react";
import { __ } from "@wordpress/i18n";
import { nominalCycleDays } from "../subscription-box/SyncRenewalsBuilder";
import RenewalSyncDefaultsNotice from "../RenewalSyncDefaultsNotice";

export default function RenewalSyncNotice({ values, available }) {
  if (values._subscription_period === "lifetime") return (
    <p className="arraysubs-quick-product__notice">
      {__("Lifetime plans do not renew, so renewal sync does not apply.", "arraysubs")}
    </p>
  );

  const reasons = [];
  if (!available) reasons.push(__("Enable the Flexible Renewal Sync module in ArraySubs Pro to create a custom segment plan.", "arraysubs"));
  if (Number(values._trial_length) > 0) reasons.push(__("A trial is enabled. In Trial & signup, set Trial length to 0.", "arraysubs"));
  if (values._enable_renewal_price) reasons.push(__("A different renewal price is enabled. In Recurring billing, turn off Use a different renewal price.", "arraysubs"));
  if (nominalCycleDays(values._subscription_period, values._subscription_interval) < 3) reasons.push(__("The billing cycle is shorter than 3 days. In Recurring billing, increase the billing interval to at least 3 days or choose a longer billing period.", "arraysubs"));

  return <div className="arraysubs-quick-product__notice">
    <p>{__("To use custom renewal sync, update these settings:", "arraysubs")}</p>
    <ul>{reasons.map((reason) => <li key={reason}>{reason}</li>)}</ul>
    <p>{__("You can continue creating this plan without custom renewal sync.", "arraysubs")}</p>
    <RenewalSyncDefaultsNotice />
  </div>;
}
