Add TravelAlbum, ProfileSpace, and wired camera transfer modules.

Introduce travel album entry with Sony PTP tethering pipeline, profile space settings page, home routing updates, Launch Screen storyboard, and related tests/docs.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-30 09:41:05 +08:00
parent 5692134efc
commit d2fe5d71e4
48 changed files with 6477 additions and 11 deletions

View File

@ -21,6 +21,7 @@ struct HomeMenuItem: Equatable, Identifiable {
///
enum HomeRoute: Hashable {
case profileSpace
case profileSpaceSettings
case scenicSelection
case permissionApply
case permissionApplyStatus
@ -63,6 +64,7 @@ enum HomeRoute: Hashable {
case queueManagement
case liveManagement
case liveAlbum
case travelAlbumEntry
case operatingArea
case pilotCertification
case modulePlaceholder(uri: String, title: String)

View File

@ -35,6 +35,7 @@ enum HomeMenuRouter {
"sample_upload": "上传样片",
"live_stream_management": "直播管理",
"live_album": "直播相册",
"travel_album": "新增相册",
"scenicselection": "景区选择",
"scenicapplication": "景区申请",
"permission_apply": "权限申请",
@ -76,7 +77,9 @@ enum HomeMenuRouter {
return .orderPush(.writeOffList)
case "photographer_stats":
return .tab(.statistics)
case "space_settings", "basic_info":
case "space_settings":
return .destination(.profileSpaceSettings)
case "basic_info":
return .destination(.profileSpace)
case "system_settings":
return .destination(.settings)
@ -146,6 +149,8 @@ enum HomeMenuRouter {
return .destination(.liveManagement)
case "live_album":
return .destination(.liveAlbum)
case "travel_album", "task_new_entry":
return .destination(.travelAlbumEntry)
case "operating-area":
return .destination(.operatingArea)
case "pilot_cert":
@ -176,6 +181,7 @@ enum HomeMenuRouter {
"basic_info",
"album_list",
"album_trailer",
"travel_album",
"wallet",
"payment_collection",
"payment_qr",

View File

@ -48,6 +48,8 @@ enum HomeIconCatalog {
"checkmark.seal.fill"
case "live_album":
"play.rectangle.on.rectangle.fill"
case "travel_album", "task_new_entry":
"photo.on.rectangle.angled"
case "pm", "pm_manager", "project_edit":
"circle.grid.2x2.fill"
case "location_report", "location_report_history":

View File

@ -14,6 +14,8 @@ extension HomeRoute {
switch self {
case .profileSpace:
ProfileView()
case .profileSpaceSettings:
ProfileSpaceView()
case .scenicSelection:
ScenicSelectionView()
case .permissionApply:
@ -102,6 +104,8 @@ extension HomeRoute {
LiveManagementView()
case .liveAlbum:
LiveAlbumView()
case .travelAlbumEntry:
TravelAlbumEntryView()
case .operatingArea:
OperatingAreaView()
case .pilotCertification: