Sync migrated iOS modules
This commit is contained in:
@ -23,12 +23,14 @@ enum HomeRoute: Hashable {
|
||||
case profileSpace
|
||||
case scenicSelection
|
||||
case moreFunctions
|
||||
case settings
|
||||
case modulePlaceholder(uri: String, title: String)
|
||||
}
|
||||
|
||||
/// 首页权限 URI 解析结果,区分 Tab 跳转、本地页面、已知不支持和未知占位。
|
||||
enum HomeMenuResolvedRoute: Equatable {
|
||||
case tab(AppTab)
|
||||
case orders(OrdersEntry)
|
||||
case destination(HomeRoute)
|
||||
case unsupported(uri: String, title: String, reason: String)
|
||||
case placeholder(uri: String, title: String)
|
||||
|
||||
@ -70,13 +70,15 @@ enum HomeMenuRouter {
|
||||
static func resolve(uri: String, title: String) -> HomeMenuResolvedRoute {
|
||||
switch uri {
|
||||
case "photographer_orders", "/scenic-order-manage":
|
||||
return .tab(.orders)
|
||||
return .orders(.storeOrders)
|
||||
case "verification_order":
|
||||
return .tab(.orders)
|
||||
return .orders(.verificationOrders)
|
||||
case "photographer_stats":
|
||||
return .tab(.statistics)
|
||||
case "space_settings", "basic_info":
|
||||
return .destination(.profileSpace)
|
||||
case "system_settings":
|
||||
return .destination(.settings)
|
||||
case "scenicselection":
|
||||
return .destination(.scenicSelection)
|
||||
case "store", "more_functions":
|
||||
@ -127,7 +129,6 @@ enum HomeMenuRouter {
|
||||
"registration_invitation",
|
||||
"photographer_invite",
|
||||
"invite_record",
|
||||
"system_settings",
|
||||
"pilot_cert":
|
||||
let resolvedTitle = title.isEmpty ? self.title(for: uri) : title
|
||||
return .destination(.modulePlaceholder(uri: uri, title: resolvedTitle))
|
||||
@ -230,7 +231,7 @@ enum HomePermissionRouteAuditor {
|
||||
return HomePermissionRouteAudit(
|
||||
routable: entries.filter { entry in
|
||||
switch entry.route {
|
||||
case .tab, .destination:
|
||||
case .tab, .orders, .destination:
|
||||
return true
|
||||
case .unsupported, .placeholder:
|
||||
return false
|
||||
|
||||
@ -190,6 +190,8 @@ struct HomeMoreFunctionsView: View {
|
||||
switch HomeMenuRouter.resolve(uri: item.uri, title: item.title) {
|
||||
case .tab(let tab):
|
||||
appRouter.select(tab)
|
||||
case .orders(let entry):
|
||||
appRouter.selectOrders(entry: entry)
|
||||
case .destination(let route):
|
||||
if route == .moreFunctions {
|
||||
return
|
||||
|
||||
@ -18,6 +18,8 @@ extension HomeRoute {
|
||||
HomeScenicSelectionView()
|
||||
case .moreFunctions:
|
||||
HomeMoreFunctionsView()
|
||||
case .settings:
|
||||
SettingsCenterView()
|
||||
case let .modulePlaceholder(uri, title):
|
||||
HomeMigrationModuleView(title: title, uri: uri)
|
||||
}
|
||||
|
||||
@ -413,6 +413,8 @@ struct HomeView: View {
|
||||
switch route {
|
||||
case .tab(let tab):
|
||||
appRouter.select(tab)
|
||||
case .orders(let entry):
|
||||
appRouter.selectOrders(entry: entry)
|
||||
case .destination(let route):
|
||||
router.navigate(to: .home(route))
|
||||
case .unsupported(let uri, let title, _):
|
||||
|
||||
Reference in New Issue
Block a user