Skip to content

Commit 3f2d7eb

Browse files
claudeandymeierdev
authored andcommitted
Use _dsShow, _dsClass, _onclick helpers instead of raw records
Replace verbose { Name = ...; Value = ... } attribute records with the typed helpers from FSharp.ViewEngine: _dsShow, _dsClass, _onclick. https://claude.ai/code/session_01Wo1bz46eiqffnctA7YHRYo
1 parent bce1d98 commit 3f2d7eb

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

app/src/App/src/Common/View.fs

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -127,10 +127,10 @@ module TopNav =
127127
a {
128128
_id id
129129
_class baseClass
130-
{ Name = $"data-class:text-emerald-600"; Value = ValueSome $"$selectedNav == '{id}'" }
131-
{ Name = $"data-class:dark:text-emerald-400"; Value = ValueSome $"$selectedNav == '{id}'" }
132-
{ Name = $"data-class:{inactiveLightClass}"; Value = ValueSome $"$selectedNav != '{id}'" }
133-
{ Name = $"data-class:{inactiveDarkClass}"; Value = ValueSome $"$selectedNav != '{id}'" }
130+
_dsClass ("text-emerald-600", $"$selectedNav == '{id}'")
131+
_dsClass ("dark:text-emerald-400", $"$selectedNav == '{id}'")
132+
_dsClass (inactiveLightClass, $"$selectedNav != '{id}'")
133+
_dsClass (inactiveDarkClass, $"$selectedNav != '{id}'")
134134
_dsOn ("click", $"@get('{href}')")
135135
el
136136
}
@@ -139,10 +139,10 @@ module TopNav =
139139
a {
140140
_id $"{id}-mobile"
141141
_class "block p-3 text-base font-semibold cursor-pointer hover:text-emerald-600 hover:bg-gray-200 dark:hover:text-emerald-400 dark:hover:bg-gray-800 rounded-md"
142-
{ Name = $"data-class:text-emerald-600"; Value = ValueSome $"$selectedNav == '{id}'" }
143-
{ Name = $"data-class:dark:text-emerald-400"; Value = ValueSome $"$selectedNav == '{id}'" }
144-
{ Name = "data-class:text-gray-800"; Value = ValueSome $"$selectedNav != '{id}'" }
145-
{ Name = "data-class:dark:text-gray-200"; Value = ValueSome $"$selectedNav != '{id}'" }
142+
_dsClass ("text-emerald-600", $"$selectedNav == '{id}'")
143+
_dsClass ("dark:text-emerald-400", $"$selectedNav == '{id}'")
144+
_dsClass ("text-gray-800", $"$selectedNav != '{id}'")
145+
_dsClass ("dark:text-gray-200", $"$selectedNav != '{id}'")
146146
_dsOn ("click", $"$menuOpen = false; @get('{href}')")
147147
text label
148148
}
@@ -156,7 +156,7 @@ module TopNav =
156156
"dark:text-gray-400 dark:hover:text-emerald-400 dark:hover:bg-gray-800"
157157
"hover:cursor-pointer"
158158
]
159-
{ Name = "onclick"; Value = ValueSome "toggleTheme()" }
159+
_onclick "toggleTheme()"
160160
MiniIcon.sun
161161
MiniIcon.moon
162162
}
@@ -172,11 +172,11 @@ module TopNav =
172172
]
173173
_dsOn ("click", "$menuOpen = !$menuOpen")
174174
div {
175-
{ Name = "data-show"; Value = ValueSome "!$menuOpen" }
175+
_dsShow "!$menuOpen"
176176
MiniIcon.hamburger
177177
}
178178
div {
179-
{ Name = "data-show"; Value = ValueSome "$menuOpen" }
179+
_dsShow "$menuOpen"
180180
MiniIcon.close
181181
}
182182
}
@@ -202,7 +202,7 @@ module TopNav =
202202
div {
203203
_id "mobile-menu"
204204
_class "md:hidden absolute left-0 right-0 top-full z-50 bg-gray-100 border-b border-gray-300 dark:bg-gray-900 dark:border-gray-700 px-4 pt-2 pb-1 shadow-lg"
205-
{ Name = "data-show"; Value = ValueSome "$menuOpen" }
205+
_dsShow "$menuOpen"
206206
mobileItem("nav-articles", "Articles", "/articles")
207207
mobileItem("nav-projects", "Projects", "/projects")
208208
mobileItem("nav-services", "Services", "/services")

0 commit comments

Comments
 (0)