1
- import 'package:example/utils/utils .dart' ;
1
+ import 'extension .dart' ;
2
2
import 'package:flutter/material.dart' ;
3
3
import 'package:stream_feed/stream_feed.dart' ;
4
4
@@ -8,9 +8,10 @@ import 'add_activity_dialog.dart';
8
8
class ProfileScreen extends StatefulWidget {
9
9
const ProfileScreen ({
10
10
Key ? key,
11
- required this .streamUser ,
11
+ required this .currentUser ,
12
12
}) : super (key: key);
13
- final User streamUser;
13
+
14
+ final StreamUser currentUser;
14
15
15
16
@override
16
17
_ProfileScreenState createState () => _ProfileScreenState ();
@@ -25,7 +26,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
25
26
Future <void > _loadActivities ({bool pullToRefresh = false }) async {
26
27
if (! pullToRefresh) setState (() => _isLoading = true );
27
28
28
- final userFeed = _client.flatFeed ('user' , widget.streamUser .id! );
29
+ final userFeed = _client.flatFeed ('user' , widget.currentUser .id);
29
30
final data = await userFeed.getActivities ();
30
31
if (! pullToRefresh) _isLoading = false ;
31
32
setState (() => activities = data);
@@ -40,7 +41,7 @@ class _ProfileScreenState extends State<ProfileScreen> {
40
41
41
42
@override
42
43
Widget build (BuildContext context) {
43
- final user = widget.streamUser ;
44
+ final user = widget.currentUser ;
44
45
return Scaffold (
45
46
floatingActionButton: FloatingActionButton (
46
47
onPressed: () async {
@@ -49,28 +50,19 @@ class _ProfileScreenState extends State<ProfileScreen> {
49
50
builder: (_) => AddActivityDialog (),
50
51
);
51
52
if (message != null ) {
52
- ScaffoldMessenger .of (context).showSnackBar (
53
- SnackBar (
54
- content: Text ('Posting Activity...' ),
55
- ),
56
- );
53
+ context.showSnackBar ('Posting Activity...' );
57
54
58
55
final activity = Activity (
59
- actor: user.id ,
56
+ actor: user.ref ,
60
57
verb: 'tweet' ,
61
58
object: '1' ,
62
- extraData: {
63
- 'tweet' : message,
64
- },
59
+ extraData: {'tweet' : message},
65
60
);
66
- final userFeed = _client.flatFeed ('user' , user.id! );
61
+
62
+ final userFeed = _client.flatFeed ('timeline' , user.id);
67
63
await userFeed.addActivity (activity);
68
64
69
- ScaffoldMessenger .of (context).showSnackBar (
70
- SnackBar (
71
- content: Text ('Activity Posted...' ),
72
- ),
73
- );
65
+ context.showSnackBar ('Activity Posted...' );
74
66
_loadActivities ();
75
67
}
76
68
},
0 commit comments