Compare commits
2 Commits
4209a13c84
...
21a1d4a2ad
Author | SHA1 | Date | |
---|---|---|---|
21a1d4a2ad | |||
603875b1af |
@ -113,21 +113,20 @@ class _AppNavigationDrawerState extends State<AppNavigationDrawer> {
|
|||||||
? Theme.of(context)
|
? Theme.of(context)
|
||||||
.colorScheme
|
.colorScheme
|
||||||
.primaryContainer
|
.primaryContainer
|
||||||
: Theme.of(context)
|
: Colors.transparent,
|
||||||
.colorScheme
|
|
||||||
.surfaceContainerLow,
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
onPressed: () {
|
onPressed: () {
|
||||||
GoRouter.of(context).goNamed(ele.screen);
|
GoRouter.of(context).goNamed(ele.screen);
|
||||||
Scaffold.of(context).closeDrawer();
|
Scaffold.of(context).closeDrawer();
|
||||||
|
nav.setIndex(idx);
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
).toList(),
|
).toList(),
|
||||||
).padding(horizontal: 16),
|
).padding(horizontal: 16, bottom: 8),
|
||||||
Align(
|
Align(
|
||||||
alignment: Alignment.bottomCenter,
|
alignment: Alignment.bottomCenter,
|
||||||
child: ListTile(
|
child: ListTile(
|
||||||
@ -173,7 +172,7 @@ class _AppNavigationDrawerState extends State<AppNavigationDrawer> {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Gap(MediaQuery.of(context).padding.bottom),
|
Gap(MediaQuery.of(context).padding.bottom + 8),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
@ -282,7 +281,7 @@ class _DrawerContentList extends StatelessWidget {
|
|||||||
),
|
),
|
||||||
title: Text(nav.focusedRealm!.name),
|
title: Text(nav.focusedRealm!.name),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
GoRouter.of(context).pushNamed(
|
GoRouter.of(context).goNamed(
|
||||||
'realmDetail',
|
'realmDetail',
|
||||||
pathParameters: {
|
pathParameters: {
|
||||||
'alias': nav.focusedRealm!.alias,
|
'alias': nav.focusedRealm!.alias,
|
||||||
@ -300,7 +299,7 @@ class _DrawerContentList extends StatelessWidget {
|
|||||||
leading: const Icon(Symbols.globe),
|
leading: const Icon(Symbols.globe),
|
||||||
title: Text('community').tr(),
|
title: Text('community').tr(),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
GoRouter.of(context).pushNamed(
|
GoRouter.of(context).goNamed(
|
||||||
'realmCommunity',
|
'realmCommunity',
|
||||||
pathParameters: {
|
pathParameters: {
|
||||||
'alias': nav.focusedRealm!.alias,
|
'alias': nav.focusedRealm!.alias,
|
||||||
@ -325,7 +324,7 @@ class _DrawerContentList extends StatelessWidget {
|
|||||||
leading: const Icon(Symbols.tag),
|
leading: const Icon(Symbols.tag),
|
||||||
title: Text(ele.name),
|
title: Text(ele.name),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
GoRouter.of(context).pushNamed(
|
GoRouter.of(context).goNamed(
|
||||||
'chatRoom',
|
'chatRoom',
|
||||||
pathParameters: {
|
pathParameters: {
|
||||||
'scope': ele.realm?.alias ?? 'global',
|
'scope': ele.realm?.alias ?? 'global',
|
||||||
|
@ -103,7 +103,7 @@ class PostCommentSliverListState extends State<PostCommentSliverList> {
|
|||||||
final sn = context.read<SnNetworkProvider>();
|
final sn = context.read<SnNetworkProvider>();
|
||||||
await sn.client
|
await sn.client
|
||||||
.put('/cgi/co/questions/${widget.parentPost.id}/answer', data: {
|
.put('/cgi/co/questions/${widget.parentPost.id}/answer', data: {
|
||||||
'publisher': answer.publisherId,
|
'publisher': widget.parentPost.publisherId,
|
||||||
'answer_id': answer.id,
|
'answer_id': answer.id,
|
||||||
});
|
});
|
||||||
if (!mounted) return;
|
if (!mounted) return;
|
||||||
|
@ -279,6 +279,8 @@ class _PostItemState extends State<PostItem> {
|
|||||||
final ua = context.read<UserProvider>();
|
final ua = context.read<UserProvider>();
|
||||||
final isAuthor =
|
final isAuthor =
|
||||||
ua.isAuthorized && widget.data.publisher.accountId == ua.user?.id;
|
ua.isAuthorized && widget.data.publisher.accountId == ua.user?.id;
|
||||||
|
final isParentAuthor = ua.isAuthorized &&
|
||||||
|
widget.data.replyTo?.publisher.accountId == ua.user?.id;
|
||||||
|
|
||||||
final displayableAttachments = widget.data.preload?.attachments
|
final displayableAttachments = widget.data.preload?.attachments
|
||||||
?.where((ele) =>
|
?.where((ele) =>
|
||||||
@ -333,6 +335,7 @@ class _PostItemState extends State<PostItem> {
|
|||||||
_PostActionPopup(
|
_PostActionPopup(
|
||||||
data: widget.data,
|
data: widget.data,
|
||||||
isAuthor: isAuthor,
|
isAuthor: isAuthor,
|
||||||
|
isParentAuthor: isParentAuthor,
|
||||||
onShare: () => _doShare(context),
|
onShare: () => _doShare(context),
|
||||||
onShareImage: () => _doShareViaPicture(context),
|
onShareImage: () => _doShareViaPicture(context),
|
||||||
onSelectAnswer: widget.onSelectAnswer,
|
onSelectAnswer: widget.onSelectAnswer,
|
||||||
@ -577,6 +580,7 @@ class _PostItemState extends State<PostItem> {
|
|||||||
_PostActionPopup(
|
_PostActionPopup(
|
||||||
data: widget.data,
|
data: widget.data,
|
||||||
isAuthor: isAuthor,
|
isAuthor: isAuthor,
|
||||||
|
isParentAuthor: isParentAuthor,
|
||||||
onShare: () => _doShare(context),
|
onShare: () => _doShare(context),
|
||||||
onShareImage: () => _doShareViaPicture(context),
|
onShareImage: () => _doShareViaPicture(context),
|
||||||
onSelectAnswer: widget.onSelectAnswer,
|
onSelectAnswer: widget.onSelectAnswer,
|
||||||
@ -1317,6 +1321,7 @@ class _PostAvatar extends StatelessWidget {
|
|||||||
class _PostActionPopup extends StatelessWidget {
|
class _PostActionPopup extends StatelessWidget {
|
||||||
final SnPost data;
|
final SnPost data;
|
||||||
final bool isAuthor;
|
final bool isAuthor;
|
||||||
|
final bool isParentAuthor;
|
||||||
final Function onDeleted;
|
final Function onDeleted;
|
||||||
final Function() onShare, onShareImage;
|
final Function() onShare, onShareImage;
|
||||||
final Function()? onSelectAnswer;
|
final Function()? onSelectAnswer;
|
||||||
@ -1324,6 +1329,7 @@ class _PostActionPopup extends StatelessWidget {
|
|||||||
const _PostActionPopup({
|
const _PostActionPopup({
|
||||||
required this.data,
|
required this.data,
|
||||||
required this.isAuthor,
|
required this.isAuthor,
|
||||||
|
required this.isParentAuthor,
|
||||||
required this.onDeleted,
|
required this.onDeleted,
|
||||||
required this.onShare,
|
required this.onShare,
|
||||||
required this.onShareImage,
|
required this.onShareImage,
|
||||||
@ -1397,7 +1403,7 @@ class _PostActionPopup extends StatelessWidget {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
if (onTranslate != null) PopupMenuDivider(),
|
if (onTranslate != null) PopupMenuDivider(),
|
||||||
if (isAuthor && onSelectAnswer != null)
|
if (isParentAuthor && onSelectAnswer != null)
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
child: Row(
|
child: Row(
|
||||||
children: [
|
children: [
|
||||||
@ -1410,7 +1416,7 @@ class _PostActionPopup extends StatelessWidget {
|
|||||||
onSelectAnswer?.call();
|
onSelectAnswer?.call();
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
if (isAuthor && onSelectAnswer != null) PopupMenuDivider(),
|
if (isParentAuthor && onSelectAnswer != null) PopupMenuDivider(),
|
||||||
if (isAuthor)
|
if (isAuthor)
|
||||||
PopupMenuItem(
|
PopupMenuItem(
|
||||||
child: Row(
|
child: Row(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user