@@ -2,12 +2,14 @@ package dev.dimension.flare.ui.route
22
33import androidx.compose.runtime.Immutable
44import androidx.navigation3.runtime.NavKey
5+ import dev.dimension.flare.common.SerializableImmutableList
56import dev.dimension.flare.data.model.tab.UiSourceTimelineTabItem
67import dev.dimension.flare.data.model.tab.UiTimelineTabItem
78import dev.dimension.flare.data.model.tab.xqtDeviceFollow
89import dev.dimension.flare.feature.agent.localhistory.LocalHistoryAgentTarget
910import dev.dimension.flare.model.AccountType
1011import dev.dimension.flare.model.MicroBlogKey
12+ import dev.dimension.flare.ui.model.UiMedia
1113import kotlinx.collections.immutable.ImmutableMap
1214import kotlinx.collections.immutable.toImmutableMap
1315import kotlinx.serialization.Serializable
@@ -441,6 +443,13 @@ internal sealed interface Route : NavKey {
441443 val customHeaders : Map <String , String >? = null ,
442444 ) : Media
443445
446+ @Serializable
447+ data class RawMedia (
448+ val medias : SerializableImmutableList <UiMedia >,
449+ val index : Int = 0 ,
450+ val preview : String? = null ,
451+ ) : Media
452+
444453 @Serializable
445454 data class StatusMedia (
446455 val statusKey : MicroBlogKey ,
@@ -466,10 +475,9 @@ internal sealed interface Route : NavKey {
466475 ) : Route
467476
468477 @Serializable
469- data class TwitterArticle (
478+ data class Article (
470479 val accountType : AccountType ,
471- val tweetId : String ,
472- val articleId : String? = null ,
480+ val articleKey : MicroBlogKey ,
473481 ) : Route
474482
475483 @Serializable
@@ -613,11 +621,10 @@ internal sealed interface Route : NavKey {
613621 )
614622 }
615623
616- is DeeplinkRoute .TwitterArticle -> {
617- TwitterArticle (
624+ is DeeplinkRoute .Article -> {
625+ Article (
618626 accountType = deeplinkRoute.accountType,
619- tweetId = deeplinkRoute.tweetId,
620- articleId = deeplinkRoute.articleId,
627+ articleKey = deeplinkRoute.articleKey,
621628 )
622629 }
623630
0 commit comments