Use a full-width primary banner with centered text, auto-hide after 2.2 seconds, and tests for timer reset behavior.
Co-authored-by: Cursor <cursoragent@cursor.com>
Remove visible message text from the loading UI while keeping the message field for internal state and future use.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce GlobalLoadingCenter with reference counting, wire it through RootView and major auth/order/profile screens, and add the loading animation asset plus unit tests.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce configurable custom TabBar with order badge, central scanner routing to verification orders, and update the migration checklist for recently completed modules.
Co-authored-by: Cursor <cursoragent@cursor.com>
Exclude xcuserdata, build artifacts, and secrets from version control while removing previously committed user-specific scheme and state files.
Co-authored-by: Cursor <cursoragent@cursor.com>
Integrate scenic selection and permission flows into home routing, add AMap SDK for device builds while keeping arm64 simulators compilable via Podfile post_install hooks.
Co-authored-by: Cursor <cursoragent@cursor.com>
Introduce real payment collection and wallet screens to replace home menu placeholders, wire APIs through RootView, and support bank card OSS uploads plus QR code saving to the photo library.
Co-authored-by: Cursor <cursoragent@cursor.com>