mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2025-07-15 09:45:22 +00:00
47 lines
1.5 KiB
Dart
47 lines
1.5 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:syncrow_app/features/app_layout/bloc/home_cubit.dart';
|
|
import 'package:syncrow_app/features/devices/view/widgets/popup_menu_widget.dart';
|
|
import 'package:syncrow_app/features/shared_widgets/text_widgets/body_large.dart';
|
|
import 'package:syncrow_app/utils/resource_manager/color_manager.dart';
|
|
import 'package:syncrow_app/utils/resource_manager/font_manager.dart';
|
|
|
|
class DeviceAppbar extends StatelessWidget implements PreferredSizeWidget {
|
|
final String deviceName;
|
|
final String deviceUuid;
|
|
final double appBarHeight = 56.0;
|
|
final void Function()? onPressed;
|
|
const DeviceAppbar(
|
|
{super.key, required this.deviceName, required this.deviceUuid, this.onPressed});
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return AppBar(
|
|
backgroundColor: Colors.transparent,
|
|
centerTitle: true,
|
|
title: BodyLarge(
|
|
text: deviceName,
|
|
fontColor: ColorsManager.primaryColor,
|
|
fontWeight: FontsManager.bold,
|
|
),
|
|
actions: [
|
|
IconButton(
|
|
onPressed: () {
|
|
showPopupMenu(context: context, items: [
|
|
PopupMenuItem(
|
|
onTap: () async {
|
|
HomeCubit.getInstance().updateDevice(deviceUuid);
|
|
},
|
|
value: 'Update',
|
|
child: const Text('Update'),
|
|
)
|
|
]);
|
|
},
|
|
icon: Icon(Icons.edit))
|
|
],
|
|
);
|
|
}
|
|
|
|
@override
|
|
Size get preferredSize => Size.fromHeight(appBarHeight);
|
|
}
|