#!/usr/bin/env python3
"""
Generate 10 featured images for The Skin Code Clinic articles.
1000x567px .webp format — aesthetic clinic theme.
"""
from PIL import Image, ImageDraw, ImageFont
import os

OUT_DIR = "/home/mantapman/.hermes/profiles/atun/workspace/tsc_10_artikel/images"
os.makedirs(OUT_DIR, exist_ok=True)

# Color palettes
PALETTE = [
    ("#1E3A5F", "#4A90D9", "#FFFFFF"),  # Facial Medis — Deep Blue
    ("#5B2C6F", "#A569BD", "#FFFFFF"),  # Botox Filler — Purple
    ("#0E6251", "#45B39D", "#FFFFFF"),  # Chemical Peeling — Teal
    ("#154360", "#5DADE2", "#FFFFFF"),  # Laser — Dark Blue
    ("#6E2C00", "#EB984E", "#FFFFFF"),  # Microneedling — Orange Brown
    ("#4A235A", "#AF7AC5", "#FFFFFF"),  # Kulit Berminyak — Deep Purple
    ("#1B4F72", "#5499C7", "#FFFFFF"),  # Body Contouring — Steel Blue
    ("#78281F", "#E74C3C", "#FFFFFF"),  # Anti Aging — Red
    ("#0E6655", "#52BE80", "#FFFFFF"),  # Manfaat Facial — Green
    ("#2C3E50", "#7F8C8D", "#FFFFFF"),  # Tips Klinik — Dark Gray
]

ARTICLES = [
    "01 Facial Medis",
    "02 Botox & Filler",
    "03 Chemical Peeling",
    "04 Laser Rejuvenation",
    "05 Microneedling",
    "06 Perawatan Kulit Berminyak",
    "07 Body Contouring",
    "08 Anti Aging",
    "09 Manfaat Facial Medis",
    "10 Tips Memilih Klinik"
]

SUBTITLES = [
    "Perawatan Wajah Profesional",
    "Estetika Non-Bedah",
    "Kulit Cerah & Sehat",
    "Teknologi Peremajaan Kulit",
    "Stimulasi Kolagen Alami",
    "Kontrol Minyak Berlebih",
    "Bentuk Tubuh Ideal",
    "Awet Muda Alami",
    "Kulit Sehat & Bercahaya",
    "Panduan Memilih Klinik"
]

try:
    font_bold = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans-Bold.ttf", 38)
    font_reg = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 20)
    font_sm = ImageFont.truetype("/usr/share/fonts/truetype/dejavu/DejaVuSans.ttf", 14)
except:
    font_bold = ImageFont.load_default()
    font_reg = ImageFont.load_default()
    font_sm = ImageFont.load_default()

W, H = 1000, 567

for i, (article, subtitle, (bg, accent, fg)) in enumerate(zip(ARTICLES, SUBTITLES, PALETTE)):
    img = Image.new("RGB", (W, H), bg)
    draw = ImageDraw.Draw(img)

    # Decorative circles
    draw.ellipse([-80, -80, 200, 200], fill=accent, outline=None)
    draw.ellipse([W-150, H-150, W+50, H+50], fill=accent, outline=None)
    draw.ellipse([300, -40, 450, 110], fill=accent, outline=None)

    # Semi-transparent overlay
    overlay = Image.new("RGBA", (W, H), (0, 0, 0, 0))
    overlay_draw = ImageDraw.Draw(overlay)
    overlay_draw.rectangle([0, 0, W, H], fill=(0, 0, 0, 30))
    img = Image.alpha_composite(img.convert("RGBA"), overlay).convert("RGB")
    draw = ImageDraw.Draw(img)

    # Top bar
    draw.rectangle([0, 0, W, 6], fill=accent)

    # Brand
    draw.text((40, 25), "THE SKIN CODE CLINIC", fill=accent, font=font_sm)

    # Decorative line
    draw.line([(40, 55), (W-40, 55)], fill=accent, width=2)

    # Main title
    title_parts = article.split(" ", 1)
    num = title_parts[0]
    title = title_parts[1] if len(title_parts) > 1 else ""

    draw.text((40, 120), num, fill=fg, font=font_bold)
    draw.text((40, 165), title, fill=fg, font=font_bold)

    # Subtitle
    draw.text((40, 230), subtitle, fill=accent, font=font_reg)

    # Bottom info
    draw.text((40, H-70), "www.theskincodeclinic.id", fill=accent, font=font_sm)
    draw.text((40, H-45), "Krian · Sidoarjo · Konsultasi Gratis", fill=accent, font=font_sm)

    # Bottom accent bar
    draw.rectangle([0, H-6, W, H], fill=accent)

    # Save
    fname = article.lower().replace(" ", "_").replace("&", "dan")
    fname = f"tsc_{fname.split('_', 1)[0]}_{fname.split('_', 1)[1] if '_' in fname else article}.webp"
    # Fix filename
    fname = f"tsc_0{i+1}_{article.split(' ', 1)[1].lower().replace(' ', '_').replace('&','dan')}.webp"
    path = os.path.join(OUT_DIR, fname)
    img.save(path, "WEBP", quality=85)
    print(f"✅ {path} ({os.path.getsize(path)} bytes)")

print("\n🎉 Selesai! 10 gambar featured image.")
