Desain · DSN-12 ditegakkan

Desain · Pasal DSN-12

Tombol lahir dari UiButton, bukan ditulis tangan

Komponen asli, diimpor. Kalau --ctl-* berubah, gambar ini ikut berubah.

Tombol dan tautan-berbentuk-tombol memakai UiButton dari src/features/projects/shared/ui/. Elemen <button> telanjang hanya sah di dalam berkas yang mendefinisikan primitif itu sendiri.

Kenapa: sebelum primitif ini ada, tombol ditulis tangan dengan delapan tinggi berbedah-6 sampai h-20. Tak ada yang pernah memutuskan itu; ia hanya terjadi, satu halaman satu kali. Sementara hal-hal yang benar-benar perlu diputuskan justru sudah menyatu sendiri tanpa dibantu: rounded-full dipakai 46 dari 51 tombol, dan variannya cuma dua — latar gelap 33 kali, latar terang 33 kali.

Cara menerapkan: variant (primary/secondary/ghost/danger) dan size (sm/md/lg, terikat --ctl-*). Beri href dan ia merender <a>; tanpa href ia <button>. Perbedaan itu bukan gaya: sesuatu yang memindahkan halaman harus bisa dibuka di tab baru dan terbaca sebagai tautan.

Utang saat ini: 202. Ambang ini adalah alat migrasi, bukan toleransi: kode lama dibiarkan jalan, tapi tombol tangan ke-203 menggagalkan build. Agen yang menulisnya tidak perlu pernah membaca pasal ini untuk dihentikan.