components/information.dart
File ini mendefinisikan widget yang menampilkan informasi pencatatan dan output terminal kepada pengguna.
Kelas Information:
- Sebuah
StatefulWidgetyang membuat status untuk tampilan informasi/terminal.
Kelas _InformationState:
- Kelas status untuk
Information. - Variabel Status:
_scrollController:ScrollControlleruntuk mengelola pengguliran tampilan log._terminalContext: InstansTerminalcontextuntuk mengakses pesan log.
_scrollToBottom():- Fungsi yang secara otomatis menggulir tampilan log ke bawah setiap kali pesan baru ditambahkan.
initState():- Memanggil
_checkingUsedPort()untuk memeriksa konflik port saat startup. - Menambahkan pendengar ke
_terminalContextuntuk memanggil_scrollToBottom()setiap kali pesan log berubah.
- Memanggil
dispose():- Menghapus pendengar dari
_terminalContextdan membuang_scrollController.
- Menghapus pendengar dari
_checkingUsedPort():- Secara asinkron memeriksa apakah port Nginx dan MariaDB yang dikonfigurasi sudah digunakan.
- Jika port sedang digunakan, ia menambahkan pesan peringatan ke
Terminalcontext.
build():- UI adalah
ContainerdenganListView.builder. - Mendapatkan
TerminalcontextdariProvider. ListView.buildermenampilkan pesan log dariterminal.terminalContext._scrollControllerdilampirkan keListViewuntuk mengaktifkan pengguliran otomatis.- Teks ditata dengan font monospace agar menyerupai terminal.
- UI adalah
Widget ini menyediakan mekanisme umpan balik yang penting bagi pengguna, menunjukkan status berbagai operasi dan memperingatkan mereka tentang potensi masalah seperti konflik port.