feat(#369): rewrite channels tab with full backend integration (#417)

* feat(#369): rewrite channels tab with full backend integration

- Add state, error, gateway_running, description to model
- Add test endpoint to API service
- Rewrite ViewModel with toggle, restart, test actions
- Rewrite screen with state badges, restart banner, test button
- Fix string resources and E2E test

* fix(#417): add missing import and fix ButtonSize API

- Add MessagingPlatformTestResult import to HermesApiService.kt
- Replace ButtonDefaults.ButtonSize.SMALL with ButtonDefaults.SmallButtonSize (correct M3 API)

* fix(#417): mark platformStateStyle as @Composable, remove Button size param
- @Composable annotation needed for MaterialTheme.colorScheme access
- Button/OutlinedButton size parameter not available in project's M3 version
- ktlint removed unused ButtonDefaults import

---------

Co-authored-by: M57 <hy4ri@users.noreply.github.com>
This commit is contained in:
M57andM57 authored and GitHub committed 2026-06-29 08:56:39 +03:00
1 parent 2ae6cce929
commit c64b025a54
7 files changed
+538 -158

No files matched your search

@@ -17,6 +17,7 @@ import com.m57.hermescontrol.data.model.LogResponse
import com.m57.hermescontrol.data.model.McpServerToggleRequest
import com.m57.hermescontrol.data.model.McpServersResponse
import com.m57.hermescontrol.data.model.MessagingPlatformResponse
import com.m57.hermescontrol.data.model.MessagingPlatformTestResult
import com.m57.hermescontrol.data.model.MessagingPlatformUpdate
import com.m57.hermescontrol.data.model.ModelOptionsResponse
import com.m57.hermescontrol.data.model.PairingApproveRequest
@@ -260,6 +261,11 @@ interface HermesApiService {
@Body config: MessagingPlatformUpdate,
): Response<Unit>
@POST("api/messaging/platforms/{platform_id}/test")
suspend fun testMessagingPlatform(
@Path("platform_id") platformId: String,
): Response<MessagingPlatformTestResult>
@GET("api/env")
suspend fun getEnvVars(): Response<Map<String, EnvVarConfig>>