mirror of
https://github.com/krille-chan/fluffychat
synced 2024-09-10 04:25:15 +00:00
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",
|
||||
"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": {
|
||||
"type": "text",
|
||||
"placeholders": {}
|
||||
|
@ -1384,6 +1386,8 @@
|
|||
"type": "text",
|
||||
"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",
|
||||
"notifyMeFor": "Notify me for",
|
||||
"passwordRecoverySettings": "Password recovery settings",
|
||||
|
|
|
@ -31,7 +31,10 @@ class SettingsChatView extends StatelessWidget {
|
|||
trailing: const Icon(Icons.chevron_right_outlined),
|
||||
leading: const Icon(Icons.emoji_emotions_outlined),
|
||||
),
|
||||
const Divider(),
|
||||
Divider(
|
||||
height: 1,
|
||||
color: Theme.of(context).dividerColor,
|
||||
),
|
||||
SettingsSwitchListTile.adaptive(
|
||||
title: L10n.of(context)!.formattedMessages,
|
||||
subtitle: L10n.of(context)!.formattedMessagesDescription,
|
||||
|
@ -40,23 +43,25 @@ class SettingsChatView extends StatelessWidget {
|
|||
defaultValue: AppConfig.renderHtml,
|
||||
),
|
||||
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,
|
||||
storeKey: SettingKeys.hideRedactedEvents,
|
||||
defaultValue: AppConfig.hideRedactedEvents,
|
||||
),
|
||||
SettingsSwitchListTile.adaptive(
|
||||
title: L10n.of(context)!.hideUnknownEvents,
|
||||
title: L10n.of(context)!.hideInvalidOrUnknownMessageFormats,
|
||||
onChanged: (b) => AppConfig.hideUnknownEvents = b,
|
||||
storeKey: SettingKeys.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)
|
||||
SettingsSwitchListTile.adaptive(
|
||||
title: L10n.of(context)!.autoplayImages,
|
||||
|
@ -64,7 +69,10 @@ class SettingsChatView extends StatelessWidget {
|
|||
storeKey: SettingKeys.autoplayImages,
|
||||
defaultValue: AppConfig.autoplayImages,
|
||||
),
|
||||
const Divider(),
|
||||
Divider(
|
||||
height: 1,
|
||||
color: Theme.of(context).dividerColor,
|
||||
),
|
||||
SettingsSwitchListTile.adaptive(
|
||||
title: L10n.of(context)!.sendOnEnter,
|
||||
onChanged: (b) => AppConfig.sendOnEnter = b,
|
||||
|
|
|
@ -18,10 +18,6 @@ extension IsStateExtension on Event {
|
|||
(!AppConfig.hideUnknownEvents || isEventTypeKnown) &&
|
||||
// remove state events that we don't want to render
|
||||
(isState || !AppConfig.hideAllStateEvents) &&
|
||||
// hide unimportant state events
|
||||
(!AppConfig.hideUnimportantStateEvents ||
|
||||
!isState ||
|
||||
importantStateEvents.contains(type)) &&
|
||||
// hide simple join/leave member events in public rooms
|
||||
(!AppConfig.hideUnimportantStateEvents ||
|
||||
type != EventTypes.RoomMember ||
|
||||
|
@ -29,14 +25,6 @@ extension IsStateExtension on Event {
|
|||
content.tryGet<String>('membership') == 'ban' ||
|
||||
stateKey != senderId);
|
||||
|
||||
static const Set<String> importantStateEvents = {
|
||||
EventTypes.Encryption,
|
||||
EventTypes.RoomCreate,
|
||||
EventTypes.RoomMember,
|
||||
EventTypes.RoomTombstone,
|
||||
EventTypes.CallInvite,
|
||||
};
|
||||
|
||||
bool get isState => !{
|
||||
EventTypes.Message,
|
||||
EventTypes.Sticker,
|
||||
|
|
Loading…
Reference in a new issue