#!/usr/bin/env python3
"""DMark FB Post — 20 Juli 2026: Guerilla Marketing Studi Kasus"""
from PIL import Image, ImageDraw, ImageFont
import os

W, H = 1080, 1350
BG = "#F97316"
TEXT_COLOR = "#FFFFFF"
MARGIN = 65

# Font paths
FONT_DIR = "/home/mantapman/.fonts/poppins"
BOLD = os.path.join(FONT_DIR, "Poppins-Bold.ttf")
SEMIBOLD = os.path.join(FONT_DIR, "Poppins-SemiBold.ttf")
REGULAR = os.path.join(FONT_DIR, "Poppins-Regular.ttf")
LIGHT = os.path.join(FONT_DIR, "Poppins-Light.ttf")

# Fallback
for p in [BOLD, SEMIBOLD, REGULAR, LIGHT]:
    if not os.path.exists(p):
        BOLD = "/home/mantapman/.fonts/Poppins-Bold.ttf"
        SEMIBOLD = "/home/mantapman/.fonts/Poppins-SemiBold.ttf"
        REGULAR = "/home/mantapman/.fonts/Poppins-Regular.ttf"
        break

def create_slide():
    img = Image.new("RGB", (W, H), BG)
    draw = ImageDraw.Draw(img)

    # Header
    font_header = ImageFont.truetype(BOLD, 24)
    font_page = ImageFont.truetype(REGULAR, 22)
    draw.text((MARGIN, MARGIN), "DMARK", font=font_header, fill=TEXT_COLOR)
    # page num right
    page_text = "1/1"
    bbox = draw.textbbox((0, 0), page_text, font=font_page)
    draw.text((W - MARGIN - (bbox[2] - bbox[0]), MARGIN), page_text, font=font_page, fill=TEXT_COLOR)

    # Footer
    font_footer = ImageFont.truetype(REGULAR, 20)
    draw.text((MARGIN, H - MARGIN - 10), "www.dmark.id", font=font_footer, fill=TEXT_COLOR)
    hash_text = "#GuerillaMarketing #Branding"
    bbox2 = draw.textbbox((0, 0), hash_text, font=font_footer)
    draw.text((W - MARGIN - (bbox2[2] - bbox2[0]), H - MARGIN - 10), hash_text, font=font_footer, fill=TEXT_COLOR)

    # Content — vertically centered in safe zone
    safe_top = MARGIN + 50  # below header
    safe_bottom = H - MARGIN - 50  # above footer
    content_area = safe_bottom - safe_top

    # Title
    font_title = ImageFont.truetype(BOLD, 100)
    title_lines = [
        "Sukses dengan",
        "Guerilla Marketing"
    ]

    # Subtitle
    font_sub = ImageFont.truetype(REGULAR, 32)
    subtitle = "Studi Kasus Brand yang Berhasil Naik Kelas"

    # Calculate total height
    title_h = 0
    for line in title_lines:
        b = draw.textbbox((0, 0), line, font=font_title)
        title_h += (b[3] - b[1]) + 10
    sub_bbox = draw.textbbox((0, 0), subtitle, font=font_sub)
    sub_h = sub_bbox[3] - sub_bbox[1]
    total_h = title_h + 30 + sub_h

    start_y = safe_top + (content_area - total_h) // 2

    # Draw title
    y = start_y
    for line in title_lines:
        draw.text((MARGIN, y), line, font=font_title, fill=TEXT_COLOR)
        b = draw.textbbox((0, 0), line, font=font_title)
        y += (b[3] - b[1]) + 10

    y += 20

    # Dashed divider
    dash_len = 30
    gap = 15
    x = MARGIN
    divider_y = y
    while x < W - MARGIN:
        draw.line([(x, divider_y), (min(x + dash_len, W - MARGIN), divider_y)], fill=TEXT_COLOR, width=3)
        x += dash_len + gap

    y += 20

    # Subtitle
    draw.text((MARGIN, y), subtitle, font=font_sub, fill=TEXT_COLOR)

    # Checklist items
    items = [
        "Kreativitas > Budget",
        "Kejutan ciptakan virality",
        "Relevansi adalah kunci",
        "Integrasi digital memperkuat dampak"
    ]
    font_item = ImageFont.truetype(SEMIBOLD, 28)
    font_check = ImageFont.truetype(REGULAR, 28)
    y += sub_h + 40

    for item in items:
        draw.text((MARGIN, y), "☑", font=font_check, fill=TEXT_COLOR)
        draw.text((MARGIN + 40, y), item, font=font_item, fill=TEXT_COLOR)
        b = draw.textbbox((0, 0), item, font=font_item)
        y += (b[3] - b[1]) + 15

    out = "/home/mantapman/.hermes/profiles/atun/workspace/dmark_fb_20jul.png"
    img.save(out, "PNG")
    print(f"Saved to {out}")
    return out

create_slide()
