add profile popovers
This commit is contained in:
parent
7ee165b300
commit
0b9ddbfbc8
11 changed files with 302 additions and 149 deletions
|
|
@ -7,6 +7,15 @@ extension SchemeToTheme on ColorScheme {
|
|||
titleSpacing: 0,
|
||||
backgroundColor: surfaceContainerLow,
|
||||
),
|
||||
menuTheme: MenuThemeData(
|
||||
style: MenuStyle(
|
||||
backgroundColor: WidgetStatePropertyAll(primaryContainer),
|
||||
),
|
||||
),
|
||||
chipTheme: ChipThemeData(
|
||||
labelStyle: TextStyle(color: onPrimary),
|
||||
color: WidgetStatePropertyAll(primary),
|
||||
),
|
||||
textTheme: ThemeData(
|
||||
fontFamilyFallback: ["sans", "emoji"],
|
||||
brightness: brightness,
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ extension ShowContextMenu on BuildContext {
|
|||
|
||||
showMenu(
|
||||
context: this,
|
||||
constraints: BoxConstraints.loose(Size.infinite),
|
||||
position: RelativeRect.fromLTRB(
|
||||
globalPosition.dx,
|
||||
globalPosition.dy,
|
||||
|
|
|
|||
18
lib/helpers/extensions/show_user_popover.dart
Normal file
18
lib/helpers/extensions/show_user_popover.dart
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import "package:flutter/material.dart";
|
||||
import "package:nexus/helpers/extensions/show_context_menu.dart";
|
||||
import "package:nexus/models/membership.dart";
|
||||
import "package:nexus/widgets/chat_page/user_popover.dart";
|
||||
|
||||
extension ShowUserPopover on BuildContext {
|
||||
void showUserPopover(Membership member, {required Offset globalPosition}) =>
|
||||
showContextMenu(
|
||||
globalPosition: globalPosition,
|
||||
children: [
|
||||
PopupMenuItem(
|
||||
enabled: false,
|
||||
padding: EdgeInsets.symmetric(horizontal: 16, vertical: 8),
|
||||
child: IconTheme(data: IconThemeData(), child: UserPopover(member)),
|
||||
),
|
||||
],
|
||||
);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue