Skip to content

Commit 6707401

Browse files
committed
create user and add task to firestor
1 parent 35f673d commit 6707401

File tree

8 files changed

+73
-6
lines changed

8 files changed

+73
-6
lines changed
File renamed without changes.

lib/data/auth_data.dart

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import 'package:firebase_auth/firebase_auth.dart';
2+
import 'package:flutter_to_do_list/data/firestor.dart';
23

34
abstract class AuthenticationDatasource {
45
Future<void> register(String email, String password, String PasswordConfirm);
@@ -16,8 +17,12 @@ class AuthenticationRemote extends AuthenticationDatasource {
1617
Future<void> register(
1718
String email, String password, String PasswordConfirm) async {
1819
if (PasswordConfirm == password) {
19-
await FirebaseAuth.instance.createUserWithEmailAndPassword(
20-
email: email.trim(), password: password.trim());
20+
await FirebaseAuth.instance
21+
.createUserWithEmailAndPassword(
22+
email: email.trim(), password: password.trim())
23+
.then((value) {
24+
Firestore_Datasource().CreateUser(email);
25+
});
2126
}
2227
}
2328
}

lib/data/firestor.dart

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
import 'package:cloud_firestore/cloud_firestore.dart';
2+
import 'package:firebase_auth/firebase_auth.dart';
3+
import 'package:uuid/uuid.dart';
4+
5+
class Firestore_Datasource {
6+
final FirebaseFirestore _firestore = FirebaseFirestore.instance;
7+
final FirebaseAuth _auth = FirebaseAuth.instance;
8+
9+
Future<bool> CreateUser(String email) async {
10+
try {
11+
await _firestore
12+
.collection('users')
13+
.doc(_auth.currentUser!.uid)
14+
.set({"id": _auth.currentUser!.uid, "email": email});
15+
return true;
16+
} catch (e) {
17+
return true;
18+
}
19+
}
20+
21+
Future<bool> AddNote(String subtitle, String title, int image) async {
22+
try {
23+
var uuid = Uuid().v4();
24+
DateTime data = new DateTime.now();
25+
await _firestore
26+
.collection('users')
27+
.doc(_auth.currentUser!.uid)
28+
.collection('notes')
29+
.doc(uuid)
30+
.set({
31+
'id': uuid,
32+
'subtitle': subtitle,
33+
'isDon': false,
34+
'image': image,
35+
'time': data,
36+
'title': title,
37+
});
38+
return true;
39+
} catch (e) {
40+
return true;
41+
}
42+
}
43+
}

lib/main.dart

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
import 'package:firebase_core/firebase_core.dart';
22
import 'package:flutter/material.dart';
3-
import 'package:flutter_to_do_list/screen/add_note_screen.dart';
4-
import 'package:flutter_to_do_list/screen/home.dart';
5-
import 'package:flutter_to_do_list/widgets/task_widgets.dart';
3+
import 'package:flutter_to_do_list/auth/main_page.dart';
64

75
void main() async {
86
WidgetsFlutterBinding.ensureInitialized();
@@ -17,7 +15,7 @@ class MyApp extends StatelessWidget {
1715
Widget build(BuildContext context) {
1816
return MaterialApp(
1917
debugShowCheckedModeBanner: false,
20-
home: Home_Screen(),
18+
home: Main_Page(),
2119
);
2220
}
2321
}

lib/screen/add_note_screen.dart

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
import 'package:firebase_auth/firebase_auth.dart';
12
import 'package:flutter/material.dart';
23
import 'package:flutter_to_do_list/const/colors.dart';
4+
import 'package:flutter_to_do_list/data/firestor.dart';
35

46
class Add_creen extends StatefulWidget {
57
const Add_creen({super.key});
@@ -46,6 +48,7 @@ class _Add_creenState extends State<Add_creen> {
4648
minimumSize: Size(170, 48),
4749
),
4850
onPressed: () {
51+
Firestore_Datasource().AddNote(subtitle.text, title.text, indexx);
4952
Navigator.pop(context);
5053
},
5154
child: Text('add task'),

lib/screen/home.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import 'package:firebase_auth/firebase_auth.dart';
12
import 'package:flutter/material.dart';
23
import 'package:flutter/rendering.dart';
34
import 'package:flutter_to_do_list/const/colors.dart';

pubspec.lock

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,14 @@ packages:
7373
url: "https://pub.dev"
7474
source: hosted
7575
version: "1.17.1"
76+
crypto:
77+
dependency: transitive
78+
description:
79+
name: crypto
80+
sha256: ff625774173754681d66daaf4a448684fb04b78f902da9cb3d308c19cc5e8bab
81+
url: "https://pub.dev"
82+
source: hosted
83+
version: "3.0.3"
7684
cupertino_icons:
7785
dependency: "direct main"
7886
description:
@@ -277,6 +285,14 @@ packages:
277285
url: "https://pub.dev"
278286
source: hosted
279287
version: "1.3.2"
288+
uuid:
289+
dependency: "direct main"
290+
description:
291+
name: uuid
292+
sha256: "648e103079f7c64a36dc7d39369cabb358d377078a051d6ae2ad3aa539519313"
293+
url: "https://pub.dev"
294+
source: hosted
295+
version: "3.0.7"
280296
vector_math:
281297
dependency: transitive
282298
description:

pubspec.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ dependencies:
3333
firebase_auth: ^4.3.0
3434
cloud_firestore: ^4.5.0
3535
msh_checkbox: ^1.1.1
36+
uuid: ^3.0.6
3637

3738

3839
# The following adds the Cupertino Icons font to your application.

0 commit comments

Comments
 (0)