Add task template suggestions for quick task creation
- Add TaskTemplate model with category grouping support - Add TaskTemplateApi for fetching templates from backend - Add TaskSuggestionDropdown component for Android task form - Add TaskTemplatesBrowserSheet for browsing all templates - Add TaskSuggestionsView and TaskTemplatesBrowserView for iOS - Update DataManager to cache task templates - Update APILayer with template fetch and search methods - Update TaskFormView (iOS) with template suggestions - Update AddTaskDialog (Android) with template suggestions - Update onboarding task view to use templates 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -101,6 +101,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"%lld tasks" : {
|
||||
|
||||
},
|
||||
"%lld/%lld tasks selected" : {
|
||||
"localizations" : {
|
||||
@@ -112,6 +115,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"•" : {
|
||||
"comment" : "A separator between different pieces of information in a text.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"• 10K+ homeowners" : {
|
||||
|
||||
},
|
||||
@@ -4231,6 +4238,9 @@
|
||||
"Back to Login" : {
|
||||
"comment" : "A button label that takes the user back to the login screen.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Browse Task Templates" : {
|
||||
|
||||
},
|
||||
"By: %@" : {
|
||||
"comment" : "A line in the checkout view displaying the name of the contractor who completed a task.",
|
||||
@@ -4264,6 +4274,9 @@
|
||||
"Check your spam folder if you don't see it" : {
|
||||
"comment" : "A description below the \"Send New Code\" button, instructing the user to check their spam folder if they haven't received the verification code.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Choose from common home maintenance tasks or create your own below" : {
|
||||
|
||||
},
|
||||
"Choose your plan" : {
|
||||
|
||||
@@ -17360,6 +17373,14 @@
|
||||
"comment" : "A description displayed when a user has no tasks.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"No Templates Available" : {
|
||||
"comment" : "A message indicating that there are no task templates available.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"No Templates Found" : {
|
||||
"comment" : "A message displayed when no task templates match a search query.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"or" : {
|
||||
|
||||
},
|
||||
@@ -17714,6 +17735,28 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile_contact_support" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Contact Support"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile_contact_support_subtitle" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Get help with your account"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile_edit_profile" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
@@ -19372,39 +19415,6 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile_support" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Support"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile_contact_support" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Contact Support"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile_contact_support_subtitle" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Get help with your account"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile_subscription" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
@@ -19470,6 +19480,17 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile_support" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "translated",
|
||||
"value" : "Support"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"profile_task_assigned" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
@@ -21228,6 +21249,9 @@
|
||||
"Property #%d" : {
|
||||
"comment" : "A fallback text that appears when the associated residence ID is not found in the user's residences. The placeholder number is replaced with the actual residence ID.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Quick Start" : {
|
||||
|
||||
},
|
||||
"Re-enter new password" : {
|
||||
|
||||
@@ -24385,6 +24409,10 @@
|
||||
},
|
||||
"Save your home to your account" : {
|
||||
|
||||
},
|
||||
"Search templates..." : {
|
||||
"comment" : "A placeholder text for a search bar in the task templates browser.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Send New Code" : {
|
||||
"comment" : "A button label that allows a user to request a new verification code.",
|
||||
@@ -24566,6 +24594,10 @@
|
||||
},
|
||||
"Take your home management\nto the next level" : {
|
||||
|
||||
},
|
||||
"Task Templates" : {
|
||||
"comment" : "The title of the view that lists all predefined task templates.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Tasks" : {
|
||||
"comment" : "A label displayed above the list of task categories.",
|
||||
@@ -25221,6 +25253,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tasks_browse_templates" : {
|
||||
"comment" : "Text for browsing task templates.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"tasks_cancel" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
@@ -27496,6 +27532,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tasks_no_templates_found" : {
|
||||
"comment" : "Text displayed when no task templates are found.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"tasks_none" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
@@ -28471,6 +28511,14 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tasks_result" : {
|
||||
"comment" : "A singular label for a result in a list. E.g. \"1 result\", \"2 results\".",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"tasks_results" : {
|
||||
"comment" : "Plural form of \"result\".",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"tasks_scheduling" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
@@ -28536,6 +28584,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tasks_search_templates" : {
|
||||
"comment" : "Title of a screen that allows users to search for task templates.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"tasks_select_category" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
@@ -29316,6 +29368,10 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"tasks_try_different_search" : {
|
||||
"comment" : "Text to prompt the user to try a different search query when no task templates are found.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"tasks_unarchive" : {
|
||||
"extractionState" : "manual",
|
||||
"localizations" : {
|
||||
@@ -29511,11 +29567,19 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Templates will appear here once loaded" : {
|
||||
"comment" : "A description text displayed when there are no task templates available.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"That's Perfect!" : {
|
||||
|
||||
},
|
||||
"The Smith Residence" : {
|
||||
|
||||
},
|
||||
"Try a different search term" : {
|
||||
"comment" : "A description below the \"No Templates Found\" message in the search results section of the task templates browser.",
|
||||
"isCommentAutoGenerated" : true
|
||||
},
|
||||
"Try Again" : {
|
||||
"comment" : "A button label that says \"Try Again\".",
|
||||
|
||||
Reference in New Issue
Block a user