@ -73,75 +73,81 @@ class ChatListViewBody extends StatelessWidget {
return Column (
return Column (
mainAxisSize: MainAxisSize . min ,
mainAxisSize: MainAxisSize . min ,
children: [
children: [
if ( roomSearchResult ! = null ) . . . [
if ( controller. isSearchMode ) . . . [
SearchTitle (
SearchTitle (
title: L10n . of ( context ) ! . publicRooms ,
title: L10n . of ( context ) ! . publicRooms ,
icon: const Icon ( Icons . explore_outlined ) ,
icon: const Icon ( Icons . explore_outlined ) ,
) ,
) ,
AnimatedContainer (
SizedBox (
height: roomSearchResult . chunk . isEmpty ? 0 : 106 ,
height: 106 ,
duration: const Duration ( milliseconds: 250 ) ,
child: roomSearchResult = = null | |
clipBehavior: Clip . hardEdge ,
roomSearchResult . chunk . isEmpty
decoration: const BoxDecoration ( ) ,
? Center (
child: ListView . builder (
child:
scrollDirection: Axis . horizontal ,
Text ( L10n . of ( context ) ! . noSearchResult ) ,
itemCount: roomSearchResult . chunk . length ,
)
itemBuilder: ( context , i ) = > _SearchItem (
: ListView . builder (
title: roomSearchResult . chunk [ i ] . name ? ?
scrollDirection: Axis . horizontal ,
roomSearchResult
itemCount: roomSearchResult . chunk . length ,
. chunk [ i ] . canonicalAlias ? . localpart ? ?
itemBuilder: ( context , i ) = > _SearchItem (
L10n . of ( context ) ! . group ,
title: roomSearchResult . chunk [ i ] . name ? ?
avatar: roomSearchResult . chunk [ i ] . avatarUrl ,
roomSearchResult . chunk [ i ]
onPressed: ( ) = > showModalBottomSheet (
. canonicalAlias ? . localpart ? ?
context: context ,
L10n . of ( context ) ! . group ,
builder: ( c ) = > PublicRoomBottomSheet (
avatar:
roomAlias: roomSearchResult
roomSearchResult . chunk [ i ] . avatarUrl ,
. chunk [ i ] . canonicalAlias ? ?
onPressed: ( ) = > showModalBottomSheet (
roomSearchResult . chunk [ i ] . roomId ,
context: context ,
outerContext: context ,
builder: ( c ) = > PublicRoomBottomSheet (
chunk: roomSearchResult . chunk [ i ] ,
roomAlias: roomSearchResult
. chunk [ i ] . canonicalAlias ? ?
roomSearchResult . chunk [ i ] . roomId ,
outerContext: context ,
chunk: roomSearchResult . chunk [ i ] ,
) ,
) ,
) ,
) ,
) ,
) ,
) ,
) ,
) ,
) ,
] ,
if ( userSearchResult ! = null ) . . . [
SearchTitle (
SearchTitle (
title: L10n . of ( context ) ! . users ,
title: L10n . of ( context ) ! . users ,
icon: const Icon ( Icons . group_outlined ) ,
icon: const Icon ( Icons . group_outlined ) ,
) ,
) ,
AnimatedContainer (
SizedBox (
height: userSearchResult . results . isEmpty ? 0 : 106 ,
height: 106 ,
duration: const Duration ( milliseconds: 250 ) ,
child: userSearchResult = = null | |
clipBehavior: Clip . hardEdge ,
userSearchResult . results . isEmpty
decoration: const BoxDecoration ( ) ,
? Center (
child: ListView . builder (
child:
scrollDirection: Axis . horizontal ,
Text ( L10n . of ( context ) ! . noSearchResult ) ,
itemCount: userSearchResult . results . length ,
)
itemBuilder: ( context , i ) = > _SearchItem (
: ListView . builder (
title:
scrollDirection: Axis . horizontal ,
userSearchResult . results [ i ] . displayName ? ?
itemCount: userSearchResult . results . length ,
userSearchResult
itemBuilder: ( context , i ) = > _SearchItem (
. results [ i ] . userId . localpart ? ?
title: userSearchResult
L10n . of ( context ) ! . unknownDevice ,
. results [ i ] . displayName ? ?
avatar: userSearchResult . results [ i ] . avatarUrl ,
userSearchResult
onPressed: ( ) = > showModalBottomSheet (
. results [ i ] . userId . localpart ? ?
context: context ,
L10n . of ( context ) ! . unknownDevice ,
builder: ( c ) = > ProfileBottomSheet (
avatar:
userId: userSearchResult . results [ i ] . userId ,
userSearchResult . results [ i ] . avatarUrl ,
outerContext: context ,
onPressed: ( ) = > showModalBottomSheet (
context: context ,
builder: ( c ) = > ProfileBottomSheet (
userId: userSearchResult
. results [ i ] . userId ,
outerContext: context ,
) ,
) ,
) ,
) ,
) ,
) ,
) ,
) ,
) ,
) ,
] ,
if ( controller . isSearchMode )
SearchTitle (
SearchTitle (
title: L10n . of ( context ) ! . stories ,
title: L10n . of ( context ) ! . stories ,
icon: const Icon ( Icons . camera_alt_outlined ) ,
icon: const Icon ( Icons . camera_alt_outlined ) ,
) ,
) ,
] ,
if ( displayStoriesHeader )
if ( displayStoriesHeader )
StoriesHeader (
StoriesHeader (
key: const Key ( ' stories_header ' ) ,
key: const Key ( ' stories_header ' ) ,
@ -319,6 +325,7 @@ class _SearchItem extends StatelessWidget {
title ,
title ,
maxLines: 2 ,
maxLines: 2 ,
textAlign: TextAlign . center ,
textAlign: TextAlign . center ,
overflow: TextOverflow . ellipsis ,
style: const TextStyle (
style: const TextStyle (
fontSize: 12 ,
fontSize: 12 ,
) ,
) ,