smartfarming-mobile/agrilink_vocpro/lib/features/control/view/control_screen.dart

73 lines
2.8 KiB
Dart

import 'package:agrilink_vocpro/core/constant/app_theme.dart';
import 'package:agrilink_vocpro/core/state/result_state.dart';
import 'package:agrilink_vocpro/features/control/provider/control_provider.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:provider/provider.dart';
class ControlScreen extends StatelessWidget {
const ControlScreen({super.key});
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('Control', style: AppTheme.labelMedium),
centerTitle: true,
backgroundColor: Colors.white,
scrolledUnderElevation: 0,
),
body: Consumer<ControlProvider>(builder: (context, provider, child) {
return SafeArea(
child: ListView(
children: [
Center(
child: provider.mqttState == ResultState.loading
? const CupertinoActivityIndicator()
: provider.mqttState == ResultState.hasData
? const Text('Terhubung ke Broker')
: const Text('Gagal terhubung ke Broker'),
),
SizedBox(height: 16.h),
ListTile(
title: Text('Control 1', style: AppTheme.labelMedium),
subtitle: const Text('Control 1 description'),
trailing: Switch(
value: provider.control_1,
onChanged: (value) {
provider.control_1 == false
? provider.publishMessage('relay1', 'ON')
: provider.publishMessage('relay1', 'OFF');
provider.switchControl1();
// showDialog(
// context: context,
// builder: (context) => AlertDialog(
// title: const Text('Konfirmasi'),
// content: const Text('Atur Relay 1?'),
// actions: [
// TextButton(
// onPressed: () {
// provider.control_1 == false
// ? provider.publishMessage('relay1', 'ON')
// : provider.publishMessage('relay1', 'OFF');
// provider.switchControl1();
// Navigator.pop(context);
// },
// child:
// Text(provider.control_1 == false ? 'ON' : 'OFF'),
// )
// ],
// ),
// );
},
),
),
// Control lainnya...
],
));
}),
);
}
}