Files
quik/presentation/src/main/java/feature/main/MainState.kt
T

44 lines
1.4 KiB
Kotlin

/*
* Copyright (C) 2017 Moez Bhatti <moez.bhatti@gmail.com>
*
* This file is part of QKSMS.
*
* QKSMS is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* QKSMS is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with QKSMS. If not, see <http://www.gnu.org/licenses/>.
*/
package feature.main
import common.MenuItem
import io.realm.RealmResults
import model.Message
data class MainState(
val page: MainPage = Inbox(),
val drawerOpen: Boolean = false,
val syncing: Boolean = false
)
sealed class MainPage
data class Inbox(
val showClearButton: Boolean = false,
val data: RealmResults<Message>? = null,
val menu: List<MenuItem> = ArrayList(),
val showArchivedSnackbar: Boolean = false) : MainPage()
data class Archived(
val data: RealmResults<Message>? = null,
val menu: List<MenuItem> = ArrayList()) : MainPage()
data class Scheduled(
val data: Any? = null) : MainPage()