package ru.forbion.f7cloud.feature.files

/**
 * Файлы, открываемые во ВЕБ-вьюере Nextcloud по ссылке `/index.php/f/<fileId>` — сервер
 * направляет в нужное приложение. Сейчас это только доска (Whiteboard, Excalidraw-канвас
 * с реалтайм-бэкендом — нативно не реализуется). Markdown/текст — нативно, см. [MarkdownFiles].
 */
object WebOpenableFiles {
    private val EXTENSIONS = setOf("whiteboard")

    fun isWebOpenable(name: String): Boolean =
        name.substringAfterLast('.', "").lowercase() in EXTENSIONS
}

/** Текстовые/markdown-файлы — открываются в НАТИВНОМ редакторе (быстро, WebDAV). */
object MarkdownFiles {
    private val EXTENSIONS = setOf("md", "markdown", "txt", "text", "org", "log")

    fun isMarkdown(name: String): Boolean =
        name.substringAfterLast('.', "").lowercase() in EXTENSIONS
}

/** Открытый в нативном редакторе текстовый файл. */
data class MarkdownDoc(
    val relativePath: String,
    val name: String,
)
