feat(ui): Also make the profile picture summon the profile page
This commit is contained in:
		
							parent
							
								
									7746784949
								
							
						
					
					
						commit
						db4b69a24a
					
				| @ -1,6 +1,5 @@ | |||||||
| import 'package:flutter/material.dart'; | import 'package:flutter/material.dart'; | ||||||
| import 'package:flutter_bloc/flutter_bloc.dart'; | import 'package:flutter_bloc/flutter_bloc.dart'; | ||||||
| import 'package:get_it/get_it.dart'; |  | ||||||
| import 'package:moxxmpp/moxxmpp.dart'; | import 'package:moxxmpp/moxxmpp.dart'; | ||||||
| import 'package:moxxyv2/i18n/strings.g.dart'; | import 'package:moxxyv2/i18n/strings.g.dart'; | ||||||
| import 'package:moxxyv2/ui/bloc/conversation_bloc.dart'; | import 'package:moxxyv2/ui/bloc/conversation_bloc.dart'; | ||||||
| @ -80,6 +79,16 @@ class ConversationTopbar extends StatelessWidget implements PreferredSizeWidget | |||||||
|     return state != ChatState.inactive && state != ChatState.gone; |     return state != ChatState.inactive && state != ChatState.gone; | ||||||
|   } |   } | ||||||
| 
 | 
 | ||||||
|  |   /// Summon the profile page of the currently open conversation | ||||||
|  |   void _openProfile(BuildContext context, ConversationState state) { | ||||||
|  |     context.read<profile.ProfileBloc>().add( | ||||||
|  |       profile.ProfilePageRequestedEvent( | ||||||
|  |         false, | ||||||
|  |         conversation: state.conversation, | ||||||
|  |       ), | ||||||
|  |     ); | ||||||
|  |   } | ||||||
|  |    | ||||||
|   @override |   @override | ||||||
|   Widget build(BuildContext context) { |   Widget build(BuildContext context) { | ||||||
|     return BlocBuilder<ConversationBloc, ConversationState>( |     return BlocBuilder<ConversationBloc, ConversationState>( | ||||||
| @ -96,10 +105,12 @@ class ConversationTopbar extends StatelessWidget implements PreferredSizeWidget | |||||||
|                   direction: Axis.horizontal, |                   direction: Axis.horizontal, | ||||||
|                   children: [ |                   children: [ | ||||||
|                     const BackButton(), |                     const BackButton(), | ||||||
|                     Hero( |                     InkWell( | ||||||
|  |                       onTap: () => _openProfile(context, state), | ||||||
|  |                       child: Hero( | ||||||
|                         tag: 'conversation_profile_picture', |                         tag: 'conversation_profile_picture', | ||||||
|                         child: Material( |                         child: Material( | ||||||
|                         color: const Color.fromRGBO(0, 0, 0, 0), |                           color: Colors.transparent, | ||||||
|                           child: RebuildOnContactIntegrationChange( |                           child: RebuildOnContactIntegrationChange( | ||||||
|                             builder: () => AvatarWrapper( |                             builder: () => AvatarWrapper( | ||||||
|                               radius: 25, |                               radius: 25, | ||||||
| @ -109,14 +120,10 @@ class ConversationTopbar extends StatelessWidget implements PreferredSizeWidget | |||||||
|                           ), |                           ), | ||||||
|                         ), |                         ), | ||||||
|                       ), |                       ), | ||||||
|  |                     ), | ||||||
|                     Expanded( |                     Expanded( | ||||||
|                       child: InkWell( |                       child: InkWell( | ||||||
|                         onTap: () => GetIt.I.get<profile.ProfileBloc>().add( |                         onTap: () => _openProfile(context, state), | ||||||
|                           profile.ProfilePageRequestedEvent( |  | ||||||
|                             false, |  | ||||||
|                             conversation: context.read<ConversationBloc>().state.conversation, |  | ||||||
|                           ), |  | ||||||
|                         ), |  | ||||||
|                         child: Stack( |                         child: Stack( | ||||||
|                           children: [ |                           children: [ | ||||||
|                             AnimatedPositioned( |                             AnimatedPositioned( | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user