Add PunchPoint and LocationReport modules with home routing.

Migrate check-in point management and location reporting from placeholders to full MVVM flows, including foreground location support and unit tests.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-06-24 11:08:41 +08:00
parent c772b25897
commit 0d4b63d273
22 changed files with 2698 additions and 12 deletions

View File

@ -52,6 +52,18 @@ extension HomeRoute {
AlbumListView()
case .albumTrailer:
AlbumTrailerEntryView()
case .punchPointList:
PunchPointListView()
case .punchPointDetail(let id, let summary):
PunchPointDetailView(punchPointId: id, summary: summary)
case .punchPointEditor(let id):
PunchPointEditorView(punchPointId: id)
case .punchPointQR(_, let title, let qrURL):
PunchPointQRView(title: title, qrURL: qrURL)
case .locationReport:
LocationReportView()
case .locationReportHistory:
LocationReportHistoryView()
case let .modulePlaceholder(uri, title):
HomeMigrationModuleView(title: title, uri: uri)
}

View File

@ -241,8 +241,7 @@ struct HomeView: View {
Spacer()
Button {
secondsUntilReport = 7_200
showReportSuccess = true
openRoute(HomeMenuRouter.resolve(uri: "location_report", title: "位置上报"))
} label: {
Image(systemName: "hand.tap.fill")
.font(.system(size: 38, weight: .semibold))