mirror of
https://github.com/SyncrowIOT/syncrow-app.git
synced 2026-10-24 19:47:55 +00:00
initialized Splash UI
initialized Login UI initialized Home(no Devices) UI Added Colors (from syncrow website) Added Logo
This commit is contained in:
@@ -0,0 +1,16 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:syncrow_app/features/auth/models/user_model.dart';
|
||||
|
||||
class AuthProvider extends ChangeNotifier {
|
||||
// todo remove temp user
|
||||
UserModel user = UserModel(
|
||||
id: '1',
|
||||
name: 'John Doe',
|
||||
email: '',
|
||||
photoUrl: '',
|
||||
isAgreementAccepted: false,
|
||||
isAnonymous: false,
|
||||
isEmailVerified: false,
|
||||
phoneNumber: '',
|
||||
);
|
||||
}
|
||||
@@ -0,0 +1,58 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:gap/gap.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
import 'package:syncrow_app/features/home/widgets/syncrow_logo.dart';
|
||||
import 'package:syncrow_app/features/shared_widgets/default_text_button.dart';
|
||||
import 'package:syncrow_app/navigation/route_manager.dart';
|
||||
|
||||
import '../../navigation/routing_constants.dart';
|
||||
import 'auth_provider.dart';
|
||||
|
||||
class AuthPage extends StatelessWidget {
|
||||
const AuthPage({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ChangeNotifierProvider(
|
||||
create: (BuildContext context) => AuthProvider(),
|
||||
builder: (context, child) => Scaffold(
|
||||
body: Padding(
|
||||
padding: const EdgeInsets.symmetric(horizontal: 40.0),
|
||||
child: Column(
|
||||
crossAxisAlignment: CrossAxisAlignment.stretch,
|
||||
children: [
|
||||
const Expanded(child: SizedBox()),
|
||||
const SyncrowLogo(),
|
||||
const Expanded(flex: 2, child: SizedBox()),
|
||||
DefaultTextButton(
|
||||
text: 'Login',
|
||||
onPressed: () {
|
||||
RouteManager().routerManagerPopAndPushNamed(
|
||||
routeName: Routes.homeRoute,
|
||||
context: context,
|
||||
);
|
||||
},
|
||||
isPrimary: true,
|
||||
),
|
||||
const Gap(15),
|
||||
const DefaultTextButton(text: 'Sign Up'),
|
||||
const Gap(20),
|
||||
Center(
|
||||
child: InkWell(
|
||||
onTap: () {},
|
||||
child: const Text(
|
||||
'Try as a Guest',
|
||||
style: TextStyle(
|
||||
color: Colors.grey,
|
||||
),
|
||||
),
|
||||
),
|
||||
),
|
||||
const Gap(30),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
class UserModel {
|
||||
final String? id;
|
||||
final String? email;
|
||||
final String? name;
|
||||
final String? photoUrl;
|
||||
|
||||
final String? phoneNumber;
|
||||
|
||||
final bool? isAnonymous;
|
||||
|
||||
final bool? isEmailVerified;
|
||||
|
||||
final bool? isAgreementAccepted;
|
||||
|
||||
UserModel({
|
||||
required this.id,
|
||||
required this.email,
|
||||
required this.name,
|
||||
required this.photoUrl,
|
||||
required this.phoneNumber,
|
||||
required this.isAnonymous,
|
||||
required this.isEmailVerified,
|
||||
required this.isAgreementAccepted,
|
||||
});
|
||||
|
||||
factory UserModel.fromJson(Map<String, dynamic> json) {
|
||||
return UserModel(
|
||||
id: json['id'],
|
||||
email: json['email'],
|
||||
name: json['name'],
|
||||
photoUrl: json['photoUrl'],
|
||||
phoneNumber: json['phoneNumber'],
|
||||
isAnonymous: json['isAnonymous'],
|
||||
isEmailVerified: json['isEmailVerified'],
|
||||
isAgreementAccepted: json['isAgreementAccepted'],
|
||||
);
|
||||
}
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
return {
|
||||
'id': id,
|
||||
'email': email,
|
||||
'name': name,
|
||||
'photoUrl': photoUrl,
|
||||
'phoneNumber': phoneNumber,
|
||||
'isAnonymous': isAnonymous,
|
||||
'isEmailVerified': isEmailVerified,
|
||||
'isAgreementAccepted': isAgreementAccepted,
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AuthProvider extends ChangeNotifier {}
|
||||
@@ -1,22 +0,0 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:provider/provider.dart';
|
||||
|
||||
import '../provider/auth_provider.dart';
|
||||
|
||||
class AuthView extends StatelessWidget {
|
||||
const AuthView({super.key});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ChangeNotifierProvider(
|
||||
create: (BuildContext context) => AuthProvider(),
|
||||
builder: (context, child) => _buildPage(context),
|
||||
);
|
||||
}
|
||||
|
||||
Widget _buildPage(BuildContext context) {
|
||||
final provider = context.read<AuthProvider>();
|
||||
|
||||
return Container();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user