diff --git a/assets/logo/background.png b/assets/logo/background.png new file mode 100644 index 0000000..8da3e97 Binary files /dev/null and b/assets/logo/background.png differ diff --git a/lib/l10n/intl_pt_BR.arb b/lib/l10n/intl_pt_BR.arb index 5139f73..94bd7c5 100644 --- a/lib/l10n/intl_pt_BR.arb +++ b/lib/l10n/intl_pt_BR.arb @@ -2010,7 +2010,7 @@ "select": "Selecionar", "pleaseChooseAStrongPassword": "Escolha uma senha forte", "blockUsername": "Ignorar nome de usuário", - "addChatOrSubSpace": "Adicionar conversa ou subespaço", + "addChatOrSubSpace": "Criar grupo aqui", "groupName": "Nome do grupo", "leaveEmptyToClearStatus": "Deixe em branco para limpar seu estado.", "joinSpace": "Entrar no espaço", diff --git a/lib/pages/chat/chat_event_list.dart b/lib/pages/chat/chat_event_list.dart index 09cb4de..2e6af73 100644 --- a/lib/pages/chat/chat_event_list.dart +++ b/lib/pages/chat/chat_event_list.dart @@ -13,7 +13,6 @@ import 'package:tatchat/pages/chat/encryption_info.dart'; import 'package:tatchat/pages/chat/events/message.dart'; import 'package:tatchat/pages/chat/seen_by_row.dart'; import 'package:tatchat/pages/chat/typing_indicators.dart'; -import 'package:tatchat/utils/account_config.dart'; import 'package:tatchat/utils/matrix_sdk_extensions/filtered_timeline_extension.dart'; import 'package:tatchat/utils/platform_infos.dart'; import 'package:material_ui/material_ui.dart'; @@ -53,8 +52,7 @@ class ChatEventList extends StatelessWidget { thisEventsKeyMap[events[i].eventId] = i; } - final hasWallpaper = - controller.room.client.applicationAccountConfig.wallpaperUrl != null; + const hasWallpaper = true; return SelectionArea( child: MediaQuery( diff --git a/lib/pages/chat/chat_view.dart b/lib/pages/chat/chat_view.dart index 8bc00ef..39a2517 100644 --- a/lib/pages/chat/chat_view.dart +++ b/lib/pages/chat/chat_view.dart @@ -352,25 +352,38 @@ class ChatView extends StatelessWidget { top: false, child: Stack( children: [ - if (accountConfig.wallpaperUrl != null) - Opacity( - opacity: accountConfig.wallpaperOpacity ?? 0.5, - child: ImageFiltered( - imageFilter: ui.ImageFilter.blur( - sigmaX: accountConfig.wallpaperBlur ?? 0.0, - sigmaY: accountConfig.wallpaperBlur ?? 0.0, - ), - child: MxcImage( - cacheKey: accountConfig.wallpaperUrl.toString(), - uri: accountConfig.wallpaperUrl, - fit: BoxFit.cover, - height: MediaQuery.sizeOf(context).height, - width: MediaQuery.sizeOf(context).width, - isThumbnail: false, - placeholder: (_) => Container(), - ), + Opacity( + opacity: accountConfig.wallpaperUrl != null + ? accountConfig.wallpaperOpacity ?? 0.5 + : 0.3, + child: ImageFiltered( + imageFilter: ui.ImageFilter.blur( + sigmaX: accountConfig.wallpaperUrl != null + ? accountConfig.wallpaperBlur ?? 0.0 + : 0.0, + sigmaY: accountConfig.wallpaperUrl != null + ? accountConfig.wallpaperBlur ?? 0.0 + : 0.0, ), + child: accountConfig.wallpaperUrl != null + ? MxcImage( + cacheKey: accountConfig.wallpaperUrl + .toString(), + uri: accountConfig.wallpaperUrl, + fit: BoxFit.cover, + height: MediaQuery.sizeOf(context).height, + width: MediaQuery.sizeOf(context).width, + isThumbnail: false, + placeholder: (_) => Container(), + ) + : Image.asset( + './assets/logo/background.png', + fit: BoxFit.cover, + height: MediaQuery.sizeOf(context).height, + width: MediaQuery.sizeOf(context).width, + ), ), + ), GestureDetector( onTap: controller.clearSingleSelectedEvent, child: ChatEventList(controller: controller), diff --git a/lib/pages/chat_list/navi_rail_item.dart b/lib/pages/chat_list/navi_rail_item.dart index 2d7bb75..93a110b 100644 --- a/lib/pages/chat_list/navi_rail_item.dart +++ b/lib/pages/chat_list/navi_rail_item.dart @@ -4,11 +4,10 @@ // SPDX-License-Identifier: AGPL-3.0-or-later import 'package:badges/badges.dart'; -import 'package:tatchat/config/app_config.dart'; -import 'package:tatchat/widgets/hover_builder.dart'; -import 'package:tatchat/widgets/unread_rooms_badge.dart'; import 'package:material_ui/material_ui.dart'; import 'package:matrix/matrix.dart'; +import 'package:tatchat/widgets/hover_builder.dart'; +import 'package:tatchat/widgets/unread_rooms_badge.dart'; import '../../config/themes.dart'; @@ -33,7 +32,7 @@ class NaviRailItem extends StatelessWidget { Widget build(BuildContext context) { final theme = Theme.of(context); - final borderRadius = BorderRadius.circular(AppConfig.borderRadius); + final borderRadius = BorderRadius.circular(1000); final icon = isSelected ? selectedIcon ?? this.icon : this.icon; final unreadBadgeFilter = this.unreadBadgeFilter; return HoverBuilder( @@ -73,7 +72,7 @@ class NaviRailItem extends StatelessWidget { borderRadius: borderRadius, color: isSelected ? theme.colorScheme.secondaryContainer - : Colors.transparent, + : theme.colorScheme.surfaceContainerHighest, child: Tooltip( message: toolTip, child: InkWell( diff --git a/lib/pages/chat_list/sidebar.dart b/lib/pages/chat_list/sidebar.dart index 54e9426..870254d 100644 --- a/lib/pages/chat_list/sidebar.dart +++ b/lib/pages/chat_list/sidebar.dart @@ -36,19 +36,25 @@ class Sidebar extends StatelessWidget { Padding( padding: const EdgeInsets.symmetric( horizontal: 16, - vertical: 14, + vertical: 4, ), child: Row( children: [ - Image.asset( - './assets/logo/mini/logo_mini.png', - width: 28, - height: 28, + ColorFiltered( + colorFilter: ColorFilter.mode( + theme.colorScheme.primary, + BlendMode.srcIn, + ), + child: Image.asset( + './assets/logo/mini/logo_mini.png', + width: 58, + height: 58, + ), ), const SizedBox(width: 10), Text( 'TatuChat', - style: theme.textTheme.titleMedium?.copyWith( + style: theme.textTheme.titleLarge?.copyWith( fontWeight: FontWeight.bold, color: theme.colorScheme.onSurface, ), diff --git a/lib/pages/chat_list/space_view.dart b/lib/pages/chat_list/space_view.dart index be1bed5..ff57630 100644 --- a/lib/pages/chat_list/space_view.dart +++ b/lib/pages/chat_list/space_view.dart @@ -375,71 +375,43 @@ class _SpaceViewState extends State { theme.colorScheme.onPrimaryContainer, ), ), - suffixIcon: PopupMenuButton( - icon: Avatar( - size: avatarSize, - mxContent: room.avatar, - name: displayname, - shapeBorder: RoundedSuperellipseBorder( - side: BorderSide( - width: 1, - color: theme.dividerColor, - ), - borderRadius: BorderRadius.circular( - AppConfig.spaceBorderRadius, - ), - ), - borderRadius: BorderRadius.circular( - AppConfig.spaceBorderRadius, - ), - ), - useRootNavigator: true, - onSelected: _onSpaceAction, - itemBuilder: (context) => [ - if (isAdmin) - PopupMenuItem( - value: SpaceActions.addChild, - child: ListTile( - leading: Icon(Icons.edit_square), - title: Text( - L10n.of( - context, - ).addChatOrSubSpace, - ), - ), - ), - PopupMenuItem( - value: SpaceActions.settings, - child: ListTile( - leading: Icon( - Icons.settings_outlined, - ), - title: Text( - L10n.of(context).settings, - ), - ), - ), - PopupMenuItem( - value: SpaceActions.leave, - child: ListTile( - leading: Icon(Icons.delete_outlined), - title: Text(L10n.of(context).leave), - ), - ), - ], - ), + ), ), ), const SizedBox(width: 8), - if (isAdmin) - IconButton.filledTonal( - tooltip: L10n.of(context).addChatOrSubSpace, - onPressed: () => context.go( - '/rooms/newgroup?space_id=${widget.spaceId}', + PopupMenuButton( + tooltip: L10n.of(context).settings, + useRootNavigator: true, + onSelected: _onSpaceAction, + itemBuilder: (context) => [ + if (isAdmin) + PopupMenuItem( + value: SpaceActions.addChild, + child: ListTile( + leading: Icon(Icons.add_circle_outline_rounded), + title: Text( + L10n.of(context).addChatOrSubSpace, + ), + ), + ), + PopupMenuItem( + value: SpaceActions.settings, + child: ListTile( + leading: Icon(Icons.settings_outlined,), + title: Text(L10n.of(context).settings), + ), ), - icon: const Icon(Icons.add), - ), + PopupMenuItem( + value: SpaceActions.leave, + child: ListTile( + leading: Icon(Icons.delete_outlined,color: theme.colorScheme.error ), + title: Text(L10n.of(context).leave, style: TextStyle(color: theme.colorScheme.error),), + ), + ), + ], + icon: const Icon(Icons.settings_outlined), + ), ], ), ), @@ -672,21 +644,6 @@ class _SpaceViewState extends State { bottom: 12, child: Row( children: [ - Avatar( - mxContent: avatar, - name: displayname, - size: 56, - shapeBorder: RoundedSuperellipseBorder( - side: BorderSide( - width: 2, - color: theme.colorScheme.surface, - ), - borderRadius: BorderRadius.circular( - AppConfig.spaceBorderRadius, - ), - ), - ), - const SizedBox(width: 12), Expanded( child: Text( displayname, diff --git a/lib/pages/chat_list/tabs/spaces_tab.dart b/lib/pages/chat_list/tabs/spaces_tab.dart index 5c7bbeb..0a9d35b 100644 --- a/lib/pages/chat_list/tabs/spaces_tab.dart +++ b/lib/pages/chat_list/tabs/spaces_tab.dart @@ -136,6 +136,7 @@ class _SpacesTabState extends State { child: Icon(Icons.add), ), toolTip: L10n.of(context).createNewSpace, + ), const SizedBox(height: 8), ],