Add full-screen iOS parity screens and navigation

- Add CompleteTaskScreen for full-screen task completion (matches iOS CompleteTaskView)
- Add ManageUsersScreen for full-screen user management (matches iOS ManageUsersView)
- Add PhotoViewerScreen with swipeable gallery and pinch-to-zoom
- Add UpgradeScreen for full-screen subscription flow (matches iOS UpgradeFeatureView)
- Add navigation routes for new screens (CompleteTaskRoute, ManageUsersRoute, PhotoViewerRoute, UpgradeRoute)
- Wire navigation callbacks into AllTasksScreen, ResidenceDetailScreen, ProfileScreen
- Add overdue count with red color to Summary Card
- Add pulsing animation to residence cards when overdue
- Add property type, isPrimary star, and street address to Residence Card
- Add Edit Profile, Privacy Policy, and App Version to ProfileScreen
- Add string resources for new UI elements and localization

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2025-12-14 17:02:08 -06:00
parent b150c20e4b
commit e44bcdd988
14 changed files with 2254 additions and 21 deletions

View File

@@ -269,6 +269,29 @@
<string name="completions_camera">Camera</string>
<string name="completions_library">Library</string>
<string name="completions_add_photos_helper">Add photos of completed work (optional)</string>
<string name="completions_contractor_helper">Link this task completion to a contractor</string>
<string name="completions_details_section">Completion Details</string>
<string name="completions_optional_info">All fields are optional</string>
<string name="completions_notes_helper">Add any notes about the completed work</string>
<string name="completions_notes_placeholder">Describe the work done, issues found, etc.</string>
<string name="completions_rate_quality">Rate the quality of work performed</string>
<string name="completions_enter_manually">Enter name manually below</string>
<!-- Manage Users -->
<string name="manage_users_title">Manage Users</string>
<string name="manage_users_invite_title">Invite Others</string>
<string name="manage_users_easy_share">Easy Share</string>
<string name="manage_users_send_invite">Send Invite Link</string>
<string name="manage_users_easy_share_desc">Send a .casera file via Messages, Email, or share. They just tap to join.</string>
<string name="manage_users_share_code">Share Code</string>
<string name="manage_users_no_code">No active code</string>
<string name="manage_users_generate">Generate Code</string>
<string name="manage_users_generate_new">Generate New Code</string>
<string name="manage_users_code_desc">Share this 6-character code. They can enter it in the app to join.</string>
<string name="manage_users_users_count">Users (%1$d)</string>
<string name="manage_users_owner_badge">Owner</string>
<string name="manage_users_remove">Remove</string>
<string name="manage_users_or">or</string>
<!-- Contractors -->
<string name="contractors_title">Contractors</string>
@@ -527,6 +550,11 @@
<string name="profile_benefit_contractor_sharing">Contractor Sharing</string>
<string name="profile_benefit_actionable_notifications">Actionable Notifications</string>
<string name="profile_benefit_widgets">Home Screen Widgets</string>
<string name="profile_privacy">Privacy Policy</string>
<string name="profile_privacy_subtitle">View our privacy policy</string>
<string name="profile_app_version">Version %1$s</string>
<string name="profile_app_name">Casera</string>
<string name="profile_edit_profile">Edit Profile</string>
<!-- Settings -->
<string name="settings_title">Settings</string>
@@ -646,6 +674,10 @@
<string name="home_pending">Pending</string>
<string name="home_manage_residences">Manage your residences</string>
<string name="home_view_manage_tasks">View and manage tasks</string>
<string name="home_overdue">Overdue</string>
<string name="home_due_this_week">Due This Week</string>
<string name="home_next_30_days">Next 30 Days</string>
<string name="home_your_properties">Your Properties</string>
<!-- Subscription -->
<string name="subscription_title">Subscription</string>