markClicked method

dynamic markClicked(
  1. String id
)

Implementation

markClicked(String id) async {
  final notifData = state["notifData"];
  final configData = state["config"];
  final notifications = notifData["notifications"];
  var clickedNotification;
  notifications.forEach((item) {
    if (item["n_id"] == id) {
      clickedNotification = item;
    }
  });
  if (clickedNotification != null && clickedNotification["seen_on"] == null) {
    try {
      ApiClient().markNotificationClicked(state["config"], id);
      clickedNotification["seen_on"] = epochNow();
      updateNotifData({
        "notifications": [...notifications]
      }, updateRerender: true);

      // store in local storage
      final storageData = {
        "notifications": [...notifications.take(configData["batchSize"])],
        "subscriberId": configData["subscriberId"]
      };
      setClientNotificationStorage(configData["storage_key"], storageData);
    } catch (e) {
      print('SUPRSEND: error marking notification clicked ${e.toString()}');
    }
  }
}