25.12.04 잠금 해제, uv 살균, 건조팬 동작 기능 구현
This commit is contained in:
@@ -3,6 +3,9 @@ import 'package:flutter/material.dart';
|
||||
import 'package:flutter_map/flutter_map.dart';
|
||||
import 'package:latlong2/latlong.dart';
|
||||
|
||||
//25.12.03 지은 추가
|
||||
import 'package:smarthelmet_app/services/locker_api.dart';
|
||||
|
||||
class RentalProcessScreen extends StatefulWidget {
|
||||
final String stationName;
|
||||
|
||||
@@ -26,6 +29,25 @@ class _RentalProcessScreenState extends State<RentalProcessScreen> {
|
||||
static const Color _primaryGreen = Color(0xFF4CAF50);
|
||||
static const Color _primaryOrange = Color(0xFFFF3D00);
|
||||
|
||||
// 25.12.03 지은 추가 시작
|
||||
final LockerApi _api = LockerApi();
|
||||
bool _isLoading = false;
|
||||
|
||||
Future<void> _runLockerAction(String name, Future<bool> Function() action) async {
|
||||
if (_isLoading) return;
|
||||
|
||||
setState(() => _isLoading = true);
|
||||
|
||||
// 실제 명령 전송
|
||||
final success = await action();
|
||||
|
||||
setState(() => _isLoading = false);
|
||||
|
||||
if (!mounted) return;
|
||||
}
|
||||
|
||||
// 25.12.03 지은 추가 끝
|
||||
|
||||
final PageController _pageController = PageController();
|
||||
int _currentPage = 0;
|
||||
Timer? _timer;
|
||||
@@ -241,6 +263,9 @@ class _RentalProcessScreenState extends State<RentalProcessScreen> {
|
||||
height: 68,
|
||||
child: ElevatedButton(
|
||||
onPressed: () {
|
||||
// 25.12.03 지은 추가
|
||||
_runLockerAction("잠금 해제", () => _api.unlock());
|
||||
|
||||
ScaffoldMessenger.of(context).showSnackBar(
|
||||
const SnackBar(
|
||||
content: Text('문이 열렸습니다! (OPEN 버튼 눌림)'),
|
||||
|
||||
Reference in New Issue
Block a user