mirror of
https://gitlab.com/mysocialportal/relatica
synced 2024-10-18 20:33:32 +00:00
Convert notifications control to use user icon
This commit is contained in:
parent
a2c2cc9270
commit
65c14b1e3a
1 changed files with 16 additions and 1 deletions
|
@ -1,3 +1,4 @@
|
||||||
|
import 'package:cached_network_image/cached_network_image.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart';
|
import 'package:flutter_widget_from_html_core/flutter_widget_from_html_core.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
import 'package:go_router/go_router.dart';
|
||||||
|
@ -6,6 +7,7 @@ import 'package:provider/provider.dart';
|
||||||
import '../globals.dart';
|
import '../globals.dart';
|
||||||
import '../models/user_notification.dart';
|
import '../models/user_notification.dart';
|
||||||
import '../routes.dart';
|
import '../routes.dart';
|
||||||
|
import '../services/connections_manager.dart';
|
||||||
import '../services/notifications_manager.dart';
|
import '../services/notifications_manager.dart';
|
||||||
import '../services/timeline_manager.dart';
|
import '../services/timeline_manager.dart';
|
||||||
import '../utils/dateutils.dart';
|
import '../utils/dateutils.dart';
|
||||||
|
@ -37,7 +39,20 @@ class NotificationControl extends StatelessWidget {
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
const iconSize = 50.0;
|
||||||
final manager = context.watch<NotificationsManager>();
|
final manager = context.watch<NotificationsManager>();
|
||||||
|
final fromIcon =
|
||||||
|
getIt<ConnectionsManager>().getById(notification.fromId).fold(
|
||||||
|
onSuccess: (connection) => CachedNetworkImage(
|
||||||
|
imageUrl: connection.avatarUrl.toString(),
|
||||||
|
width: iconSize,
|
||||||
|
height: iconSize),
|
||||||
|
onError: (error) => const SizedBox(
|
||||||
|
width: iconSize,
|
||||||
|
height: iconSize,
|
||||||
|
child: Icon(Icons.question_mark),
|
||||||
|
),
|
||||||
|
);
|
||||||
if (notification.type == NotificationType.reblog) {
|
if (notification.type == NotificationType.reblog) {
|
||||||
print(notification);
|
print(notification);
|
||||||
}
|
}
|
||||||
|
@ -48,7 +63,7 @@ class NotificationControl extends StatelessWidget {
|
||||||
context.pushNamed(ScreenPaths.userProfile,
|
context.pushNamed(ScreenPaths.userProfile,
|
||||||
params: {'id': notification.fromId});
|
params: {'id': notification.fromId});
|
||||||
},
|
},
|
||||||
child: Text(notification.fromName),
|
child: fromIcon,
|
||||||
),
|
),
|
||||||
title: GestureDetector(
|
title: GestureDetector(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
|
|
Loading…
Reference in a new issue