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.ABoxButton
|
||||||
import com.flagship.abox.manager.designsystem.ABoxSurface
|
import com.flagship.abox.manager.designsystem.ABoxSurface
|
||||||
import com.flagship.abox.manager.designsystem.ABoxTheme
|
import com.flagship.abox.manager.designsystem.ABoxTheme
|
||||||
|
import com.flagship.abox.manager.infrared.remote.ui.InfraredRemoteRoute
|
||||||
import com.flagship.abox.manager.infrared.ui.InfraredControlRoute
|
import com.flagship.abox.manager.infrared.ui.InfraredControlRoute
|
||||||
|
|
||||||
private const val FOUNDATION_ROUTE = "foundation"
|
private const val FOUNDATION_ROUTE = "foundation"
|
||||||
private const val PLACEHOLDER_ROUTE = "placeholder"
|
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"
|
private const val TEMPORARY_ABOX_PROFILE_ID = "abox"
|
||||||
|
|
||||||
@Composable
|
@Composable
|
||||||
@@ -63,7 +65,7 @@ fun ABoxManagerApp() {
|
|||||||
onContinue = { navController.navigate(PLACEHOLDER_ROUTE) },
|
onContinue = { navController.navigate(PLACEHOLDER_ROUTE) },
|
||||||
onOpenInfrared = {
|
onOpenInfrared = {
|
||||||
sessionMessage = null
|
sessionMessage = null
|
||||||
navController.navigate("infrared/$TEMPORARY_ABOX_PROFILE_ID")
|
navController.navigate("infrared_remote/$TEMPORARY_ABOX_PROFILE_ID")
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
@@ -74,7 +76,25 @@ fun ABoxManagerApp() {
|
|||||||
)
|
)
|
||||||
}
|
}
|
||||||
composable(
|
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(
|
arguments = listOf(
|
||||||
navArgument("profileId") { type = NavType.StringType },
|
navArgument("profileId") { type = NavType.StringType },
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user