Jobs: the Who, When and Worth pickers #173
Labels
No labels
adr
android
area/calendar
area/design-system
area/i18n
area/jobs
area/offline
area/server
area/testing
bug
ci
duplicate
enhancement
help wanted
invalid
notifications
question
reliability
security
severity/low
severity/medium
tracking
web
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
eagraiclainne/app#173
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Part of the jobs flow redesign. The design handoff (
design_handoff_jobs_flow, held outside the repo) is the source; the facts it depends on are repeated here so this issue stands alone.Three pickers behind the sheet's three chevrons. Who and Worth share one component; When is its own.
Who — one row per household member at 56px, then
Anyonewith the lineFalls to you if nobody takes it. Commits and closes on tap. No search and no A-Z; a household is four people.When — day chips first, then a 7-column month grid at 44px cells, then a
Timerow. This picker confirms, because the date and the time are two decisions. The footer button states the outcome (Due Tuesday 09:45). Today is ringed and the selection is filled — two different marks. Leading days of the previous month are blank cells, never grey numerals.Worth — eligible rewards, then
Make a new oneandWorth nothing. Eligibility is stricter than it looks and depends on the Who row, so the list re-filters when the owner changes (internal/domain/reward.go:107-126):REWARD_TYPE_POINTS, not already on an item;ErrBountyMustBeUnassigned);web/src/pages/Jobs.tsx:69-78already holds the correct predicate. Use it; do not write a second definition of eligible.Make a new oneasks for an amount and names the reward after the job. Authoring a full reward stays on the rewards surface.Update — #183 is closed: creating a reward inside the job stays
So
Make a new onestays inside the Worth picker, asking for an amount andnaming the reward after the job — the picker links, and this one shortcut also
authors. The shipped
changeRewardValueaffordance stays on the job sheet forthe same reason: it is a convenience the household already has, and removing it
to satisfy a boundary would be a regression.
Both remain gated on the permission matrix:
RewardService.CreateandUpdateare Admin and Member only, so a Child sees neither.
Delivered by the merged jobs stack (now on main, 2026-08-26): the three pickers live in web/src/components/JobPickers.tsx and android/.../ui/JobPickers.kt — Who and Worth share the component, When confirms with the outcome-stating footer. The audit rounds (#238–#254) verified them against the handoff.