#!/usr/bin/env python3
"""Generate gambar FB DAS Bengkel Indonesia 2026-08-31 (v2 - article checklist bengkel)
BG gelap #1a1a2e, teks putih, aksen orange #f97316, 1080x1350. Teks rata kiri, safe zone 70px.
"""
from PIL import Image, ImageDraw, ImageFont
import os

W, H = 1080, 1350
SAFE = 70
BG = (26, 26, 46)          # #1a1a2e
WHITE = (255, 255, 255)
ORANGE = (249, 115, 22)    # #f97316

FONT_PATHS = [
    "/home/mantapman/.local/share/fonts",
    "/home/mantapman/.fonts",
]

def find_font(name):
    for base in FONT_PATHS:
        p = os.path.join(base, name)
        if os.path.exists(p):
            return p
    return "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf"

f_logo = ImageFont.truetype(find_font("Poppins-Bold.ttf"), 30)
f_head = ImageFont.truetype(find_font("Poppins-Bold.ttf"), 58)
f_bold = ImageFont.truetype(find_font("Poppins-SemiBold.ttf"), 38)
f_body = ImageFont.truetype(find_font("Poppins-Regular.ttf"), 34)
f_foot = ImageFont.truetype(find_font("Poppins-Regular.ttf"), 26)

def wrap_draw(d, text, font, x, y, right_edge, fill, lh=46):
    words = text.split()
    lines = []
    cur = ""
    for w in words:
        test = (cur + " " + w).strip()
        bw = d.textlength(test, font=font)
        if bw <= (right_edge - x) or not cur:
            cur = test
        else:
            lines.append(cur)
            cur = w
    if cur:
        lines.append(cur)
    for i, ln in enumerate(lines):
        d.text((x, y + i*lh), ln, font=font, fill=fill)
    bbox = d.textbbox((x, y + (len(lines)-1)*lh), lines[-1], font=font)
    h = (len(lines)-1)*lh + (bbox[3]-bbox[1])
    return h

img = Image.new("RGB", (W, H), BG)
d = ImageDraw.Draw(img)

# Header
d.text((SAFE, SAFE), "DAS BENGKEL INDONESIA", font=f_logo, fill=ORANGE)

# Judul
y = 220
for line in ["BENGKEL", "SEADANYA?", "MOBIL", "PREMIUM ANDA", "BERISIKO!"]:
    d.text((SAFE, y), line, font=f_head, fill=WHITE)
    y += 72

# Divider
d.line([(SAFE, y+10), (W-SAFE, y+10)], fill=ORANGE, width=4)
y += 60

# Body 1
b1 = "Mencari bengkel terbaik di Surabaya seperti mencari jarum di tumpukan jerami. Banyak pilihan, tapi tidak semua layak dipercaya untuk kendaraan Anda."
h1 = wrap_draw(d, b1, f_body, SAFE, y, W-SAFE, WHITE)
y += h1 + 40

# Body 2
b2 = "8 hal wajib dicek sebelum menitipkan mobil: reputasi, spesialisasi merek, alat diagnosa, transparansi biaya, garansi, hingga ketersediaan suku cadang."
h2 = wrap_draw(d, b2, f_body, SAFE, y, W-SAFE, WHITE)
y += h2 + 50

# CTA
d.text((SAFE, y), "Cek Sebelum Percaya", font=f_bold, fill=ORANGE)
y += 60

# Body 3
b3 = "Jangan sampai mobil kesayangan jatuh ke tangan yang salah. Pastikan bengkel Anda amanah, profesional, dan melebihi harapan."
h4 = wrap_draw(d, b3, f_body, SAFE, y, W-SAFE, WHITE)
y += h4 + 60

# Footer
d.text((SAFE, H-SAFE-60), "www.dasindonesia.com", font=f_foot, fill=WHITE)
d.text((W-SAFE-320, H-SAFE-60), "#BengkelMobil", font=f_foot, fill=ORANGE)

OUT = "/home/mantapman/.hermes/profiles/atun/workspace/das_fb_20260831_v2.png"
img.save(OUT, "PNG")
print("Saved:", OUT)
