Repository navigation
Create task screen — location field (premium) #152
Description
Description
Add a location field to the Create Task screen that allows premium users to attach a location to a task. The location field stores latitude and longitude coordinates.
The field is shown as an "Add location" label/button. Tapping it opens a location picker where the user can search for a place or drop a pin on a map. Once selected, the location name, coordinates, and a small static image of the place are displayed. Tapping the image opens the location picker again to change the location. An X button next to the image removes the location.
If the user is not premium, the location field shows a lock icon and a premium-upsell label. Tapping it opens the RevenueCat paywall.
Depends on #121 (Create task screen — core fields), #130 (Premium gating infrastructure).
Scope
In scope: location field on Create Task screen, location picker (search + map pin), premium gating with upsell CTA, saving latitude/longitude on the task entity, small place image display, removing a location, and string resources.
Out of scope: location map on Task Detail screen (#131), sort by proximity (#29), embedded map editing.
Acceptance criteria
- GIVEN the user is on the Create Task screen and has a premium subscription
WHEN the screen renders
THEN an "Add location" label/button is visible - GIVEN the user taps "Add location" and is premium
WHEN the location picker opens
THEN the user can search for a place or drop a pin on a map - GIVEN the user has selected a location in the picker
WHEN they confirm the selection
THEN the location name, coordinates, and a small static image of the place are saved on the task and the field shows the place image and location name - GIVEN a location has been set on the task
WHEN the user taps the place image
THEN the location picker opens to change the location - GIVEN a location has been set on the task
WHEN the user taps the X button next to the place image
THEN the location is cleared from the task and the field reverts to "Add location" - GIVEN the user is on the Create Task screen and does not have a premium subscription
WHEN the screen renders
THEN the location field shows a lock icon and a premium-upsell label - GIVEN the user taps the premium-upsell location field
WHEN the action occurs
THEN the RevenueCat paywall is presented - GIVEN user-visible text appears on the location field or picker
WHEN the app renders it
THEN all visible text comes from string resources
Activity