design: Adjust chat settings design
This commit is contained in:
parent
e11195f4fc
commit
e43a4ad65f
3 changed files with 23 additions and 23 deletions
|
|
@ -929,7 +929,9 @@
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
"hideUnknownEvents": "Hide unknown events",
|
"hideRedactedMessages": "Hide redacted messages",
|
||||||
|
"hideRedactedMessagesBody": "If someone redacts a message, this message won't be visible in the chat anymore.",
|
||||||
|
"hideInvalidOrUnknownMessageFormats": "Hide invalid or unknown message formats",
|
||||||
"@hideUnknownEvents": {
|
"@hideUnknownEvents": {
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
|
|
@ -1384,6 +1386,8 @@
|
||||||
"type": "text",
|
"type": "text",
|
||||||
"placeholders": {}
|
"placeholders": {}
|
||||||
},
|
},
|
||||||
|
"hideMemberChangesInPublicChats": "Hide member changes in public chats",
|
||||||
|
"hideMemberChangesInPublicChatsBody": "Do not show in the chat timeline if someone joins or leaves a public chat to improve readability.",
|
||||||
"overview": "Overview",
|
"overview": "Overview",
|
||||||
"notifyMeFor": "Notify me for",
|
"notifyMeFor": "Notify me for",
|
||||||
"passwordRecoverySettings": "Password recovery settings",
|
"passwordRecoverySettings": "Password recovery settings",
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,10 @@ class SettingsChatView extends StatelessWidget {
|
||||||
trailing: const Icon(Icons.chevron_right_outlined),
|
trailing: const Icon(Icons.chevron_right_outlined),
|
||||||
leading: const Icon(Icons.emoji_emotions_outlined),
|
leading: const Icon(Icons.emoji_emotions_outlined),
|
||||||
),
|
),
|
||||||
const Divider(),
|
Divider(
|
||||||
|
height: 1,
|
||||||
|
color: Theme.of(context).dividerColor,
|
||||||
|
),
|
||||||
SettingsSwitchListTile.adaptive(
|
SettingsSwitchListTile.adaptive(
|
||||||
title: L10n.of(context)!.formattedMessages,
|
title: L10n.of(context)!.formattedMessages,
|
||||||
subtitle: L10n.of(context)!.formattedMessagesDescription,
|
subtitle: L10n.of(context)!.formattedMessagesDescription,
|
||||||
|
|
@ -40,23 +43,25 @@ class SettingsChatView extends StatelessWidget {
|
||||||
defaultValue: AppConfig.renderHtml,
|
defaultValue: AppConfig.renderHtml,
|
||||||
),
|
),
|
||||||
SettingsSwitchListTile.adaptive(
|
SettingsSwitchListTile.adaptive(
|
||||||
title: L10n.of(context)!.hideRedactedEvents,
|
title: L10n.of(context)!.hideMemberChangesInPublicChats,
|
||||||
|
subtitle: L10n.of(context)!.hideMemberChangesInPublicChatsBody,
|
||||||
|
onChanged: (b) => AppConfig.hideUnimportantStateEvents = b,
|
||||||
|
storeKey: SettingKeys.hideUnimportantStateEvents,
|
||||||
|
defaultValue: AppConfig.hideUnimportantStateEvents,
|
||||||
|
),
|
||||||
|
SettingsSwitchListTile.adaptive(
|
||||||
|
title: L10n.of(context)!.hideRedactedMessages,
|
||||||
|
subtitle: L10n.of(context)!.hideRedactedMessagesBody,
|
||||||
onChanged: (b) => AppConfig.hideRedactedEvents = b,
|
onChanged: (b) => AppConfig.hideRedactedEvents = b,
|
||||||
storeKey: SettingKeys.hideRedactedEvents,
|
storeKey: SettingKeys.hideRedactedEvents,
|
||||||
defaultValue: AppConfig.hideRedactedEvents,
|
defaultValue: AppConfig.hideRedactedEvents,
|
||||||
),
|
),
|
||||||
SettingsSwitchListTile.adaptive(
|
SettingsSwitchListTile.adaptive(
|
||||||
title: L10n.of(context)!.hideUnknownEvents,
|
title: L10n.of(context)!.hideInvalidOrUnknownMessageFormats,
|
||||||
onChanged: (b) => AppConfig.hideUnknownEvents = b,
|
onChanged: (b) => AppConfig.hideUnknownEvents = b,
|
||||||
storeKey: SettingKeys.hideUnknownEvents,
|
storeKey: SettingKeys.hideUnknownEvents,
|
||||||
defaultValue: AppConfig.hideUnknownEvents,
|
defaultValue: AppConfig.hideUnknownEvents,
|
||||||
),
|
),
|
||||||
SettingsSwitchListTile.adaptive(
|
|
||||||
title: L10n.of(context)!.hideUnimportantStateEvents,
|
|
||||||
onChanged: (b) => AppConfig.hideUnimportantStateEvents = b,
|
|
||||||
storeKey: SettingKeys.hideUnimportantStateEvents,
|
|
||||||
defaultValue: AppConfig.hideUnimportantStateEvents,
|
|
||||||
),
|
|
||||||
if (PlatformInfos.isMobile)
|
if (PlatformInfos.isMobile)
|
||||||
SettingsSwitchListTile.adaptive(
|
SettingsSwitchListTile.adaptive(
|
||||||
title: L10n.of(context)!.autoplayImages,
|
title: L10n.of(context)!.autoplayImages,
|
||||||
|
|
@ -64,7 +69,10 @@ class SettingsChatView extends StatelessWidget {
|
||||||
storeKey: SettingKeys.autoplayImages,
|
storeKey: SettingKeys.autoplayImages,
|
||||||
defaultValue: AppConfig.autoplayImages,
|
defaultValue: AppConfig.autoplayImages,
|
||||||
),
|
),
|
||||||
const Divider(),
|
Divider(
|
||||||
|
height: 1,
|
||||||
|
color: Theme.of(context).dividerColor,
|
||||||
|
),
|
||||||
SettingsSwitchListTile.adaptive(
|
SettingsSwitchListTile.adaptive(
|
||||||
title: L10n.of(context)!.sendOnEnter,
|
title: L10n.of(context)!.sendOnEnter,
|
||||||
onChanged: (b) => AppConfig.sendOnEnter = b,
|
onChanged: (b) => AppConfig.sendOnEnter = b,
|
||||||
|
|
|
||||||
|
|
@ -18,10 +18,6 @@ extension IsStateExtension on Event {
|
||||||
(!AppConfig.hideUnknownEvents || isEventTypeKnown) &&
|
(!AppConfig.hideUnknownEvents || isEventTypeKnown) &&
|
||||||
// remove state events that we don't want to render
|
// remove state events that we don't want to render
|
||||||
(isState || !AppConfig.hideAllStateEvents) &&
|
(isState || !AppConfig.hideAllStateEvents) &&
|
||||||
// hide unimportant state events
|
|
||||||
(!AppConfig.hideUnimportantStateEvents ||
|
|
||||||
!isState ||
|
|
||||||
importantStateEvents.contains(type)) &&
|
|
||||||
// hide simple join/leave member events in public rooms
|
// hide simple join/leave member events in public rooms
|
||||||
(!AppConfig.hideUnimportantStateEvents ||
|
(!AppConfig.hideUnimportantStateEvents ||
|
||||||
type != EventTypes.RoomMember ||
|
type != EventTypes.RoomMember ||
|
||||||
|
|
@ -29,14 +25,6 @@ extension IsStateExtension on Event {
|
||||||
content.tryGet<String>('membership') == 'ban' ||
|
content.tryGet<String>('membership') == 'ban' ||
|
||||||
stateKey != senderId);
|
stateKey != senderId);
|
||||||
|
|
||||||
static const Set<String> importantStateEvents = {
|
|
||||||
EventTypes.Encryption,
|
|
||||||
EventTypes.RoomCreate,
|
|
||||||
EventTypes.RoomMember,
|
|
||||||
EventTypes.RoomTombstone,
|
|
||||||
EventTypes.CallInvite,
|
|
||||||
};
|
|
||||||
|
|
||||||
bool get isState => !{
|
bool get isState => !{
|
||||||
EventTypes.Message,
|
EventTypes.Message,
|
||||||
EventTypes.Sticker,
|
EventTypes.Sticker,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue