#!/usr/bin/env python3
"""Buat image FB DAS Bengkel Indonesia 3 Sep 2026 — Standar Kerja Bengkel Premium
1080x1350, bg #1a1a2e, teks putih, aksen orange #f97316 (pola das_fb_20260902.py)
Artikel: https://dasindonesia.com/standar-kerja-bengkel-mobil-premium-surabaya/
"""
from PIL import Image, ImageDraw, ImageFont
import os

W, H = 1080, 1350
BG = (26, 26, 46)        # #1a1a2e
TXT = (255, 255, 255)    # white
ORANGE = (249, 115, 22)  # #f97316
MUTED = (200, 200, 210)

FONT_PATHS = [
    "/home/mantapman/.fonts/Poppins-Bold.ttf",
    "/home/mantapman/.fonts/Poppins-SemiBold.ttf",
    "/home/mantapman/.fonts/Poppins-Regular.ttf",
    "/home/mantapman/.fonts/poppins/Poppins-Bold.ttf",
    "/home/mantapman/.fonts/poppins/Poppins-Regular.ttf",
    "/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf",
    "/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf",
]

def font(sz, bold=True, regular=False):
    want = "Bold" if bold else "Regular"
    for p in FONT_PATHS:
        if ("Bold" in p) == bold or (regular and "Regular" in p):
            if os.path.exists(p):
                try:
                    return ImageFont.truetype(p, sz)
                except Exception:
                    continue
    return ImageFont.load_default()

def draw_check(d, x, cy, size, fill):
    """Gambar centang vektor (garis 2 segmen) — anti-tofu."""
    s = size
    p1 = (x, cy + s * 0.52)
    p2 = (x + s * 0.32, cy + s * 0.92)
    p3 = (x + s, cy + s * 0.08)
    d.line([p1, p2, p3], fill=fill, width=max(5, int(s * 0.16)), joint="curve")

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

SZ = 65

# Header
d.text((SZ, SZ), "DAS BENGKEL INDONESIA", font=font(34, True), fill=ORANGE)
d.text((W - SZ, SZ), "OTOMOTIF", font=font(30, True), fill=TXT, anchor="ra")

# Accent line under header
d.line([(SZ, SZ + 70), (W - SZ, SZ + 70)], fill=ORANGE, width=4)

# Title (big, bold, 2 baris)
title = "STANDAR KERJA\nBENGKEL PREMIUM"
d.multiline_text((SZ, 225), title, font=font(84, True), fill=TXT, spacing=14)

# Subtitle (orange, 1-2 baris)
d.text((SZ, 540), "Kenapa beda dari bengkel biasa?", font=font(44, True), fill=ORANGE)

# Garis aksen kecil sebelum bullets
d.line([(SZ, 650), (SZ + 180, 650)], fill=ORANGE, width=5)

# Body bullets — 3 item, centang vektor orange, spacing 132
bullets = [
    ("Diagnosa berbasis data", "Bukan tebak-tebakan, scanner baca modul elektronik"),
    ("Teknisi spesialis premium", "Paham torsi, oli & prosedur presisi pabrikan"),
    ("Proses transparan & terstruktur", "Update berkala sampai quality control"),
]
y = 710
for t, s_ in bullets:
    draw_check(d, SZ + 4, y + 6, 34, ORANGE)
    d.text((SZ + 62, y), t, font=font(37, True), fill=TXT)
    d.text((SZ + 62, y + 54), s_, font=font(28, False), fill=MUTED)
    y += 134

# Footer
d.line([(SZ, H - 130), (W - SZ, H - 130)], fill=(70, 70, 100), width=3)
d.text((SZ, H - 108), "www.dasindonesia.com", font=font(30, True), fill=ORANGE)
d.text((W - SZ, H - 108), "#StandarBengkelPremium", font=font(30, True), fill=TXT, anchor="ra")

img.save("das_fb_20260903.png")
print("saved das_fb_20260903.png")

# Sanity check: lebar teks terpanjang (max aman ~950px)
checks = [
    ("title S1", font(84, True), "STANDAR KERJA"),
    ("title S2", font(84, True), "BENGKEL PREMIUM"),
    ("subtitle", font(44, True), "Kenapa beda dari bengkel biasa?"),
    ("b2 label", font(37, True), "Proses transparan & terstruktur"),
    ("b1 sub", font(28, False), "Bukan tebak-tebakan, scanner baca modul elektronik"),
    ("footer l", font(30, True), "www.dasindonesia.com"),
    ("footer r", font(30, True), "#StandarBengkelPremium"),
]
for name, f, txt in checks:
    print(f"  {name}: {f.getlength(txt):.0f}px")

from PIL import Image as I
im = I.open("das_fb_20260903.png")
print("size:", im.size, "mode:", im.mode)
