#!/usr/bin/env python3
"""studiosoft_hc38_carousel_gen.py — StudioSoft Healthcare Carousel hc38.

Topik : "5 Kesalahan Fatal Website RS & Klinik yang Bikin Pasien Kabur"
Artikel: https://studiosoft.id/website-rumah-sakit-gagal-pasien/

Konteks run 17 Sep 2026 (02:00 WIB):
- Stok artikel healthcare BARU masih HABIS (WP REST 16 Sep: artikel terbaru 13 Sep,
  semuanya non-healthcare kecuali jasa-digital-marketing-klinik yg sdh dipakai hc36).
- Topik ini (hc21/hc35) BELUM PERNAH tayang di Threads: 2x error
  "The media could not be fetched from this URI" (26 Agu & 13 Sep pada ss_hc21_*).
  Di FB album 13 Sep sukses. Jadi ini RE-AIR ke Threads dengan NAMA FILE BARU
  (jalur fetch Repliz segar) persis pola yang berhasil di hc37.
- Isi slide diambil ulang dari artikel (5 kesalahan fatal) + ditulis dalam standar
  desain Bos 16 Sep 2026: ENGiNE ss_carousel_lib.py → rata kiri, blok di tengah
  vertikal, TANPA garis separator, bullet dot, bg BIRU TUA #122B63,
  judul Poppins-Bold 85 / body 36 / sub 30, auto-fit anti-nabrak footer.

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

OUT_DIR = os.path.expanduser("~/.hermes/profiles/atun/workspace/studiosoft_hc38_carousel")
TAG = "#websiters"
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([("5 KESALAHAN", SKY), "FATAL WEBSITE", "RS & KLINIK"], after=56)
    s.lead("Website yang dibuat hanya \u201csekadar ada\u201d bukan mendatangkan pasien, "
           "tapi mengantar mereka ke rumah sakit lain.", after=44)
    s.para("Lebih dari 70% pasien mencari rumah sakit dan klinik dari smartphone. "
           "Kalau halaman Anda lambat dan membingungkan, mereka kembali ke Google "
           "dan memilih yang lebih mudah.", size=30)
    return s.render("ss_hc38_website_01_cover.png", OUT_DIR)


def s2():
    s = mk(2)
    s.title([("KESALAHAN", SKY), "1 & 2"], after=50)
    s.bullets([
        ("1. Loading lambat",
         "Riset Google: 53% pengunjung pergi kalau halaman butuh lebih dari 3 detik. "
         "Penyebab tersering: gambar besar, slider animasi, dan plugin berat."),
        ("2. Informasi dokter sulit ditemukan",
         "Padahal itu tujuan utama pasien: jadwal praktik, sub-spesialisasi, pengalaman, "
         "dan cara booking. Kalau datanya tidak update, pasien menghubungi RS lain."),
    ], gap=34)
    return s.render("ss_hc38_website_02_kesalahan12.png", OUT_DIR)


def s3():
    s = mk(3)
    s.title([("KESALAHAN", SKY), "3 & 4"], after=50)
    s.bullets([
        ("3. Tidak mobile-friendly",
         "70% pencarian dilakukan dari HP, tapi teksnya terlalu kecil, tombol sulit "
         "diklik, dan navigasinya kacau. Versi mobile bukan opsional."),
        ("4. Call-to-action lemah",
         "Setelah membaca, pasien tidak tahu harus apa: tidak ada tombol booking, "
         "nomor WhatsApp tidak jelas, form pendaftaran tidak ada. "
         "CTA yang jelas bisa menaikkan konversi sampai 200%."),
    ], gap=34)
    return s.render("ss_hc38_website_03_kesalahan34.png", OUT_DIR)


def s4():
    s = mk(4)
    s.title([("KESALAHAN", SKY), "5"], after=44)
    s.bullets([
        ("5. Tidak terintegrasi sistem booking",
         "Website yang cuma pajangan membuat pasien harus menelepon atau datang "
         "langsung untuk mendaftar. Ribet dan lambat \u2014 mereka pilih yang lebih mudah."),
    ], gap=30)
    s.gap(26)
    s.h2("YANG RS & KLINIK BUTUHKAN:", after=24)
    s.bullets([
        ("Cepat dan mobile-friendly", "halaman ringan, nyaman dibuka dari HP"),
        ("SEO-optimal", "mudah ditemukan saat pasien mencari layanan terdekat"),
        ("Booking online", "terhubung ke jadwal dokter real-time"),
        ("Dashboard analytics", "tahu layanan apa yang paling dicari pasien"),
    ], gap=22, name_size=34, desc_size=28)
    return s.render("ss_hc38_website_04_solusi.png", OUT_DIR)


def s5():
    s = mk(5)
    s.title(["WEBSITE YANG", ("MENDATANGKAN", SKY), "PASIEN"], after=52)
    s.lead("Bukan yang paling cantik, tapi yang paling mudah dipakai pasien: cepat, "
           "mobile-friendly, SEO-optimal, dan terhubung ke booking online.", after=42)
    s.para("Website RS seharusnya jadi pintu masuk pasien, bukan pajangan yang "
           "menunggu dikunjungi.", after=44)
    s.para("Butuh audit website RS & klinik Anda?", size=30, after=10)
    s.h2("www.studiosoft.id", size=40)
    return s.render("ss_hc38_website_05_cta.png", OUT_DIR)


if __name__ == "__main__":
    print("StudioSoft Healthcare Carousel hc38 — 5 Kesalahan Fatal Website RS & Klinik")
    print("=" * 70)
    for fn in (s1, s2, s3, s4, s5):
        p = fn()
        print("OK %s %s" % (p, Image.open(p).size))
    print("OK 5 slide -> %s" % OUT_DIR)
