#!/usr/bin/env python3
"""studiosoft_hc70_carousel_gen.py — StudioSoft Healthcare Carousel hc70.

Topik : "Pembuatan Website Rumah Sakit: Fitur Wajib dan Vendor"
Artikel: https://studiosoft.id/pembuatan-website-rumah-sakit/ (HTTP 200, dicek 19 Okt 2026)
         RE-AIR Threads: jejak Threads terakhir 2 Okt 2026 02:00Z (album) = PALING TUA
         di antara artikel HC hidup tanpa jadwal Threads mendatang. Slide BARU
         ss_hc70_websrs_*.

Isi dari artikel asli: kenapa website RS beda (pengguna tidak tenang, menyangkut
keselamatan, aturan promosi lebih ketat), struktur halaman wajib, fitur penentu,
cara memilih vendor, aspek teknis, kesalahan yang sering terjadi.

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_hc70_carousel")
TAG = "#websiterumahsakit"
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([("WEBSITE RS", SKY), "BUKAN SITUS BIASA"], after=44)
    s.lead("Pasien membuka situs rumah sakit bukan saat santai. Biasanya karena "
           "butuh jadwal dokter, memastikan layanan IGD, atau mencari alamat.",
           after=30)
    s.para("Tiga hal membuatnya berbeda: penggunanya sedang tidak tenang, isinya "
           "menyangkut keselamatan, dan aturan promosinya lebih ketat.", size=30)
    return s.render("ss_hc70_websrs_01_cover.png", OUT_DIR)


def s2():
    s = mk(2)
    s.title([("STRUKTUR", SKY), "WAJIB ADA"], after=40)
    s.bullets([
        ("Profil dan izin", "nomor izin, kelas rumah sakit, dan status akreditasi."),
        ("Layanan dan poliklinik", "satu halaman per layanan, jelas siapa yang melayani."),
        ("Jadwal dokter", "bisa diperbarui cepat, per poliklinik dan per dokter."),
        ("IGD dan kegawatdaruratan", "nomor yang bisa diklik langsung, alamat, jam buka."),
        ("Cara mendaftar", "alur online, nomor WhatsApp, atau tautan aplikasi."),
        ("Biaya dan asuransi", "skema pembayaran dan cara memperoleh estimasi."),
    ], gap=18, name_size=34, desc_size=24)
    return s.render("ss_hc70_websrs_02_struktur.png", OUT_DIR)


def s3():
    s = mk(3)
    s.title([("FITUR YANG", SKY), "MENENTUKAN"], after=40)
    s.bullets([
        ("Pencarian dokter cepat", "berdasarkan nama, spesialisasi, dan hari praktik."),
        ("Jadwal diubah sendiri", "tanpa menunggu vendor, supaya tidak cepat usang."),
        ("Ringan di koneksi lambat", "banyak pasien membuka dari ponsel, jaringan tidak stabil."),
        ("Tombol WhatsApp dan telepon", "lebih cepat daripada mengisi formulir."),
        ("Data terstruktur", "membantu Google dan asisten AI memahami isi halaman."),
    ], gap=18, name_size=34, desc_size=24)
    return s.render("ss_hc70_websrs_03_fitur.png", OUT_DIR)


def s4():
    s = mk(4)
    s.title([("CARA MEMILIH", SKY), "VENDOR"], after=40)
    s.bullets([
        ("Siapa mengisi konten", "jelas sejak awal: siapa menulis, siapa memverifikasi medisnya."),
        ("Akses atas nama RS", "domain, hosting, dan akun pengelola bukan atas nama vendor."),
        ("Pemeliharaan disepakati", "pemutakhiran sistem, pencadangan data, penanganan insiden."),
        ("Rencana setelah tayang", "vendor yang baik punya rencana perawatan, bukan hanya serah terima."),
    ], gap=18, name_size=34, desc_size=24)
    return s.render("ss_hc70_websrs_04_vendor.png", OUT_DIR)


def s5():
    s = mk(5)
    s.title([("YANG SERING", SKY), "TERLEWAT"], after=36)
    s.bullets([
        ("Jadwal dokter di gambar", "tidak bisa diperbarui dan tidak terbaca mesin pencari."),
        ("Desain didahulukan", "padahal alur pendaftaran dan jadwal belum jelas."),
        ("Tidak diukur", "tidak ada data halaman mana yang paling dibuka dan ditinggalkan."),
    ], gap=18, name_size=34, desc_size=24, after=30)
    s.para("Mulai dari struktur, bukan tema. StudioSoft membantu rumah sakit dan "
           "klinik membangun situs yang informatif, cepat, dan patuh aturan.", size=30)
    s.h2("www.studiosoft.id", size=40)
    return s.render("ss_hc70_websrs_05_cta.png", OUT_DIR)


if __name__ == "__main__":
    print("StudioSoft Healthcare Carousel hc70 \u2014 pembuatan website rumah sakit")
    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)
