🚧 Add new Sone handler to notifications
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / notification / NewSoneHandler.kt
index 9ac6c28..83be6fd 100644 (file)
@@ -29,7 +29,7 @@ import net.pterodactylus.util.template.*
  */
 class NewSoneHandler(private val notificationManager: NotificationManager, template: Template) {
 
-       private val notification = ListNotification<Sone>("new-sone-notification", "", template)
+       private val notification = ListNotification<Sone>("new-sone-notification", "sones", template, dismissable = false)
 
        @Subscribe
        fun newSoneFound(newSoneFoundEvent: NewSoneFoundEvent) {
@@ -39,6 +39,16 @@ class NewSoneHandler(private val notificationManager: NotificationManager, templ
                }
        }
 
+       @Subscribe
+       fun markedSoneKnown(markSoneKnownEvent: MarkSoneKnownEvent) {
+               notification.remove(markSoneKnownEvent.sone)
+       }
+
+       @Subscribe
+       fun soneRemoved(soneRemovedEvent: SoneRemovedEvent) {
+               notification.remove(soneRemovedEvent.sone)
+       }
+
 }
 
 private fun NotificationManager.hasNotification(id: String) =