chore: Update Matrix SDK and refactor
This commit is contained in:
parent
ea874b3e43
commit
d343c71703
17 changed files with 91 additions and 50 deletions
|
|
@ -18,6 +18,7 @@ import 'package:fluffychat/pages/chat_list/chat_list_view.dart';
|
|||
import 'package:fluffychat/utils/famedlysdk_store.dart';
|
||||
import 'package:fluffychat/utils/localized_exception_extension.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/client_stories_extension.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/utils/platform_infos.dart';
|
||||
import '../../../utils/account_bundles.dart';
|
||||
import '../../utils/matrix_sdk_extensions/matrix_file_extension.dart';
|
||||
|
|
@ -508,7 +509,8 @@ class ChatListController extends State<ChatList>
|
|||
.map(
|
||||
(space) => AlertDialogAction(
|
||||
key: space.id,
|
||||
label: space.displayname,
|
||||
label: space
|
||||
.getLocalizedDisplayname(MatrixLocals(L10n.of(context)!)),
|
||||
),
|
||||
)
|
||||
.toList());
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ import 'package:fluffychat/pages/chat_list/space_view.dart';
|
|||
import 'package:fluffychat/pages/chat_list/stories_header.dart';
|
||||
import 'package:fluffychat/utils/adaptive_bottom_sheet.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/client_stories_extension.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/utils/stream_extension.dart';
|
||||
import 'package:fluffychat/widgets/avatar.dart';
|
||||
import 'package:fluffychat/widgets/profile_bottom_sheet.dart';
|
||||
|
|
@ -205,8 +206,11 @@ class ChatListViewBody extends StatelessWidget {
|
|||
);
|
||||
}
|
||||
i--;
|
||||
if (!rooms[i].displayname.toLowerCase().contains(
|
||||
controller.searchController.text.toLowerCase())) {
|
||||
if (!rooms[i]
|
||||
.getLocalizedDisplayname(MatrixLocals(L10n.of(context)!))
|
||||
.toLowerCase()
|
||||
.contains(
|
||||
controller.searchController.text.toLowerCase())) {
|
||||
return Container();
|
||||
}
|
||||
return ChatListItem(
|
||||
|
|
|
|||
|
|
@ -124,6 +124,9 @@ class ChatListItem extends StatelessWidget {
|
|||
? 20.0
|
||||
: 14.0
|
||||
: 0.0;
|
||||
final displayname = room.getLocalizedDisplayname(
|
||||
MatrixLocals(L10n.of(context)!),
|
||||
);
|
||||
return Material(
|
||||
color: selected
|
||||
? Theme.of(context).colorScheme.primaryContainer
|
||||
|
|
@ -144,14 +147,14 @@ class ChatListItem extends StatelessWidget {
|
|||
)
|
||||
: Avatar(
|
||||
mxContent: room.avatar,
|
||||
name: room.displayname,
|
||||
name: displayname,
|
||||
onTap: onLongPress,
|
||||
),
|
||||
title: Row(
|
||||
children: <Widget>[
|
||||
Expanded(
|
||||
child: Text(
|
||||
room.getLocalizedDisplayname(MatrixLocals(L10n.of(context)!)),
|
||||
displayname,
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
softWrap: false,
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import 'package:fluffychat/config/app_config.dart';
|
|||
import 'package:fluffychat/config/themes.dart';
|
||||
import 'package:fluffychat/pages/chat_list/chat_list.dart';
|
||||
import 'package:fluffychat/pages/chat_list/navi_rail_item.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/widgets/avatar.dart';
|
||||
import 'package:fluffychat/widgets/unread_rooms_badge.dart';
|
||||
import '../../widgets/matrix.dart';
|
||||
|
|
@ -140,13 +141,16 @@ class ChatListView extends StatelessWidget {
|
|||
controller.activeFilter == ActiveFilter.spaces &&
|
||||
rootSpaces[i].id == controller.activeSpaceId;
|
||||
return NaviRailItem(
|
||||
toolTip: rootSpaces[i].displayname,
|
||||
toolTip: rootSpaces[i].getLocalizedDisplayname(
|
||||
MatrixLocals(L10n.of(context)!)),
|
||||
isSelected: isSelected,
|
||||
onTap: () =>
|
||||
controller.setActiveSpace(rootSpaces[i].id),
|
||||
icon: Avatar(
|
||||
mxContent: rootSpaces[i].avatar,
|
||||
name: rootSpaces[i].displayname,
|
||||
name: rootSpaces[i].getLocalizedDisplayname(
|
||||
MatrixLocals(L10n.of(context)!),
|
||||
),
|
||||
size: 32,
|
||||
fontSize: 12,
|
||||
),
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import 'package:vrouter/vrouter.dart';
|
|||
import 'package:fluffychat/pages/chat_list/chat_list.dart';
|
||||
import 'package:fluffychat/pages/chat_list/chat_list_item.dart';
|
||||
import 'package:fluffychat/pages/chat_list/search_title.dart';
|
||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||
import 'package:fluffychat/widgets/avatar.dart';
|
||||
import '../../utils/localized_exception_extension.dart';
|
||||
import '../../widgets/matrix.dart';
|
||||
|
|
@ -85,7 +86,10 @@ class _SpaceViewState extends State<SpaceView> {
|
|||
activeSpaceId == null ? null : client.getRoomById(activeSpaceId);
|
||||
final action = await showModalActionSheet<SpaceChildContextAction>(
|
||||
context: context,
|
||||
title: spaceChild?.name ?? room?.displayname,
|
||||
title: spaceChild?.name ??
|
||||
room?.getLocalizedDisplayname(
|
||||
MatrixLocals(L10n.of(context)!),
|
||||
),
|
||||
message: spaceChild?.topic ?? room?.topic,
|
||||
actions: [
|
||||
if (room == null)
|
||||
|
|
@ -148,25 +152,31 @@ class _SpaceViewState extends State<SpaceView> {
|
|||
return ListView.builder(
|
||||
itemCount: rootSpaces.length,
|
||||
controller: widget.scrollController,
|
||||
itemBuilder: (context, i) => Material(
|
||||
color: Theme.of(context).backgroundColor,
|
||||
child: ListTile(
|
||||
leading: Avatar(
|
||||
mxContent: rootSpaces[i].avatar,
|
||||
name: rootSpaces[i].displayname,
|
||||
itemBuilder: (context, i) {
|
||||
final rootSpace = rootSpaces[i];
|
||||
final displayname = rootSpace.getLocalizedDisplayname(
|
||||
MatrixLocals(L10n.of(context)!),
|
||||
);
|
||||
return Material(
|
||||
color: Theme.of(context).backgroundColor,
|
||||
child: ListTile(
|
||||
leading: Avatar(
|
||||
mxContent: rootSpace.avatar,
|
||||
name: displayname,
|
||||
),
|
||||
title: Text(
|
||||
displayname,
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
subtitle: Text(L10n.of(context)!
|
||||
.numChats(rootSpace.spaceChildren.length.toString())),
|
||||
onTap: () => widget.controller.setActiveSpace(rootSpace.id),
|
||||
onLongPress: () => _onSpaceChildContextMenu(null, rootSpace),
|
||||
trailing: const Icon(Icons.chevron_right_outlined),
|
||||
),
|
||||
title: Text(
|
||||
rootSpaces[i].displayname,
|
||||
maxLines: 1,
|
||||
overflow: TextOverflow.ellipsis,
|
||||
),
|
||||
subtitle: Text(L10n.of(context)!
|
||||
.numChats(rootSpaces[i].spaceChildren.length.toString())),
|
||||
onTap: () => widget.controller.setActiveSpace(rootSpaces[i].id),
|
||||
onLongPress: () => _onSpaceChildContextMenu(null, rootSpaces[i]),
|
||||
trailing: const Icon(Icons.chevron_right_outlined),
|
||||
),
|
||||
),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
return FutureBuilder<GetSpaceHierarchyResponse>(
|
||||
|
|
@ -218,7 +228,9 @@ class _SpaceViewState extends State<SpaceView> {
|
|||
),
|
||||
title: Text(parentSpace == null
|
||||
? L10n.of(context)!.allSpaces
|
||||
: parentSpace.displayname),
|
||||
: parentSpace.getLocalizedDisplayname(
|
||||
MatrixLocals(L10n.of(context)!),
|
||||
)),
|
||||
trailing: IconButton(
|
||||
icon: snapshot.connectionState != ConnectionState.done
|
||||
? const CircularProgressIndicator.adaptive()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue