Skip to content

Commit

Permalink
feat: initial creation of Lock widget and its components
Browse files Browse the repository at this point in the history
  • Loading branch information
ses110 committed May 18, 2021
1 parent ee99628 commit 42e46cf
Show file tree
Hide file tree
Showing 3 changed files with 68 additions and 0 deletions.
26 changes: 26 additions & 0 deletions lib/components/lock_widget.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
import 'package:device_widgets/providers/lock_provider.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';

class LockWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
final lockProvider = Provider.of<LockProvider>(context, listen: true);
return Column(mainAxisAlignment: MainAxisAlignment.start, children: [
Row(
children: <Widget>[
Text(
lockProvider?.deviceDetail?.displayName ?? '',
style: Theme.of(context).textTheme.headline6,
),
],
),
SizedBox(
height: 80,
),
Center(
child: Text("Lock component will go here"),
),
]);
}
}
22 changes: 22 additions & 0 deletions lib/devices/lock.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import 'package:device_widgets/components/lock_widget.dart';
import 'package:device_widgets/providers/lock_provider.dart';
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:yonomi_platform_sdk/request/request.dart';

class Lock extends StatelessWidget {
final Request request;
final String deviceId;

const Lock({Key key, @required this.request, @required this.deviceId})
: super(key: key);

@override
Widget build(BuildContext context) {
return ChangeNotifierProvider(
create: (_) => LockProvider(request, deviceId),
child: LockWidget(),
);
}

}
20 changes: 20 additions & 0 deletions lib/providers/lock_provider.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import 'package:flutter/cupertino.dart';
import 'package:yonomi_platform_sdk/repository/devices/devices_repository.dart';
import 'package:yonomi_platform_sdk/request/request.dart';

class LockProvider extends ChangeNotifier {
LockProvider(Request request, String deviceId) {
_request = request;
getDeviceDetail(deviceId);
}

Request _request;
Device _deviceDetail;

Device get deviceDetail => _deviceDetail;

Future<void> getDeviceDetail(String deviceId) async {
_deviceDetail = await DevicesRepository.getLockDetails(_request, deviceId);
notifyListeners();
}
}

0 comments on commit 42e46cf

Please sign in to comment.