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

Topik : "7 Strategi Digital Marketing Rumah Sakit untuk Menambah Pasien Setiap Bulan"
Artikel: https://studiosoft.id/7-strategi-digital-marketing-rumah-sakit-untuk-menambah-pasien-setiap-bulan/
         (WP post id 3528, publish 22 Mar 2026)

Konteks run 26 Sep 2026 (02:00 WIB / 25 Sep 19:00 UTC):
- Stok artikel healthcare BARU masih HABIS (WP REST 25 Sep: terbaru 25 Sep
  `jasa-maintenance-wordpress-surabaya` + `apa-itu-geo-generative-engine-optimization`
  = non-healthcare).
- AUDIT 26 Sep (hc47_audit.py): 7 artikel HC seri ini masih DEAD/404 -> hanya artikel
  terverifikasi 200 yang dipakai.
- Threads: artikel ini terakhir tayang di Threads SS 11 Sep 2026 = PALING TUA di antara
  artikel HC yang masih hidup & belum pernah jadi topik seri hc27-hc46
  -> re-air + nama file slide BARU `ss_hc47_pasienbaru_*`.

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("~"):
OUT_DIR = os.path.join(WS, "studiosoft_hc47_carousel")
TAG = "#kontenkesehatan"
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([("PASIEN BARU", SKY), "TIDAK DATANG", "DARI SPANDUK"], after=48)
    s.lead("Calon pasien mengetik di Google, membaca review, membuka media sosial, "
           "lalu memutuskan berobat.", after=36)
    s.para("Tujuh strategi yang terbukti menambah pasien setiap bulan \u2014 tetap etis, "
           "tanpa mengorbankan kepercayaan.", size=30)
    return s.render("ss_hc47_pasienbaru_01_cover.png", OUT_DIR)


def s2():
    s = mk(2)
    s.title([("STRATEGI 1-2:", SKY), "WEBSITE &", "KONTEN EDUKASI"], after=44)
    s.bullets([
        ("Optimasi website per layanan", "halaman khusus kebidanan, jantung, mata; judul "
                                         "jelas dan jawab pertanyaan umum pasien."),
        ("Bangun konten edukasi", "artikel, video pendek, atau infografis dengan bahasa "
                                  "sederhana \u2014 tanda bahaya kehamilan, cegah stroke, vaksin."),
        ("Jadikan sumber yang dipercaya", "pasien melihat rumah sakit paham, transparan, "
                                          "dan peduli, bukan sekadar tempat berobat."),
    ], gap=26, name_size=38, desc_size=28)
    return s.render("ss_hc47_pasienbaru_02_website.png", OUT_DIR)


def s3():
    s = mk(3)
    s.title([("STRATEGI 3-4:", SKY), "MEDSOS &", "REPUTASI"], after=44)
    s.bullets([
        ("Aktif dan humanis", "Instagram, Facebook, TikTok: aktivitas edukasi, tips "
                              "kesehatan, perkenalan dokter dengan cara yang hangat."),
        ("Kelola review pasien", "ajak pasien yang puas memberi ulasan di Google Maps "
                                 "dengan sopan dan tanpa memaksa."),
        ("Balas kritik dengan empati", "cara menanggapi kritik sering lebih diperhatikan "
                                       "daripada isi kritiknya sendiri."),
    ], gap=26, name_size=38, desc_size=28)
    return s.render("ss_hc47_pasienbaru_03_reputasi.png", OUT_DIR)


def s4():
    s = mk(4)
    s.title([("STRATEGI 5-6:", SKY), "IKLAN &", "PENDAFTARAN"], after=44)
    s.bullets([
        ("Iklan berbayar terarah", "Google Ads saat orang mencari layanan spesifik, "
                                   "Instagram dan Facebook untuk edukasi program."),
        ("Pesan tetap etis", "fokus pada manfaat dan kemudahan akses \u2014 bukan "
                             "menakut-nakuti calon pasien."),
        ("Permudah proses daftar", "booking jadwal dokter dan nomor antrian via website "
                                   "serta WhatsApp, tanpa bolak-balik telepon."),
    ], gap=26, name_size=38, desc_size=28)
    return s.render("ss_hc47_pasienbaru_04_iklan.png", OUT_DIR)


def s5():
    s = mk(5)
    s.title([("STRATEGI 7:", SKY), "UKUR, LALU", "PERBAIKI"], after=44)
    s.lead("Pasang analitik, pantau halaman terpopuler dan asal trafik, lalu catat konten "
           "media sosial yang paling banyak disimpan audiens.", after=36)
    s.para("Tidak perlu semua sekaligus. Mulai dari website dan konten edukasi, lalu "
           "tumbuhkan hasilnya dari bulan ke bulan.", size=30, after=18)
    s.h2("www.studiosoft.id", size=40)
    return s.render("ss_hc47_pasienbaru_05_cta.png", OUT_DIR)


if __name__ == "__main__":
    print("StudioSoft Healthcare Carousel hc47 \u2014 7 Strategi tambah pasien 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)
