TKK_E32231651/lib/ver.dart

205 lines
6.7 KiB
Dart

import 'package:flutter/material.dart';
class VerScreen extends StatelessWidget {
const VerScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: const Color(0xfff8f9fa),
appBar: AppBar(
title: const Text(
'Versi Aplikasi',
style: TextStyle(fontWeight: FontWeight.bold),
),
backgroundColor: Colors.red,
foregroundColor: Colors.white,
elevation: 0,
),
body: SingleChildScrollView(
padding: const EdgeInsets.all(20),
child: Column(
children: [
// Header Icon
Container(
width: double.infinity,
padding: const EdgeInsets.all(30),
decoration: BoxDecoration(
gradient: LinearGradient(
begin: Alignment.topLeft,
end: Alignment.bottomRight,
colors: [
Colors.red.shade700,
Colors.red.shade500,
Colors.red.shade300,
],
),
borderRadius: BorderRadius.circular(25),
boxShadow: [
BoxShadow(
blurRadius: 20,
color: Colors.red.withOpacity(0.3),
),
],
),
child: Column(
children: [
Container(
padding: const EdgeInsets.all(20),
decoration: BoxDecoration(
color: Colors.white.withOpacity(0.2),
shape: BoxShape.circle,
),
child: const Icon(
Icons.coffee,
size: 60,
color: Colors.white,
),
),
const SizedBox(height: 20),
const Text(
'KopiCare',
style: TextStyle(
fontSize: 28,
fontWeight: FontWeight.bold,
color: Colors.white,
letterSpacing: 1,
),
),
const SizedBox(height: 5),
Container(
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 4),
decoration: BoxDecoration(
color: Colors.white.withOpacity(0.2),
borderRadius: BorderRadius.circular(20),
),
child: const Text(
'Version 2.0.0',
style: TextStyle(
fontSize: 14,
color: Colors.white,
),
),
),
],
),
),
const SizedBox(height: 25),
// Info Card
Container(
padding: const EdgeInsets.all(20),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(20),
boxShadow: [
BoxShadow(
blurRadius: 15,
color: Colors.red.withOpacity(0.08),
offset: const Offset(0, 5),
),
],
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
const Text(
'Tentang Aplikasi',
style: TextStyle(
fontSize: 18,
fontWeight: FontWeight.bold,
color: Color(0xff2d2d2d),
),
),
const SizedBox(height: 10),
const Text(
'Aplikasi ini digunakan untuk monitoring dan pengeringan kopi & kakao berbasis IoT (ESP32).',
style: TextStyle(
fontSize: 14,
color: Color(0xff666666),
height: 1.5,
),
),
const SizedBox(height: 20),
const Text(
'Fitur Unggulan',
style: TextStyle(
fontSize: 16,
fontWeight: FontWeight.bold,
color: Color(0xff2d2d2d),
),
),
const SizedBox(height: 10),
_buildFeature('Monitoring Real-time', Icons.thermostat),
_buildFeature('Kontrol Otomatis', Icons.smart_toy),
_buildFeature('Riwayat Data', Icons.history),
_buildFeature('Analisis Pengeringan', Icons.analytics),
],
),
),
const SizedBox(height: 20),
// Footer
Container(
padding: const EdgeInsets.all(16),
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(15),
border: Border.all(color: Colors.red.withOpacity(0.1)),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Container(
padding: const EdgeInsets.all(8),
decoration: BoxDecoration(
color: Colors.red.withOpacity(0.1),
shape: BoxShape.circle,
),
child:
const Icon(Icons.favorite, color: Colors.red, size: 16),
),
const SizedBox(width: 8),
const Text(
'© 2026 KopiCare Team',
style: TextStyle(
fontSize: 12,
color: Color(0xff888888),
),
),
],
),
),
],
),
),
);
}
Widget _buildFeature(String title, IconData icon) {
return Padding(
padding: const EdgeInsets.only(bottom: 12),
child: Row(
children: [
Container(
padding: const EdgeInsets.all(6),
decoration: BoxDecoration(
color: Colors.red.withOpacity(0.1),
borderRadius: BorderRadius.circular(8),
),
child: Icon(icon, color: Colors.red, size: 18),
),
const SizedBox(width: 10),
Text(
title,
style: const TextStyle(
fontSize: 13,
color: Color(0xff555555),
),
),
],
),
);
}
}