11package io.github.wiiznokes.gitnote.ui.screen.app.edit
22
3+ import android.webkit.MimeTypeMap
34import androidx.activity.compose.BackHandler
45import androidx.compose.foundation.layout.Box
56import androidx.compose.foundation.layout.Column
@@ -51,6 +52,7 @@ import io.github.wiiznokes.gitnote.ui.viewmodel.edit.MarkDownVM
5152import io.github.wiiznokes.gitnote.ui.viewmodel.edit.TextVM
5253import io.github.wiiznokes.gitnote.ui.viewmodel.edit.newEditViewModel
5354import io.github.wiiznokes.gitnote.ui.viewmodel.edit.newMarkDownVM
55+ import kotlin.text.startsWith
5456
5557
5658private const val TAG = " EditScreen"
@@ -63,10 +65,19 @@ fun EditScreen(
6365 onFinished : () -> Unit ,
6466) {
6567
66- val vm = when (editParams.fileExtension()) {
68+ val extension = editParams.fileExtension()
69+ val vm = when (extension) {
6770 is FileExtension .Txt -> newEditViewModel(editParams)
6871 is FileExtension .Md -> newMarkDownVM(editParams)
69- is FileExtension .Other -> TODO ()
72+ is FileExtension .Other -> {
73+ val mimeType = MimeTypeMap .getSingleton()
74+ .getMimeTypeFromExtension(extension.text)
75+ if (mimeType?.startsWith(" text" ) == true ) {
76+ newEditViewModel(editParams)
77+ } else {
78+ throw Exception (" file extension not supported, but present in the database?? $extension " )
79+ }
80+ }
7081 }
7182
7283 if (editParams is EditParams .Saved ) {
0 commit comments