home.dart
File ini mendefinisikan layar utama aplikasi Gajah Control Panel.
Kelas HomeApp:
- Sebuah
StatefulWidgetyang membuat status untuk layar beranda.
Kelas _HomeAppState:
- Kelas status untuk
HomeApp. - Mengelola visibilitas tampilan terminal (
_isTerminalVisible). - Di
initState(), ia memanggilgetConfig()untuk memuat konfigurasi aplikasi.
Tata Letak UI:
- Tata letak utama adalah
ScaffolddenganAppBar,body,bottomSheet, danbottomNavigationBar. AppBar:- Menampilkan judul "Control Panel".
- Berisi tombol aksi untuk:
- Mengunduh versi PHP (
/download). - Memeriksa pembaruan (menampilkan dialog dan dapat meluncurkan halaman rilis GitHub).
- Menavigasi ke halaman pengaturan (
/settings).
- Mengunduh versi PHP (
body:- Sebuah
SingleChildScrollViewyang berisi konten utama. - Bagian Layanan:
- Menampilkan judul "Layanan".
- Sebuah
GridViewyang secara dinamis mengatur widget kontrol layanan (HttpdControl,Nginxcontrol,Mariadbcontrol,Postgresqlcontrol,Rediscontrol) dalam grid yang responsif.
- Bagian Utilitas:
- Menampilkan judul "Utilitas".
- Termasuk widget
Xamppsamelessuntuk integrasi XAMPP. - Menyediakan
_UtilityButtonuntuk meluncurkan HeidiSQL dan membuka folderhtdocs.
- Sebuah
bottomSheet:- Secara kondisional menampilkan widget
Information(tampilan terminal) jika_isTerminalVisiblebenar.
- Secara kondisional menampilkan widget
bottomNavigationBar:- Sebuah
BottomAppBaryang menunjukkan versi build aplikasi. - Tombol "Tentang" yang menavigasi ke halaman
/about. - Tombol sakelar untuk menampilkan atau menyembunyikan tampilan terminal (widget
Information).
- Sebuah
Kelas _UtilityButton:
- Sebuah
StatelessWidgetpembantu untuk membuat tombol yang konsisten untuk bagian "Utilitas". - Dibutuhkan label, ikon, dan fungsi panggilan balik.
Singkatnya, home.dart bertanggung jawab atas antarmuka pengguna utama aplikasi, menyediakan akses ke kontrol layanan, utilitas, dan navigasi ke bagian lain dari aplikasi.