Align display name, icon, and launch screen with suixinkan_ios_new, and tolerate nested sale_user and empty travel objects in listv2 responses.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add role-based order/deposit lists, AVFoundation QR scanning, verify dialogs, and ViewModel tests so photographers, scenic admins, and store admins match Android behavior.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add role-based analyse APIs, summary/daily UI with date range sheet, and flexible parsing for string refund amounts from the backend.
Co-authored-by: Cursor <cursoragent@cursor.com>
Use content-driven card height with safe area insets so the form no longer stretches to the screen bottom.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce APIClient/AuthAPI, complete login with multi-account selection, and polish the login card UI with shadow and keyboard dismiss.
Co-authored-by: Cursor <cursoragent@cursor.com>
Integrate SnapKit and Kingfisher, add BaseViewController and NotificationName, and streamline AGENTS.md with Android-aligned conventions.
Co-authored-by: Cursor <cursoragent@cursor.com>