#!/usr/bin/env python3
"""studiosoft_hc56_carousel_gen.py — StudioSoft Healthcare Carousel hc56.

Topik : "Digital Marketing Rumah Sakit: 6 Indikator Wajib Pantau"
Artikel: https://studiosoft.id/digital-marketing-rumah-sakit-indikator/ (WP id 9166,
         publish 4 Okt 2026 08:00 WIB) — ARTIKEL HEALTHCARE BARU; jejak Threads = 0.

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_hc56_carousel")
TAG = "#digitalmarketing"
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([("RUMAH SAKIT", SKY), "6 INDIKATOR", "WAJIB PANTAU"], after=44)
    s.lead("Pengikut bertambah, tayangan naik, tetapi pasien baru tidak bergerak. "
           "Masalahnya sering ada di angka yang dipantau sejak awal.", after=34)
    s.para("Enam indikator yang benar-benar berguna untuk menilai digital marketing "
           "rumah sakit.", size=30)
    return s.render("ss_hc56_indikatorrs_01_cover.png", OUT_DIR)


def s2():
    s = mk(2)
    s.title([("KENAPA PENGIKUT", SKY), "BUKAN UKURAN"], after=44)
    s.bullets([
        ("Pengikut bisa naik karena konten hiburan", "bukan karena kebutuhan layanan kesehatan."),
        ("Yang perlu dipantau", "apakah orang yang melihat konten akhirnya mengambil langkah "
                                "menuju layanan."),
        ("Semua indikator diarahkan ke satu hal", "pergerakan calon pasien, bukan sekadar "
                                                  "perhatian."),
        ("Bandingkan bulan ke bulan", "angka tunggal tanpa pembanding tidak bercerita apa pun."),
    ], gap=20, name_size=38, desc_size=26)
    return s.render("ss_hc56_indikatorrs_02_bukan.png", OUT_DIR)


def s3():
    s = mk(3)
    s.title([("ENAM INDIKATOR", SKY), "YANG DIUKUR"], after=44)
    s.bullets([
        ("Tayangan halaman layanan", "berapa orang membuka halaman medical check up atau "
                                     "poliklinik anak."),
        ("Interaksi dari halaman itu", "klik tombol telepon, WhatsApp, atau formulir "
                                       "pendaftaran."),
        ("Pendaftaran dari kanal digital", "pastikan setiap kanal bisa dilacak."),
        ("Pangsa pencarian bermerek", "seberapa kuat nama rumah sakit Anda diingat."),
        ("Ulasan dan rating layanan", "jumlah, perubahan, dan kecepatan membalas."),
        ("Waktu respon pertanyaan", "termasuk pesan yang masuk di luar jam kerja."),
    ], gap=16, name_size=34, desc_size=24)
    return s.render("ss_hc56_indikatorrs_03_enam.png", OUT_DIR)


def s4():
    s = mk(4)
    s.title([("CARA MEMBACA", SKY), "& KESALAHAN"], after=44)
    s.bullets([
        ("Tayangan tinggi, interaksi rendah", "masalahnya di halaman: informasi kurang jelas "
                                              "atau tombol tidak terlihat."),
        ("Tayangan rendah, interaksi tinggi", "halaman sudah efektif, tinggal didatangkan "
                                              "lebih banyak pengunjung."),
        ("Jangan gabungkan semua kanal", "jadi tidak ketahuan mana yang bekerja dan mana "
                                         "yang tidak."),
        ("Jangan pantau semuanya sekaligus", "tetapkan satu indikator utama tiap bulan."),
        ("Laporan penuh grafik tanpa kesimpulan", "angka tanpa tafsiran hanya memindahkan "
                                                  "pekerjaan berpikir."),
    ], gap=18, name_size=34, desc_size=25)
    return s.render("ss_hc56_indikatorrs_04_baca.png", OUT_DIR)


def s5():
    s = mk(5)
    s.title([("NILAI DARI", SKY), "PERGERAKAN", "PASIEN"], after=44)
    s.lead("Nilai digital marketing rumah sakit dari pergerakan calon pasien, bukan "
           "besarnya angka tayangan.", after=30)
    s.para("StudioSoft membantu rumah sakit dan klinik menyusun pengukuran yang bisa "
           "ditindaklanjuti, dari pelacakan kanal hingga laporan bulanan.", size=30)
    s.h2("www.studiosoft.id", size=40)
    return s.render("ss_hc56_indikatorrs_05_cta.png", OUT_DIR)


if __name__ == "__main__":
    print("StudioSoft Healthcare Carousel hc56 \u2014 indikator 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)
