#!/usr/bin/env python3
"""studiosoft_hc45_carousel_gen.py — StudioSoft Healthcare Carousel hc45 (RE-AIR Threads).

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/

Konteks run 24 Sep 2026 (02:00 WIB / 23 Sep 19:00 UTC):
- Stok artikel healthcare BARU masih HABIS (WP REST 23 Sep: 20 post terbaru, terbaru 20 Sep
  `jasa-branding-surabaya-membangun-identitas-brand-kuat` = non-healthcare; kategori
  healthcare-digital cuma 4 post, semua sudah dipakai).
- AUDIT BARU 24 Sep: 6 artikel HC yang dipakai seri ini SUDAH HILANG dari website (HTTP 404):
  strategi-digital-marketing-rumah-sakit, website-rumah-sakit-gagal-pasien,
  iklan-facebook-rumah-sakit, klinik-kecil-butuh-digital-marketing,
  konten-edukasi-kesehatan-kepercayaan-pasien, social-media-rumah-sakit-efektif,
  data-analytics-rumah-sakit-kebutuhan-pasien (7 judul).
  -> hanya artikel HC yang MASIH 200 yang boleh dipakai.
- Threads: artikel `9-contoh-konten-...` terakhir tayang di Threads SS 10 Sep 2026
  (paling tua di antara artikel HC yang masih hidup) -> re-air + nama file slide BARU
  `ss_hc45_kontenhc_*` (mitigasi error media-fetch Repliz).

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).
"""
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("~"):
# HOME di profil ini = /home/mantapman/.hermes/profiles/atun/home (bukan /home/mantapman).
OUT_DIR = os.path.join(WS, "studiosoft_hc45_carousel")
TAG = "#kontenkesehatan"
BG = (18, 43, 99)      # #122B63 — warna baku Bos (16 Sep 2026)
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 RS", SKY), "YANG EDUKATIF", "& TETAP ETIS"], after=48)
    s.lead("Promosi rumah sakit bukan soal ramai di media sosial. Ada etika dan tanggung "
           "jawab, karena yang dibaca menyangkut kesehatan dan nyawa.", after=36)
    s.para("Masyarakat sekarang mencari info kesehatan lewat internet, bukan brosur. "
           "Inilah 9 jenis konten yang membantu tanpa menjanjikan kesembuhan.",
           size=30)
    return s.render("ss_hc45_kontenhc_01_cover.png", OUT_DIR)


def s2():
    s = mk(2)
    s.title([("1-3. EDUKASI", SKY), "PALING DICARI"], after=44)
    s.bullets([
        ("Gejala & pencegahan", "tanda awal stroke, demam berdarah, serangan jantung \u2014 "
                                "bahasa sederhana, tanpa menakut-nakuti."),
        ("Tanya Dokter (Q&A)", "jawab pertanyaan nyata di story atau live; ingatkan bahwa "
                               "jawaban bersifat umum, bukan diagnosis."),
        ("Tips gaya hidup sehat", "pola makan, tekanan darah, tidur berkualitas \u2014 "
                                  "mudah dibagikan ulang."),
    ], gap=26, name_size=38, desc_size=28)
    return s.render("ss_hc45_kontenhc_02_edukasi.png", OUT_DIR)


def s3():
    s = mk(3)
    s.title([("4-6. BANGUN", SKY), "KEPERCAYAAN"], after=44)
    s.bullets([
        ("Prosedur medis", "jelaskan alur endoskopi atau medical check-up dengan bahasa awam; "
                           "jangan klaim \u201cdijamin tanpa rasa sakit\u201d."),
        ("Profil dokter", "tampilkan sisi humanis: keahlian, pengalaman, cara mendampingi "
                          "pasien."),
        ("Testimoni", "pakai izin tertulis, lindungi identitas, fokus pada pengalaman "
                      "pelayanan \u2014 bukan janji sembuh."),
    ], gap=26, name_size=38, desc_size=28)
    return s.render("ss_hc45_kontenhc_03_trust.png", OUT_DIR)


def s4():
    s = mk(4)
    s.title([("7-9. PELAYANAN", SKY), "& RUTINITAS"], after=44)
    s.bullets([
        ("Kampanye sosial", "bakti kesehatan, donor darah, cek kesehatan gratis \u2014 "
                            "dokumentasikan dan undang warga ikut."),
        ("FAQ layanan", "cara daftar online, syarat rawat inap, metode pembayaran \u2014 "
                        "praktis dan bebas risiko etika."),
        ("Pengingat kontrol", "jadwal imunisasi anak atau cek tekanan darah rutin, "
                              "dengan ajakan yang lembut."),
    ], gap=26, name_size=38, desc_size=28)
    return s.render("ss_hc45_kontenhc_04_layanan.png", OUT_DIR)


def s5():
    s = mk(5)
    s.title([("KONTEN YANG", SKY), "PRIORITASKAN", "PASIEN"], after=44)
    s.lead("Edukasi, transparansi, dan empati \u2014 bukan janji berlebihan. Dari situ "
           "kepercayaan tumbuh, dan pasien baru datang secara alami.", after=36)
    s.para("Butuh partner konten & digital marketing untuk RS atau klinik Anda?",
           size=30, after=10)
    s.h2("www.studiosoft.id", size=40)
    return s.render("ss_hc45_kontenhc_05_cta.png", OUT_DIR)


if __name__ == "__main__":
    print("StudioSoft Healthcare Carousel hc45 \u2014 9 Konten Digital Marketing 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)
