initialized Splash UI

initialized Login UI
initialized Home(no Devices) UI
Added Colors (from syncrow website)
Added Logo
This commit is contained in:
Mohammad Salameh
2024-02-15 00:10:33 +03:00
parent 3385ed1297
commit 16f47f744c
24 changed files with 316 additions and 92 deletions
@@ -1,5 +1,7 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:syncrow_app/features/home/widgets/syncrow_logo.dart';
import 'package:syncrow_app/resource_manager/color_manager.dart';
import '../home_provider.dart';
@@ -11,14 +13,15 @@ class DefaultAppBar extends StatelessWidget implements PreferredSizeWidget {
return Consumer<HomeProvider>(
builder: (context, provider, child) {
return AppBar(
title: const Text('Syncrow'),
title: const SyncrowLogo(),
actions: <Widget>[
IconButton(
icon: const Icon(Icons.mic),
onPressed: () {},
),
IconButton(
icon: const Icon(Icons.add_circle),
icon: const Icon(Icons.add_circle,
color: ColorsManager.primaryColor),
onPressed: () {},
),
],
+39 -2
View File
@@ -1,4 +1,9 @@
import 'package:flutter/material.dart';
import 'package:gap/gap.dart';
import 'package:provider/provider.dart';
import 'package:syncrow_app/features/home/home_provider.dart';
import 'package:syncrow_app/features/shared_widgets/default_text_button.dart';
import 'package:syncrow_app/resource_manager/assets_manager.dart';
class HomeViewBody extends StatelessWidget {
const HomeViewBody({
@@ -7,8 +12,40 @@ class HomeViewBody extends StatelessWidget {
@override
Widget build(BuildContext context) {
return const Center(
child: Text('Home'),
return ChangeNotifierProvider(
create: (BuildContext context) => HomeProvider(),
child: Consumer<HomeProvider>(
builder: (context, provider, child) {
return provider.devices.isEmpty
? Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.asset(
ImageManager.boxEmpty,
opacity: const AlwaysStoppedAnimation(0.5),
scale: 1,
width: 140,
),
const Gap(15),
const Text(
'No Devices',
style: TextStyle(
color: Colors.grey,
fontSize: 18,
),
),
const Gap(15),
const DefaultTextButton(
text: 'Add Device',
isPrimary: true,
),
],
),
)
: const SizedBox();
},
),
);
}
}
@@ -0,0 +1,20 @@
import 'package:flutter/material.dart';
import 'package:syncrow_app/resource_manager/assets_manager.dart';
class SyncrowLogo extends StatelessWidget {
const SyncrowLogo({
super.key,
this.isDark = true,
this.width = 150,
});
final bool isDark;
final double width;
@override
Widget build(BuildContext context) {
return Image.asset(isDark ? ImageManager.blackLogo : ImageManager.whiteLogo,
scale: 1, width: width);
}
}