|
|
|
|
@ -40,85 +40,66 @@ class ChatEmojiPicker extends StatelessWidget {
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
Expanded(
|
|
|
|
|
child:
|
|
|
|
|
// #Pangea
|
|
|
|
|
// Display the button to close the emoji picker
|
|
|
|
|
// over the emoji picker
|
|
|
|
|
Stack(
|
|
|
|
|
child: TabBarView(
|
|
|
|
|
children: [
|
|
|
|
|
// Pangea#
|
|
|
|
|
TabBarView(
|
|
|
|
|
children: [
|
|
|
|
|
EmojiPicker(
|
|
|
|
|
onEmojiSelected: controller.onEmojiSelected,
|
|
|
|
|
onBackspacePressed:
|
|
|
|
|
controller.emojiPickerBackspace,
|
|
|
|
|
config: Config(
|
|
|
|
|
emojiViewConfig: EmojiViewConfig(
|
|
|
|
|
noRecents: const NoRecent(),
|
|
|
|
|
backgroundColor: Theme.of(context)
|
|
|
|
|
.colorScheme
|
|
|
|
|
.onInverseSurface,
|
|
|
|
|
),
|
|
|
|
|
bottomActionBarConfig:
|
|
|
|
|
const BottomActionBarConfig(
|
|
|
|
|
enabled: false,
|
|
|
|
|
),
|
|
|
|
|
categoryViewConfig: CategoryViewConfig(
|
|
|
|
|
backspaceColor: theme.colorScheme.primary,
|
|
|
|
|
iconColor: theme.colorScheme.primary
|
|
|
|
|
.withOpacity(0.5),
|
|
|
|
|
iconColorSelected:
|
|
|
|
|
theme.colorScheme.primary,
|
|
|
|
|
indicatorColor: theme.colorScheme.primary,
|
|
|
|
|
),
|
|
|
|
|
skinToneConfig: SkinToneConfig(
|
|
|
|
|
dialogBackgroundColor: Color.lerp(
|
|
|
|
|
theme.colorScheme.surface,
|
|
|
|
|
theme.colorScheme.primaryContainer,
|
|
|
|
|
0.75,
|
|
|
|
|
)!,
|
|
|
|
|
indicatorColor: theme.colorScheme.onSurface,
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
EmojiPicker(
|
|
|
|
|
onEmojiSelected: controller.onEmojiSelected,
|
|
|
|
|
onBackspacePressed: controller.emojiPickerBackspace,
|
|
|
|
|
config: Config(
|
|
|
|
|
emojiViewConfig: EmojiViewConfig(
|
|
|
|
|
noRecents: const NoRecent(),
|
|
|
|
|
backgroundColor: Theme.of(context)
|
|
|
|
|
.colorScheme
|
|
|
|
|
.onInverseSurface,
|
|
|
|
|
),
|
|
|
|
|
StickerPickerDialog(
|
|
|
|
|
room: controller.room,
|
|
|
|
|
onSelected: (sticker) {
|
|
|
|
|
controller.room.sendEvent(
|
|
|
|
|
{
|
|
|
|
|
'body': sticker.body,
|
|
|
|
|
'info': sticker.info ?? {},
|
|
|
|
|
'url': sticker.url.toString(),
|
|
|
|
|
},
|
|
|
|
|
type: EventTypes.Sticker,
|
|
|
|
|
);
|
|
|
|
|
controller.hideEmojiPicker();
|
|
|
|
|
},
|
|
|
|
|
bottomActionBarConfig:
|
|
|
|
|
const BottomActionBarConfig(
|
|
|
|
|
enabled: false,
|
|
|
|
|
),
|
|
|
|
|
categoryViewConfig: CategoryViewConfig(
|
|
|
|
|
backspaceColor: theme.colorScheme.primary,
|
|
|
|
|
iconColor:
|
|
|
|
|
theme.colorScheme.primary.withOpacity(0.5),
|
|
|
|
|
iconColorSelected: theme.colorScheme.primary,
|
|
|
|
|
indicatorColor: theme.colorScheme.primary,
|
|
|
|
|
),
|
|
|
|
|
skinToneConfig: SkinToneConfig(
|
|
|
|
|
dialogBackgroundColor: Color.lerp(
|
|
|
|
|
theme.colorScheme.surface,
|
|
|
|
|
theme.colorScheme.primaryContainer,
|
|
|
|
|
0.75,
|
|
|
|
|
)!,
|
|
|
|
|
indicatorColor: theme.colorScheme.onSurface,
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
|
|
|
|
|
// #Pangea
|
|
|
|
|
Positioned(
|
|
|
|
|
bottom: 20,
|
|
|
|
|
left: 0,
|
|
|
|
|
right: 0,
|
|
|
|
|
child: Row(
|
|
|
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
|
|
|
children: [
|
|
|
|
|
FloatingActionButton(
|
|
|
|
|
onPressed: controller.hideEmojiPicker,
|
|
|
|
|
shape: const CircleBorder(),
|
|
|
|
|
mini: true,
|
|
|
|
|
child: const Icon(Icons.close),
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
StickerPickerDialog(
|
|
|
|
|
room: controller.room,
|
|
|
|
|
onSelected: (sticker) {
|
|
|
|
|
controller.room.sendEvent(
|
|
|
|
|
{
|
|
|
|
|
'body': sticker.body,
|
|
|
|
|
'info': sticker.info ?? {},
|
|
|
|
|
'url': sticker.url.toString(),
|
|
|
|
|
},
|
|
|
|
|
type: EventTypes.Sticker,
|
|
|
|
|
);
|
|
|
|
|
controller.hideEmojiPicker();
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
// #Pangea
|
|
|
|
|
Padding(
|
|
|
|
|
padding: const EdgeInsets.only(bottom: 14.0, top: 2.0),
|
|
|
|
|
child: FloatingActionButton(
|
|
|
|
|
onPressed: controller.hideEmojiPicker,
|
|
|
|
|
shape: const CircleBorder(),
|
|
|
|
|
mini: true,
|
|
|
|
|
child: const Icon(Icons.close),
|
|
|
|
|
),
|
|
|
|
|
),
|
|
|
|
|
// Pangea#
|
|
|
|
|
],
|
|
|
|
|
),
|
|
|
|
|
|