#!/usr/bin/env python3
"""studiosoft_hc66_carousel_gen.py — StudioSoft Healthcare Carousel hc66.

Topik : "Kenapa Rumah Sakit dan Klinik Wajib Punya Strategi Digital Marketing"
Artikel: https://studiosoft.id/kenapa-rumah-sakit-dan-klinik-wajib-punya-strategi-digital-marketing/
         (WP id 9498, terbit 14 Okt 2026 05:17Z, HTTP 200 diverifikasi 14 Okt 2026)
         TOPIK BARU: 0 jejak di Threads/LinkedIn/FB StudioSoft (pertama kali dipakai).
         Slide BARU ss_hc66_strategi_*.

Isi diambil dari artikel asli: pasien mencari sebelum memutuskan, gejala ketiadaan strategi,
aturan & etika pemasaran kesehatan, empat pilar (fondasi, kehadiran lokal, isi yang menjawab,
pengukuran), urutan pengerjaan (info dasar -> profil bisnis -> halaman layanan -> isi baru ->
tunda iklan berbayar).

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"
OUT_DIR = os.path.join(WS, "studiosoft_hc66_carousel")
TAG = "#strategidigital"
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 MEMUTUSKAN", SKY), "SEBELUM DATANG"], after=44)
    s.lead("Pasien jarang memilih rumah sakit atau klinik secara kebetulan. Sebelum datang, "
           "hampir selalu ada pencarian, perbandingan di peta, dan ulasan yang dibaca.", after=30)
    s.para("Kehadiran digital bukan pelengkap, tetapi bagian dari cara pasien menemukan layanan.",
           size=30)
    return s.render("ss_hc66_strategi_01_cover.png", OUT_DIR)


def s2():
    s = mk(2)
    s.title([("TANPA STRATEGI,", SKY), "KONTEN BERHENTI"], after=40)
    s.bullets([
        ("Terbit kalau sempat", "konten muncul hanya saat ada waktu luang, jadi tidak "
                                "berkelanjutan."),
        ("Berdiri sendiri", "setiap unggahan tidak menyambung ke halaman layanan apa pun."),
        ("Tidak ada ukuran", "tidak ada yang tahu konten mana yang benar-benar mendatangkan "
                             "pasien."),
        ("Bertumpu satu orang", "pekerjaan berhenti begitu orang itu sibuk."),
        ("Iklan tanpa fondasi", "anggaran dibelanjakan untuk iklan, tetapi halaman tujuannya "
                                "tidak diperbaiki."),
    ], gap=16, name_size=33, desc_size=23)
    return s.render("ss_hc66_strategi_02_gejala.png", OUT_DIR)


def s3():
    s = mk(3)
    s.title([("EMPAT PILAR", SKY), "STRATEGI DIGITAL"], after=40)
    s.bullets([
        ("Fondasi", "situs yang cepat, halaman layanan yang jelas, dan data yang konsisten di "
                    "semua tempat."),
        ("Kehadiran lokal", "profil bisnis yang lengkap dan aktif, karena banyak pasien "
                            "memutuskan lewat peta dan ulasan."),
        ("Isi yang menjawab", "halaman yang menjawab keluhan, prosedur, jadwal, dan cara "
                              "mendaftar, bukan tulisan umum."),
        ("Pengukuran", "angka yang menunjukkan pekerjaan mana yang menghasilkan kontak."),
    ], gap=18, name_size=34, desc_size=24)
    return s.render("ss_hc66_strategi_03_pilar.png", OUT_DIR)


def s4():
    s = mk(4)
    s.title([("URUTAN YANG", SKY), "MASUK AKAL"], after=40)
    s.bullets([
        ("Benahi informasi dasar", "nama, alamat, nomor telepon, jam layanan, dan daftar "
                                   "layanan harus benar lebih dulu."),
        ("Lengkapi profil bisnis", "isi semua bagian, termasuk foto fasilitas dan jam praktik "
                                   "dokter."),
        ("Perbaiki halaman layanan", "rapikan halaman yang sudah ada sebelum menambah halaman "
                                     "baru."),
        ("Baru tambah isi berkala", "konten baru menyusul setelah fondasinya rapi."),
        ("Tunda iklan berbayar", "beriklan ke halaman yang belum siap hanya membayar kunjungan "
                                 "yang berhenti tanpa menghubungi."),
    ], gap=16, name_size=32, desc_size=23)
    return s.render("ss_hc66_strategi_04_urutan.png", OUT_DIR)


def s5():
    s = mk(5)
    s.title([("HADIR SAAT", SKY), "PASIEN MENCARI"], after=40)
    s.lead("Yang membedakan fasilitas kesehatan yang tumbuh biasanya bukan anggaran, tetapi "
           "kejelasan informasi dan konsistensi merawat kanal digitalnya.", after=28)
    s.para("StudioSoft menyusun strategi digital marketing untuk rumah sakit dan klinik, dari "
           "fondasi sampai pengukuran.", size=30)
    s.h2("www.studiosoft.id", size=40)
    return s.render("ss_hc66_strategi_05_cta.png", OUT_DIR)


if __name__ == "__main__":
    print("StudioSoft Healthcare Carousel hc66 \u2014 strategi digital RS & klinik")
    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)
