package ru.forbion.f7cloud.feature.files

object FileIcons {
    /** Локальные SVG хрома Файлов из боевой темы forbion (assets/chrome/, coil-svg). */
    fun chromeAsset(name: String): String = "file:///android_asset/chrome/$name"

    /**
     * Иконка типа файла. Типы файлов — ЛОКАЛЬНЫЕ SVG из дизайна (assets/filetypes/, грузятся
     * coil-svg): офлайн + точные иконки макета (раньше тянулись с сервера — аудит: офлайн ломался).
     * Папка — фирменная folder-icon-colored.svg из боевой темы (тоже локально).
     */
    fun iconUrl(serverUrl: String, name: String, isDirectory: Boolean): String {
        if (isDirectory) return chromeAsset("folder-icon-colored.svg")
        return "file:///android_asset/filetypes/${localIcon(name)}.svg"
    }

    private fun localIcon(name: String): String {
        return when (name.substringAfterLast('.', "").lowercase()) {
            "doc", "docx", "dot", "dotx", "odt", "rtf" -> "word"
            "xls", "xlsx", "xlsm", "xlt", "xltx", "ods", "csv" -> "spreadsheet"
            "ppt", "pptx", "pot", "potx", "odp" -> "presentation"
            "pdf" -> "pdf"
            "jpg", "jpeg", "png", "gif", "webp", "bmp", "svg", "heic" -> "image"
            "mp3", "wav", "ogg", "flac", "aac" -> "audio"
            "mp4", "mkv", "avi", "mov", "webm" -> "video"
            "zip", "rar", "7z", "tar", "gz" -> "archive"
            "txt", "md", "log", "rtf" -> "text"
            "eml", "msg" -> "eml"
            "crt", "cer", "pem", "key", "p12" -> "certificate"
            "kt", "java", "js", "ts", "py", "c", "cpp", "h", "json", "xml", "html", "css", "sh", "go", "rs" -> "code"
            else -> "file"
        }
    }
}
