Household planning and management software meant to organise and streamline neurodivergent households.
0

Configure Feed

Select the types of activity you want to include in your feed.

Tabitemidentifyer :)

MLC Bloeiman (Jan 14, 2026, 11:17 PM +0100) 7a024607 bb3f8afd

+14 -8
+14 -8
sweetnhouse_dashboard/src/sweetnhouse_dashboard.gleam
··· 458 458 ) 459 459 } 460 460 461 - type TabItemIdentifyer = 462 - String 461 + type TabItemIdentifyer { 462 + Home 463 + Reports 464 + AdminHome 465 + SystemInfo 466 + LanguageSelector 467 + Always 468 + } 463 469 464 470 fn view_menu_items( 465 471 enabled_tabs: List(TabItemIdentifyer), 466 472 lang: fn(String) -> Element(Msg), 467 473 ) -> List(Element(Msg)) { 468 474 let items = [ 469 - #("home", html.li([], [html.a([], [lang("menu_home")])])), 475 + #(Home, html.li([], [html.a([], [lang("menu_home")])])), 470 476 #( 471 - "always", 477 + Always, 472 478 html.li([], [ 473 479 html.details([], [ 474 480 html.summary([], [lang("menu_language")]), ··· 483 489 ]), 484 490 ]), 485 491 ), 486 - #("reports", html.li([], [html.a([], [lang("menu_reports")])])), 487 - #("admin_home", html.li([], [html.a([], [lang("menu_admin_home")])])), 492 + #(Reports, html.li([], [html.a([], [lang("menu_reports")])])), 493 + #(AdminHome, html.li([], [html.a([], [lang("menu_admin_home")])])), 488 494 #( 489 - "always", 495 + Always, 490 496 html.li([], [ 491 497 html.a([attribute.href("/status")], [lang("menu_system_info")]), 492 498 ]), ··· 496 502 items 497 503 |> list.filter_map(fn(a) { 498 504 let #(id, content) = a 499 - case enabled_tabs |> list.contains(id) |> bool.or(id == "always") { 505 + case enabled_tabs |> list.contains(id) |> bool.or(id == Always) { 500 506 True -> Ok(content) 501 507 False -> Error(Nil) 502 508 }