import type { Metadata } from "next";
import Image from "next/image";
import Link from "next/link";
import { CompactCTA, InnerLayout, PageHero } from "../components/inner";
import { Icon } from "../components/icons";
import { contactDigits } from "../lib/business-settings";
import { readBusinessSettings, readPublicPromotions, type PublicPromotion } from "../lib/public-settings";
export const metadata:Metadata={title:"Promo",description:"Promo aktif Padjajaran Elektrik.",robots:{index:true,follow:true}};
export const dynamic="force-dynamic";

function dateLabel(value:string){if(!value)return"";const date=new Date(value);return Number.isNaN(date.getTime())?"":new Intl.DateTimeFormat("id-ID",{dateStyle:"long",timeZone:"Asia/Jakarta"}).format(date)}
function promoHref(item:PublicPromotion,whatsapp:string){if(item.ctaUrl)return item.ctaUrl;const digits=contactDigits(whatsapp);return digits&&item.whatsappTemplate?`https://wa.me/${digits}?text=${encodeURIComponent(item.whatsappTemplate)}`:""}
function PromoButton({href,label,whatsapp}:{href:string;label:string;whatsapp:boolean}){if(!href)return null;const content=<>{whatsapp&&<Icon name="whatsapp"/>}{label||"Ambil promo"}</>;return href.startsWith("/")?<Link className="button button-accent" href={href}>{content}</Link>:<a className="button button-accent" href={href} target="_blank" rel="noreferrer">{content}</a>}

export default async function PromoPage(){
  const [items,business]=await Promise.all([readPublicPromotions(),readBusinessSettings()]);
  return <InnerLayout><PageHero title="Promo Padjajaran Elektrik" description="Penawaran aktif yang telah dikonfirmasi dan diterbitkan melalui CMS."/><section className="inner-section"><div className="shell">{items.length?<div className="promo-public-grid">{items.map(item=>{const href=promoHref(item,business.whatsapp_number),usingWhatsapp=!item.ctaUrl&&Boolean(item.whatsappTemplate);return <article className="promo-public-card" key={item.id}>{item.bannerMediaId?<div className="promo-public-image"><Image unoptimized src={`/api/media/${item.bannerMediaId}`} alt={item.bannerAltText||item.title} fill sizes="(max-width: 700px) 100vw, 50vw"/></div>:<div className="promo-public-placeholder"><Icon name="bolt"/><span>Padjajaran Elektrik</span></div>}<div className="promo-public-body"><span className="eyebrow">Promo aktif</span><h2>{item.title}</h2><p>{item.description}</p>{(item.startsAt||item.endsAt)&&<div className="promo-period"><Icon name="calendar"/><span>{item.startsAt&&<>Mulai {dateLabel(item.startsAt)}</>}{item.startsAt&&item.endsAt&&" · "}{item.endsAt&&<>Berakhir {dateLabel(item.endsAt)}</>}</span></div>}<PromoButton href={href} label={item.ctaLabel} whatsapp={usingWhatsapp}/></div></article>})}</div>:<div className="empty-state"><h2>Belum ada promo aktif</h2><p>Kami tidak menampilkan potongan harga atau batas waktu yang belum dikonfirmasi. Silakan periksa kembali halaman ini atau konsultasikan kebutuhan Anda.</p></div>}</div></section><CompactCTA/></InnerLayout>
}
