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), ), ), ], ), ); } }