#!/usr/bin/env python3
"""DMark Carousel — Full 6 Slide v2
Semua judul ukuran SAMA, nggak keluar frame
Font: Poppins Bold 140px konsisten
"""

from PIL import Image, ImageDraw, ImageFont
import os, math

OUT_DIR = os.path.expanduser("~/.openclaw/workspace-atun/dmark_carousel_v2_final")
os.makedirs(OUT_DIR, exist_ok=True)

W, H = 1080, 1350
ORANGE = (249, 115, 22)
WHITE = (255, 255, 255)
SOFT_ORANGE = (255, 220, 195)

FONT_DIR = os.path.expanduser("~/.fonts")

# Semua font SAMA untuk konsistensi
TITLE = ImageFont.truetype(os.path.join(FONT_DIR, "Poppins-Bold.ttf"), 140)
TITLE2 = ImageFont.truetype(os.path.join(FONT_DIR, "Poppins-Bold.ttf"), 120)
TITLE3 = ImageFont.truetype(os.path.join(FONT_DIR, "Poppins-Bold.ttf"), 100)
BODY = ImageFont.truetype(os.path.join(FONT_DIR, "Poppins-Regular.ttf"), 34)
CHECK = ImageFont.truetype(os.path.join(FONT_DIR, "Poppins-Regular.ttf"), 30)
BOLD24 = ImageFont.truetype(os.path.join(FONT_DIR, "Poppins-Bold.ttf"), 24)
REG20 = ImageFont.truetype(os.path.join(FONT_DIR, "Poppins-Regular.ttf"), 20)
REG22 = ImageFont.truetype(os.path.join(FONT_DIR, "Poppins-Regular.ttf"), 22)
BOLD30 = ImageFont.truetype(os.path.join(FONT_DIR, "Poppins-Bold.ttf"), 30)

M = 65

def header(draw, page):
    draw.text((M, M), "DMARK", font=BOLD24, fill=WHITE)
    draw.text((W - M, M), page, font=REG22, fill=WHITE, anchor="rt")

def footer(draw, left="www.dmark.id", right=""):
    fy = H - 65
    draw.text((M, fy), left, font=REG20, fill=WHITE)
    if right:
        draw.text((W - M, fy), right, font=REG20, fill=WHITE, anchor="rt")

def divider(draw, y, width=280):
    xs, xe = M, M + width
    dash, gap = 14, 10
    x = xs
    while x < xe:
        e = min(x + dash, xe)
        draw.line([(x, y), (e, y)], fill=WHITE, width=2)
        x += dash + gap

def checklist(draw, items, start_y):
    cy = start_y
    for item in items:
        draw.text((M, cy), "\u2611", font=CHECK, fill=WHITE)
        draw.text((M + 48, cy + 2), item, font=CHECK, fill=WHITE)
        cy += 54

# ===== SLIDE 1: COVER =====
img = Image.new("RGB", (W, H), ORANGE)
d = ImageDraw.Draw(img)
header(d, "01/06")
d.text((M, 280), "PILIH", font=TITLE, fill=WHITE)
divider(d, 460, 300)
d.text((M, 490), "PLATFORM", font=TITLE, fill=WHITE)
d.text((M, 730), "Tidak perlu aktif di semua platform.", font=BODY, fill=WHITE)
d.text((M, 780), "Pilih yang sesuai dengan audiens Anda.", font=BODY, fill=WHITE)
checklist(d, ["IG: visual & storytelling", "LinkedIn: B2B & profesional", "TikTok: audiens muda & viral", "FB: jangkauan luas semua usia", "X (Twitter): berita & opini"], 920)
footer(d, "www.dmark.id", "#MediaSosial #DMARK #TipsDigital #SocialMedia")
img.save(os.path.join(OUT_DIR, "01_cover.png"))

# ===== SLIDE 2: KENALAN =====
img = Image.new("RGB", (W, H), ORANGE)
d = ImageDraw.Draw(img)
header(d, "02/06")
d.text((M, 280), "DMARK", font=TITLE, fill=WHITE)
divider(d, 460, 220)
d.text((M, 490), "BUKAN SEKEDAR", font=TITLE2, fill=WHITE)
d.text((M, 640), "AGENCY", font=TITLE, fill=WHITE)
d.text((M, 860), "Digital marketing agency yang fokus", font=BODY, fill=WHITE)
d.text((M, 910), "pada strategi terukur untuk bisnis", font=BODY, fill=WHITE)
d.text((M, 960), "Anda. Kreatif. Strategis. Profesional.", font=BODY, fill=WHITE)
footer(d, "www.dmark.id")
img.save(os.path.join(OUT_DIR, "02_kenalan.png"))

# ===== SLIDE 3: MENGAPA =====
img = Image.new("RGB", (W, H), ORANGE)
d = ImageDraw.Draw(img)
header(d, "03/06")
# "MENGAPA" di kiri atas, "DIGITAL MARKETING?" di kiri dengan ukuran lebih kecil biar muat
d.text((M, 230), "MENGAPA", font=TITLE, fill=WHITE)
divider(d, 410, 300)
d.text((M, 440), "DIGITAL", font=TITLE, fill=WHITE)
d.text((M, 620), "MARKETING?", font=TITLE, fill=WHITE)
d.text((M, 840), "Karena 90% konsumen mencari bisnis", font=BODY, fill=WHITE)
d.text((M, 890), "secara online sebelum membeli.", font=BODY, fill=WHITE)
d.text((M, 950), "Tanpa strategi digital yang tepat,", font=BODY, fill=WHITE)
d.text((M, 1000), "Anda kehilangan peluang besar.", font=BODY, fill=WHITE)
footer(d, "www.dmark.id")
img.save(os.path.join(OUT_DIR, "03_mengapa.png"))

# ===== SLIDE 4: LAYANAN =====
img = Image.new("RGB", (W, H), ORANGE)
d = ImageDraw.Draw(img)
header(d, "04/06")
d.text((M, 250), "APA YANG", font=TITLE, fill=WHITE)
divider(d, 430, 300)
d.text((M, 460), "KAMI LAKUKAN?", font=TITLE2, fill=WHITE)
checklist(d, ["Strategi konten & SEO", "Iklan Google & Meta Ads", "Branding & desain visual", "Manajemen media sosial", "Analitik & optimalisasi"], 740)
footer(d, "www.dmark.id", "#DMARK #DigitalMarketing #Branding #Strategi")
img.save(os.path.join(OUT_DIR, "04_layanan.png"))

# ===== SLIDE 5: KENAPA DMARK =====
img = Image.new("RGB", (W, H), ORANGE)
d = ImageDraw.Draw(img)
header(d, "05/06")
d.text((M, 250), "KENAPA", font=TITLE, fill=WHITE)
divider(d, 430, 220)
d.text((M, 460), "MEMILIH", font=TITLE2, fill=WHITE)
d.text((M, 610), "DMARK?", font=TITLE, fill=WHITE)
d.text((M, 830), "Kami tidak sekedar membuat konten.", font=BODY, fill=WHITE)
d.text((M, 880), "Kami merancang strategi yang", font=BODY, fill=WHITE)
d.text((M, 930), "berdampak pada pertumbuhan bisnis", font=BODY, fill=WHITE)
d.text((M, 980), "Anda. Terukur. Profesional.", font=BODY, fill=WHITE)
footer(d, "www.dmark.id")
img.save(os.path.join(OUT_DIR, "05_kenapa_dmark.png"))

# ===== SLIDE 6: CTA =====
img = Image.new("RGB", (W, H), ORANGE)
d = ImageDraw.Draw(img)
header(d, "06/06")
d.text((M, 250), "SIAP MULAI?", font=TITLE, fill=WHITE)
divider(d, 430, 350)
d.text((M, 460), "KONSULTASI", font=TITLE, fill=WHITE)
d.text((M, 640), "GRATIS", font=TITLE, fill=WHITE)
d.text((M, 860), "Hubungi kami untuk diskusi strategi", font=BODY, fill=WHITE)
d.text((M, 910), "digital marketing bisnis Anda.", font=BODY, fill=WHITE)

# Tombol WA
btn_w, btn_h = 420, 72
bx, by = M, 1020
d.rounded_rectangle([bx, by, bx+btn_w, by+btn_h], radius=36, fill=WHITE)
d.text((bx + btn_w//2 + 20, by + btn_h//2 - 8), "Hubungi Kami", font=BOLD30, fill=ORANGE, anchor="mm")
for ang in range(360):
    rad = math.radians(ang)
    px = int(bx + 50 + 17 * math.cos(rad))
    py = int(by + btn_h//2 + 17 * math.sin(rad))
    if 0 <= px < W and 0 <= py < H:
        img.putpixel((px, py), (37, 211, 102))
footer(d, "www.dmark.id")
img.save(os.path.join(OUT_DIR, "06_cta.png"))

print(f"✅ v2 final selesai! File di: {OUT_DIR}")
for f in sorted(os.listdir(OUT_DIR)):
    print(f"  {f}")
