package com.github.nullptroma.wallenc.ui.screens.main.screens.vault

import com.github.nullptroma.wallenc.domain.datatypes.Tree
import com.github.nullptroma.wallenc.domain.interfaces.IStorageInfo
import java.util.UUID

data class VaultBrowserScreenState(
    val header: VaultBrowserHeader? = null,
    val storagesList: List<Tree<IStorageInfo>>,
    /** Первый снимок списка storages ещё не получен (удалённый vault). */
    val storagesRefreshing: Boolean,
    /** Storages с активной задачей в [com.github.nullptroma.wallenc.domain.tasks.ITaskOrchestrator]. */
    val busyStorageUuids: Set<UUID>,
    /** Активна задача, меняющая состав списка storages (создание и т.п.). */
    val vaultListMutationActive: Boolean,
    val addStorageFabEnabled: Boolean = false,
)
