Merge pull request #1976 from Decodetalkers/messagejumpfix
fix(notification/linux): default action also need to be handled
This commit is contained in:
commit
c06b2cf640
1 changed files with 9 additions and 5 deletions
|
|
@ -3,8 +3,8 @@ import 'dart:io';
|
||||||
import 'package:flutter/foundation.dart';
|
import 'package:flutter/foundation.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
|
||||||
|
import 'package:collection/collection.dart';
|
||||||
import 'package:desktop_notifications/desktop_notifications.dart';
|
import 'package:desktop_notifications/desktop_notifications.dart';
|
||||||
import 'package:go_router/go_router.dart';
|
|
||||||
import 'package:matrix/matrix.dart';
|
import 'package:matrix/matrix.dart';
|
||||||
import 'package:universal_html/html.dart' as html;
|
import 'package:universal_html/html.dart' as html;
|
||||||
|
|
||||||
|
|
@ -13,6 +13,7 @@ import 'package:fluffychat/l10n/l10n.dart';
|
||||||
import 'package:fluffychat/utils/client_download_content_extension.dart';
|
import 'package:fluffychat/utils/client_download_content_extension.dart';
|
||||||
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
import 'package:fluffychat/utils/matrix_sdk_extensions/matrix_locals.dart';
|
||||||
import 'package:fluffychat/utils/platform_infos.dart';
|
import 'package:fluffychat/utils/platform_infos.dart';
|
||||||
|
import 'package:fluffychat/widgets/fluffy_chat_app.dart';
|
||||||
import 'package:fluffychat/widgets/matrix.dart';
|
import 'package:fluffychat/widgets/matrix.dart';
|
||||||
|
|
||||||
extension LocalNotificationsExtension on MatrixState {
|
extension LocalNotificationsExtension on MatrixState {
|
||||||
|
|
@ -97,9 +98,12 @@ extension LocalNotificationsExtension on MatrixState {
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
notification.action.then((actionStr) {
|
notification.action.then((actionStr) {
|
||||||
final action = DesktopNotificationActions.values
|
var action = DesktopNotificationActions.values
|
||||||
.singleWhere((a) => a.name == actionStr);
|
.singleWhereOrNull((a) => a.name == actionStr);
|
||||||
switch (action) {
|
if (action == null && actionStr == "default") {
|
||||||
|
action = DesktopNotificationActions.openChat;
|
||||||
|
}
|
||||||
|
switch (action!) {
|
||||||
case DesktopNotificationActions.seen:
|
case DesktopNotificationActions.seen:
|
||||||
event.room.setReadMarker(
|
event.room.setReadMarker(
|
||||||
event.eventId,
|
event.eventId,
|
||||||
|
|
@ -108,7 +112,7 @@ extension LocalNotificationsExtension on MatrixState {
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
case DesktopNotificationActions.openChat:
|
case DesktopNotificationActions.openChat:
|
||||||
context.go('/rooms/${event.room.id}');
|
FluffyChatApp.router.go('/rooms/${event.room.id}');
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue