#!/usr/bin/env python3
"""studiosoft_hc69_carousel_gen.py — StudioSoft Healthcare Carousel hc69.

Topik : "7 Aplikasi Mental Health Anak Usia 4-10 Tahun yang Harus Dicoba Orang Tua"
Artikel: https://studiosoft.id/7-aplikasi-mental-health-anak-usia-4-10-tahun-yang-harus-dicoba-orang-tua/
         (HTTP 200 diverifikasi 17 Okt 2026). RE-AIR Threads: jejak Threads terakhir
         1 Okt 2026 02:01Z = PALING TUA di antara artikel HC hidup tanpa jadwal
         Threads mendatang. Slide BARU ss_hc69_anaktenang_*.

Isi dari artikel asli: 7 aplikasi (Worry Dolls, Mindful Powers, Calm Kids,
Smiling Mind, Breathe Think Do with Sesame, Headspace for Kids, Super Stretch
Yoga), alasan orang tua perlu mendampingi, dan kesimpulan.

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_hc69_carousel")
TAG = "#kesehatanmental"
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([("TENANG ITU", SKY), "BISA DILATIH"], after=44)
    s.lead("Anak usia 4-10 tahun mulai mengenal marah, takut, dan kecewa. Sebagian "
           "besar belum punya kata untuk menjelaskan apa yang dirasakannya.", after=30)
    s.para("Ada 7 aplikasi yang dirancang membantu anak melatihnya. Bukan pengganti "
           "orang tua, hanya alat bantu.", size=30)
    return s.render("ss_hc69_anaktenang_01_cover.png", OUT_DIR)


def s2():
    s = mk(2)
    s.title([("KENAPA PERLU", SKY), "DIDAMPINGI"], after=40)
    s.bullets([
        ("Emosi belum punya nama", "anak merasa tidak nyaman tanpa tahu apa yang "
                                   "sedang terjadi pada dirinya."),
        ("Latihan kecil, dampak panjang", "menamai rasa dan berhenti menarik napas "
                                          "lebih mudah dilatih lewat permainan."),
        ("Orang tua tetap kuncinya", "aplikasi hanya alat bantu. Yang menentukan "
                                     "adalah pendampingan dan kebiasaan di rumah."),
    ], gap=20, name_size=35, desc_size=25)
    return s.render("ss_hc69_anaktenang_02_dampingi.png", OUT_DIR)


def s3():
    s = mk(3)
    s.title([("3 AWALAN", SKY), "RAMAH ANAK"], after=40)
    s.bullets([
        ("Worry Dolls", "boneka virtual tempat anak mencurahkan kekhawatiran, supaya "
                        "merasa didengar dan lebih tenang."),
        ("Mindful Powers", "mengajarkan kesadaran lewat permainan, membantu anak "
                           "mengelola stres dan menambah fokus."),
        ("Breathe, Think, Do", "dari Sesame Street: anak belajar menyelesaikan masalah "
                               "dengan berpikir dan berempati."),
    ], gap=20, name_size=34, desc_size=24)
    return s.render("ss_hc69_anaktenang_03_awalan.png", OUT_DIR)


def s4():
    s = mk(4)
    s.title([("4 PILIHAN", SKY), "LAINNYA"], after=40)
    s.bullets([
        ("Calm Kids", "meditasi singkat dan latihan pernapasan untuk usia dini."),
        ("Smiling Mind", "program mindfulness yang disusun psikolog, sesi dibagi per usia."),
        ("Headspace for Kids", "panduan meditasi dengan suara ramah dan cerita."),
        ("Super Stretch Yoga", "yoga dan relaksasi untuk kesadaran tubuh anak."),
    ], gap=16, name_size=33, desc_size=24)
    return s.render("ss_hc69_anaktenang_04_pilihan.png", OUT_DIR)


def s5():
    s = mk(5)
    s.title([("MULAI DARI", SKY), "SATU APLIKASI"], after=40)
    s.lead("Tidak perlu semuanya. Pilih satu yang paling cocok dengan usia dan "
           "kebiasaan anak, pakai 10 menit sehari, lalu lihat apakah dia jadi lebih "
           "mudah bercerita.", after=28)
    s.para("Konten edukasi kesehatan yang rapi dan mudah dipahami membantu klinik "
           "serta rumah sakit dipercaya pasien. StudioSoft menangani strategi konten "
           "dan situsnya.", size=30)
    s.h2("www.studiosoft.id", size=40)
    return s.render("ss_hc69_anaktenang_05_cta.png", OUT_DIR)


if __name__ == "__main__":
    print("StudioSoft Healthcare Carousel hc69 \u2014 aplikasi mental health anak")
    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)
