# Aplikasi Wali Murid — perubahan

## Banyak anak dalam satu akun

Satu akun wali murid memang sudah bisa memuat beberapa anak, tetapi untuk
memeriksa tiga anak orang tua harus berganti anak tiga kali. Layar
**Semua Anak** menutup celah itu: keadaan seluruh anak tampil sekaligus.

Tombolnya ada di pojok kanan atas beranda, dan **hanya muncul bila anaknya
lebih dari satu** — percuma menampilkan ringkasan gabungan untuk satu anak.

Isi tiap kartu:

- status kehadiran hari ini beserta jam masuk
- rekap kehadiran bulan berjalan (hadir berbanding hari tercatat)
- jumlah tugas yang belum dikumpulkan
- sisa tagihan
- nilai terbaru

Di atasnya ada satu kalimat gabungan. Bila semuanya aman, kalimatnya berbunyi
"Semua 3 anak sudah hadir hari ini, tidak ada tugas yang menunggu, dan tidak
ada tagihan tertunggak" — cukup sekali baca, tidak perlu memeriksa kartu satu
per satu. Bila ada yang perlu ditengok, kalimatnya menyebut apa saja.

Menekan kartu anak akan memindahkan beranda ke anak tersebut, sehingga alur
"lihat semua → dalami satu" berjalan tanpa langkah tambahan.

Seluruhnya diambil lewat **satu permintaan** ke `/anak/ringkas`, bukan satu
permintaan per anak. Untuk orang tua dengan tiga anak, itu menghemat dua
perjalanan jaringan setiap kali layar dibuka.

## Jadwal pelajaran

Menu baru di Lainnya. Menampilkan jadwal sepekan dengan penanda hari ini,
lengkap dengan guru pengampu, ruang, dan jam.

## Tugas

Menu baru di Lainnya. Menampilkan tugas beserta statusnya: belum dikerjakan,
sudah dikumpulkan, sudah dinilai, atau lewat tenggat.

**Tidak ada tombol mengumpulkan di sini.** Orang tua perlu tahu ada tugas apa
dan sudah dikerjakan atau belum; mengerjakannya tetap urusan anak lewat
aplikasi siswa. Bila ada yang belum dikumpulkan, muncul pemberitahuan di atas
daftar yang mengajak orang tua bertanya kepada anaknya, bukan mengerjakannya.

## Endpoint baru

| Endpoint | Isi |
|---|---|
| `GET /anak/ringkas` | ringkasan seluruh anak dalam satu panggilan |
| `GET /anak/{id}/jadwal` | jadwal pelajaran sepekan |

Keduanya memakai penjaga yang sama dengan endpoint lain: anak yang bukan milik
akun tersebut ditolak, akun siswa tidak dapat memakainya, dan permintaan tanpa
token ditolak.

## Perbaikan

Widget `Label` pada aplikasi ini dideklarasikan dengan warna sebagai parameter
bernama, sementara empat belas tempat memanggilnya sebagai posisional. Seluruh
pemanggilan itu benar; deklarasinya yang keliru. Kini sama persis dengan
aplikasi siswa: `const Label(this.teks, this.warna, {super.key})`.

Ditambahkan `tools/cek-argumen.py` yang membandingkan tiap pemanggilan dengan
tanda tangan konstruktornya — jenis kesalahan yang lolos dari pemeriksa lama
karena pemeriksa itu hanya memastikan nama kelasnya ada.
