feat: wire infrared remote screen and settings navigation
This commit is contained in:
@@ -39,11 +39,13 @@ import com.flagship.abox.manager.R
|
||||
import com.flagship.abox.manager.designsystem.ABoxButton
|
||||
import com.flagship.abox.manager.designsystem.ABoxSurface
|
||||
import com.flagship.abox.manager.designsystem.ABoxTheme
|
||||
import com.flagship.abox.manager.infrared.remote.ui.InfraredRemoteRoute
|
||||
import com.flagship.abox.manager.infrared.ui.InfraredControlRoute
|
||||
|
||||
private const val FOUNDATION_ROUTE = "foundation"
|
||||
private const val PLACEHOLDER_ROUTE = "placeholder"
|
||||
private const val INFRARED_ROUTE = "infrared/{profileId}"
|
||||
private const val INFRARED_REMOTE_ROUTE = "infrared_remote/{profileId}"
|
||||
private const val INFRARED_SETTINGS_ROUTE = "infrared_settings/{profileId}"
|
||||
private const val TEMPORARY_ABOX_PROFILE_ID = "abox"
|
||||
|
||||
@Composable
|
||||
@@ -63,7 +65,7 @@ fun ABoxManagerApp() {
|
||||
onContinue = { navController.navigate(PLACEHOLDER_ROUTE) },
|
||||
onOpenInfrared = {
|
||||
sessionMessage = null
|
||||
navController.navigate("infrared/$TEMPORARY_ABOX_PROFILE_ID")
|
||||
navController.navigate("infrared_remote/$TEMPORARY_ABOX_PROFILE_ID")
|
||||
},
|
||||
)
|
||||
}
|
||||
@@ -74,7 +76,25 @@ fun ABoxManagerApp() {
|
||||
)
|
||||
}
|
||||
composable(
|
||||
route = INFRARED_ROUTE,
|
||||
route = INFRARED_REMOTE_ROUTE,
|
||||
arguments = listOf(
|
||||
navArgument("profileId") { type = NavType.StringType },
|
||||
),
|
||||
) {
|
||||
val sessionInvalidText = stringResource(R.string.infrared_session_invalid_message)
|
||||
InfraredRemoteRoute(
|
||||
onBack = { navController.popBackStack() },
|
||||
onOpenSettings = {
|
||||
navController.navigate("infrared_settings/$TEMPORARY_ABOX_PROFILE_ID")
|
||||
},
|
||||
onSessionInvalid = {
|
||||
sessionMessage = sessionInvalidText
|
||||
navController.popBackStack(FOUNDATION_ROUTE, inclusive = false)
|
||||
},
|
||||
)
|
||||
}
|
||||
composable(
|
||||
route = INFRARED_SETTINGS_ROUTE,
|
||||
arguments = listOf(
|
||||
navArgument("profileId") { type = NavType.StringType },
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user