import 'package:flutter/material.dart'; import 'package:http/http.dart' as http; class FAQPage extends StatelessWidget { final List faqItems = [ FAQItem( question: 'Apa itu Aplikasi Kalori?', answer: 'Aplikasi Kalori adalah sebuah aplikasi yang dirancang untuk membantu pengguna menghitung dan memantau asupan kalori harian mereka. Aplikasi ini membantu pengguna menjaga pola makan sehat dan mengelola berat badan.', ), FAQItem( question: 'Bagaimana cara menggunakan Aplikasi Kalori?', answer: 'Untuk menggunakan Aplikasi Kalori, pertama-tama Anda perlu membuat akun. Setelah masuk, Anda dapat mulai mencatat makanan yang Anda konsumsi setiap hari beserta jumlahnya. Aplikasi akan menghitung total kalori harian Anda berdasarkan data yang Anda masukkan.', ), FAQItem( question: 'Apakah Aplikasi Kalori tersedia di platform lain selain Android?', answer: 'Saat ini, Aplikasi Kalori hanya tersedia untuk perangkat Android. Namun, kami sedang mengembangkan versi iOS dan akan segera merilisnya.', ), FAQItem( question: 'Apakah Aplikasi Kalori gratis?', answer: 'Ya, Aplikasi Kalori dapat diunduh dan digunakan secara gratis. Namun, kami juga menyediakan versi berbayar dengan fitur tambahan dan tanpa iklan.', ), // Tambahkan item FAQ lainnya di sini ]; @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold( appBar: AppBar( title: Text('FAQ'), backgroundColor: Colors.deepOrange, ), body: Column( children: [ Container( height: 400, child: ListView.builder( itemCount: faqItems.length, itemBuilder: (context, index) { return buildFAQCard(faqItems[index]); }, ), ), SizedBox(height: 10), Container( child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ TextButton( onPressed: () { // Fungsi untuk menampilkan dialog showDialog( context: context, builder: (BuildContext context) { String pertanyaan = ''; // Variabel untuk menyimpan pertanyaan return AlertDialog( title: Text('Pertanyaan Detail'), content: Column( mainAxisSize: MainAxisSize.min, children: [ TextFormField( decoration: InputDecoration( labelText: 'Pertanyaan', ), onChanged: (value) { pertanyaan = value; }, ), SizedBox(height: 20), ElevatedButton( onPressed: () { // Fungsi untuk mengirim pertanyaan ke API sendPertanyaanToAPI(pertanyaan); Navigator.of(context) .pop(); // Tutup dialog setelah mengirim }, child: Text('Kirim Pertanyaan'), ), ], ), ); }, ); }, child: Text('Punya pertanyaan lebih detail?'), ), Image.asset( 'assets/images/bingung.gif', fit: BoxFit.cover, height: 60, width: 60, ) ], )) ], ), ), ); } Future sendPertanyaanToAPI(String pertanyaan) async { final Uri uri = Uri.parse('https://isipiringku.esolusindo.com/api/FAQ/faq'); // Ganti 'id_user' dengan nilai yang sesuai final Map data = { 'id_user': '36', // Ganti dengan ID pengguna yang sesuai 'pertanyaan': pertanyaan, }; final response = await http.post( uri, body: data, ); if (response.statusCode == 200) { print(response.body); // Pertanyaan berhasil dikirim print('Pertanyaan berhasil dikirim'); } else { print('Gagal mengirim pertanyaan'); print(response.body); } } Widget buildFAQCard(FAQItem faqItem) { return Card( margin: EdgeInsets.all(16.0), child: ExpansionTile( title: Text( faqItem.question, style: TextStyle( fontWeight: FontWeight.bold, color: Colors.deepOrange, ), ), children: [ Padding( padding: EdgeInsets.all(16.0), child: Text(faqItem.answer), ), ], ), ); } } class FAQItem { final String question; final String answer; FAQItem({ required this.question, required this.answer, }); }