#!/usr/bin/env python3
"""Generate DAS FB post image + schedule posting"""
import json, os, sys, base64
from datetime import datetime, timezone, timedelta

from PIL import Image, ImageDraw, ImageFont

# ── Config ──
OUT_PATH = "/home/mantapman/.hermes/profiles/atun/workspace/das_fb_20260728.png"
W, H = 1080, 1350
BG = "#1a1a2e"
ACCENT = "#f97316"
WHITE = "#ffffff"
FONT_DIR = "/usr/share/fonts/truetype/"

WIB = timezone(timedelta(hours=7))

def load_font(name, size):
    path = os.path.join(FONT_DIR, name)
    try:
        return ImageFont.truetype(path, size)
    except:
        # Try common locations
        for d in ["/usr/share/fonts", "/usr/local/share/fonts", os.path.expanduser("~/.fonts")]:
            p = os.path.join(d, name)
            if os.path.exists(p):
                return ImageFont.truetype(p, size)
        print(f"⚠️ Font {name} not found, trying Poppins fallback")
        try:
            return ImageFont.truetype(os.path.join(FONT_DIR, "poppins/Poppins-Bold.ttf"), size)
        except:
            return ImageFont.load_default()

def create_image():
    img = Image.new("RGB", (W, H), BG)
    draw = ImageDraw.Draw(img)
    
    # Load fonts
    font_bold = load_font("poppins/Poppins-Bold.ttf", 64)
    font_semi = load_font("poppins/Poppins-SemiBold.ttf", 52)
    font_regular = load_font("poppins/Poppins-Regular.ttf", 38)
    font_small = load_font("poppins/Poppins-Regular.ttf", 30)
    font_logo = load_font("poppins/Poppins-Bold.ttf", 28)
    
    # ── Logo area ──
    draw.text((50, 40), "DAS BENGKEL INDONESIA", fill=ACCENT, font=font_logo)
    draw.text((W - 50, 40), "SPESIALIS MESIN", fill=WHITE, font=font_logo, anchor="ra")
    
    # ── Decorative line ──
    draw.line([(50, 100), (W - 50, 100)], fill=ACCENT, width=3)
    
    # ── Main content area ──
    y_start = 200
    
    # Title
    title = "ENGINE OVERHAUL"
    draw.text((80, y_start), title, fill=ACCENT, font=font_bold)
    y_start += 90
    
    # Accent line under title
    draw.line([(80, y_start), (350, y_start)], fill=ACCENT, width=5)
    y_start += 60
    
    # Subtitle
    subtitle = "Proses yang Membuat Mesin\nMobil Anda Kembali Seperti Baru"
    for line in subtitle.split("\n"):
        draw.text((80, y_start), line, fill=WHITE, font=font_semi)
        y_start += 65
    y_start += 40
    
    # Checklist points
    points = [
        "✔ Ketahui kapan mobil butuh overhaul",
        "✔ Pahami tahapan overhaul yang benar",
        "✔ Bedakan overhaul parsial vs total",
        "✔ Kenali biaya & estimasi waktu pengerjaan",
        "✔ Panduan perawatan setelah overhaul",
    ]
    
    for pt in points:
        draw.text((80, y_start), pt, fill=WHITE, font=font_regular)
        y_start += 70
        # Accent bullet line
        draw.line([(90, y_start - 20), (250, y_start - 20)], fill=ACCENT, width=2)
    
    # ── CTA area ──
    y_cta = 1050
    draw.line([(80, y_cta), (W - 80, y_cta)], fill="#333355", width=2)
    y_cta += 40
    
    cta_text = "Baca artikel lengkapnya di"
    draw.text((80, y_cta), cta_text, fill="#aaaacc", font=font_small)
    y_cta += 45
    draw.text((80, y_cta), "dasindonesia.com", fill=ACCENT, font=font_semi)
    
    # ── Footer ──
    draw.text((50, H - 60), "DAS INDONESIA", fill="#555577", font=font_small)
    draw.text((W - 50, H - 60), "#EngineOverhaul #DASIndonesia", fill="#555577", font=font_small, anchor="ra")
    
    img.save(OUT_PATH, "PNG")
    print(f"✅ Image saved: {OUT_PATH}")
    return OUT_PATH

if __name__ == "__main__":
    create_image()
