#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""Contact sheet: cover 6 deck / semua slide per deck. Preview untuk Bos + QC."""
import glob
import os
import sys
from PIL import Image, ImageDraw

COVERS = ["mitos10", "mitosproses", "mitoshak", "mitoskerja", "mitosbukti", "mitostanah"]


def sheet(files, out, cols=2, tw=480):
    th = int(tw * 1350 / 1080)
    top, gap = 30, 12
    rows = (len(files) + cols - 1) // cols
    s = Image.new("RGB", (cols * tw + gap * (cols + 1), rows * (th + top) + gap), "white")
    d = ImageDraw.Draw(s)
    for i, p in enumerate(files):
        x = gap + (i % cols) * (tw + gap)
        y = gap + (i // cols) * (th + top)
        s.paste(Image.open(p).convert("RGB").resize((tw, th), Image.LANCZOS), (x, y + top))
        d.text((x + 6, y + 8), f"SLIDE {i+1:02d} — {os.path.basename(p)}", fill="black")
    s.save(out, "JPEG", quality=88)
    print(out, s.size, len(files), "slide")


# 1) sheet cover semua deck baru (3 kolom)
files = []
for s in COVERS:
    p = glob.glob(f"/tmp/{s}_v2/tslaw_gen_01.png")
    files.append(p[0])
tw = 420
th = int(tw * 1350 / 1080)
cols = 3
rows = (len(files) + cols - 1) // cols
sh = Image.new("RGB", (cols * tw + 10 * (cols + 1), rows * (th + 34) + 10), "white")
d = ImageDraw.Draw(sh)
for i, p in enumerate(files):
    x = 10 + (i % cols) * (tw + 10)
    y = 10 + (i // cols) * (th + 34)
    sh.paste(Image.open(p).convert("RGB").resize((tw, th), Image.LANCZOS), (x, y + 28))
    d.text((x + 4, y + 8), os.path.basename(p).replace("tslaw_gen_01.png", os.path.dirname(p).split("/")[-1]), fill="black")
sh.save("/tmp/tslaw_v2_covers.jpg", "JPEG", quality=88)
print("/tmp/tslaw_v2_covers.jpg", sh.size, len(files))

# 2) sheet per deck
for s in COVERS:
    fs = sorted(glob.glob(f"/tmp/{s}_v2/*.png"))
    sheet(fs, f"/tmp/tslaw_v2_sheet_{s}.jpg")

# 3) khusus deck mitos10 penuh (12 slide) 3 kolom biar terbaca
sheet(sorted(glob.glob("/tmp/mitos10_v2/*.png")), "/tmp/tslaw_v2_sheet_mitos10_3col.jpg", cols=3, tw=380)
