fun setFavorite()

in shared/src/commonMain/kotlin/org/jetbrains/kotlinconf/ConferenceService.kt [272:292]


    fun setFavorite(sessionId: SessionId, favorite: Boolean) {
        scope.launch {
            val favorites = storage.getFavorites().first().toMutableSet()
            if (favorite) favorites.add(sessionId) else favorites.remove(sessionId)
            storage.setFavorites(favorites)

            if (favorite) {
                val session = sessionByIdFlow(sessionId).first()
                if (session != null) {
                    scheduleNotification(
                        start = session.startsAt,
                        end = session.endsAt,
                        sessionId = session.id,
                        title = session.title,
                    )
                }
            } else {
                cancelNotifications(sessionId)
            }
        }
    }