#!/usr/bin/env python3
"""studiosoft_hc59_carousel_gen.py — StudioSoft Healthcare Carousel hc59.

Topik : "Google Business Profile untuk Klinik: Cara Biar Pasien Gampang Nemu Lokasi Anda"
Artikel: https://studiosoft.id/google-business-profile-klinik/ (WP id 5977)
         RE-AIR Threads (jejak Threads terakhir 24 Sep 2026 / hc44 = paling tua di antara
         artikel HC hidup yang paling tua & tidak punya jadwal Threads mendatang; artikel 200).
         Slide BARU ss_hc59_gbpklinik_*.

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_hc59_carousel")
TAG = "#gbpklinik"
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([("GOOGLE BUSINESS", SKY), "PROFILE", "UNTUK KLINIK"], after=44)
    s.lead("Pasien mengetik \u201cklinik terdekat\u201d, dan Google menjawab langsung dari daftar "
           "profil bisnis, bukan dari website Anda.", after=30)
    s.para("Aset digital paling underrated: gratis, mudah dioptimasi, dan efeknya terasa cepat "
           "pada kunjungan pasien.", size=30)
    return s.render("ss_hc59_gbpklinik_01_cover.png", OUT_DIR)


def s2():
    s = mk(2)
    s.title([("LIMA LANGKAH", SKY), "OPTIMASI PROFIL"], after=44)
    s.bullets([
        ("Verifikasi kepemilikan", "pastikan profil benar terverifikasi dan dikelola tim Anda, "
                                   "bukan akun lama yang terlupakan."),
        ("Data lengkap", "nama persis, alamat, jam operasional termasuk libur, telepon, dan "
                         "tautan pendaftaran."),
        ("Kategori tepat", "kategori utama sesuai layanan, lalu tambahkan kategori sekunder "
                           "bila relevan."),
        ("Foto asli", "puluhan foto: bagian depan, ruang tunggu, ruang periksa, peralatan, "
                      "dan tim medis."),
        ("Pembaruan rutin", "unggah informasi singkat minimal sepekan sekali supaya profil "
                            "tetap aktif."),
    ], gap=16, name_size=33, desc_size=24)
    return s.render("ss_hc59_gbpklinik_02_optimasi.png", OUT_DIR)


def s3():
    s = mk(3)
    s.title([("ULASAN MENENTUKAN", SKY), "PILIHAN PASIEN"], after=40)
    s.lead("Klinik rating 4,5 lebih dipilih daripada rating 3,5, meski layanannya bisa jadi "
           "setara.", after=28)
    s.bullets([
        ("Minta ulasan", "dua sampai tiga hari setelah kunjungan, lewat tautan langsung ke "
                         "halaman profil."),
        ("Balas semua", "positif maupun negatif, maksimal dua hari kerja."),
        ("Ulasan negatif", "akui bagian yang kurang dan tawarkan jalur penyelesaian, tanpa "
                           "membahas detail medis di ruang publik."),
        ("Jangan beli ulasan", "Google bisa menghapus profil Anda."),
    ], gap=16, name_size=33, desc_size=24)
    return s.render("ss_hc59_gbpklinik_03_ulasan.png", OUT_DIR)


def s4():
    s = mk(4)
    s.title([("TIGA ANGKA", SKY), "DI MENU INSIGHT"], after=44)
    s.bullets([
        ("Permintaan rute", "minat datang ke lokasi."),
        ("Klik ke telepon", "minat menghubungi."),
        ("Pencarian non-merek", "pasien yang belum mengenal klinik Anda."),
    ], gap=20, name_size=36, desc_size=26)
    s.para("Dari tiga angka itu Anda tahu layanan mana yang perlu ditonjolkan bulan berikutnya.",
           size=28, after=0)
    return s.render("ss_hc59_gbpklinik_04_insight.png", OUT_DIR)


def s5():
    s = mk(5)
    s.title([("DARI PENCARIAN", SKY), "JADI KUNJUNGAN"], after=40)
    s.lead("Satu klinik gigi di Surabaya mencatat kenaikan 40% permintaan petunjuk arah dalam "
           "tiga bulan setelah profilnya dioptimasi.", after=28)
    s.para("StudioSoft membantu klinik dan rumah sakit mengoptimalkan Google Business Profile "
           "sebagai bagian dari SEO lokal yang terintegrasi.", size=30)
    s.h2("www.studiosoft.id", size=40)
    return s.render("ss_hc59_gbpklinik_05_cta.png", OUT_DIR)


if __name__ == "__main__":
    print("StudioSoft Healthcare Carousel hc59 - Google Business Profile 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)
