Family devices: shared-screen family board with a who-is-this profile picker
build-container / build (push) Successful in 4m30s
build-container / build (push) Successful in 4m30s
- Admin can make a screen a family device; it opens on a family board - Name tiles with KID labels; kids tap, others enter a PIN (lockout after 5 wrong tries) - Name label with Switch user, auto-return to the board after 5 idle minutes - Short 30-minute sessions on family devices - Settings section for PIN and turning a device on or off - Test, README and roadmap updated Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
058f410a58
commit
eef1adaa73
21 files changed
+300
-14
No files matched your search
+3
-1
@@ -147,4 +147,6 @@ async function handle(req, res) {
|
||||
|
||||
/** Recipes in Mealie that match the words (none when Mealie is not set up or does not answer). */
|
||||
async function search(q) { if (!enabled()) return []; try { const j = await mealie(`/api/recipes?page=1&perPage=6&orderBy=name&orderDirection=asc&search=${encodeURIComponent(q)}`, { timeout: 6000 }); return (j.items || []).map(card); } catch { return []; } }
|
||||
module.exports = { handle, enabled, minutes, full, ingredientText, search };
|
||||
/** The open items on the shopping list, for the family board ([] when Mealie is not set up or does not answer). */
|
||||
async function shoppingOpen() { if (!enabled()) return []; try { return (await readList()).items.filter(i => !i.checked).slice(0, 12).map(i => ({ id: i.id, text: i.text })); } catch { return []; } }
|
||||
module.exports = { shoppingOpen, handle, enabled, minutes, full, ingredientText, search };
|
||||
Reference in new issue
Block a user