|
@@ -10,9 +10,11 @@ import androidx.compose.material3.Surface
|
|
|
import androidx.compose.runtime.remember
|
|
import androidx.compose.runtime.remember
|
|
|
import androidx.compose.ui.Modifier
|
|
import androidx.compose.ui.Modifier
|
|
|
import androidx.core.view.WindowCompat
|
|
import androidx.core.view.WindowCompat
|
|
|
|
|
+import kotlinx.coroutines.launch
|
|
|
import org.sirekanyan.outline.api.OutlineApi
|
|
import org.sirekanyan.outline.api.OutlineApi
|
|
|
import org.sirekanyan.outline.db.rememberApiUrlDao
|
|
import org.sirekanyan.outline.db.rememberApiUrlDao
|
|
|
import org.sirekanyan.outline.ui.AddServerContent
|
|
import org.sirekanyan.outline.ui.AddServerContent
|
|
|
|
|
+import org.sirekanyan.outline.ui.DeleteKeyContent
|
|
|
import org.sirekanyan.outline.ui.EditKeyContent
|
|
import org.sirekanyan.outline.ui.EditKeyContent
|
|
|
import org.sirekanyan.outline.ui.theme.OutlineTheme
|
|
import org.sirekanyan.outline.ui.theme.OutlineTheme
|
|
|
|
|
|
|
@@ -34,10 +36,21 @@ class MainActivity : ComponentActivity() {
|
|
|
BackHandler(state.dialog != null) {
|
|
BackHandler(state.dialog != null) {
|
|
|
state.dialog = null
|
|
state.dialog = null
|
|
|
}
|
|
}
|
|
|
- Surface {
|
|
|
|
|
- when (dialog) {
|
|
|
|
|
- is AddServerDialog -> AddServerContent(dao, state)
|
|
|
|
|
- is EditKeyDialog -> EditKeyContent(api, state, dialog)
|
|
|
|
|
|
|
+ when (dialog) {
|
|
|
|
|
+ is AddServerDialog -> Surface { AddServerContent(dao, state) }
|
|
|
|
|
+ is EditKeyDialog -> Surface { EditKeyContent(api, state, dialog) }
|
|
|
|
|
+ is DeleteKeyDialog -> {
|
|
|
|
|
+ val (apiUrl, key) = dialog
|
|
|
|
|
+ DeleteKeyContent(
|
|
|
|
|
+ key = key,
|
|
|
|
|
+ onDismiss = { state.dialog = null },
|
|
|
|
|
+ onConfirm = {
|
|
|
|
|
+ state.scope.launch {
|
|
|
|
|
+ api.deleteAccessKey(apiUrl, key.accessKey.id)
|
|
|
|
|
+ state.refreshCurrentKeys(showLoading = false)
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ )
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|