#!/usr/bin/env python3
"""Generate gambar FB DAS Bengkel Indonesia 2026-08-31
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"), 62)
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 = 230
for line in ["BOROS BBM", "MENDADAK?", "JANGAN GANTI", "INJECTOR DULU"]:
    d.text((SAFE, y), line, font=f_head, fill=WHITE)
    y += 78

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

# Body 1
b1 = "Mobil terasa berat saat nanjak, tenaga tak datang? Padahal injector, busi, dan bensin sudah diganti, masalah tetap muncul."
h1 = wrap_draw(d, b1, f_body, SAFE, y, W-SAFE, WHITE)
y += h1 + 40

# Body 2
b2 = "Bisa jadi akar masalahnya di kompresi mesin yang turun. Tekanan ruang bakar bocor, pembakaran tidak sempurna, tenaga hilang."
h2 = wrap_draw(d, b2, f_body, SAFE, y, W-SAFE, WHITE)
y += h2 + 50

# CTA
d.text((SAFE, y), "DIAGNOSIS TEPAT = BIAYA HEMAT", font=f_bold, fill=ORANGE)
y += 60

# Body 3
b3 = "Jangan biarkan masalah kecil berujung turun mesin. Konsultasikan ke bengkel engine specialist — DAS Bengkel Indonesia."
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-300, H-SAFE-60), "#EngineOverhaul", font=f_foot, fill=ORANGE)

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