Repository navigation
Kiosk first-come extras, child card polish, readable header text - #1258
Merged
Merged
Conversation
A new kiosk card option, grabs_first (off by default, YAML and visual editor), moves open first-come chores to the top of a child's list in their existing relative order. Children with their own chore_order keep it untouched.
The kiosk's completion popup now has a win variant for a first-come chore nobody else has done yet today, with a medal and the up-for-grabs border. When the chore needs approval it says the points come after a grown-up's check instead of showing them; offline and later-slot taps keep the usual popup.
A first-come chore with a shared daily limit above 1 now says "N left today" on its up-for-grabs tag, counted from today's completions the same way the server fills the quota. The count picks its plural form with Intl.PluralRules, is hidden for a limit of 1, and goes once the slots run out and the row turns done or taken.
Designed styles showed both a "Waiting for a grown-up" note under the name and the "⏳ Waiting" undo chip, squeezing the name on phones. The chip stays (it is also the undo control and its name still says the chore is waiting for a grown-up); the note is gone. Classic keeps its label.
… faces on one row The end-of-day mood strip now draws from the design tokens (surface-2, border, radius, fonts, light and dark) instead of HA's grey secondary background. Its five faces sit in a fixed five-column grid that shrinks from 54px to the 44px target floor, so they no longer wrap four plus one on phones.
Lock reasons keep their icon on the first line and wrap with text-wrap: pretty, auto hyphenation and overflow-wrap, so long or unbreakable names no longer overflow or hang under the icon. Classic chore names wrap to two lines like the designed styles instead of clipping after one; compact mode stays on one line.
A light header_color (yellow, pastels, light green) left white header text at about 1.5:1. The design layer now picks white or near-black ink from the colour actually painted (APCA contrast, Playroom and seasonal gradients judged on their lighter end), and every card's header text, chips and scrims take it from --tmd-hd-text/-ink/-scrim. The header colour itself is unchanged.
A locked chore's Done button used to fade its coloured fill to half opacity, which left a dark label on a dark smear in the dark styles. It now shows a neutral surface fill, the dim label colour (5:1 or better in every designed style, light and dark), a dashed dim edge and a not-allowed cursor, while the lock tag and aria-label still give the reason.
# Conflicts: # custom_components/taskmate/www/locales/da.json # custom_components/taskmate/www/locales/da/cards.json # custom_components/taskmate/www/locales/de.json # custom_components/taskmate/www/locales/de/cards.json # custom_components/taskmate/www/locales/en-GB.json # custom_components/taskmate/www/locales/en-GB/cards.json # custom_components/taskmate/www/locales/en.json # custom_components/taskmate/www/locales/en/cards.json # custom_components/taskmate/www/locales/es.json # custom_components/taskmate/www/locales/es/cards.json # custom_components/taskmate/www/locales/fr.json # custom_components/taskmate/www/locales/fr/cards.json # custom_components/taskmate/www/locales/it.json # custom_components/taskmate/www/locales/it/cards.json # custom_components/taskmate/www/locales/ja.json # custom_components/taskmate/www/locales/ja/cards.json # custom_components/taskmate/www/locales/ko.json # custom_components/taskmate/www/locales/ko/cards.json # custom_components/taskmate/www/locales/nb.json # custom_components/taskmate/www/locales/nb/cards.json # custom_components/taskmate/www/locales/nl.json # custom_components/taskmate/www/locales/nl/cards.json # custom_components/taskmate/www/locales/nn.json # custom_components/taskmate/www/locales/nn/cards.json # custom_components/taskmate/www/locales/pl.json # custom_components/taskmate/www/locales/pl/cards.json # custom_components/taskmate/www/locales/pt-BR.json # custom_components/taskmate/www/locales/pt-BR/cards.json # custom_components/taskmate/www/locales/pt.json # custom_components/taskmate/www/locales/pt/cards.json # custom_components/taskmate/www/locales/ru.json # custom_components/taskmate/www/locales/ru/cards.json # custom_components/taskmate/www/locales/sv.json # custom_components/taskmate/www/locales/sv/cards.json # custom_components/taskmate/www/locales/tr.json # custom_components/taskmate/www/locales/tr/cards.json # custom_components/taskmate/www/locales/uk.json # custom_components/taskmate/www/locales/uk/cards.json # custom_components/taskmate/www/locales/zh-Hans.json # custom_components/taskmate/www/locales/zh-Hans/cards.json
# Conflicts: # custom_components/taskmate/www/taskmate-kiosk-card.js
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Merges eight finished local branches: three kiosk extras for first-come ("up for grabs") chores that follow #1247, four child card fixes left over from #1256, and header text that stays readable on light header colours across every card. No version bump.
Kiosk
"You got it first!" When a child completes a first-come chore and wins it (nobody, grown-up included, finished it first today), the kiosk's existing completion popup shows a medal and "You got it first!". If the chore needs approval it says a grown-up will check it before the points are theirs, instead of showing +N. Normal chores keep the usual popup; offline or failed taps never claim a win.
"N left today." A first-come chore with a shared daily limit above 1 shows how many are still up for grabs on its tag. The count follows the server's quota rule: every completion today by a child in the pool counts, a parent's "did it" for the whole pool counts, bonus subtask ticks don't. When the slots run out the row turns into the existing "{name} got it first" state.
Up-for-grabs first (opt-in). New kiosk option
grabs_first, off by default, under Completed chores in the editor. When on, open first-come chores move to the top of a child's list, keeping their own order. Children with a custom chore order keep it.Child card
Mood check-in follows the card style. The end-of-day "How was your day?" strip uses the card's design style (colours, borders, fonts, light and dark) instead of a grey box, and its five faces now stay on one row from 320 px up as 44 px tap targets with spoken names. Classic keeps its look.
Waiting is said once. On the designed styles a chore waiting for a grown-up shows only the "⏳ Waiting ↩" chip, which is also the undo button; the extra note under the name is gone. Screen readers still hear "{chore}, waiting for a grown-up. Undo". Classic keeps its label.
Tidier wrapping. Lock reasons ("🔒 Do Tidy bedroom first") keep the icon on the first line and wrap the words under each other, without a lone word on the second line. Classic chore names now show two lines instead of one (compact mode stays at one), and long unbroken words no longer run off the row.
Locked Done buttons read as switched off. A locked chore's Done button now shows a plain surface with a dashed outline and dim label instead of a faded coloured smear. Its label is at least 5:1 in every designed style, light and dark.
Every card
Header text on light colours. A light custom
header_color(yellow, pastel green) used to leave the white title at around 1.5:1. Header text, chips and icon wells now switch to dark ink when the header colour is light, judged with APCA so every built-in default colour stays white. The colour itself is unchanged. Gradient banners (Playroom's fade, seasonal bands) are judged on their lightest end, so a mid-tone colour on Playroom can now get dark text. Applies to 31 cards through the shared design layer.Checks
Lint, frontend tests (2519), pytest (4704), ruff, translation parity, locale bundles and data files pass locally on the combined branch. New strings are translated into all twenty languages. Visual checks were done on HAOS-Dev in all affected design styles.