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

58 lines
2.1 KiB
Dart
Raw Normal View History

2024-10-01 03:49:55 +00:00
import 'package:agrilink_vocpro/core/constant/app_theme.dart';
2024-10-02 13:07:28 +00:00
import 'package:agrilink_vocpro/core/state/result_state.dart';
2024-10-01 03:49:55 +00:00
import 'package:agrilink_vocpro/features/control/provider/control_provider.dart';
import 'package:flutter/cupertino.dart';
2024-10-01 03:49:55 +00:00
import 'package:flutter/material.dart';
2024-10-01 07:44:18 +00:00
import 'package:flutter_screenutil/flutter_screenutil.dart';
2024-10-01 03:49:55 +00:00
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,
),
2024-10-08 02:23:48 +00:00
body: Consumer<ControlProvider>(
builder: (context, provider, child) {
return SafeArea(
2024-10-01 03:49:55 +00:00
child: ListView(
2024-10-08 02:23:48 +00:00
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(
'smartfarming/relay/232', 'ON')
: provider.publishMessage(
'smartfarming/relay/232', 'OFF');
provider.switchControl1();
},
),
),
// Control lainnya...
],
2024-10-02 13:07:28 +00:00
),
2024-10-08 02:23:48 +00:00
);
},
),
2024-10-01 03:49:55 +00:00
);
}
}