Skip to content

fix: make Kiosk Mode setting actually hide the sidebar (#20) - #51

Merged
asachs01 merged 1 commit into
mainfrom
fix/kiosk-mode-sidebar
Oct 11, 2026
Merged

asachs01 merged 1 commit into
mainfrom
fix/kiosk-mode-sidebar

Conversation

@asachs01

Copy link
Copy Markdown
Owner

Summary

Addresses the concrete, fixable bug found while investigating #20. Settings > Display has a "Kiosk Mode" toggle that was completely non-functional — App.tsx never read settings.kioskMode anywhere, so enabling it changed stored settings state but had zero visible effect: the Sidebar always rendered and the layout always reserved a column for it.

  • App.tsx: Sidebar is now conditionally rendered based on settings.kioskMode, and the root class switches to beacon--kiosk instead of beacon--sidebar-* when enabled.
  • beacon.css: new .beacon--kiosk rule collapses the grid to a single full-width column (no column reserved for a sidebar that isn't there).

Separately, the issue's literal title ("Kiosk Mode") is also sometimes used to mean "hide Home Assistant's own sidebar/shell chrome around the add-on" — that's a different, already-solved problem: this repo's Standalone Mode (direct Docker container, bypassing HA's ingress/sidebar shell entirely) is the existing answer for that. Will cover both points in a comment on #20.

Test plan

  • npx tsc --noEmit clean (verified in isolation on this branch)
  • npm test — 114/114 passing
  • npm run build succeeds
  • No new automated test added — this is a one-line conditional in App.tsx with no existing App-level test harness in the repo; verified by typecheck + full suite + build + direct code reading.

Settings > Display had a Kiosk Mode toggle that was never read
anywhere — turning it on changed settings state but had zero visible
effect, since App.tsx always rendered <Sidebar> and always applied a
beacon--sidebar-* layout class regardless of the setting.

Kiosk Mode now hides Sidebar entirely and applies a single full-width
grid column instead of reserving space for it.
@asachs01
asachs01 merged commit 2175dca into main Oct 11, 2026
1 check passed
@asachs01
asachs01 deleted the fix/kiosk-mode-sidebar branch October 11, 2026 13:25
github-actions Bot pushed a commit that referenced this pull request Oct 11, 2026
## [1.39.3](v1.39.2...v1.39.3) (2026-10-11)

### Bug Fixes

* make Kiosk Mode setting actually hide the sidebar ([#20](#20)) ([#51](#51)) ([2175dca](2175dca))

Co-Authored-By: claude-flow <ruv@ruv.net>
@github-actions

Copy link
Copy Markdown

🎉 This PR is included in version 1.39.3 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

cursor Bot pushed a commit that referenced this pull request Oct 12, 2026
Fixes #47

The i18n PRs #48-#51 only updated root src/ but the HA add-on builds
from beacon/src/, so users were missing those translation changes.

Changes:
- Synced 24 files from src/ to beacon/src/ using rsync
- Added scripts/check-beacon-sync.sh to detect future drift
- Added CI check step to fail builds when directories are out of sync

This ensures the dual-directory structure documented in CLAUDE.md
stays in sync for all future changes.

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Aaron Sachs <asachs01@users.noreply.github.com>
cursor Bot pushed a commit that referenced this pull request Oct 12, 2026
- Fix notifications FAQ entry: notifications ARE implemented via useNotifications()
  - Default 10 minutes before events, configurable to 5/10/15/30 in Settings > Calendar
  - Browser push + HA mobile app notifications
  - Only for timed events (not all-day)
- Fix kiosk mode FAQ entry: Kiosk Mode toggle now works (fixed in PR #51)
  - Settings > Display > Kiosk Mode hides Beacon's sidebar entirely
  - Distinguish between Beacon's sidebar and HA's ingress sidebar
- Update notifications.mdx to match: document configurable timing, default 10min
- Resolves contradiction between FAQ and shipped code after three-week staleness

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Aaron Sachs <asachs01@users.noreply.github.com>
cursor Bot pushed a commit that referenced this pull request Oct 12, 2026
Fixes #47

The i18n PRs #48-#51 only updated root src/ but the HA add-on builds
from beacon/src/, so users were missing those translation changes.

Changes:
- Synced 24 files from src/ to beacon/src/ using rsync
- Added scripts/check-beacon-sync.sh to detect future drift
- Added CI check step to fail builds when directories are out of sync

This ensures the dual-directory structure documented in CLAUDE.md
stays in sync for all future changes.

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Aaron Sachs <asachs01@users.noreply.github.com>
github-actions Bot pushed a commit that referenced this pull request Oct 12, 2026
## [1.39.4](v1.39.3...v1.39.4) (2026-10-12)

### Bug Fixes

* sync beacon/ add-on tree with root and fail CI on drift ([#52](#52)) ([9391c1f](9391c1f)), closes [#47](#47) [48-#51](https://github.com/48-/issues/51)

Co-Authored-By: claude-flow <ruv@ruv.net>
asachs01 added a commit that referenced this pull request Oct 12, 2026
…page 404s (#38)

* docs: add Skylight alternative page, fix FAQ issues #14/#20, fix homepage 404s

- Add comprehensive Beacon vs Skylight comparison page at /docs/getting-started/skylight-alternative/
- Update FAQ to clarify notifications are not yet shipped (issue #14)
- Add FAQ entry for hiding HA sidebar in kiosk mode (issue #20)
- Fix broken documentation links on homepage (getting-started, calendar, configuration, faq)
- Add robots.txt with sitemap reference for SEO

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Aaron Sachs <asachs01@users.noreply.github.com>

* docs: fix sidebar order collision and polish next steps links

- Update Getting Started sidebar order per Signal's SEO sequence:
  - Welcome = 1
  - Skylight alternative = 2
  - Installation = 3
  - Visual Walkthrough = 4
  - Deployment = 5
- Convert plain text next steps to proper markdown links on Skylight page
- Fixes unstable sidebar sort caused by duplicate order: 3

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Aaron Sachs <asachs01@users.noreply.github.com>

* docs: correct FAQ against actual implementation after rebase

- Fix notifications FAQ entry: notifications ARE implemented via useNotifications()
  - Default 10 minutes before events, configurable to 5/10/15/30 in Settings > Calendar
  - Browser push + HA mobile app notifications
  - Only for timed events (not all-day)
- Fix kiosk mode FAQ entry: Kiosk Mode toggle now works (fixed in PR #51)
  - Settings > Display > Kiosk Mode hides Beacon's sidebar entirely
  - Distinguish between Beacon's sidebar and HA's ingress sidebar
- Update notifications.mdx to match: document configurable timing, default 10min
- Resolves contradiction between FAQ and shipped code after three-week staleness

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Aaron Sachs <asachs01@users.noreply.github.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Aaron Sachs <asachs01@users.noreply.github.com>
cursor Bot pushed a commit that referenced this pull request Oct 17, 2026
* fix(i18n): translate remaining hardcoded screens

Complete i18n migration for all remaining hardcoded user-facing strings in root src/ (follow-up to #47, #48-#51, #54). Move strings to translation keys and fill in all 9 locales (de, en, es, fr, it, ja, ko, nl, pt).

Screens covered:
- ChoresView: all modals, buttons, labels, empty states
- Leaderboard: titles, period toggles, chore counts
- StreakBadge: tooltip and labels
- MusicView: empty state, player selection, playback controls
- NowPlayingBar: all aria-labels
- GroceryView: list selector, add/delete, item states
- OnboardingView: all steps, auth methods, error messages
- CardPickerModal: title and empty state
- ViewNameModal: labels and buttons
- Registry: default entities placeholder

Also fixed defaultConfig for ha-entities-list card to use translation key for placeholder instead of hardcoded "Entities" default title.

All changes mirrored to beacon/src/. TypeScript types enforce completeness across all locales. German translations vouched for by maintainer; others machine-generated but consistent with #54 terminology (To-dos vs Chores).

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Aaron Sachs <asachs01@users.noreply.github.com>

* fix(i18n): remove invalid placeholderKey from registry config

CardConfigField type doesn't support placeholderKey property.
Changed defaultConfig title to empty string instead of hardcoded "Entities".

Signed-off-by: Cursor Agent <cursoragent@cursor.com>

Co-authored-by: Aaron Sachs <asachs01@users.noreply.github.com>

---------

Co-authored-by: Cursor Agent <cursoragent@cursor.com>
Co-authored-by: Aaron Sachs <asachs01@users.noreply.github.com>
github-actions Bot pushed a commit that referenced this pull request Oct 17, 2026
## [1.39.6](v1.39.5...v1.39.6) (2026-10-17)

### Bug Fixes

* **i18n:** translate remaining hardcoded screens ([#55](#55)) ([42dbac1](42dbac1)), closes [#47](#47) [48-#51](https://github.com/48-/issues/51) [#54](#54) [#54](#54)

Co-Authored-By: claude-flow <ruv@ruv.net>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant