#!/usr/bin/env python3
"""studiosoft_hc60_carousel_gen.py — StudioSoft Healthcare Carousel hc60.

Topik : "9 Contoh Konten Digital Marketing Rumah Sakit yang Edukatif dan Tetap Etis"
Artikel: https://studiosoft.id/9-contoh-konten-digital-marketing-rumah-sakit-yang-edukatif-dan-tetap-etis/
         (WP id 3535) RE-AIR Threads (jejak Threads terakhir 25 Sep 2026 / hc45 = PALING TUA di antara
         artikel HC hidup yang TIDAK punya jadwal Threads mendatang; artikel HTTP 200). Slide BARU
         `ss_hc60_kontenhc_*`.

Standar desain Bos 16 Sep 2026: engine ss_carousel_lib.py -> rata kiri, satu blok di tengah
vertikal, TANPA separator, bullet dot, bg BIRU TUA #122B63, judul Poppins-Bold 85 / body 36 /
sub 30, auto-fit. Resolusi 1080x1350 (4:5). 5 slide: cover + 3 isi + CTA.
"""
import os
import sys

from PIL import Image

sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
import ss_carousel_lib as L

WS = "/home/mantapman/.hermes/profiles/atun/workspace"   # JANGAN pakai expanduser("~")
OUT_DIR = os.path.join(WS, "studiosoft_hc60_carousel")
TAG = "#edukasikesehatan"
BG = (18, 43, 99)      # #122B63
SKY = L.SKY


def mk(num, total=5):
    return L.Slide(num, total, TAG, bg=BG)


def s1():
    s = mk(1)
    s.title([("9 KONTEN", SKY), "EDUKATIF RS"], after=44)
    s.lead("Promosi rumah sakit bukan sekadar ramai di media sosial. Ada etika dan tanggung "
           "jawab, karena menyangkut nyawa manusia.", after=30)
    s.para("Sembilan jenis konten yang edukatif dan tetap etis, dari website sampai WhatsApp "
           "Broadcast.", size=30)
    return s.render("ss_hc60_kontenhc_01_cover.png", OUT_DIR)


def s2():
    s = mk(2)
    s.title([("EMPAT KONTEN", SKY), "PALING DICARI"], after=40)
    s.bullets([
        ("Edukasi gejala", "gejala awal dan pencegahan penyakit, bahasa sederhana, tanpa "
                           "menakut-nakuti."),
        ("Tanya dokter", "sesi Q&A menjawab pertanyaan nyata; tetap arahkan ke pemeriksaan "
                         "langsung."),
        ("Gaya hidup sehat", "tekanan darah, gula darah, kualitas tidur. Aman dan mudah "
                             "dibagikan."),
        ("Prosedur medis", "alur tindakan dijelaskan apa adanya, fokus pada proses dan "
                           "keamanan."),
    ], gap=18, name_size=34, desc_size=24)
    return s.render("ss_hc60_kontenhc_02_dicari.png", OUT_DIR)


def s3():
    s = mk(3)
    s.title([("LIMA KONTEN", SKY), "PEMBANGUN PERCAYAAN"], after=40)
    s.bullets([
        ("Profil dokter", "tampilkan sisi humanis, bukan hanya deretan gelar."),
        ("Testimoni", "wajib ada izin pasien; fokus pada pengalaman pelayanan."),
        ("Program sosial", "bakti kesehatan, donor darah, seminar, cek gratis."),
        ("FAQ layanan", "cara daftar, syarat rawat inap, metode pembayaran."),
        ("Pengingat periksa", "imunisasi anak, kontrol hipertensi, medical check-up."),
    ], gap=18, name_size=34, desc_size=24)
    return s.render("ss_hc60_kontenhc_03_percaya.png", OUT_DIR)


def s4():
    s = mk(4)
    s.title([("GARIS ETIKA", SKY), "JANGAN DILEWATI"], after=40)
    s.bullets([
        ("Tanpa janji sembuh", "hindari kata dijamin sembuh atau pasti berhasil."),
        ("Jangan menakut-nakuti", "edukasi yang menenangkan, bukan menebar panik."),
        ("Izin tertulis", "testimoni wajib sepengetahuan pasien, identitas dilindungi."),
        ("Edukasi dulu", "penjualan mengikuti, bukan mendahului."),
    ], gap=18, name_size=34, desc_size=24)
    s.para("Konten yang jujur lebih dipercaya, dan kepercayaan itulah yang mendatangkan pasien.",
           size=27, after=0)
    return s.render("ss_hc60_kontenhc_04_etika.png", OUT_DIR)


def s5():
    s = mk(5)
    s.title([("EDUKASI DULU,", SKY), "PERCAYA MENYUSUL"], after=40)
    s.lead("Rumah sakit bisa aktif di dunia online tanpa melanggar etika: fokus pada edukasi, "
           "transparansi, dan empati.", after=28)
    s.para("StudioSoft menyusun strategi konten rumah sakit dan klinik yang edukatif, terukur, "
           "dan sesuai aturan.", size=30)
    s.h2("www.studiosoft.id", size=40)
    return s.render("ss_hc60_kontenhc_05_cta.png", OUT_DIR)


if __name__ == "__main__":
    print("StudioSoft Healthcare Carousel hc60 - 9 konten edukatif RS")
    print("=" * 70)
    for fn in (s1, s2, s3, s4, s5):
        p = fn()
        print("OK %s %s %d bytes" % (p, Image.open(p).size, os.path.getsize(p)))
    print("OK 5 slide -> %s" % OUT_DIR)
