From 02fd25264db11eae407902095fe5c4432d43dec9 Mon Sep 17 00:00:00 2001 From: KIMGYEONGRAN Date: Mon, 24 Nov 2025 17:46:44 +0900 Subject: [PATCH] =?UTF-8?q?Control=20=ED=8E=98=EC=9D=B4=EC=A7=80=20UI=20?= =?UTF-8?q?=EA=B5=AC=ED=98=84=20=EB=B0=8F=20=EC=95=B1=20=ED=85=8C=EB=A7=88?= =?UTF-8?q?=20=EC=BB=AC=EB=9F=AC(Red)=20=EB=B3=80=EA=B2=BD=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/images/storage.png | Bin 0 -> 183165 bytes lib/alerts_report_screen.dart | 15 + lib/control_screen.dart | 438 +++++++++++++++++++ lib/history_screen.dart | 15 + lib/home_screen_content.dart | 752 ++++++++++++++++++++++++++++++++ lib/location_screen.dart | 15 + lib/main.dart | 771 +-------------------------------- lib/settings_screen.dart | 15 + lib/widgets/custom_header.dart | 31 ++ pubspec.yaml | 3 +- test/widget_test.dart | 22 - 11 files changed, 1302 insertions(+), 775 deletions(-) create mode 100644 assets/images/storage.png create mode 100644 lib/alerts_report_screen.dart create mode 100644 lib/control_screen.dart create mode 100644 lib/history_screen.dart create mode 100644 lib/home_screen_content.dart create mode 100644 lib/location_screen.dart create mode 100644 lib/settings_screen.dart create mode 100644 lib/widgets/custom_header.dart delete mode 100644 test/widget_test.dart diff --git a/assets/images/storage.png b/assets/images/storage.png new file mode 100644 index 0000000000000000000000000000000000000000..9712aff57d98baf65962f4155e994a3c262d0a8f GIT binary patch literal 183165 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 createState() => _ControlScreenState(); +} + +class _ControlScreenState extends State { + final Color _bgColor = const Color(0xFF27292B); + final Color _cardColor = const Color(0xFF30343B); + final Color _buttonDarkColor = const Color(0xFF212327); + final Color _errorColor = Colors.redAccent; + + bool _isSecurityLocked = true; + int _selectedDoorIndex = 0; + + @override + Widget build(BuildContext context) { + return Scaffold( + backgroundColor: _bgColor, + appBar: AppBar( + title: const Text( + 'CONTROL CENTER', + style: TextStyle( + fontWeight: FontWeight.w700, + fontSize: 16, + color: Colors.white, + ), + ), + backgroundColor: _bgColor, + scrolledUnderElevation: 0, + elevation: 0, + centerTitle: false, + actions: [ + IconButton( + icon: const Icon(Icons.more_vert, color: Colors.white), + onPressed: () {}, + ), + ], + ), + body: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: 16.0, vertical: 16.0), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildSystemStatusCard(), + const SizedBox(height: 16), + _buildDoorControlCard(), + const SizedBox(height: 16), + _buildControlResultsCard(), + const SizedBox(height: 16), + _buildAlertLogsCard(), + const SizedBox(height: 16), + _buildSecuritySwitchCard(), + const SizedBox(height: 24), + ], + ), + ), + ); + } + + Widget _buildSystemStatusCard() { + const double cardContentHeight = 150.0; + + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: _cardColor, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'SYSTEM STATUS', + style: TextStyle( + color: Colors.white, + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + const SizedBox(height: 16), + SizedBox( + height: cardContentHeight, + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Container( + width: 130, + height: double.infinity, + padding: const EdgeInsets.all(20.0), + decoration: BoxDecoration( + color: _buttonDarkColor, + borderRadius: BorderRadius.circular(8), + ), + child: Image.asset( + 'assets/images/storage.png', + fit: BoxFit.contain, + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'NOW', + style: TextStyle( + color: Colors.white, + fontSize: 11, + fontWeight: FontWeight.bold, + ), + ), + const SizedBox(height: 8), + Expanded( + child: _buildStatusButton( + text: 'ONLINE', + textColor: Colors.white, + bgColor: _buttonDarkColor, + ), + ), + const SizedBox(height: 10), + Expanded( + child: _buildStatusButton( + text: 'SENSOR ERROR:\nLock Failure', + textColor: _errorColor, + bgColor: _buttonDarkColor, + isError: true, + ), + ), + ], + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildStatusButton({ + required String text, + required Color textColor, + required Color bgColor, + bool isError = false, + }) { + return Container( + width: double.infinity, + alignment: Alignment.center, + decoration: BoxDecoration( + color: bgColor, + borderRadius: BorderRadius.circular(8), + ), + child: Text( + text, + textAlign: TextAlign.center, + style: TextStyle( + color: textColor, + fontWeight: FontWeight.bold, + fontSize: isError ? 12 : 14, + height: 1.2, + ), + ), + ); + } + + Widget _buildDoorControlCard() { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: _cardColor, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'DOOR CONTROL', + style: TextStyle( + color: Colors.white, + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + const SizedBox(height: 16), + Row( + children: [ + _buildDoorButton(0, 'OPEN'), + const SizedBox(width: 12), + _buildDoorButton(1, 'CLOSE'), + const SizedBox(width: 12), + _buildDoorButton(2, 'LOCK'), + ], + ), + ], + ), + ); + } + + Widget _buildDoorButton(int index, String text) { + final bool isSelected = _selectedDoorIndex == index; + + return Expanded( + child: GestureDetector( + onTap: () { + setState(() { + _selectedDoorIndex = index; + }); + }, + child: Container( + height: 80, + decoration: BoxDecoration( + color: isSelected ? Colors.white : _buttonDarkColor, + borderRadius: BorderRadius.circular(8), + ), + child: Center( + child: Text( + text, + style: TextStyle( + color: isSelected ? Colors.black : Colors.white, + fontWeight: FontWeight.bold, + fontSize: 18, + ), + ), + ), + ), + ), + ); + } + + Widget _buildControlResultsCard() { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: _cardColor, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Control Results & Alerts', + style: TextStyle( + color: Colors.white, + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + const SizedBox(height: 16), + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: _buttonDarkColor, + borderRadius: BorderRadius.circular(6), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.warning_amber_rounded, + color: _errorColor, size: 16), + const SizedBox(width: 8), + Expanded( + child: RichText( + text: TextSpan( + children: [ + TextSpan( + text: 'Sensor Alert: ', + style: TextStyle( + color: _errorColor, + fontWeight: FontWeight.bold, + fontSize: 12, + ), + ), + const TextSpan( + text: 'Door Not Fully Closed', + style: TextStyle( + color: Colors.white, + fontSize: 12, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ), + ), + ], + ), + const SizedBox(height: 12), + ClipRRect( + borderRadius: BorderRadius.circular(4), + child: LinearProgressIndicator( + value: 0.6, + backgroundColor: Colors.grey[800], + valueColor: AlwaysStoppedAnimation(_errorColor), + minHeight: 6, + ), + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildAlertLogsCard() { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: _cardColor, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Alert & Logs', + style: TextStyle( + color: Colors.white, + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + const SizedBox(height: 16), + Container( + padding: const EdgeInsets.all(12), + decoration: BoxDecoration( + color: _buttonDarkColor, + borderRadius: BorderRadius.circular(6), + ), + child: const Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Row( + children: [ + Icon(Icons.warning_amber_rounded, + color: Colors.redAccent, size: 14), + SizedBox(width: 8), + Text( + 'Sensor Alert: Door Not Fully Closed', + style: TextStyle( + color: Colors.white, + fontSize: 12, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + SizedBox(height: 8), + Row( + children: [ + Icon(Icons.bookmark, color: Colors.white70, size: 14), + SizedBox(width: 8), + Text( + '2:02 PM - UV LED Activated', + style: TextStyle( + color: Colors.white, + fontSize: 12, + fontWeight: FontWeight.bold, + ), + ), + ], + ), + ], + ), + ), + ], + ), + ); + } + + Widget _buildSecuritySwitchCard() { + return Container( + padding: const EdgeInsets.all(16), + decoration: BoxDecoration( + color: _cardColor, + borderRadius: BorderRadius.circular(12), + ), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text( + 'Security Lock Mode', + style: TextStyle( + color: Colors.white, + fontSize: 14, + fontWeight: FontWeight.w600, + ), + ), + const SizedBox(height: 16), + Container( + padding: + const EdgeInsets.symmetric(horizontal: 22, vertical: 16), + decoration: BoxDecoration( + color: _buttonDarkColor, + borderRadius: BorderRadius.circular(6), + ), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + Text( + _isSecurityLocked + ? 'ON (Activated)' + : 'OFF (Deactivated)', + style: const TextStyle( + color: Colors.white, + fontSize: 16, + fontWeight: FontWeight.bold, + ), + ), + Transform.scale( + scale: 1.1, + child: Switch( + value: _isSecurityLocked, + onChanged: (val) { + setState(() { + _isSecurityLocked = val; + }); + }, + activeThumbColor: Colors.white, + activeTrackColor: _errorColor, + inactiveThumbColor: Colors.white, + inactiveTrackColor: Colors.grey, + ), + ), + ], + ), + ), + ], + ), + ); + } +} diff --git a/lib/history_screen.dart b/lib/history_screen.dart new file mode 100644 index 0000000..e3c7e7c --- /dev/null +++ b/lib/history_screen.dart @@ -0,0 +1,15 @@ +import 'package:flutter/material.dart'; + +class HistoryScreen extends StatelessWidget { + const HistoryScreen({super.key}); + + @override + Widget build(BuildContext context) { + return const Center( + child: Text( + 'HISTORY 기록 목록 화면', + style: TextStyle(color: Colors.white70, fontSize: 24), + ), + ); + } +} \ No newline at end of file diff --git a/lib/home_screen_content.dart b/lib/home_screen_content.dart new file mode 100644 index 0000000..553f7da --- /dev/null +++ b/lib/home_screen_content.dart @@ -0,0 +1,752 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_map/flutter_map.dart'; +import 'package:latlong2/latlong.dart'; +import 'dart:ui' as ui; +import 'package:smarthelmet_app/widgets/custom_header.dart'; + +class HomeScreenContent extends StatefulWidget { + const HomeScreenContent({super.key}); + + @override + State createState() => _HomeScreenContentState(); +} + +class _HomeScreenContentState extends State { + static const double _uniformGap = 16.0; + + // 포인트 컬러 (배터리, 상태 표시 등에는 유지) + final Color _pointColor = Colors.redAccent; + + final Map _controlToggles = { + 'UV LED': false, + 'CHARGING': true, + 'HELMET': true, + 'FAN': false, + }; + + @override + Widget build(BuildContext context) { + return Column( + children: [ + const CustomHeader(), + + Expanded( + child: SingleChildScrollView( + padding: const EdgeInsets.symmetric(horizontal: _uniformGap), + child: Column( + children: [ + const SizedBox(height: _uniformGap), + _buildOverviewSection(), + const SizedBox(height: _uniformGap), + _buildBatteryStatusCard(), + const SizedBox(height: _uniformGap), + _buildControlCard(), + const SizedBox(height: _uniformGap), + _buildEnvironmentSensorsCard(), + const SizedBox(height: _uniformGap), + _buildMyLocationCard(), + const SizedBox(height: _uniformGap), + _buildActivityCard(), + const SizedBox(height: _uniformGap * 2), + ], + ), + ), + ), + ], + ); + } + + Widget _buildOverviewSection() { + return Card( + child: Column( + children: [ + _buildOverviewHeader(), + Padding( + padding: const EdgeInsets.all(12.0), + child: Row( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Expanded(child: _buildImageCard()), + const SizedBox(width: 12), + Expanded(child: _buildInfoCard()), + ], + ), + ), + ], + ), + ); + } + + Widget _buildOverviewHeader() { + return Padding( + padding: const EdgeInsets.fromLTRB(12, 12, 12, 0), + child: Row( + children: [ + const Text('SYSTEM OVERVIEW', + style: TextStyle( + color: Colors.white, + fontSize: 11, + fontWeight: FontWeight.bold)), + const Spacer(), + Icon(Icons.search, color: Colors.grey[400], size: 20), + const SizedBox(width: 8), + Icon(Icons.notifications_outlined, color: Colors.grey[400], size: 20), + ], + ), + ); + } + + Widget _buildImageCard() { + return AspectRatio( + aspectRatio: 1.0, + child: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.black.withOpacity(0.3), + borderRadius: BorderRadius.circular(10), + ), + child: Stack( + alignment: Alignment.center, + children: [ + Container( + decoration: BoxDecoration( + color: const Color(0xFF2D2F33), + borderRadius: BorderRadius.circular(5) + ), + ), + Padding( + padding: const EdgeInsets.only(bottom: 20.0), + child: Image.asset( + 'assets/images/helmet.png', + width: 100, + ), + ), + Positioned( + bottom: 12, + child: Row( + children: [ + _buildLedIndicator(Colors.grey.shade700), + const SizedBox(width: 4), + _buildLedIndicator(Colors.grey.shade700), + const SizedBox(width: 4), + _buildLedIndicator(Colors.grey.shade700), + const SizedBox(width: 4), + _buildLedIndicator(Colors.white), + ], + ), + ) + ], + ), + ), + ); + } + + Widget _buildLedIndicator(Color color) { + return Container( + width: 18, + height: 6, + decoration: BoxDecoration( + color: color, + borderRadius: BorderRadius.circular(3), + ), + ); + } + + Widget _buildInfoCard() { + return SizedBox( + height: 160, + child: Column( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + _buildInfoRow('Name / \nNumber', const Icon(Icons.person, color: Colors.white, size: 20), 'USER', '001'), + const SizedBox(height: 8), + _buildInfoRow('STATUS', null, 'UNLOCKED', '● ACTIVE', value1Color: _pointColor, value2Color: _pointColor), + ], + ), + ); + } + + Widget _buildInfoRow(String title, Widget? icon, String value1, String value2, {Color? value1Color, Color? value2Color}) { + return Expanded( + child: Container( + padding: const EdgeInsets.all(8), + decoration: BoxDecoration( + color: Colors.black.withOpacity(0.3), + borderRadius: BorderRadius.circular(10), + ), + child: Row( + children: [ + Expanded( + flex: 2, + child: Text(title, + textAlign: TextAlign.center, + style: TextStyle(color: Colors.grey[400], fontSize: 11, height: 1.4)), + ), + VerticalDivider(color: Colors.grey[700], indent: 10, endIndent: 10), + Expanded( + flex: 3, + child: Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + if (icon != null) ...[icon, const SizedBox(height: 4)], + Text(value1, style: TextStyle(color: value1Color ?? Colors.white, fontWeight: FontWeight.bold, fontSize: 12)), + const SizedBox(height: 2), + Text(value2, style: TextStyle(color: value2Color ?? Colors.white, fontWeight: FontWeight.w500, fontSize: 12)), + ], + ), + ), + ], + ), + ), + ); + } + + Widget _buildBatteryStatusCard() { + return Card( + child: Padding( + padding: const EdgeInsets.all(_uniformGap), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text('BATTERY STATUS (%)', + style: TextStyle( + color: Colors.white, + fontSize: 12, + fontWeight: FontWeight.bold)), + const SizedBox(height: 16), + Row( + children: [ + SizedBox( + width: 80, + height: 80, + child: Stack( + alignment: Alignment.center, + children: [ + SizedBox.expand( + child: CustomPaint( + painter: _BatteryArcPainter( + backgroundColor: Colors.grey.shade800, + color: Colors.white, + percentage: 1.0, + ), + ), + ), + const Text('86', + style: TextStyle( + fontSize: 24, fontWeight: FontWeight.w600)), + ], + ), + ), + const SizedBox(width: 20), + Expanded( + child: Column( + children: [ + Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Text('NOW', + style: TextStyle( + color: Colors.white, + fontSize: 14, + fontWeight: FontWeight.bold)), + Text('사용 중', + style: TextStyle( + color: _pointColor, + fontSize: 14, + fontWeight: FontWeight.bold)), + ], + ), + const Divider( + color: Color(0xFF555555), + height: 20, + thickness: 1, + ), + Row( + children: [ + const Expanded( + flex: 4, + child: Text('Solar Panel', + style: TextStyle( + color: Colors.white, fontSize: 14)), + ), + Expanded( + flex: 5, + child: Row( + children: [ + const Expanded( + child: Text('전압: 00', + style: TextStyle( + color: Colors.white70, + fontSize: 14)), + ), + SizedBox( + height: 20, + child: VerticalDivider( + color: Colors.grey[700], + thickness: 1, + ), + ), + const Expanded( + child: Padding( + padding: EdgeInsets.only(left: 8.0), + child: Text('전류: 00', + style: TextStyle( + color: Colors.white70, + fontSize: 14)), + ), + ), + ], + ), + ), + ], + ), + ], + ), + ), + ], + ), + ], + ), + ), + ); + } + + Widget _buildControlCard() { + return Card( + child: Padding( + padding: const EdgeInsets.all(_uniformGap), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text('CONTROL', + style: TextStyle( + color: Colors.white, + fontSize: 11, + fontWeight: FontWeight.bold)), + const SizedBox(height: 16), + SizedBox( + height: 70, + child: Row( + children: [ + Expanded( + child: _buildStyledToggleSwitch( + 'UV LED', + _controlToggles['UV LED']!, + (val) => setState(() => _controlToggles['UV LED'] = val))), + VerticalDivider( + color: Colors.grey[700], indent: 10, endIndent: 10), + Expanded( + child: _buildStyledToggleSwitch( + 'CHARGING', + _controlToggles['CHARGING']!, + (val) => setState(() => _controlToggles['CHARGING'] = val))), + VerticalDivider( + color: Colors.grey[700], indent: 10, endIndent: 10), + Expanded( + child: _buildStyledToggleSwitch( + 'HELMET', + _controlToggles['HELMET']!, + (val) => setState(() => _controlToggles['HELMET'] = val))), + VerticalDivider( + color: Colors.grey[700], indent: 10, endIndent: 10), + Expanded( + child: _buildStyledToggleSwitch('FAN', _controlToggles['FAN']!, + (val) => setState(() => _controlToggles['FAN'] = val))), + ], + ), + ) + ], + ), + ), + ); + } + + Widget _buildStyledToggleSwitch( + String title, bool value, ValueChanged onChanged) { + return Column( + mainAxisAlignment: MainAxisAlignment.center, + children: [ + Text(title, + style: const TextStyle( + color: Colors.white, + fontSize: 13, + fontWeight: FontWeight.bold)), + const SizedBox(height: 12), + GestureDetector( + onTap: () => onChanged(!value), + child: AnimatedContainer( + duration: const Duration(milliseconds: 250), + curve: Curves.easeInOut, + width: 60, + height: 30, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular(15), + // ⭐ [수정됨] ON(화이트), OFF(다크그레이) -> 블랙 앤 화이트 테마 적용 + color: value ? Colors.white : Colors.grey.shade700, + ), + child: Stack( + children: [ + AnimatedAlign( + duration: const Duration(milliseconds: 250), + curve: Curves.easeInOut, + alignment: value ? Alignment.centerRight : Alignment.centerLeft, + child: Padding( + padding: const EdgeInsets.all(2.0), + child: Container( + width: 26, + height: 26, + decoration: BoxDecoration( + shape: BoxShape.circle, + // ⭐ [수정됨] ON(블랙), OFF(화이트) -> 배경과 대비되는 색상 + color: value ? const Color(0xFF27292B) : Colors.white, + ), + ), + ), + ), + Row( + children: [ + Expanded( + child: Center( + child: Text('ON', + style: TextStyle( + fontSize: 10, + fontWeight: FontWeight.bold, + // ⭐ [수정됨] ON 텍스트 블랙 + color: value + ? const Color(0xFF27292B) + : Colors.transparent)))), + Expanded( + child: Center( + child: Text('OFF', + style: TextStyle( + fontSize: 10, + fontWeight: FontWeight.bold, + color: value + ? Colors.transparent + : Colors.white)))), + ], + ) + ], + ), + ), + ), + ], + ); + } + + Widget _buildEnvironmentSensorsCard() { + return Card( + child: Padding( + padding: const EdgeInsets.all(_uniformGap), + child: Column( + children: [ + Row( + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + const Text('ENVIRONMENT SENSORS', + style: + TextStyle(fontSize: 14, fontWeight: FontWeight.bold)), + const Spacer(), + InkWell( + onTap: () {}, + child: Row( + children: [ + Text('VIEW HISTORY', + style: + TextStyle(color: Colors.grey[400], fontSize: 10)), + const SizedBox(width: 4), + Icon(Icons.arrow_forward_ios, + size: 10, color: Colors.grey[400]), + ], + ), + ), + ], + ), + const SizedBox(height: 20), + Row( + children: [ + Expanded( + flex: 1, + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _buildSensorInfoRow(Icons.water_drop_outlined, 'HUMID: 60%'), + const SizedBox(height: 24), + _buildSensorInfoRow(Icons.thermostat, 'TEMP: 24.5℃'), + ], + ), + ), + const SizedBox(width: 16), + const Expanded( + flex: 1, + child: SizedBox( + height: 60, child: _LineChartPlaceholder())), + ], + ), + ], + ), + ), + ); + } + + Widget _buildSensorInfoRow(IconData icon, String text) { + return Row(children: [ + Container( + width: 40, + height: 40, + decoration: BoxDecoration( + color: Colors.white, + borderRadius: BorderRadius.circular(8), + ), + child: Icon(icon, color: Colors.black, size: 24), + ), + const SizedBox(width: 12), + Text(text, + style: const TextStyle( + fontSize: 14, + color: Colors.white, + fontWeight: FontWeight.w600)) + ]); + } + + Widget _buildMyLocationCard() { + const LatLng exampleLocation = LatLng(37.5665, 126.9780); + return Card( + clipBehavior: Clip.antiAlias, + child: SizedBox( + height: 200.0, + child: Column( + children: [ + Padding( + padding: const EdgeInsets.fromLTRB(16, 16, 16, 8), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + children: [ + const Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + Text('My Location', + style: TextStyle( + fontSize: 13, + color: Colors.white, + fontWeight: FontWeight.bold)), + SizedBox(height: 4), + Text('주소: 남구 효덕로 277', + style: + TextStyle(fontSize: 11, color: Colors.white70)), + ], + ), + InkWell( + onTap: () {}, + child: Row( + children: [ + Text('VIEW MORE', + style: + TextStyle(color: Colors.grey[400], fontSize: 9)), + const SizedBox(width: 4), + Icon(Icons.arrow_forward_ios, + size: 10, color: Colors.grey[400]), + ], + ), + ), + ], + ), + ), + Expanded( + child: FlutterMap( + options: const MapOptions( + initialCenter: exampleLocation, + initialZoom: 15.0, + interactionOptions: + InteractionOptions(flags: InteractiveFlag.none), + ), + children: [ + TileLayer( + urlTemplate: + 'https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png', + subdomains: const ['a', 'b', 'c', 'd'], + retinaMode: true, + ), + const MarkerLayer( + markers: [ + Marker( + point: exampleLocation, + width: 80, + height: 80, + child: Icon(Icons.location_pin, + size: 40, color: Colors.white), + ), + ], + ), + ], + ), + ), + ], + ), + ), + ); + } + + Widget _buildActivityCard() { + return Card( + child: Padding( + padding: const EdgeInsets.all(_uniformGap), + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + const Text('Activity', + style: TextStyle( + fontSize: 13, + color: Colors.white, + fontWeight: FontWeight.bold)), + const SizedBox(height: 12), + Row( + children: [ + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _activityText('08:15 AM - Battery fully Charged'), + const SizedBox(height: 8), + _activityText('9:30 AM - UV LED Actived'), + ], + ), + ), + const SizedBox(width: 16), + Expanded( + child: Column( + crossAxisAlignment: CrossAxisAlignment.start, + children: [ + _activityText('10:45 AM - Helmet Unlocked'), + const SizedBox(height: 8), + _activityText('11:00 AM - Helmet Off'), + ], + ), + ), + ], + ), + ], + ), + ), + ); + } + + Widget _activityText(String text) { + return Text(text, + style: const TextStyle(fontSize: 11, color: Colors.white70)); + } +} +// --- _HomeScreenContentState 끝 --- + + +// 👇 HOME 화면에 사용되는 4가지 커스텀 클래스 정의 + +class _LineChartPlaceholder extends StatelessWidget { + const _LineChartPlaceholder(); + @override + Widget build(BuildContext context) { + return Column(children: [ + Expanded( + child: + CustomPaint(painter: _LineChartPainter(), size: Size.infinite)), + const SizedBox(height: 4), + const Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ + Text('24H AGO', style: TextStyle(fontSize: 8, color: Colors.white54)), + Text('12H AGO', style: TextStyle(fontSize: 8, color: Colors.white54)), + Text('NOW', style: TextStyle(fontSize: 8, color: Colors.white54)) + ]) + ]); + } +} + +class _LineChartPainter extends CustomPainter { + @override + void paint(ui.Canvas canvas, ui.Size size) { + final paint = Paint() + ..color = Colors.white.withOpacity(0.8) + ..strokeWidth = 1.5 + ..style = PaintingStyle.stroke; + + final path = ui.Path(); + path.moveTo(0, size.height * 0.6); + path.cubicTo(size.width * 0.1, size.height * 0.8, size.width * 0.2, + size.height * 0.4, size.width * 0.3, size.height * 0.6); + path.cubicTo(size.width * 0.4, size.height * 0.8, size.width * 0.45, + size.height * 0.2, size.width * 0.6, size.height * 0.5); + path.cubicTo(size.width * 0.75, size.height * 0.8, size.width * 0.8, + size.height * 0.3, size.width, size.height * 0.2); + canvas.drawPath(path, paint); + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) { + return false; + } +} + +class Card extends StatelessWidget { + final Widget child; + final EdgeInsetsGeometry? padding; + final Clip clipBehavior; + + const Card({ + super.key, + required this.child, + this.padding, + this.clipBehavior = Clip.none, + }); + + @override + Widget build(BuildContext context) { + return Container( + clipBehavior: clipBehavior, + decoration: BoxDecoration( + color: Theme.of(context).primaryColor, + borderRadius: BorderRadius.circular(12), + ), + child: child, + ); + } +} + +class _BatteryArcPainter extends CustomPainter { + final Color backgroundColor; + final Color color; + final double percentage; + + _BatteryArcPainter({ + required this.backgroundColor, + required this.color, + required this.percentage, + }); + + @override + void paint(Canvas canvas, Size size) { + final Paint backgroundPaint = Paint() + ..color = backgroundColor + ..strokeWidth = 8 + ..style = PaintingStyle.stroke + ..strokeCap = StrokeCap.round; + + + final Paint foregroundPaint = Paint() + ..color = color + ..strokeWidth = 8 + ..style = PaintingStyle.stroke + ..strokeCap = StrokeCap.round; + + final Rect rect = Rect.fromLTWH(0, 0, size.width, size.height); + const double startAngle = -2.35; + const double sweepAngle = 4.7; + + canvas.drawArc(rect, startAngle, sweepAngle, false, backgroundPaint); + + final double progressAngle = sweepAngle * percentage; + canvas.drawArc(rect, startAngle, progressAngle, false, foregroundPaint); + } + + @override + bool shouldRepaint(covariant CustomPainter oldDelegate) { + return true; + } +} \ No newline at end of file diff --git a/lib/location_screen.dart b/lib/location_screen.dart new file mode 100644 index 0000000..3768cea --- /dev/null +++ b/lib/location_screen.dart @@ -0,0 +1,15 @@ +import 'package:flutter/material.dart'; + +class LocationScreen extends StatelessWidget { + const LocationScreen({super.key}); + + @override + Widget build(BuildContext context) { + return const Center( + child: Text( + 'LOCATION 지도 화면', + style: TextStyle(color: Colors.white70, fontSize: 24), + ), + ); + } +} \ No newline at end of file diff --git a/lib/main.dart b/lib/main.dart index 7010697..710ff6b 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,9 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; -import 'package:flutter_map/flutter_map.dart'; -import 'package:latlong2/latlong.dart'; -import 'dart:ui' as ui; -import 'dart:math' as math; +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/settings_screen.dart'; void main() { runApp(const SmartHelmetApp()); @@ -45,49 +46,28 @@ class HomeScreen extends StatefulWidget { class _HomeScreenState extends State { int _selectedIndex = 0; - static const double _uniformGap = 16.0; - final Map _controlToggles = { - 'UV LED': false, - 'CHARGING': true, - 'HELMET': true, - 'FAN': false, - }; + final List _screens = [ + const HomeScreenContent(), + const HistoryScreen(), + const ControlScreen(), + const AlertsReportScreen(), + const SettingsScreen(), + ]; @override Widget build(BuildContext context) { return MediaQuery( data: MediaQuery.of(context).copyWith( - textScaler: TextScaler.linear(1.0), + textScaler: const TextScaler.linear(1.0), ), child: Scaffold( body: SafeArea( bottom: false, child: Column( children: [ - _buildCustomHeader(), Expanded( - child: SingleChildScrollView( - padding: - const EdgeInsets.symmetric(horizontal: _uniformGap), - child: Column( - children: [ - const SizedBox(height: _uniformGap), - _buildOverviewSection(), - const SizedBox(height: _uniformGap), - _buildBatteryStatusCard(), - const SizedBox(height: _uniformGap), - _buildControlCard(), - const SizedBox(height: _uniformGap), - _buildEnvironmentSensorsCard(), - const SizedBox(height: _uniformGap), - _buildMyLocationCard(), - const SizedBox(height: _uniformGap), - _buildActivityCard(), - const SizedBox(height: _uniformGap * 2), - ], - ), - ), + child: _screens[_selectedIndex], ), ], ), @@ -103,732 +83,19 @@ class _HomeScreenState extends State { backgroundColor: const Color(0xFF1C1C1E), elevation: 0, selectedItemColor: Colors.white, - unselectedItemColor: Colors.grey[600], + unselectedItemColor: Colors.grey, showUnselectedLabels: true, selectedFontSize: 12, unselectedFontSize: 12, items: const [ BottomNavigationBarItem(icon: Icon(Icons.home), label: 'HOME'), - BottomNavigationBarItem( - icon: Icon(Icons.tune), label: 'CONTROL'), - BottomNavigationBarItem( - icon: Icon(Icons.location_on), label: 'LOCATION'), - BottomNavigationBarItem( - icon: Icon(Icons.history), label: 'HISTORY'), + 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.settings), label: 'SETTINGS'), ], ), ), ); } - - Widget _buildCustomHeader() { - return Container( - height: 60.0, - color: Theme.of(context).scaffoldBackgroundColor, - padding: const EdgeInsets.symmetric(horizontal: _uniformGap), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - Row(children: [ - Icon(Icons.settings_input_component, color: Colors.grey[400]), - const SizedBox(width: 12), - const Text('SMART HELMET SYSTEMS', - style: TextStyle( - fontSize: 15, - fontWeight: FontWeight.bold, - color: Colors.white)) - ]), - Text('2025/09/26 - 10:44 AM', - style: TextStyle(color: Colors.grey[400], fontSize: 11)) - ])); - } - - Widget _buildOverviewSection() { - return Card( - child: Column( - children: [ - _buildOverviewHeader(), - Padding( - padding: const EdgeInsets.all(12.0), - child: Row( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Expanded(child: _buildImageCard()), - const SizedBox(width: 12), - Expanded(child: _buildInfoCard()), - ], - ), - ), - ], - ), - ); - } - - Widget _buildOverviewHeader() { - return Padding( - padding: const EdgeInsets.fromLTRB(12, 12, 12, 0), - child: Row( - children: [ - const Text('SYSTEM OVERVIEW', - style: TextStyle( - color: Colors.white, - fontSize: 11, - fontWeight: FontWeight.bold)), - const Spacer(), - Icon(Icons.search, color: Colors.grey[400], size: 20), - const SizedBox(width: 8), - Icon(Icons.notifications_outlined, color: Colors.grey[400], size: 20), - ], - ), - ); - } - - Widget _buildImageCard() { - return AspectRatio( - aspectRatio: 1.0, - child: Container( - padding: const EdgeInsets.all(8), - decoration: BoxDecoration( - color: Colors.black.withOpacity(0.3), - borderRadius: BorderRadius.circular(10), - ), - child: Stack( - alignment: Alignment.center, - children: [ - Container( - decoration: BoxDecoration( - color: const Color(0xFF2D2F33), - borderRadius: BorderRadius.circular(5) - ), - ), - Padding( - padding: const EdgeInsets.only(bottom: 20.0), - child: Image.asset( - 'assets/images/helmet.png', - width: 100, - ), - ), - Positioned( - bottom: 12, - child: Row( - children: [ - _buildLedIndicator(Colors.grey.shade700), - const SizedBox(width: 4), - _buildLedIndicator(Colors.grey.shade700), - const SizedBox(width: 4), - _buildLedIndicator(Colors.grey.shade700), - const SizedBox(width: 4), - _buildLedIndicator(Colors.white), - ], - ), - ) - ], - ), - ), - ); - } - - Widget _buildLedIndicator(Color color) { - return Container( - width: 18, - height: 6, - decoration: BoxDecoration( - color: color, - borderRadius: BorderRadius.circular(3), - ), - ); - } - - Widget _buildInfoCard() { - const Color accentColor = Color(0xFFFF9500); - return SizedBox( - height: 160, - child: Column( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - _buildInfoRow('Name / \nNumber', const Icon(Icons.person, color: Colors.white, size: 20), 'USER', '001'), - const SizedBox(height: 8), - _buildInfoRow('STATUS', null, 'UNLOCKED', '● ACTIVE', value1Color: accentColor, value2Color: accentColor), - ], - ), - ); - } - - Widget _buildInfoRow(String title, Widget? icon, String value1, String value2, {Color? value1Color, Color? value2Color}) { - return Expanded( - child: Container( - padding: const EdgeInsets.all(8), - decoration: BoxDecoration( - color: Colors.black.withOpacity(0.3), - borderRadius: BorderRadius.circular(10), - ), - child: Row( - children: [ - Expanded( - flex: 2, - child: Text(title, - textAlign: TextAlign.center, - style: TextStyle(color: Colors.grey[400], fontSize: 11, height: 1.4)), - ), - VerticalDivider(color: Colors.grey[700], indent: 10, endIndent: 10), - Expanded( - flex: 3, - child: Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - if (icon != null) ...[icon, const SizedBox(height: 4)], - Text(value1, style: TextStyle(color: value1Color ?? Colors.white, fontWeight: FontWeight.bold, fontSize: 12)), - const SizedBox(height: 2), - Text(value2, style: TextStyle(color: value2Color ?? Colors.white, fontWeight: FontWeight.w500, fontSize: 12)), - ], - ), - ), - ], - ), - ), - ); - } - - Widget _buildBatteryStatusCard() { - const Color accentColor = Color(0xFFFF9500); - return Card( - child: Padding( - padding: const EdgeInsets.all(_uniformGap), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Text('BATTERY STATUS (%)', - style: TextStyle( - color: Colors.white, - fontSize: 12, - fontWeight: FontWeight.bold)), - const SizedBox(height: 16), - Row( - children: [ - SizedBox( - width: 80, - height: 80, - child: Stack( - alignment: Alignment.center, - children: [ - SizedBox.expand( - child: CustomPaint( - painter: _BatteryArcPainter( - backgroundColor: Colors.grey.shade800, - color: Colors.white, - percentage: 1.0, - ), - ), - ), - const Text('86', - style: TextStyle( - fontSize: 24, fontWeight: FontWeight.w600)), - ], - ), - ), - const SizedBox(width: 20), - Expanded( - child: Column( - children: [ - Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - const Text('NOW', - style: TextStyle( - color: Colors.white, - fontSize: 14, - fontWeight: FontWeight.bold)), - const Text('사용 중', - style: TextStyle( - color: accentColor, - fontSize: 14, - fontWeight: FontWeight.bold)), - ], - ), - const Divider( - color: Color(0xFF555555), - height: 20, - thickness: 1, - ), - Row( - children: [ - const Expanded( - flex: 4, - child: Text('Solar Panel', - style: TextStyle( - color: Colors.white, fontSize: 14)), - ), - Expanded( - flex: 5, - child: Row( - children: [ - const Expanded( - child: Text('전압: 00', - style: TextStyle( - color: Colors.white70, - fontSize: 14)), - ), - SizedBox( - height: 20, - child: VerticalDivider( - color: Colors.grey[700], - thickness: 1, - ), - ), - const Expanded( - child: Padding( - padding: EdgeInsets.only(left: 8.0), - child: Text('전류: 00', - style: TextStyle( - color: Colors.white70, - fontSize: 14)), - ), - ), - ], - ), - ), - ], - ), - ], - ), - ), - ], - ), - ], - ), - ), - ); - } - - Widget _buildControlCard() { - return Card( - child: Padding( - padding: const EdgeInsets.all(_uniformGap), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Text('CONTROL', - style: TextStyle( - color: Colors.white, - fontSize: 11, - fontWeight: FontWeight.bold)), - const SizedBox(height: 16), - SizedBox( - height: 70, - child: Row( - children: [ - Expanded( - child: _buildStyledToggleSwitch( - 'UV LED', - _controlToggles['UV LED']!, - (val) => setState(() => _controlToggles['UV LED'] = val))), - VerticalDivider( - color: Colors.grey[700], indent: 10, endIndent: 10), - Expanded( - child: _buildStyledToggleSwitch( - 'CHARGING', - _controlToggles['CHARGING']!, - (val) => setState(() => _controlToggles['CHARGING'] = val))), - VerticalDivider( - color: Colors.grey[700], indent: 10, endIndent: 10), - Expanded( - child: _buildStyledToggleSwitch( - 'HELMET', - _controlToggles['HELMET']!, - (val) => setState(() => _controlToggles['HELMET'] = val))), - VerticalDivider( - color: Colors.grey[700], indent: 10, endIndent: 10), - Expanded( - child: _buildStyledToggleSwitch('FAN', _controlToggles['FAN']!, - (val) => setState(() => _controlToggles['FAN'] = val))), - ], - ), - ) - ], - ), - ), - ); - } - - Widget _buildStyledToggleSwitch( - String title, bool value, ValueChanged onChanged) { - return Column( - mainAxisAlignment: MainAxisAlignment.center, - children: [ - Text(title, - style: const TextStyle( - color: Colors.white, - fontSize: 13, - fontWeight: FontWeight.bold)), - const SizedBox(height: 12), - GestureDetector( - onTap: () => onChanged(!value), - child: AnimatedContainer( - duration: const Duration(milliseconds: 250), - curve: Curves.easeInOut, - width: 60, - height: 30, - decoration: BoxDecoration( - borderRadius: BorderRadius.circular(15), - color: value ? Colors.white : Colors.grey.shade700, - ), - child: Stack( - children: [ - AnimatedAlign( - duration: const Duration(milliseconds: 250), - curve: Curves.easeInOut, - alignment: value ? Alignment.centerRight : Alignment.centerLeft, - child: Padding( - padding: const EdgeInsets.all(2.0), - child: Container( - width: 26, - height: 26, - decoration: BoxDecoration( - shape: BoxShape.circle, - color: value ? Theme.of(context).primaryColor : Colors.white, - ), - ), - ), - ), - Row( - children: [ - Expanded( - child: Center( - child: Text('ON', - style: TextStyle( - fontSize: 10, - fontWeight: FontWeight.bold, - color: value - ? Theme.of(context).primaryColor - : Colors.transparent)))), - Expanded( - child: Center( - child: Text('OFF', - style: TextStyle( - fontSize: 10, - fontWeight: FontWeight.bold, - color: value - ? Colors.transparent - : Colors.white)))), - ], - ) - ], - ), - ), - ), - ], - ); - } - - Widget _buildEnvironmentSensorsCard() { - return Card( - child: Padding( - padding: const EdgeInsets.all(_uniformGap), - child: Column( - children: [ - Row( - crossAxisAlignment: CrossAxisAlignment.center, - children: [ - const Text('ENVIRONMENT SENSORS', - style: - TextStyle(fontSize: 14, fontWeight: FontWeight.bold)), - const Spacer(), - InkWell( - onTap: () {}, - child: Row( - children: [ - Text('VIEW HISTORY', - style: - TextStyle(color: Colors.grey[400], fontSize: 10)), - const SizedBox(width: 4), - Icon(Icons.arrow_forward_ios, - size: 10, color: Colors.grey[400]), - ], - ), - ), - ], - ), - const SizedBox(height: 20), - Row( - children: [ - Expanded( - flex: 1, - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - _buildSensorInfoRow(Icons.water_drop_outlined, 'HUMID: 60%'), - const SizedBox(height: 24), - _buildSensorInfoRow(Icons.thermostat, 'TEMP: 24.5℃'), - ], - ), - ), - const SizedBox(width: 16), - Expanded( - flex: 1, - child: SizedBox( - height: 60, child: const _LineChartPlaceholder())), - ], - ), - ], - ), - ), - ); - } - - Widget _buildSensorInfoRow(IconData icon, String text) { - return Row(children: [ - Container( - width: 40, - height: 40, - decoration: BoxDecoration( - color: Colors.white, - borderRadius: BorderRadius.circular(8), - ), - child: Icon(icon, color: Colors.black, size: 24), - ), - const SizedBox(width: 12), - Text(text, - style: const TextStyle( - fontSize: 14, - color: Colors.white, - fontWeight: FontWeight.w600)) - ]); - } - - Widget _buildMyLocationCard() { - final LatLng exampleLocation = LatLng(37.5665, 126.9780); - return Card( - clipBehavior: Clip.antiAlias, - child: SizedBox( - height: 200.0, - child: Column( - children: [ - Padding( - padding: const EdgeInsets.fromLTRB(16, 16, 16, 8), - child: Row( - mainAxisAlignment: MainAxisAlignment.spaceBetween, - children: [ - const Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - Text('My Location', - style: TextStyle( - fontSize: 13, - color: Colors.white, - fontWeight: FontWeight.bold)), - SizedBox(height: 4), - Text('주소: 남구 효덕로 277', - style: - TextStyle(fontSize: 11, color: Colors.white70)), - ], - ), - InkWell( - onTap: () {}, - child: Row( - children: [ - Text('VIEW MORE', - style: - TextStyle(color: Colors.grey[400], fontSize: 9)), - const SizedBox(width: 4), - Icon(Icons.arrow_forward_ios, - size: 10, color: Colors.grey[400]), - ], - ), - ), - ], - ), - ), - Expanded( - child: FlutterMap( - options: MapOptions( - initialCenter: exampleLocation, - initialZoom: 15.0, - interactionOptions: - const InteractionOptions(flags: InteractiveFlag.none), - ), - children: [ - TileLayer( - urlTemplate: - 'https://{s}.basemaps.cartocdn.com/dark_all/{z}/{x}/{y}{r}.png', - subdomains: const ['a', 'b', 'c', 'd'], - ), - MarkerLayer( - markers: [ - Marker( - point: exampleLocation, - width: 80, - height: 80, - child: const Icon(Icons.location_pin, - size: 40, color: Colors.white), - ), - ], - ), - ], - ), - ), - ], - ), - ), - ); - } - - Widget _buildActivityCard() { - return Card( - child: Padding( - padding: const EdgeInsets.all(_uniformGap), - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - const Text('Activity', - style: TextStyle( - fontSize: 13, - color: Colors.white, - fontWeight: FontWeight.bold)), - const SizedBox(height: 12), - Row( - children: [ - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - _activityText('08:15 AM - Battery fully Charged'), - const SizedBox(height: 8), - _activityText('9:30 AM - UV LED Actived'), - ], - ), - ), - const SizedBox(width: 16), - Expanded( - child: Column( - crossAxisAlignment: CrossAxisAlignment.start, - children: [ - _activityText('10:45 AM - Helmet Unlocked'), - const SizedBox(height: 8), - _activityText('11:00 AM - Helmet Off'), - ], - ), - ), - ], - ), - ], - ), - ), - ); - } - - Widget _activityText(String text) { - return Text(text, - style: const TextStyle(fontSize: 11, color: Colors.white70)); - } -} - -class _LineChartPlaceholder extends StatelessWidget { - const _LineChartPlaceholder(); - @override - Widget build(BuildContext context) { - return Column(children: [ - Expanded( - child: - CustomPaint(painter: _LineChartPainter(), size: Size.infinite)), - const SizedBox(height: 4), - const Row(mainAxisAlignment: MainAxisAlignment.spaceBetween, children: [ - Text('24H AGO', style: TextStyle(fontSize: 8, color: Colors.white54)), - Text('12H AGO', style: TextStyle(fontSize: 8, color: Colors.white54)), - Text('NOW', style: TextStyle(fontSize: 8, color: Colors.white54)) - ]) - ]); - } -} - -class _LineChartPainter extends CustomPainter { - @override - void paint(ui.Canvas canvas, ui.Size size) { - final paint = Paint() - ..color = Colors.white.withOpacity(0.8) - ..strokeWidth = 1.5 - ..style = PaintingStyle.stroke; - - final path = ui.Path(); - path.moveTo(0, size.height * 0.6); - path.cubicTo(size.width * 0.1, size.height * 0.8, size.width * 0.2, - size.height * 0.4, size.width * 0.3, size.height * 0.6); - path.cubicTo(size.width * 0.4, size.height * 0.8, size.width * 0.45, - size.height * 0.2, size.width * 0.6, size.height * 0.5); - path.cubicTo(size.width * 0.75, size.height * 0.8, size.width * 0.8, - size.height * 0.3, size.width, size.height * 0.2); - canvas.drawPath(path, paint); - } - - @override - bool shouldRepaint(covariant CustomPainter oldDelegate) { - return false; - } -} - -class Card extends StatelessWidget { - final Widget child; - final EdgeInsetsGeometry? padding; - final Clip clipBehavior; - - const Card({ - super.key, - required this.child, - this.padding, - this.clipBehavior = Clip.none, - }); - - @override - Widget build(BuildContext context) { - return Container( - clipBehavior: clipBehavior, - decoration: BoxDecoration( - color: Theme.of(context).primaryColor, - borderRadius: BorderRadius.circular(12), - ), - child: child, - ); - } } - -class _BatteryArcPainter extends CustomPainter { - final Color backgroundColor; - final Color color; - final double percentage; - - _BatteryArcPainter({ - required this.backgroundColor, - required this.color, - required this.percentage, - }); - - @override - void paint(Canvas canvas, Size size) { - final Paint backgroundPaint = Paint() - ..color = backgroundColor - ..strokeWidth = 8 - ..style = PaintingStyle.stroke - ..strokeCap = StrokeCap.round; - - - final Paint foregroundPaint = Paint() - ..color = color - ..strokeWidth = 8 - ..style = PaintingStyle.stroke - ..strokeCap = StrokeCap.round; - - final Rect rect = Rect.fromLTWH(0, 0, size.width, size.height); - const double startAngle = -2.35; - const double sweepAngle = 4.7; - - canvas.drawArc(rect, startAngle, sweepAngle, false, backgroundPaint); - - final double progressAngle = sweepAngle * percentage; - canvas.drawArc(rect, startAngle, progressAngle, false, foregroundPaint); - } - - @override - bool shouldRepaint(covariant CustomPainter oldDelegate) { - return true; - } -} \ No newline at end of file diff --git a/lib/settings_screen.dart b/lib/settings_screen.dart new file mode 100644 index 0000000..1498956 --- /dev/null +++ b/lib/settings_screen.dart @@ -0,0 +1,15 @@ +import 'package:flutter/material.dart'; + +class SettingsScreen extends StatelessWidget { + const SettingsScreen({super.key}); + + @override + Widget build(BuildContext context) { + return const Center( + child: Text( + '5. 설정 (Settings) 페이지', + style: TextStyle(color: Colors.white70, fontSize: 20), + ), + ); + } +} \ No newline at end of file diff --git a/lib/widgets/custom_header.dart b/lib/widgets/custom_header.dart new file mode 100644 index 0000000..c318c42 --- /dev/null +++ b/lib/widgets/custom_header.dart @@ -0,0 +1,31 @@ +import 'package:flutter/material.dart'; + +class CustomHeader extends StatelessWidget { + const CustomHeader({super.key}); + + static const double _uniformGap = 16.0; + + @override + Widget build(BuildContext context) { + return Container( + height: 60.0, + color: Theme.of(context).scaffoldBackgroundColor, + padding: const EdgeInsets.symmetric(horizontal: _uniformGap), + child: Row( + mainAxisAlignment: MainAxisAlignment.spaceBetween, + crossAxisAlignment: CrossAxisAlignment.center, + children: [ + Row(children: [ + Icon(Icons.settings_input_component, color: Colors.grey[400]), + const SizedBox(width: 12), + const Text('SMART HELMET SYSTEMS', + style: TextStyle( + fontSize: 15, + fontWeight: FontWeight.bold, + color: Colors.white)) + ]), + Text('2025/09/26 - 10:44 AM', + style: TextStyle(color: Colors.grey[400], fontSize: 11)) + ])); + } +} \ No newline at end of file diff --git a/pubspec.yaml b/pubspec.yaml index 9385525..2e68e74 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -13,7 +13,8 @@ dependencies: cupertino_icons: ^1.0.8 flutter_map: ^6.1.0 - latlong2: ^0.9.1 + latlong2: ^0.9.0 + dev_dependencies: flutter_test: diff --git a/test/widget_test.dart b/test/widget_test.dart deleted file mode 100644 index e248eb1..0000000 --- a/test/widget_test.dart +++ /dev/null @@ -1,22 +0,0 @@ -// This is a basic Flutter widget test. -// -// To perform an interaction with a widget in your test, use the WidgetTester -// utility in the flutter_test package. For example, you can send tap and scroll -// gestures. You can also use WidgetTester to find child widgets in the widget -// tree, read text, and verify that the values of widget properties are correct. - -import 'package.flutter_test/flutter_test.dart'; -import 'package:smarthelmet_app/main.dart'; - -void main() { - testWidgets('Smart Helmet App UI smoke test', (WidgetTester tester) async { - // 1. 올바른 위젯 클래스 이름(SmartHelmetApp)으로 앱을 빌드합니다. - await tester.pumpWidget(const SmartHelmetApp()); - - // 2. 우리 앱의 UI에 실제로 있는 'SYSTEM OVERVIEW' 텍스트를 찾습니다. - expect(find.text('SYSTEM OVERVIEW'), findsOneWidget); - - // 3. 우리 앱에는 '1'이라는 텍스트가 없으므로, 없는 것을 확인하는 테스트를 추가할 수 있습니다. - expect(find.text('1'), findsNothing); - }); -} \ No newline at end of file