MIF_E31211879/lib/dashboard/faq.dart

163 lines
5.3 KiB
Dart

import 'package:flutter/material.dart';
import 'package:http/http.dart' as http;
class FAQPage extends StatelessWidget {
final List<FAQItem> 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: <Widget>[
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<void> 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<String, String> 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,
});
}