Fix emoji overflow on message actions screen (#375)

* Fix emoji overflow on message actions screen

* Update CHANGELOG.md

* Fix new chat icon size and padding

* Fix slate chat header back button size and padding
This commit is contained in:
emir yorulmaz
2026-02-23 15:20:22 +03:00
committed by GitHub
parent 884be200eb
commit 1295265ba4
5 changed files with 43 additions and 35 deletions
+1
View File
@@ -86,6 +86,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Fixed
- Fix emoji overflow on message actions screen [PR #375](https://github.com/marmot-protocol/whitenoise/pull/375)
- Fix app crashes on upgrade from older versions by wiping incompatible data before Rust initialization [PR #312](https://github.com/marmot-protocol/whitenoise/pull/312)
- Disable foreground task plugin receivers to prevent crashes on package update [PR #312](https://github.com/marmot-protocol/whitenoise/pull/312)
- Adds internet permission in android manifest [PR #7](https://github.com/marmot-protocol/sloth/pull/7)
+31 -28
View File
@@ -219,7 +219,6 @@ class MessageActionsModal extends StatelessWidget {
'🤣',
'🔥',
'🦥',
'😌',
];
@override
@@ -249,26 +248,28 @@ class MessageActionsModal extends StatelessWidget {
),
SizedBox(height: 16.h),
Row(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
...reactions.map(
(emoji) => _ReactionButton(
key: Key('reaction_$emoji'),
colors: colors,
emoji: emoji,
isSelected: selectedEmojis.contains(emoji),
onTap: () => onReaction(emoji),
(emoji) => Expanded(
child: _ReactionButton(
key: Key('reaction_$emoji'),
colors: colors,
emoji: emoji,
isSelected: selectedEmojis.contains(emoji),
onTap: () => onReaction(emoji),
),
),
),
GestureDetector(
key: const Key('emoji_picker_button'),
onTap: onEmojiPicker,
child: Container(
padding: EdgeInsets.all(8.w),
child: WnIcon(
WnIcons.addEmoji,
color: colors.backgroundContentPrimary,
size: 20.sp,
Expanded(
child: GestureDetector(
key: const Key('emoji_picker_button'),
onTap: onEmojiPicker,
child: Center(
child: WnIcon(
WnIcons.addEmoji,
color: colors.backgroundContentPrimary,
size: 20.sp,
),
),
),
),
@@ -332,17 +333,19 @@ class _ReactionButton extends StatelessWidget {
Widget build(BuildContext context) {
return GestureDetector(
onTap: onTap,
child: Container(
padding: EdgeInsets.all(8.w),
decoration: isSelected
? BoxDecoration(
color: colors.fillTertiaryActive,
borderRadius: BorderRadius.circular(8.r),
)
: null,
child: Text(
emoji,
style: context.typographyScaled.medium20,
child: Center(
child: Container(
padding: EdgeInsets.all(8.w),
decoration: isSelected
? BoxDecoration(
color: colors.fillTertiaryActive,
borderRadius: BorderRadius.circular(8.r),
)
: null,
child: Text(
emoji,
style: context.typographyScaled.medium20,
),
),
),
);
+1
View File
@@ -28,6 +28,7 @@ class ChatListHeader extends HookConsumerWidget {
action: WnIconButton(
key: const Key('chat_add_button'),
icon: WnIcons.newChat,
size: WnIconButtonSize.size56,
onPressed: () => Routes.pushToUserSearch(context),
),
);
+1 -1
View File
@@ -45,7 +45,7 @@ class WnSlateAvatarHeader extends StatelessWidget {
if (action != null)
Container(
height: 80.h,
padding: EdgeInsets.only(left: 16.w, right: 24.w),
padding: EdgeInsets.only(left: 16.w, right: 12.w),
alignment: Alignment.centerRight,
child: action!,
),
+9 -6
View File
@@ -3,7 +3,6 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:whitenoise/theme.dart';
import 'package:whitenoise/widgets/wn_avatar.dart';
import 'package:whitenoise/widgets/wn_icon.dart';
import 'package:whitenoise/widgets/wn_icon_button.dart';
class WnSlateChatHeader extends StatelessWidget {
const WnSlateChatHeader({
@@ -28,14 +27,18 @@ class WnSlateChatHeader extends StatelessWidget {
final colors = context.colors;
return Padding(
padding: EdgeInsets.fromLTRB(16.w, 16.h, 24.w, 16.h),
padding: EdgeInsets.fromLTRB(24.w, 16.h, 24.w, 16.h),
child: Row(
spacing: 8.w,
spacing: 16.w,
children: [
WnIconButton(
GestureDetector(
key: const Key('back_button'),
onPressed: onBack,
icon: WnIcons.chevronLeft,
onTap: onBack,
child: WnIcon(
WnIcons.chevronLeft,
size: 24.w,
color: colors.backgroundContentSecondary,
),
),
GestureDetector(
key: const Key('header_avatar_tap_area'),