From 32daaad975ea99f44d3723f627a6e3629add273b Mon Sep 17 00:00:00 2001 From: KIMGYEONGRAN Date: Tue, 25 Nov 2025 17:51:50 +0900 Subject: [PATCH] =?UTF-8?q?1.=20=ED=95=98=EB=8B=A8=20=EB=84=A4=EB=B9=84?= =?UTF-8?q?=EA=B2=8C=EC=9D=B4=EC=85=98=20=EB=B0=94=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?2.=20=EB=8C=80=EC=97=AC=EC=86=8C=20=EC=A7=80=EB=8F=84=20?= =?UTF-8?q?=EB=B0=8F=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=ED=99=94=EB=A9=B4=20?= =?UTF-8?q?=EC=A0=9C=EC=9E=91=20(RentReturnScreen)=203.=20=EB=8C=80?= =?UTF-8?q?=EC=97=AC/=EB=B0=98=EB=82=A9=20=EC=83=81=EC=84=B8=20=EC=A7=84?= =?UTF-8?q?=ED=96=89=20=ED=99=94=EB=A9=B4=20=EA=B5=AC=ED=98=84=20(RentalPr?= =?UTF-8?q?ocessScreen)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/images/open.png | Bin 0 -> 90298 bytes lib/alerts_report_screen.dart | 15 -- lib/home_screen_content.dart | 11 +- lib/main.dart | 8 +- lib/rent_return_screen.dart | 356 +++++++++++++++++++++++++++++++++ lib/rental_process_screen.dart | 349 ++++++++++++++++++++++++++++++++ pubspec.yaml | 1 - 7 files changed, 712 insertions(+), 28 deletions(-) create mode 100644 assets/images/open.png delete mode 100644 lib/alerts_report_screen.dart create mode 100644 lib/rent_return_screen.dart create mode 100644 lib/rental_process_screen.dart diff --git a/assets/images/open.png b/assets/images/open.png new file mode 100644 index 0000000000000000000000000000000000000000..71bdad9bf06ee1778d0dd04a9a85373a66e83f92 GIT binary patch literal 90298 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�HwYDR5} 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�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 JPDHLkV1f!Del7q2 literal 0 HcmV?d00001 diff --git a/lib/alerts_report_screen.dart b/lib/alerts_report_screen.dart deleted file mode 100644 index 57ada3b..0000000 --- a/lib/alerts_report_screen.dart +++ /dev/null @@ -1,15 +0,0 @@ -import 'package:flutter/material.dart'; - -class AlertsReportScreen extends StatelessWidget { - const AlertsReportScreen({super.key}); - - @override - Widget build(BuildContext context) { - return const Center( - child: Text( - '4. 알림/신고 (Alerts/Report) 페이지', - style: TextStyle(color: Colors.white70, fontSize: 20), - ), - ); - } -} \ No newline at end of file diff --git a/lib/home_screen_content.dart b/lib/home_screen_content.dart index 553f7da..c6d7cc6 100644 --- a/lib/home_screen_content.dart +++ b/lib/home_screen_content.dart @@ -14,7 +14,6 @@ class HomeScreenContent extends StatefulWidget { class _HomeScreenContentState extends State { static const double _uniformGap = 16.0; - // 포인트 컬러 (배터리, 상태 표시 등에는 유지) final Color _pointColor = Colors.redAccent; final Map _controlToggles = { @@ -117,8 +116,8 @@ class _HomeScreenContentState extends State { Padding( padding: const EdgeInsets.only(bottom: 20.0), child: Image.asset( - 'assets/images/helmet.png', - width: 100, + 'assets/images/open.png', + width: 120, ), ), Positioned( @@ -381,7 +380,6 @@ class _HomeScreenContentState extends State { height: 30, decoration: BoxDecoration( borderRadius: BorderRadius.circular(15), - // ⭐ [수정됨] ON(화이트), OFF(다크그레이) -> 블랙 앤 화이트 테마 적용 color: value ? Colors.white : Colors.grey.shade700, ), child: Stack( @@ -397,7 +395,6 @@ class _HomeScreenContentState extends State { height: 26, decoration: BoxDecoration( shape: BoxShape.circle, - // ⭐ [수정됨] ON(블랙), OFF(화이트) -> 배경과 대비되는 색상 color: value ? const Color(0xFF27292B) : Colors.white, ), ), @@ -411,7 +408,6 @@ class _HomeScreenContentState extends State { style: TextStyle( fontSize: 10, fontWeight: FontWeight.bold, - // ⭐ [수정됨] ON 텍스트 블랙 color: value ? const Color(0xFF27292B) : Colors.transparent)))), @@ -564,6 +560,7 @@ class _HomeScreenContentState extends State { TileLayer( urlTemplate: 'https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png', + userAgentPackageName: 'com.example.app', subdomains: const ['a', 'b', 'c', 'd'], retinaMode: true, ), @@ -636,10 +633,8 @@ class _HomeScreenContentState extends State { style: const TextStyle(fontSize: 11, color: Colors.white70)); } } -// --- _HomeScreenContentState 끝 --- -// 👇 HOME 화면에 사용되는 4가지 커스텀 클래스 정의 class _LineChartPlaceholder extends StatelessWidget { const _LineChartPlaceholder(); diff --git a/lib/main.dart b/lib/main.dart index 710ff6b..012c0a4 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -3,7 +3,7 @@ import 'package:flutter/services.dart'; import 'package:smarthelmet_app/home_screen_content.dart'; import 'package:smarthelmet_app/control_screen.dart'; import 'package:smarthelmet_app/history_screen.dart'; -import 'package:smarthelmet_app/alerts_report_screen.dart'; +import 'package:smarthelmet_app/rent_return_screen.dart'; import 'package:smarthelmet_app/settings_screen.dart'; void main() { @@ -51,7 +51,7 @@ class _HomeScreenState extends State { const HomeScreenContent(), const HistoryScreen(), const ControlScreen(), - const AlertsReportScreen(), + const RentReturnScreen(), const SettingsScreen(), ]; @@ -91,11 +91,11 @@ class _HomeScreenState extends State { BottomNavigationBarItem(icon: Icon(Icons.home), label: 'HOME'), BottomNavigationBarItem(icon: Icon(Icons.history), label: 'HISTORY'), BottomNavigationBarItem(icon: Icon(Icons.settings_input_component), label: 'CONTROL'), - BottomNavigationBarItem(icon: Icon(Icons.notifications_active), label: 'ALERTS'), + BottomNavigationBarItem(icon: Icon(Icons.assignment_return_outlined), label: 'RENT/RETURN'), BottomNavigationBarItem(icon: Icon(Icons.settings), label: 'SETTINGS'), ], ), ), ); } -} +} \ No newline at end of file diff --git a/lib/rent_return_screen.dart b/lib/rent_return_screen.dart new file mode 100644 index 0000000..70ee8d8 --- /dev/null +++ b/lib/rent_return_screen.dart @@ -0,0 +1,356 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_map/flutter_map.dart'; +import 'package:latlong2/latlong.dart'; +import 'rental_process_screen.dart'; + +class StationInfo { + final String name; + final String address; + final String status; + final String distance; + + StationInfo({ + required this.name, + required this.address, + required this.status, + required this.distance, + }); +} + +class RentReturnScreen extends StatelessWidget { + const RentReturnScreen({super.key}); + + @override + Widget build(BuildContext context) { + final LatLng centerLocation = const LatLng(35.1595, 126.8526); + + + final List stations = [ + StationInfo( + name: 'STATION A - GU.UNIV', + address: '277 Hyodeok-ro', + status: 'ONLINE', + distance: '0.5 km away'), + StationInfo( + name: 'STATION B - CITY HALL', + address: '123 City Hall Ave', + status: 'ONLINE', + distance: '1.2 km away'), + StationInfo( + name: 'STATION C - PARK', + address: '55 Park Lane', + status: 'OFFLINE', + distance: '2.8 km away'), + StationInfo( + name: 'STATION D - TECH HUB', + address: '88 Innovation Blvd', + status: 'ONLINE', + distance: '4.1 km away'), + ]; + + return Scaffold( + backgroundColor: const Color(0xFF1E1E1E), + appBar: AppBar( + title: const Text( + 'RENT/ RETURN', + style: TextStyle( + fontSize: 16, fontWeight: FontWeight.bold, color: Colors.white), + ), + backgroundColor: const Color(0xFF2C2C2E), + elevation: 0, + actions: [ + IconButton( + icon: const Icon(Icons.more_vert, color: Colors.white), + onPressed: () {}, + ) + ], + ), + body: Column( + children: [ + Expanded( + flex: 50, + child: FlutterMap( + options: MapOptions( + initialCenter: centerLocation, + initialZoom: 15.0, + ), + children: [ + TileLayer( + urlTemplate: 'https://tile.openstreetmap.org/{z}/{x}/{y}.png', + userAgentPackageName: 'com.example.helmet_app', + ), + MarkerLayer( + markers: [ + _buildBlackMarker(centerLocation), + _buildBlackMarker(const LatLng(35.162, 126.855)), + _buildBlackMarker(const LatLng(35.157, 126.850)), + _buildBlackMarker(const LatLng(35.160, 126.858)), + ], + ), + ], + ), + ), + + Expanded( + flex: 45, + child: Container( + color: const Color(0xFF1E1E1E), + padding: const EdgeInsets.fromLTRB(16, 20, 16, 0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'LIST VIEW', + style: TextStyle( + color: Colors.white, + fontSize: 12, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 10), + + Expanded( + child: ListView.builder( + padding: const EdgeInsets.only(bottom: 20), + itemCount: stations.length, + itemBuilder: (context, index) { + return _buildStationItem(context, stations[index]); + }, + ), + ), + ], + ), + ), + ), + ], + ), + ); + } + + Widget _buildStationItem(BuildContext context, StationInfo station) { + return Container( + margin: const EdgeInsets.only(bottom: 16), + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: const Color(0xFF2C2C2E), + borderRadius: BorderRadius.circular(16), + ), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Container( + width: 80, + height: 80, + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.grey[800], + borderRadius: BorderRadius.circular(12), + ), + child: Image.asset( + 'assets/images/storage.png', + fit: BoxFit.contain, + errorBuilder: (context, error, stackTrace) => const Icon(Icons.inventory_2, color: Colors.white54), + ), + ), + const SizedBox(width: 12), + + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text( + station.name, + style: const TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: 13, + ), + maxLines: 1, + overflow: TextOverflow.ellipsis, + ), + const SizedBox(height: 4), + Text( + station.address, + style: const TextStyle( + color: Colors.grey, fontSize: 11, height: 1.2), + maxLines: 2, + ), + const SizedBox(height: 2), + Text( + 'STATUS: ${station.status}', + style: TextStyle( + color: station.status.startsWith('OFFLINE') + ? Colors.redAccent + : Colors.grey, + fontSize: 11, + ), + ), + Text( + station.distance, + style: const TextStyle(color: Colors.grey, fontSize: 11), + ), + ], + ), + ), + + ElevatedButton( + onPressed: () { + Navigator.push( + context, + MaterialPageRoute( + builder: (context) => RentalProcessScreen( + stationName: station.name, + ), + ), + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.white, + foregroundColor: Colors.black, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(8), + ), + padding: const EdgeInsets.symmetric(horizontal: 12, vertical: 10), + minimumSize: const Size(80, 40), + ), + child: const Text( + 'SELECT', + style: TextStyle(fontWeight: FontWeight.w500, letterSpacing: 0.8, fontSize: 14) + ), + ), + ], + ), + + const SizedBox(height: 12), + + Container( + width: double.infinity, + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: const Color(0xFF1E1E1E), + borderRadius: BorderRadius.circular(10), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text( + 'LOGS', + style: TextStyle( + color: Colors.white, + fontWeight: FontWeight.bold, + fontSize: 12, + ), + ), + InkWell( + onTap: () => _showLogHistory(context, station.name), + child: Text( + 'VIEW MORE >', + style: TextStyle( + color: Colors.grey[400], + fontSize: 10, + ), + ), + ), + ], + ), + const SizedBox(height: 6), + const Text( + 'Available: Door Fully Closed', + style: TextStyle(color: Colors.grey, fontSize: 11), + ), + const Text( + '(2025-11-19)/(08:58)', + style: TextStyle(color: Colors.grey, fontSize: 11), + ), + ], + ), + ), + ], + ), + ); + } + + Marker _buildBlackMarker(LatLng point) { + return Marker( + point: point, + width: 40, + height: 40, + child: const Icon( + Icons.location_on, + color: Colors.black, + size: 40, + ), + ); + } + + void _showLogHistory(BuildContext context, String stationName) { + showModalBottomSheet( + context: context, + backgroundColor: Colors.transparent, + isScrollControlled: true, + builder: (context) { + return Container( + height: MediaQuery.of(context).size.height * 0.6, + decoration: const BoxDecoration( + color: Color(0xFF1E1E1E), + borderRadius: BorderRadius.vertical(top: Radius.circular(20)), + ), + child: Column( + children: [ + const SizedBox(height: 12), + Container( + width: 40, height: 4, + decoration: BoxDecoration(color: Colors.grey[600], borderRadius: BorderRadius.circular(2)), + ), + Padding( + padding: const EdgeInsets.all(20.0), + child: Text("LOGS: $stationName", style: const TextStyle(color: Colors.white, fontSize: 16, fontWeight: FontWeight.bold)), + ), + const Divider(color: Colors.white24, height: 1), + Expanded( + child: ListView( + padding: const EdgeInsets.all(20), + children: [ + _buildLogItem("08:58:33", "Door Fully Closed", Icons.door_front_door, Colors.green), + _buildLogItem("08:58:30", "Helmet Returned", Icons.check_circle_outline, Colors.blue), + _buildLogItem("08:55:12", "User Unlocked Door", Icons.lock_open, Colors.white), + _buildLogItem("08:30:00", "UV Sanitization Complete", Icons.cleaning_services, Colors.purpleAccent), + _buildLogItem("08:00:00", "System Boot Up", Icons.power_settings_new, Colors.grey), + ], + ), + ), + ], + ), + ); + }, + ); + } + + Widget _buildLogItem(String time, String message, IconData icon, Color color) { + return Padding( + padding: const EdgeInsets.only(bottom: 20.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(time, style: const TextStyle(color: Colors.grey, fontSize: 12)), + const SizedBox(width: 16), + Column( + children: [ + Icon(icon, color: color, size: 20), + Container(width: 2, height: 20, color: Colors.white12), + ], + ), + const SizedBox(width: 16), + Expanded( + child: Text(message, style: const TextStyle(color: Colors.white70, fontSize: 14)), + ), + ], + ), + ); + } +} \ No newline at end of file diff --git a/lib/rental_process_screen.dart b/lib/rental_process_screen.dart new file mode 100644 index 0000000..23eb264 --- /dev/null +++ b/lib/rental_process_screen.dart @@ -0,0 +1,349 @@ +import 'package:flutter/material.dart'; + +class RentalProcessScreen extends StatelessWidget { + final String stationName; + + const RentalProcessScreen({ + super.key, + required this.stationName, + }); + + static const Color kBackgroundColor = Color(0xFF1E1E1E); + static const Color kCardColor = Color(0xFF2C2C2E); + static const Color kPrimaryGreen = Color(0xFF4CAF50); + static const Color kPrimaryOrange = Color(0xFFFF3D00); + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: kBackgroundColor, + appBar: AppBar( + title: Text( + stationName, + style: const TextStyle(fontWeight: FontWeight.bold, fontSize: 16, color: Colors.white), + ), + backgroundColor: kCardColor, + elevation: 0, + actions: [ + IconButton( + icon: const Icon(Icons.more_vert, color: Colors.white), + onPressed: () {}, + ), + ], + ), + body: SingleChildScrollView( + child: Padding( + padding: const EdgeInsets.all(16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildStatusCard(context), + const SizedBox(height: 24), + + _buildProcessSectionTitle('HELMET RENTAL PROCESS'), + const SizedBox(height: 12), + Container( + decoration: BoxDecoration( + color: kCardColor, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + children: [ + _buildStepRow(1, 'UNLOCK & OPEN', Icons.lock_open, isCompleted: true), + _buildDivider(), + _buildStepRow(2, 'DOOR STATUS', Icons.sensor_door_outlined), + _buildDivider(), + _buildStepRow(3, 'TAKE HELMET', Icons.outbox), + _buildDivider(), + _buildStepRow(4, 'ENJOY RIDING!', Icons.sentiment_satisfied_alt, showDivider: false), + ], + ), + ), + const SizedBox(height: 24), + + _buildProcessSectionTitle('HELMET RETURN PROCESS'), + const SizedBox(height: 12), + Container( + decoration: BoxDecoration( + color: kCardColor, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + children: [ + _buildStepRow(1, 'UNLOCK & OPEN', Icons.lock_open), + _buildDivider(), + _buildStepRow(2, 'INSERT HELMET', Icons.move_to_inbox), + _buildDivider(), + _buildStepRow(3, 'SENSOR SCANNING\n& RETURN COMPLETE', Icons.sync), + _buildDivider(), + _buildStepRow(4, 'SANITIZING', Icons.shield_outlined, showDivider: false), + ], + ), + ), + const SizedBox(height: 24), + + _buildErrorAlertBox(), + const SizedBox(height: 24), + + _buildLogsCard(context), + const SizedBox(height: 20), + ], + ), + ), + ), + ); + } + + Widget _buildStatusCard(BuildContext context) { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: kCardColor, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + children: [ + Row( + children: const [ + Icon(Icons.circle, color: kPrimaryOrange, size: 16), + SizedBox(width: 6), + Text('IN USE', style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold)), + ], + ), + const SizedBox(height: 20), + Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + width: 150, + height: 150, + padding: const EdgeInsets.all(10), + decoration: BoxDecoration( + color: kBackgroundColor, + borderRadius: BorderRadius.circular(12), + ), + child: Image.asset( + 'assets/images/open.png', + fit: BoxFit.contain, + errorBuilder: (context, error, stackTrace) => const Icon(Icons.inventory_2, size: 50, color: Colors.white54), + ), + ), + const SizedBox(width: 20), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text('NOW', style: TextStyle(color: Colors.grey, fontSize: 12)), + const SizedBox(height: 8), + SizedBox( + width: double.infinity, + child: ElevatedButton( + onPressed: () { + ScaffoldMessenger.of(context).showSnackBar( + const SnackBar( + content: Text('문이 열렸습니다! (OPEN 버튼 눌림)'), + duration: Duration(seconds: 1), + backgroundColor: Colors.blue, + ), + ); + }, + style: ElevatedButton.styleFrom( + backgroundColor: Colors.white, + foregroundColor: Colors.black, + padding: const EdgeInsets.symmetric(vertical: 12), + shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(8)), + ), + child: const Text('OPEN', style: TextStyle(fontWeight: FontWeight.bold, fontSize: 16)), + ), + ), + const SizedBox(height: 12), + Container( + width: double.infinity, + padding: const EdgeInsets.symmetric(vertical: 12), + decoration: BoxDecoration( + color: kBackgroundColor, + borderRadius: BorderRadius.circular(8), + ), + child: const Center( + child: Text( + 'SENSOR ERROR:\nLOCK FAIL', + style: TextStyle(color: kPrimaryOrange, fontWeight: FontWeight.bold, height: 1.2), + textAlign: TextAlign.center, + ), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ); + } + + Widget _buildProcessSectionTitle(String title) { + return Text( + title, + style: const TextStyle(color: Colors.white, fontWeight: FontWeight.bold, fontSize: 16), + ); + } + + Widget _buildStepRow(int step, String title, IconData icon, {bool isCompleted = false, bool showDivider = true}) { + return Padding( + padding: const EdgeInsets.symmetric(horizontal: 20, vertical: 16), + child: Row( + children: [ + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Text('STEP $step', style: const TextStyle(color: Colors.white, fontWeight: FontWeight.bold)), + if (isCompleted) ...[ + const SizedBox(width: 8), + const Icon(Icons.check_circle, color: kPrimaryGreen, size: 16), + ], + ], + ), + const SizedBox(height: 4), + Text(title, style: const TextStyle(color: Colors.white, fontSize: 18, letterSpacing: 0.6)), + ], + ), + const Spacer(), + Icon(icon, color: isCompleted ? Colors.white : Colors.grey, size: 48), + ], + ), + ); + } + + Widget _buildDivider() { + return const Divider(color: Colors.white, height: 1, thickness: 1, indent: 20, endIndent: 20); + } + + Widget _buildErrorAlertBox() { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: kCardColor.withOpacity(0.5), + border: Border.all(color: kPrimaryOrange, width: 2), + borderRadius: BorderRadius.circular(12), + ), + child: Row( + children: const [ + Icon(Icons.warning_amber_rounded, color: kPrimaryOrange, size: 40), + SizedBox(width: 16), + Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('SENSOR ERROR:', style: TextStyle(color: kPrimaryOrange, fontWeight: FontWeight.bold, fontSize: 16)), + Text('LOCK FAILURE', style: TextStyle(color: kPrimaryOrange, fontWeight: FontWeight.bold, fontSize: 16)), + ], + ), + ], + ), + ); + } + + Widget _buildLogsCard(BuildContext context) { + return Container( + padding: const EdgeInsets.all(20), + decoration: BoxDecoration( + color: kCardColor, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text('LOGS', style: TextStyle(color: Colors.white, fontWeight: FontWeight.bold)), + InkWell( + onTap: () => _showLogHistory(context), + child: Text('VIEW MORE >', style: TextStyle(color: Colors.grey[400], fontSize: 12)), + ), + ], + ), + const SizedBox(height: 12), + Row( + children: const [ + Icon(Icons.check_circle, color: kPrimaryGreen, size: 16), + SizedBox(width: 8), + Text('Available: Door Fully Closed', style: TextStyle(color: Colors.white70)), + ], + ), + Padding( + padding: const EdgeInsets.only(left: 24.0, top: 4), + child: Text('(2025-11-19)/(08:58)', style: TextStyle(color: Colors.grey[600], fontSize: 12)), + ), + ], + ), + ); + } + + void _showLogHistory(BuildContext context) { + showModalBottomSheet( + context: context, + backgroundColor: Colors.transparent, + isScrollControlled: true, + builder: (context) { + return Container( + height: MediaQuery.of(context).size.height * 0.6, + decoration: const BoxDecoration( + color: Color(0xFF1E1E1E), + borderRadius: BorderRadius.vertical(top: Radius.circular(20)), + ), + child: Column( + children: [ + const SizedBox(height: 12), + Container( + width: 40, height: 4, + decoration: BoxDecoration(color: Colors.grey[600], borderRadius: BorderRadius.circular(2)), + ), + const Padding( + padding: EdgeInsets.all(20.0), + child: Text("DEVICE LOGS", style: TextStyle(color: Colors.white, fontSize: 18, fontWeight: FontWeight.bold)), + ), + const Divider(color: Colors.white24, height: 1), + Expanded( + child: ListView( + padding: const EdgeInsets.all(20), + children: [ + _buildLogItem("08:58:33", "Door Fully Closed", Icons.door_front_door, Colors.green), + _buildLogItem("08:58:30", "Helmet Returned (Sensor A)", Icons.check_circle_outline, Colors.blue), + _buildLogItem("08:55:12", "User Unlocked Door", Icons.lock_open, Colors.white), + _buildLogItem("08:30:00", "UV Sanitization Complete", Icons.cleaning_services, Colors.purpleAccent), + _buildLogItem("08:00:00", "System Boot Up", Icons.power_settings_new, Colors.grey), + ], + ), + ), + ], + ), + ); + }, + ); + } + + Widget _buildLogItem(String time, String message, IconData icon, Color color) { + return Padding( + padding: const EdgeInsets.only(bottom: 20.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text(time, style: const TextStyle(color: Colors.grey, fontSize: 12)), + const SizedBox(width: 16), + Column( + children: [ + Icon(icon, color: color, size: 20), + Container(width: 2, height: 20, color: Colors.white12), + ], + ), + const SizedBox(width: 16), + Expanded( + child: Text(message, style: const TextStyle(color: Colors.white70, fontSize: 14)), + ), + ], + ), + ); + } +} \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index 2e68e74..ce5b8f1 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -15,7 +15,6 @@ dependencies: flutter_map: ^6.1.0 latlong2: ^0.9.0 - dev_dependencies: flutter_test: sdk: flutter