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

58 lines
2.1 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(
'smartfarming/relay/232', 'ON')
: provider.publishMessage(
'smartfarming/relay/232', 'OFF');
provider.switchControl1();
},
),
),
// Control lainnya...
],
),
);
},
),
);
}
}