@ -73,25 +73,29 @@ 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:
Text ( L10n . of ( context ) ! . noSearchResult ) ,
)
: ListView . builder (
scrollDirection: Axis . horizontal ,
scrollDirection: Axis . horizontal ,
itemCount: roomSearchResult . chunk . length ,
itemCount: roomSearchResult . chunk . length ,
itemBuilder: ( context , i ) = > _SearchItem (
itemBuilder: ( context , i ) = > _SearchItem (
title: roomSearchResult . chunk [ i ] . name ? ?
title: roomSearchResult . chunk [ i ] . name ? ?
roomSearchResult
roomSearchResult . chunk [ i ]
. chunk [ i ] . canonicalAlias ? . localpart ? ?
. canonicalAlias ? . localpart ? ?
L10n . of ( context ) ! . group ,
L10n . of ( context ) ! . group ,
avatar: roomSearchResult . chunk [ i ] . avatarUrl ,
avatar:
roomSearchResult . chunk [ i ] . avatarUrl ,
onPressed: ( ) = > showModalBottomSheet (
onPressed: ( ) = > showModalBottomSheet (
context: context ,
context: context ,
builder: ( c ) = > PublicRoomBottomSheet (
builder: ( c ) = > PublicRoomBottomSheet (
@ -105,43 +109,45 @@ class ChatListViewBody extends StatelessWidget {
) ,
) ,
) ,
) ,
) ,
) ,
] ,
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:
Text ( L10n . of ( context ) ! . noSearchResult ) ,
)
: ListView . builder (
scrollDirection: Axis . horizontal ,
scrollDirection: Axis . horizontal ,
itemCount: userSearchResult . results . length ,
itemCount: userSearchResult . results . length ,
itemBuilder: ( context , i ) = > _SearchItem (
itemBuilder: ( context , i ) = > _SearchItem (
title:
title: userSearchResult
userSearchResult . results [ i ] . displayName ? ?
. results [ i ] . displayName ? ?
userSearchResult
userSearchResult
. results [ i ] . userId . localpart ? ?
. results [ i ] . userId . localpart ? ?
L10n . of ( context ) ! . unknownDevice ,
L10n . of ( context ) ! . unknownDevice ,
avatar: userSearchResult . results [ i ] . avatarUrl ,
avatar:
userSearchResult . results [ i ] . avatarUrl ,
onPressed: ( ) = > showModalBottomSheet (
onPressed: ( ) = > showModalBottomSheet (
context: context ,
context: context ,
builder: ( c ) = > ProfileBottomSheet (
builder: ( c ) = > ProfileBottomSheet (
userId: userSearchResult . results [ i ] . userId ,
userId: userSearchResult
. results [ i ] . userId ,
outerContext: context ,
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 ,
) ,
) ,