fix(systemviews): mute history title stats
- commit
- 4f7fc7c7855cc4863d751647c976c6b62dd247e1
- author
- brice · · 2026-04-26 07:14 UTC
- parent
- 4e23726
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
8 files · +204 -157
M assets/systemviews/systemviews.css +11 -0
| @@ -53,11 +53,22 @@ body { | |||
| 53 | 53 | } | |
| 54 | 54 | ||
| 55 | 55 | .sv-title { | |
| 56 | + | display: flex; | |
| 57 | + | flex-wrap: wrap; | |
| 58 | + | gap: 0.45rem; | |
| 59 | + | align-items: baseline; | |
| 56 | 60 | margin: 0; | |
| 57 | 61 | font-size: clamp(1.35rem, 2.4vw, 2rem); | |
| 58 | 62 | line-height: 1.15; | |
| 59 | 63 | } | |
| 60 | 64 | ||
| 65 | + | .sv-title-detail { | |
| 66 | + | color: var(--sv-muted); | |
| 67 | + | font-size: clamp(0.9rem, 1.25vw, 1.05rem); | |
| 68 | + | font-weight: 600; | |
| 69 | + | letter-spacing: 0; | |
| 70 | + | } | |
| 71 | + | ||
| 61 | 72 | .sv-content { | |
| 62 | 73 | display: grid; | |
| 63 | 74 | gap: 1rem; | |
| @@ -53,11 +53,22 @@ body { | |||||
| 53 | } | 53 | } | ||
| 54 | 54 | ||||
| 55 | .sv-title { | 55 | .sv-title { | ||
| 56 | + | display: flex; | |||
| 57 | + | flex-wrap: wrap; | |||
| 58 | + | gap: 0.45rem; | |||
| 59 | + | align-items: baseline; | |||
| 56 | margin: 0; | 60 | margin: 0; | ||
| 57 | font-size: clamp(1.35rem, 2.4vw, 2rem); | 61 | font-size: clamp(1.35rem, 2.4vw, 2rem); | ||
| 58 | line-height: 1.15; | 62 | line-height: 1.15; | ||
| 59 | } | 63 | } | ||
| 60 | 64 | ||||
| 65 | + | .sv-title-detail { | |||
| 66 | + | color: var(--sv-muted); | |||
| 67 | + | font-size: clamp(0.9rem, 1.25vw, 1.05rem); | |||
| 68 | + | font-weight: 600; | |||
| 69 | + | letter-spacing: 0; | |||
| 70 | + | } | |||
| 71 | + | ||||
| 61 | .sv-content { | 72 | .sv-content { | ||
| 62 | display: grid; | 73 | display: grid; | ||
| 63 | gap: 1rem; | 74 | gap: 1rem; | ||
M internal/ui/systemviews/app.go +10 -8
| @@ -515,10 +515,11 @@ func (a *App) loadHistoryLoadingRoute() { | |||
| 515 | 515 | } | |
| 516 | 516 | title := historyDocumentTitle(data) | |
| 517 | 517 | a.renderedHTML = renderAppFrame(renderedPage{ | |
| 518 | - | route: RouteHistory, | |
| 519 | - | title: title, | |
| 520 | - | subtitle: title, | |
| 521 | - | body: historyHTML(data), | |
| 518 | + | route: RouteHistory, | |
| 519 | + | title: title, | |
| 520 | + | subtitle: "History", | |
| 521 | + | subtitleDetail: historyTitleDetail(data), | |
| 522 | + | body: historyHTML(data), | |
| 522 | 523 | }, a.shellTheme) | |
| 523 | 524 | } | |
| 524 | 525 | ||
| @@ -633,10 +634,11 @@ func (a *App) renderHistoryRouteSnapshot(ctx context.Context, snapshot historyRo | |||
| 633 | 634 | } | |
| 634 | 635 | title := historyDocumentTitle(data) | |
| 635 | 636 | result.html = renderAppFrame(renderedPage{ | |
| 636 | - | route: RouteHistory, | |
| 637 | - | title: title, | |
| 638 | - | subtitle: title, | |
| 639 | - | body: historyHTML(data), | |
| 637 | + | route: RouteHistory, | |
| 638 | + | title: title, | |
| 639 | + | subtitle: "History", | |
| 640 | + | subtitleDetail: historyTitleDetail(data), | |
| 641 | + | body: historyHTML(data), | |
| 640 | 642 | }, snapshot.shellTheme) | |
| 641 | 643 | return result, nil | |
| 642 | 644 | } | |
| @@ -515,10 +515,11 @@ func (a *App) loadHistoryLoadingRoute() { | |||||
| 515 | } | 515 | } | ||
| 516 | title := historyDocumentTitle(data) | 516 | title := historyDocumentTitle(data) | ||
| 517 | a.renderedHTML = renderAppFrame(renderedPage{ | 517 | a.renderedHTML = renderAppFrame(renderedPage{ | ||
| 518 | - | route: RouteHistory, | 518 | + | route: RouteHistory, |
| 519 | - | title: title, | 519 | + | title: title, |
| 520 | - | subtitle: title, | 520 | + | subtitle: "History", |
| 521 | - | body: historyHTML(data), | 521 | + | subtitleDetail: historyTitleDetail(data), |
| 522 | + | body: historyHTML(data), | |||
| 522 | }, a.shellTheme) | 523 | }, a.shellTheme) | ||
| 523 | } | 524 | } | ||
| 524 | 525 | ||||
| @@ -633,10 +634,11 @@ func (a *App) renderHistoryRouteSnapshot(ctx context.Context, snapshot historyRo | |||||
| 633 | } | 634 | } | ||
| 634 | title := historyDocumentTitle(data) | 635 | title := historyDocumentTitle(data) | ||
| 635 | result.html = renderAppFrame(renderedPage{ | 636 | result.html = renderAppFrame(renderedPage{ | ||
| 636 | - | route: RouteHistory, | 637 | + | route: RouteHistory, |
| 637 | - | title: title, | 638 | + | title: title, |
| 638 | - | subtitle: title, | 639 | + | subtitle: "History", |
| 639 | - | body: historyHTML(data), | 640 | + | subtitleDetail: historyTitleDetail(data), |
| 641 | + | body: historyHTML(data), | |||
| 640 | }, snapshot.shellTheme) | 642 | }, snapshot.shellTheme) | ||
| 641 | return result, nil | 643 | return result, nil | ||
| 642 | } | 644 | } | ||
M internal/ui/systemviews/app_test.go +1 -1
| @@ -111,7 +111,7 @@ func TestAppLoadInitialHistoryRouteShowsTotalStatsWithWindowedTimeline(t *testin | |||
| 111 | 111 | assert.True(t, history.statsCalled) | |
| 112 | 112 | assert.Contains(t, app.renderedHTML, "Loaded 2 items") | |
| 113 | 113 | assert.Contains(t, app.renderedHTML, `data-page-title="History - 8904 entries, 40947 visits, 121 days"`) | |
| 114 | - | assert.Contains(t, app.renderedHTML, `<h1 class="sv-title">History - 8904 entries, 40947 visits, 121 days</h1>`) | |
| 114 | + | assert.Contains(t, app.renderedHTML, `<h1 class="sv-title">History <span class="sv-title-detail">- 8904 entries, 40947 visits, 121 days</span></h1>`) | |
| 115 | 115 | assert.NotContains(t, app.renderedHTML, `sv-history-summary`) | |
| 116 | 116 | assert.NotContains(t, app.renderedHTML, `sv-stat-value`) | |
| 117 | 117 | } | |
| @@ -111,7 +111,7 @@ func TestAppLoadInitialHistoryRouteShowsTotalStatsWithWindowedTimeline(t *testin | |||||
| 111 | assert.True(t, history.statsCalled) | 111 | assert.True(t, history.statsCalled) | ||
| 112 | assert.Contains(t, app.renderedHTML, "Loaded 2 items") | 112 | assert.Contains(t, app.renderedHTML, "Loaded 2 items") | ||
| 113 | assert.Contains(t, app.renderedHTML, `data-page-title="History - 8904 entries, 40947 visits, 121 days"`) | 113 | assert.Contains(t, app.renderedHTML, `data-page-title="History - 8904 entries, 40947 visits, 121 days"`) | ||
| 114 | - | assert.Contains(t, app.renderedHTML, `<h1 class="sv-title">History - 8904 entries, 40947 visits, 121 days</h1>`) | 114 | + | assert.Contains(t, app.renderedHTML, `<h1 class="sv-title">History <span class="sv-title-detail">- 8904 entries, 40947 visits, 121 days</span></h1>`) |
| 115 | assert.NotContains(t, app.renderedHTML, `sv-history-summary`) | 115 | assert.NotContains(t, app.renderedHTML, `sv-history-summary`) | ||
| 116 | assert.NotContains(t, app.renderedHTML, `sv-stat-value`) | 116 | assert.NotContains(t, app.renderedHTML, `sv-stat-value`) | ||
| 117 | } | 117 | } | ||
M internal/ui/systemviews/components.templ +6 -1
| @@ -8,7 +8,12 @@ templ appFrameComponent(page renderedPage, theme shellTheme, body templ.Componen | |||
| 8 | 8 | > | |
| 9 | 9 | <div class="sv-shell"> | |
| 10 | 10 | if page.subtitle != "" { | |
| 11 | - | <h1 class="sv-title">{ page.subtitle }</h1> | |
| 11 | + | <h1 class="sv-title"> | |
| 12 | + | { page.subtitle } | |
| 13 | + | if page.subtitleDetail != "" { | |
| 14 | + | <span class="sv-title-detail">{ page.subtitleDetail }</span> | |
| 15 | + | } | |
| 16 | + | </h1> | |
| 12 | 17 | } | |
| 13 | 18 | <div class="sv-content"> | |
| 14 | 19 | @body | |
| @@ -8,7 +8,12 @@ templ appFrameComponent(page renderedPage, theme shellTheme, body templ.Componen | |||||
| 8 | > | 8 | > | ||
| 9 | <div class="sv-shell"> | 9 | <div class="sv-shell"> | ||
| 10 | if page.subtitle != "" { | 10 | if page.subtitle != "" { | ||
| 11 | - | <h1 class="sv-title">{ page.subtitle }</h1> | 11 | + | <h1 class="sv-title"> |
| 12 | + | { page.subtitle } | |||
| 13 | + | if page.subtitleDetail != "" { | |||
| 14 | + | <span class="sv-title-detail">{ page.subtitleDetail }</span> | |||
| 15 | + | } | |||
| 16 | + | </h1> | |||
| 12 | } | 17 | } | ||
| 13 | <div class="sv-content"> | 18 | <div class="sv-content"> | ||
| 14 | @body | 19 | @body | ||
M internal/ui/systemviews/components_templ.go +160 -137
| @@ -107,18 +107,41 @@ func appFrameComponent(page renderedPage, theme shellTheme, body templ.Component | |||
| 107 | 107 | var templ_7745c5c3_Var7 string | |
| 108 | 108 | templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(page.subtitle) | |
| 109 | 109 | if templ_7745c5c3_Err != nil { | |
| 110 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 11, Col: 40} | |
| 110 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 12, Col: 20} | |
| 111 | 111 | } | |
| 112 | 112 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) | |
| 113 | 113 | if templ_7745c5c3_Err != nil { | |
| 114 | 114 | return templ_7745c5c3_Err | |
| 115 | 115 | } | |
| 116 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "</h1>") | |
| 116 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, " ") | |
| 117 | + | if templ_7745c5c3_Err != nil { | |
| 118 | + | return templ_7745c5c3_Err | |
| 119 | + | } | |
| 120 | + | if page.subtitleDetail != "" { | |
| 121 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "<span class=\"sv-title-detail\">") | |
| 122 | + | if templ_7745c5c3_Err != nil { | |
| 123 | + | return templ_7745c5c3_Err | |
| 124 | + | } | |
| 125 | + | var templ_7745c5c3_Var8 string | |
| 126 | + | templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(page.subtitleDetail) | |
| 127 | + | if templ_7745c5c3_Err != nil { | |
| 128 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 14, Col: 57} | |
| 129 | + | } | |
| 130 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) | |
| 131 | + | if templ_7745c5c3_Err != nil { | |
| 132 | + | return templ_7745c5c3_Err | |
| 133 | + | } | |
| 134 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "</span>") | |
| 135 | + | if templ_7745c5c3_Err != nil { | |
| 136 | + | return templ_7745c5c3_Err | |
| 137 | + | } | |
| 138 | + | } | |
| 139 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "</h1>") | |
| 117 | 140 | if templ_7745c5c3_Err != nil { | |
| 118 | 141 | return templ_7745c5c3_Err | |
| 119 | 142 | } | |
| 120 | 143 | } | |
| 121 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "<div class=\"sv-content\">") | |
| 144 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "<div class=\"sv-content\">") | |
| 122 | 145 | if templ_7745c5c3_Err != nil { | |
| 123 | 146 | return templ_7745c5c3_Err | |
| 124 | 147 | } | |
| @@ -126,7 +149,7 @@ func appFrameComponent(page renderedPage, theme shellTheme, body templ.Component | |||
| 126 | 149 | if templ_7745c5c3_Err != nil { | |
| 127 | 150 | return templ_7745c5c3_Err | |
| 128 | 151 | } | |
| 129 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "</div></div></div>") | |
| 152 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "</div></div></div>") | |
| 130 | 153 | if templ_7745c5c3_Err != nil { | |
| 131 | 154 | return templ_7745c5c3_Err | |
| 132 | 155 | } | |
| @@ -150,51 +173,51 @@ func Section(className string, title string) templ.Component { | |||
| 150 | 173 | }() | |
| 151 | 174 | } | |
| 152 | 175 | ctx = templ.InitializeContext(ctx) | |
| 153 | - | templ_7745c5c3_Var8 := templ.GetChildren(ctx) | |
| 154 | - | if templ_7745c5c3_Var8 == nil { | |
| 155 | - | templ_7745c5c3_Var8 = templ.NopComponent | |
| 176 | + | templ_7745c5c3_Var9 := templ.GetChildren(ctx) | |
| 177 | + | if templ_7745c5c3_Var9 == nil { | |
| 178 | + | templ_7745c5c3_Var9 = templ.NopComponent | |
| 156 | 179 | } | |
| 157 | 180 | ctx = templ.ClearChildren(ctx) | |
| 158 | - | var templ_7745c5c3_Var9 = []any{sectionClass(className)} | |
| 159 | - | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var9...) | |
| 181 | + | var templ_7745c5c3_Var10 = []any{sectionClass(className)} | |
| 182 | + | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var10...) | |
| 160 | 183 | if templ_7745c5c3_Err != nil { | |
| 161 | 184 | return templ_7745c5c3_Err | |
| 162 | 185 | } | |
| 163 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "<section class=\"") | |
| 186 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "<section class=\"") | |
| 164 | 187 | if templ_7745c5c3_Err != nil { | |
| 165 | 188 | return templ_7745c5c3_Err | |
| 166 | 189 | } | |
| 167 | - | var templ_7745c5c3_Var10 string | |
| 168 | - | templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var9).String()) | |
| 190 | + | var templ_7745c5c3_Var11 string | |
| 191 | + | templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var10).String()) | |
| 169 | 192 | if templ_7745c5c3_Err != nil { | |
| 170 | 193 | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 1, Col: 0} | |
| 171 | 194 | } | |
| 172 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) | |
| 195 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) | |
| 173 | 196 | if templ_7745c5c3_Err != nil { | |
| 174 | 197 | return templ_7745c5c3_Err | |
| 175 | 198 | } | |
| 176 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "\"><h2>") | |
| 199 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "\"><h2>") | |
| 177 | 200 | if templ_7745c5c3_Err != nil { | |
| 178 | 201 | return templ_7745c5c3_Err | |
| 179 | 202 | } | |
| 180 | - | var templ_7745c5c3_Var11 string | |
| 181 | - | templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(title) | |
| 203 | + | var templ_7745c5c3_Var12 string | |
| 204 | + | templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(title) | |
| 182 | 205 | if templ_7745c5c3_Err != nil { | |
| 183 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 22, Col: 13} | |
| 206 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 27, Col: 13} | |
| 184 | 207 | } | |
| 185 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) | |
| 208 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) | |
| 186 | 209 | if templ_7745c5c3_Err != nil { | |
| 187 | 210 | return templ_7745c5c3_Err | |
| 188 | 211 | } | |
| 189 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "</h2>") | |
| 212 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</h2>") | |
| 190 | 213 | if templ_7745c5c3_Err != nil { | |
| 191 | 214 | return templ_7745c5c3_Err | |
| 192 | 215 | } | |
| 193 | - | templ_7745c5c3_Err = templ_7745c5c3_Var8.Render(ctx, templ_7745c5c3_Buffer) | |
| 216 | + | templ_7745c5c3_Err = templ_7745c5c3_Var9.Render(ctx, templ_7745c5c3_Buffer) | |
| 194 | 217 | if templ_7745c5c3_Err != nil { | |
| 195 | 218 | return templ_7745c5c3_Err | |
| 196 | 219 | } | |
| 197 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "</section>") | |
| 220 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</section>") | |
| 198 | 221 | if templ_7745c5c3_Err != nil { | |
| 199 | 222 | return templ_7745c5c3_Err | |
| 200 | 223 | } | |
| @@ -218,25 +241,25 @@ func Meta(text string) templ.Component { | |||
| 218 | 241 | }() | |
| 219 | 242 | } | |
| 220 | 243 | ctx = templ.InitializeContext(ctx) | |
| 221 | - | templ_7745c5c3_Var12 := templ.GetChildren(ctx) | |
| 222 | - | if templ_7745c5c3_Var12 == nil { | |
| 223 | - | templ_7745c5c3_Var12 = templ.NopComponent | |
| 244 | + | templ_7745c5c3_Var13 := templ.GetChildren(ctx) | |
| 245 | + | if templ_7745c5c3_Var13 == nil { | |
| 246 | + | templ_7745c5c3_Var13 = templ.NopComponent | |
| 224 | 247 | } | |
| 225 | 248 | ctx = templ.ClearChildren(ctx) | |
| 226 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "<p class=\"sv-meta\">") | |
| 249 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "<p class=\"sv-meta\">") | |
| 227 | 250 | if templ_7745c5c3_Err != nil { | |
| 228 | 251 | return templ_7745c5c3_Err | |
| 229 | 252 | } | |
| 230 | - | var templ_7745c5c3_Var13 string | |
| 231 | - | templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(text) | |
| 253 | + | var templ_7745c5c3_Var14 string | |
| 254 | + | templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(text) | |
| 232 | 255 | if templ_7745c5c3_Err != nil { | |
| 233 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 28, Col: 26} | |
| 256 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 33, Col: 26} | |
| 234 | 257 | } | |
| 235 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) | |
| 258 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14)) | |
| 236 | 259 | if templ_7745c5c3_Err != nil { | |
| 237 | 260 | return templ_7745c5c3_Err | |
| 238 | 261 | } | |
| 239 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</p>") | |
| 262 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "</p>") | |
| 240 | 263 | if templ_7745c5c3_Err != nil { | |
| 241 | 264 | return templ_7745c5c3_Err | |
| 242 | 265 | } | |
| @@ -260,25 +283,25 @@ func EmptyState(message string) templ.Component { | |||
| 260 | 283 | }() | |
| 261 | 284 | } | |
| 262 | 285 | ctx = templ.InitializeContext(ctx) | |
| 263 | - | templ_7745c5c3_Var14 := templ.GetChildren(ctx) | |
| 264 | - | if templ_7745c5c3_Var14 == nil { | |
| 265 | - | templ_7745c5c3_Var14 = templ.NopComponent | |
| 286 | + | templ_7745c5c3_Var15 := templ.GetChildren(ctx) | |
| 287 | + | if templ_7745c5c3_Var15 == nil { | |
| 288 | + | templ_7745c5c3_Var15 = templ.NopComponent | |
| 266 | 289 | } | |
| 267 | 290 | ctx = templ.ClearChildren(ctx) | |
| 268 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "<div class=\"sv-empty\"><p>") | |
| 291 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "<div class=\"sv-empty\"><p>") | |
| 269 | 292 | if templ_7745c5c3_Err != nil { | |
| 270 | 293 | return templ_7745c5c3_Err | |
| 271 | 294 | } | |
| 272 | - | var templ_7745c5c3_Var15 string | |
| 273 | - | templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(message) | |
| 295 | + | var templ_7745c5c3_Var16 string | |
| 296 | + | templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(message) | |
| 274 | 297 | if templ_7745c5c3_Err != nil { | |
| 275 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 32, Col: 35} | |
| 298 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 37, Col: 35} | |
| 276 | 299 | } | |
| 277 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15)) | |
| 300 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16)) | |
| 278 | 301 | if templ_7745c5c3_Err != nil { | |
| 279 | 302 | return templ_7745c5c3_Err | |
| 280 | 303 | } | |
| 281 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</p></div>") | |
| 304 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "</p></div>") | |
| 282 | 305 | if templ_7745c5c3_Err != nil { | |
| 283 | 306 | return templ_7745c5c3_Err | |
| 284 | 307 | } | |
| @@ -302,25 +325,25 @@ func LoadingPanel(message string) templ.Component { | |||
| 302 | 325 | }() | |
| 303 | 326 | } | |
| 304 | 327 | ctx = templ.InitializeContext(ctx) | |
| 305 | - | templ_7745c5c3_Var16 := templ.GetChildren(ctx) | |
| 306 | - | if templ_7745c5c3_Var16 == nil { | |
| 307 | - | templ_7745c5c3_Var16 = templ.NopComponent | |
| 328 | + | templ_7745c5c3_Var17 := templ.GetChildren(ctx) | |
| 329 | + | if templ_7745c5c3_Var17 == nil { | |
| 330 | + | templ_7745c5c3_Var17 = templ.NopComponent | |
| 308 | 331 | } | |
| 309 | 332 | ctx = templ.ClearChildren(ctx) | |
| 310 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "<div class=\"sv-loading-panel\" role=\"status\" aria-live=\"polite\"><span class=\"sv-spinner\" aria-hidden=\"true\"></span> <span>") | |
| 333 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "<div class=\"sv-loading-panel\" role=\"status\" aria-live=\"polite\"><span class=\"sv-spinner\" aria-hidden=\"true\"></span> <span>") | |
| 311 | 334 | if templ_7745c5c3_Err != nil { | |
| 312 | 335 | return templ_7745c5c3_Err | |
| 313 | 336 | } | |
| 314 | - | var templ_7745c5c3_Var17 string | |
| 315 | - | templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(message) | |
| 337 | + | var templ_7745c5c3_Var18 string | |
| 338 | + | templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(message) | |
| 316 | 339 | if templ_7745c5c3_Err != nil { | |
| 317 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 38, Col: 17} | |
| 340 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 43, Col: 17} | |
| 318 | 341 | } | |
| 319 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17)) | |
| 342 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18)) | |
| 320 | 343 | if templ_7745c5c3_Err != nil { | |
| 321 | 344 | return templ_7745c5c3_Err | |
| 322 | 345 | } | |
| 323 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "</span></div>") | |
| 346 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</span></div>") | |
| 324 | 347 | if templ_7745c5c3_Err != nil { | |
| 325 | 348 | return templ_7745c5c3_Err | |
| 326 | 349 | } | |
| @@ -344,25 +367,25 @@ func LoadingCard(label string) templ.Component { | |||
| 344 | 367 | }() | |
| 345 | 368 | } | |
| 346 | 369 | ctx = templ.InitializeContext(ctx) | |
| 347 | - | templ_7745c5c3_Var18 := templ.GetChildren(ctx) | |
| 348 | - | if templ_7745c5c3_Var18 == nil { | |
| 349 | - | templ_7745c5c3_Var18 = templ.NopComponent | |
| 370 | + | templ_7745c5c3_Var19 := templ.GetChildren(ctx) | |
| 371 | + | if templ_7745c5c3_Var19 == nil { | |
| 372 | + | templ_7745c5c3_Var19 = templ.NopComponent | |
| 350 | 373 | } | |
| 351 | 374 | ctx = templ.ClearChildren(ctx) | |
| 352 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "<div class=\"sv-stat-card sv-loading-card\" role=\"status\" aria-live=\"polite\"><span class=\"sv-spinner\" aria-hidden=\"true\"></span> <span class=\"sv-stat-label\">") | |
| 375 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "<div class=\"sv-stat-card sv-loading-card\" role=\"status\" aria-live=\"polite\"><span class=\"sv-spinner\" aria-hidden=\"true\"></span> <span class=\"sv-stat-label\">") | |
| 353 | 376 | if templ_7745c5c3_Err != nil { | |
| 354 | 377 | return templ_7745c5c3_Err | |
| 355 | 378 | } | |
| 356 | - | var templ_7745c5c3_Var19 string | |
| 357 | - | templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(label) | |
| 379 | + | var templ_7745c5c3_Var20 string | |
| 380 | + | templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(label) | |
| 358 | 381 | if templ_7745c5c3_Err != nil { | |
| 359 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 45, Col: 37} | |
| 382 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 50, Col: 37} | |
| 360 | 383 | } | |
| 361 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19)) | |
| 384 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20)) | |
| 362 | 385 | if templ_7745c5c3_Err != nil { | |
| 363 | 386 | return templ_7745c5c3_Err | |
| 364 | 387 | } | |
| 365 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "</span></div>") | |
| 388 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</span></div>") | |
| 366 | 389 | if templ_7745c5c3_Err != nil { | |
| 367 | 390 | return templ_7745c5c3_Err | |
| 368 | 391 | } | |
| @@ -386,57 +409,57 @@ func Alert(kind string, message string) templ.Component { | |||
| 386 | 409 | }() | |
| 387 | 410 | } | |
| 388 | 411 | ctx = templ.InitializeContext(ctx) | |
| 389 | - | templ_7745c5c3_Var20 := templ.GetChildren(ctx) | |
| 390 | - | if templ_7745c5c3_Var20 == nil { | |
| 391 | - | templ_7745c5c3_Var20 = templ.NopComponent | |
| 412 | + | templ_7745c5c3_Var21 := templ.GetChildren(ctx) | |
| 413 | + | if templ_7745c5c3_Var21 == nil { | |
| 414 | + | templ_7745c5c3_Var21 = templ.NopComponent | |
| 392 | 415 | } | |
| 393 | 416 | ctx = templ.ClearChildren(ctx) | |
| 394 | 417 | if message != "" { | |
| 395 | - | var templ_7745c5c3_Var21 = []any{alertClass(kind)} | |
| 396 | - | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var21...) | |
| 418 | + | var templ_7745c5c3_Var22 = []any{alertClass(kind)} | |
| 419 | + | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var22...) | |
| 397 | 420 | if templ_7745c5c3_Err != nil { | |
| 398 | 421 | return templ_7745c5c3_Err | |
| 399 | 422 | } | |
| 400 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "<div class=\"") | |
| 423 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "<div class=\"") | |
| 401 | 424 | if templ_7745c5c3_Err != nil { | |
| 402 | 425 | return templ_7745c5c3_Err | |
| 403 | 426 | } | |
| 404 | - | var templ_7745c5c3_Var22 string | |
| 405 | - | templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var21).String()) | |
| 427 | + | var templ_7745c5c3_Var23 string | |
| 428 | + | templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var22).String()) | |
| 406 | 429 | if templ_7745c5c3_Err != nil { | |
| 407 | 430 | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 1, Col: 0} | |
| 408 | 431 | } | |
| 409 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22)) | |
| 432 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23)) | |
| 410 | 433 | if templ_7745c5c3_Err != nil { | |
| 411 | 434 | return templ_7745c5c3_Err | |
| 412 | 435 | } | |
| 413 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "\" role=\"") | |
| 436 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "\" role=\"") | |
| 414 | 437 | if templ_7745c5c3_Err != nil { | |
| 415 | 438 | return templ_7745c5c3_Err | |
| 416 | 439 | } | |
| 417 | - | var templ_7745c5c3_Var23 string | |
| 418 | - | templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs(alertRole(kind)) | |
| 440 | + | var templ_7745c5c3_Var24 string | |
| 441 | + | templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(alertRole(kind)) | |
| 419 | 442 | if templ_7745c5c3_Err != nil { | |
| 420 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 51, Col: 56} | |
| 443 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 56, Col: 56} | |
| 421 | 444 | } | |
| 422 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23)) | |
| 445 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24)) | |
| 423 | 446 | if templ_7745c5c3_Err != nil { | |
| 424 | 447 | return templ_7745c5c3_Err | |
| 425 | 448 | } | |
| 426 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "\">") | |
| 449 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "\">") | |
| 427 | 450 | if templ_7745c5c3_Err != nil { | |
| 428 | 451 | return templ_7745c5c3_Err | |
| 429 | 452 | } | |
| 430 | - | var templ_7745c5c3_Var24 string | |
| 431 | - | templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(message) | |
| 453 | + | var templ_7745c5c3_Var25 string | |
| 454 | + | templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(message) | |
| 432 | 455 | if templ_7745c5c3_Err != nil { | |
| 433 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 51, Col: 68} | |
| 456 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 56, Col: 68} | |
| 434 | 457 | } | |
| 435 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24)) | |
| 458 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25)) | |
| 436 | 459 | if templ_7745c5c3_Err != nil { | |
| 437 | 460 | return templ_7745c5c3_Err | |
| 438 | 461 | } | |
| 439 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "</div>") | |
| 462 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "</div>") | |
| 440 | 463 | if templ_7745c5c3_Err != nil { | |
| 441 | 464 | return templ_7745c5c3_Err | |
| 442 | 465 | } | |
| @@ -461,20 +484,20 @@ func List() templ.Component { | |||
| 461 | 484 | }() | |
| 462 | 485 | } | |
| 463 | 486 | ctx = templ.InitializeContext(ctx) | |
| 464 | - | templ_7745c5c3_Var25 := templ.GetChildren(ctx) | |
| 465 | - | if templ_7745c5c3_Var25 == nil { | |
| 466 | - | templ_7745c5c3_Var25 = templ.NopComponent | |
| 487 | + | templ_7745c5c3_Var26 := templ.GetChildren(ctx) | |
| 488 | + | if templ_7745c5c3_Var26 == nil { | |
| 489 | + | templ_7745c5c3_Var26 = templ.NopComponent | |
| 467 | 490 | } | |
| 468 | 491 | ctx = templ.ClearChildren(ctx) | |
| 469 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "<ul class=\"sv-list\">") | |
| 492 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "<ul class=\"sv-list\">") | |
| 470 | 493 | if templ_7745c5c3_Err != nil { | |
| 471 | 494 | return templ_7745c5c3_Err | |
| 472 | 495 | } | |
| 473 | - | templ_7745c5c3_Err = templ_7745c5c3_Var25.Render(ctx, templ_7745c5c3_Buffer) | |
| 496 | + | templ_7745c5c3_Err = templ_7745c5c3_Var26.Render(ctx, templ_7745c5c3_Buffer) | |
| 474 | 497 | if templ_7745c5c3_Err != nil { | |
| 475 | 498 | return templ_7745c5c3_Err | |
| 476 | 499 | } | |
| 477 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</ul>") | |
| 500 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "</ul>") | |
| 478 | 501 | if templ_7745c5c3_Err != nil { | |
| 479 | 502 | return templ_7745c5c3_Err | |
| 480 | 503 | } | |
| @@ -498,20 +521,20 @@ func ListRow() templ.Component { | |||
| 498 | 521 | }() | |
| 499 | 522 | } | |
| 500 | 523 | ctx = templ.InitializeContext(ctx) | |
| 501 | - | templ_7745c5c3_Var26 := templ.GetChildren(ctx) | |
| 502 | - | if templ_7745c5c3_Var26 == nil { | |
| 503 | - | templ_7745c5c3_Var26 = templ.NopComponent | |
| 524 | + | templ_7745c5c3_Var27 := templ.GetChildren(ctx) | |
| 525 | + | if templ_7745c5c3_Var27 == nil { | |
| 526 | + | templ_7745c5c3_Var27 = templ.NopComponent | |
| 504 | 527 | } | |
| 505 | 528 | ctx = templ.ClearChildren(ctx) | |
| 506 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "<li class=\"sv-list-row\">") | |
| 529 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "<li class=\"sv-list-row\">") | |
| 507 | 530 | if templ_7745c5c3_Err != nil { | |
| 508 | 531 | return templ_7745c5c3_Err | |
| 509 | 532 | } | |
| 510 | - | templ_7745c5c3_Err = templ_7745c5c3_Var26.Render(ctx, templ_7745c5c3_Buffer) | |
| 533 | + | templ_7745c5c3_Err = templ_7745c5c3_Var27.Render(ctx, templ_7745c5c3_Buffer) | |
| 511 | 534 | if templ_7745c5c3_Err != nil { | |
| 512 | 535 | return templ_7745c5c3_Err | |
| 513 | 536 | } | |
| 514 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "</li>") | |
| 537 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "</li>") | |
| 515 | 538 | if templ_7745c5c3_Err != nil { | |
| 516 | 539 | return templ_7745c5c3_Err | |
| 517 | 540 | } | |
| @@ -535,48 +558,48 @@ func Button(label string, action string, classes string, attrs templ.Attributes, | |||
| 535 | 558 | }() | |
| 536 | 559 | } | |
| 537 | 560 | ctx = templ.InitializeContext(ctx) | |
| 538 | - | templ_7745c5c3_Var27 := templ.GetChildren(ctx) | |
| 539 | - | if templ_7745c5c3_Var27 == nil { | |
| 540 | - | templ_7745c5c3_Var27 = templ.NopComponent | |
| 561 | + | templ_7745c5c3_Var28 := templ.GetChildren(ctx) | |
| 562 | + | if templ_7745c5c3_Var28 == nil { | |
| 563 | + | templ_7745c5c3_Var28 = templ.NopComponent | |
| 541 | 564 | } | |
| 542 | 565 | ctx = templ.ClearChildren(ctx) | |
| 543 | - | var templ_7745c5c3_Var28 = []any{buttonClass(classes)} | |
| 544 | - | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var28...) | |
| 566 | + | var templ_7745c5c3_Var29 = []any{buttonClass(classes)} | |
| 567 | + | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var29...) | |
| 545 | 568 | if templ_7745c5c3_Err != nil { | |
| 546 | 569 | return templ_7745c5c3_Err | |
| 547 | 570 | } | |
| 548 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "<button type=\"button\" class=\"") | |
| 571 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "<button type=\"button\" class=\"") | |
| 549 | 572 | if templ_7745c5c3_Err != nil { | |
| 550 | 573 | return templ_7745c5c3_Err | |
| 551 | 574 | } | |
| 552 | - | var templ_7745c5c3_Var29 string | |
| 553 | - | templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var28).String()) | |
| 575 | + | var templ_7745c5c3_Var30 string | |
| 576 | + | templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var29).String()) | |
| 554 | 577 | if templ_7745c5c3_Err != nil { | |
| 555 | 578 | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 1, Col: 0} | |
| 556 | 579 | } | |
| 557 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29)) | |
| 580 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30)) | |
| 558 | 581 | if templ_7745c5c3_Err != nil { | |
| 559 | 582 | return templ_7745c5c3_Err | |
| 560 | 583 | } | |
| 561 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "\" data-sv-action=\"") | |
| 584 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "\" data-sv-action=\"") | |
| 562 | 585 | if templ_7745c5c3_Err != nil { | |
| 563 | 586 | return templ_7745c5c3_Err | |
| 564 | 587 | } | |
| 565 | - | var templ_7745c5c3_Var30 string | |
| 566 | - | templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(action) | |
| 588 | + | var templ_7745c5c3_Var31 string | |
| 589 | + | templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(action) | |
| 567 | 590 | if templ_7745c5c3_Err != nil { | |
| 568 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 68, Col: 77} | |
| 591 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 73, Col: 77} | |
| 569 | 592 | } | |
| 570 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30)) | |
| 593 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) | |
| 571 | 594 | if templ_7745c5c3_Err != nil { | |
| 572 | 595 | return templ_7745c5c3_Err | |
| 573 | 596 | } | |
| 574 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "\"") | |
| 597 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "\"") | |
| 575 | 598 | if templ_7745c5c3_Err != nil { | |
| 576 | 599 | return templ_7745c5c3_Err | |
| 577 | 600 | } | |
| 578 | 601 | if disabled { | |
| 579 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, " disabled") | |
| 602 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, " disabled") | |
| 580 | 603 | if templ_7745c5c3_Err != nil { | |
| 581 | 604 | return templ_7745c5c3_Err | |
| 582 | 605 | } | |
| @@ -585,20 +608,20 @@ func Button(label string, action string, classes string, attrs templ.Attributes, | |||
| 585 | 608 | if templ_7745c5c3_Err != nil { | |
| 586 | 609 | return templ_7745c5c3_Err | |
| 587 | 610 | } | |
| 588 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, ">") | |
| 611 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, ">") | |
| 589 | 612 | if templ_7745c5c3_Err != nil { | |
| 590 | 613 | return templ_7745c5c3_Err | |
| 591 | 614 | } | |
| 592 | - | var templ_7745c5c3_Var31 string | |
| 593 | - | templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(label) | |
| 615 | + | var templ_7745c5c3_Var32 string | |
| 616 | + | templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(label) | |
| 594 | 617 | if templ_7745c5c3_Err != nil { | |
| 595 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 68, Col: 123} | |
| 618 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 73, Col: 123} | |
| 596 | 619 | } | |
| 597 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) | |
| 620 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) | |
| 598 | 621 | if templ_7745c5c3_Err != nil { | |
| 599 | 622 | return templ_7745c5c3_Err | |
| 600 | 623 | } | |
| 601 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</button>") | |
| 624 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "</button>") | |
| 602 | 625 | if templ_7745c5c3_Err != nil { | |
| 603 | 626 | return templ_7745c5c3_Err | |
| 604 | 627 | } | |
| @@ -622,32 +645,32 @@ func KeyList(keys []string) templ.Component { | |||
| 622 | 645 | }() | |
| 623 | 646 | } | |
| 624 | 647 | ctx = templ.InitializeContext(ctx) | |
| 625 | - | templ_7745c5c3_Var32 := templ.GetChildren(ctx) | |
| 626 | - | if templ_7745c5c3_Var32 == nil { | |
| 627 | - | templ_7745c5c3_Var32 = templ.NopComponent | |
| 648 | + | templ_7745c5c3_Var33 := templ.GetChildren(ctx) | |
| 649 | + | if templ_7745c5c3_Var33 == nil { | |
| 650 | + | templ_7745c5c3_Var33 = templ.NopComponent | |
| 628 | 651 | } | |
| 629 | 652 | ctx = templ.ClearChildren(ctx) | |
| 630 | 653 | if len(keys) == 0 { | |
| 631 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<span class=\"sv-key sv-key-empty\">Unassigned</span>") | |
| 654 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "<span class=\"sv-key sv-key-empty\">Unassigned</span>") | |
| 632 | 655 | if templ_7745c5c3_Err != nil { | |
| 633 | 656 | return templ_7745c5c3_Err | |
| 634 | 657 | } | |
| 635 | 658 | } else { | |
| 636 | 659 | for _, key := range keys { | |
| 637 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "<span class=\"sv-key\">") | |
| 660 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "<span class=\"sv-key\">") | |
| 638 | 661 | if templ_7745c5c3_Err != nil { | |
| 639 | 662 | return templ_7745c5c3_Err | |
| 640 | 663 | } | |
| 641 | - | var templ_7745c5c3_Var33 string | |
| 642 | - | templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinStringErrs(key) | |
| 664 | + | var templ_7745c5c3_Var34 string | |
| 665 | + | templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.JoinStringErrs(key) | |
| 643 | 666 | if templ_7745c5c3_Err != nil { | |
| 644 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 76, Col: 29} | |
| 667 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 81, Col: 29} | |
| 645 | 668 | } | |
| 646 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33)) | |
| 669 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var34)) | |
| 647 | 670 | if templ_7745c5c3_Err != nil { | |
| 648 | 671 | return templ_7745c5c3_Err | |
| 649 | 672 | } | |
| 650 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "</span>") | |
| 673 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "</span>") | |
| 651 | 674 | if templ_7745c5c3_Err != nil { | |
| 652 | 675 | return templ_7745c5c3_Err | |
| 653 | 676 | } | |
| @@ -673,9 +696,9 @@ func KV(rows []kvPair) templ.Component { | |||
| 673 | 696 | }() | |
| 674 | 697 | } | |
| 675 | 698 | ctx = templ.InitializeContext(ctx) | |
| 676 | - | templ_7745c5c3_Var34 := templ.GetChildren(ctx) | |
| 677 | - | if templ_7745c5c3_Var34 == nil { | |
| 678 | - | templ_7745c5c3_Var34 = templ.NopComponent | |
| 699 | + | templ_7745c5c3_Var35 := templ.GetChildren(ctx) | |
| 700 | + | if templ_7745c5c3_Var35 == nil { | |
| 701 | + | templ_7745c5c3_Var35 = templ.NopComponent | |
| 679 | 702 | } | |
| 680 | 703 | ctx = templ.ClearChildren(ctx) | |
| 681 | 704 | if len(rows) == 0 { | |
| @@ -684,43 +707,43 @@ func KV(rows []kvPair) templ.Component { | |||
| 684 | 707 | return templ_7745c5c3_Err | |
| 685 | 708 | } | |
| 686 | 709 | } else { | |
| 687 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "<dl class=\"sv-kv\">") | |
| 710 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "<dl class=\"sv-kv\">") | |
| 688 | 711 | if templ_7745c5c3_Err != nil { | |
| 689 | 712 | return templ_7745c5c3_Err | |
| 690 | 713 | } | |
| 691 | 714 | for _, row := range rows { | |
| 692 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "<div class=\"sv-kv-row\"><dt>") | |
| 715 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<div class=\"sv-kv-row\"><dt>") | |
| 693 | 716 | if templ_7745c5c3_Err != nil { | |
| 694 | 717 | return templ_7745c5c3_Err | |
| 695 | 718 | } | |
| 696 | - | var templ_7745c5c3_Var35 string | |
| 697 | - | templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.JoinStringErrs(row.Label) | |
| 719 | + | var templ_7745c5c3_Var36 string | |
| 720 | + | templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(row.Label) | |
| 698 | 721 | if templ_7745c5c3_Err != nil { | |
| 699 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 87, Col: 42} | |
| 722 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 92, Col: 42} | |
| 700 | 723 | } | |
| 701 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var35)) | |
| 724 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36)) | |
| 702 | 725 | if templ_7745c5c3_Err != nil { | |
| 703 | 726 | return templ_7745c5c3_Err | |
| 704 | 727 | } | |
| 705 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "</dt><dd>") | |
| 728 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "</dt><dd>") | |
| 706 | 729 | if templ_7745c5c3_Err != nil { | |
| 707 | 730 | return templ_7745c5c3_Err | |
| 708 | 731 | } | |
| 709 | - | var templ_7745c5c3_Var36 string | |
| 710 | - | templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(row.Value) | |
| 732 | + | var templ_7745c5c3_Var37 string | |
| 733 | + | templ_7745c5c3_Var37, templ_7745c5c3_Err = templ.JoinStringErrs(row.Value) | |
| 711 | 734 | if templ_7745c5c3_Err != nil { | |
| 712 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 87, Col: 64} | |
| 735 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 92, Col: 64} | |
| 713 | 736 | } | |
| 714 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36)) | |
| 737 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var37)) | |
| 715 | 738 | if templ_7745c5c3_Err != nil { | |
| 716 | 739 | return templ_7745c5c3_Err | |
| 717 | 740 | } | |
| 718 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "</dd></div>") | |
| 741 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "</dd></div>") | |
| 719 | 742 | if templ_7745c5c3_Err != nil { | |
| 720 | 743 | return templ_7745c5c3_Err | |
| 721 | 744 | } | |
| 722 | 745 | } | |
| 723 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "</dl>") | |
| 746 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "</dl>") | |
| 724 | 747 | if templ_7745c5c3_Err != nil { | |
| 725 | 748 | return templ_7745c5c3_Err | |
| 726 | 749 | } | |
| @@ -107,18 +107,41 @@ func appFrameComponent(page renderedPage, theme shellTheme, body templ.Component | |||||
| 107 | var templ_7745c5c3_Var7 string | 107 | var templ_7745c5c3_Var7 string | ||
| 108 | templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(page.subtitle) | 108 | templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(page.subtitle) | ||
| 109 | if templ_7745c5c3_Err != nil { | 109 | if templ_7745c5c3_Err != nil { | ||
| 110 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 11, Col: 40} | 110 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 12, Col: 20} |
| 111 | } | 111 | } | ||
| 112 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) | 112 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) | ||
| 113 | if templ_7745c5c3_Err != nil { | 113 | if templ_7745c5c3_Err != nil { | ||
| 114 | return templ_7745c5c3_Err | 114 | return templ_7745c5c3_Err | ||
| 115 | } | 115 | } | ||
| 116 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "</h1>") | 116 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, " ") |
| 117 | + | if templ_7745c5c3_Err != nil { | |||
| 118 | + | return templ_7745c5c3_Err | |||
| 119 | + | } | |||
| 120 | + | if page.subtitleDetail != "" { | |||
| 121 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "<span class=\"sv-title-detail\">") | |||
| 122 | + | if templ_7745c5c3_Err != nil { | |||
| 123 | + | return templ_7745c5c3_Err | |||
| 124 | + | } | |||
| 125 | + | var templ_7745c5c3_Var8 string | |||
| 126 | + | templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(page.subtitleDetail) | |||
| 127 | + | if templ_7745c5c3_Err != nil { | |||
| 128 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 14, Col: 57} | |||
| 129 | + | } | |||
| 130 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) | |||
| 131 | + | if templ_7745c5c3_Err != nil { | |||
| 132 | + | return templ_7745c5c3_Err | |||
| 133 | + | } | |||
| 134 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "</span>") | |||
| 135 | + | if templ_7745c5c3_Err != nil { | |||
| 136 | + | return templ_7745c5c3_Err | |||
| 137 | + | } | |||
| 138 | + | } | |||
| 139 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "</h1>") | |||
| 117 | if templ_7745c5c3_Err != nil { | 140 | if templ_7745c5c3_Err != nil { | ||
| 118 | return templ_7745c5c3_Err | 141 | return templ_7745c5c3_Err | ||
| 119 | } | 142 | } | ||
| 120 | } | 143 | } | ||
| 121 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "<div class=\"sv-content\">") | 144 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "<div class=\"sv-content\">") |
| 122 | if templ_7745c5c3_Err != nil { | 145 | if templ_7745c5c3_Err != nil { | ||
| 123 | return templ_7745c5c3_Err | 146 | return templ_7745c5c3_Err | ||
| 124 | } | 147 | } | ||
| @@ -126,7 +149,7 @@ func appFrameComponent(page renderedPage, theme shellTheme, body templ.Component | |||||
| 126 | if templ_7745c5c3_Err != nil { | 149 | if templ_7745c5c3_Err != nil { | ||
| 127 | return templ_7745c5c3_Err | 150 | return templ_7745c5c3_Err | ||
| 128 | } | 151 | } | ||
| 129 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "</div></div></div>") | 152 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "</div></div></div>") |
| 130 | if templ_7745c5c3_Err != nil { | 153 | if templ_7745c5c3_Err != nil { | ||
| 131 | return templ_7745c5c3_Err | 154 | return templ_7745c5c3_Err | ||
| 132 | } | 155 | } | ||
| @@ -150,51 +173,51 @@ func Section(className string, title string) templ.Component { | |||||
| 150 | }() | 173 | }() | ||
| 151 | } | 174 | } | ||
| 152 | ctx = templ.InitializeContext(ctx) | 175 | ctx = templ.InitializeContext(ctx) | ||
| 153 | - | templ_7745c5c3_Var8 := templ.GetChildren(ctx) | 176 | + | templ_7745c5c3_Var9 := templ.GetChildren(ctx) |
| 154 | - | if templ_7745c5c3_Var8 == nil { | 177 | + | if templ_7745c5c3_Var9 == nil { |
| 155 | - | templ_7745c5c3_Var8 = templ.NopComponent | 178 | + | templ_7745c5c3_Var9 = templ.NopComponent |
| 156 | } | 179 | } | ||
| 157 | ctx = templ.ClearChildren(ctx) | 180 | ctx = templ.ClearChildren(ctx) | ||
| 158 | - | var templ_7745c5c3_Var9 = []any{sectionClass(className)} | 181 | + | var templ_7745c5c3_Var10 = []any{sectionClass(className)} |
| 159 | - | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var9...) | 182 | + | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var10...) |
| 160 | if templ_7745c5c3_Err != nil { | 183 | if templ_7745c5c3_Err != nil { | ||
| 161 | return templ_7745c5c3_Err | 184 | return templ_7745c5c3_Err | ||
| 162 | } | 185 | } | ||
| 163 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "<section class=\"") | 186 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "<section class=\"") |
| 164 | if templ_7745c5c3_Err != nil { | 187 | if templ_7745c5c3_Err != nil { | ||
| 165 | return templ_7745c5c3_Err | 188 | return templ_7745c5c3_Err | ||
| 166 | } | 189 | } | ||
| 167 | - | var templ_7745c5c3_Var10 string | 190 | + | var templ_7745c5c3_Var11 string |
| 168 | - | templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var9).String()) | 191 | + | templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var10).String()) |
| 169 | if templ_7745c5c3_Err != nil { | 192 | if templ_7745c5c3_Err != nil { | ||
| 170 | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 1, Col: 0} | 193 | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 1, Col: 0} | ||
| 171 | } | 194 | } | ||
| 172 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) | 195 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) |
| 173 | if templ_7745c5c3_Err != nil { | 196 | if templ_7745c5c3_Err != nil { | ||
| 174 | return templ_7745c5c3_Err | 197 | return templ_7745c5c3_Err | ||
| 175 | } | 198 | } | ||
| 176 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "\"><h2>") | 199 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "\"><h2>") |
| 177 | if templ_7745c5c3_Err != nil { | 200 | if templ_7745c5c3_Err != nil { | ||
| 178 | return templ_7745c5c3_Err | 201 | return templ_7745c5c3_Err | ||
| 179 | } | 202 | } | ||
| 180 | - | var templ_7745c5c3_Var11 string | 203 | + | var templ_7745c5c3_Var12 string |
| 181 | - | templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(title) | 204 | + | templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(title) |
| 182 | if templ_7745c5c3_Err != nil { | 205 | if templ_7745c5c3_Err != nil { | ||
| 183 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 22, Col: 13} | 206 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 27, Col: 13} |
| 184 | } | 207 | } | ||
| 185 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) | 208 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) |
| 186 | if templ_7745c5c3_Err != nil { | 209 | if templ_7745c5c3_Err != nil { | ||
| 187 | return templ_7745c5c3_Err | 210 | return templ_7745c5c3_Err | ||
| 188 | } | 211 | } | ||
| 189 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "</h2>") | 212 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</h2>") |
| 190 | if templ_7745c5c3_Err != nil { | 213 | if templ_7745c5c3_Err != nil { | ||
| 191 | return templ_7745c5c3_Err | 214 | return templ_7745c5c3_Err | ||
| 192 | } | 215 | } | ||
| 193 | - | templ_7745c5c3_Err = templ_7745c5c3_Var8.Render(ctx, templ_7745c5c3_Buffer) | 216 | + | templ_7745c5c3_Err = templ_7745c5c3_Var9.Render(ctx, templ_7745c5c3_Buffer) |
| 194 | if templ_7745c5c3_Err != nil { | 217 | if templ_7745c5c3_Err != nil { | ||
| 195 | return templ_7745c5c3_Err | 218 | return templ_7745c5c3_Err | ||
| 196 | } | 219 | } | ||
| 197 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "</section>") | 220 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</section>") |
| 198 | if templ_7745c5c3_Err != nil { | 221 | if templ_7745c5c3_Err != nil { | ||
| 199 | return templ_7745c5c3_Err | 222 | return templ_7745c5c3_Err | ||
| 200 | } | 223 | } | ||
| @@ -218,25 +241,25 @@ func Meta(text string) templ.Component { | |||||
| 218 | }() | 241 | }() | ||
| 219 | } | 242 | } | ||
| 220 | ctx = templ.InitializeContext(ctx) | 243 | ctx = templ.InitializeContext(ctx) | ||
| 221 | - | templ_7745c5c3_Var12 := templ.GetChildren(ctx) | 244 | + | templ_7745c5c3_Var13 := templ.GetChildren(ctx) |
| 222 | - | if templ_7745c5c3_Var12 == nil { | 245 | + | if templ_7745c5c3_Var13 == nil { |
| 223 | - | templ_7745c5c3_Var12 = templ.NopComponent | 246 | + | templ_7745c5c3_Var13 = templ.NopComponent |
| 224 | } | 247 | } | ||
| 225 | ctx = templ.ClearChildren(ctx) | 248 | ctx = templ.ClearChildren(ctx) | ||
| 226 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "<p class=\"sv-meta\">") | 249 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "<p class=\"sv-meta\">") |
| 227 | if templ_7745c5c3_Err != nil { | 250 | if templ_7745c5c3_Err != nil { | ||
| 228 | return templ_7745c5c3_Err | 251 | return templ_7745c5c3_Err | ||
| 229 | } | 252 | } | ||
| 230 | - | var templ_7745c5c3_Var13 string | 253 | + | var templ_7745c5c3_Var14 string |
| 231 | - | templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(text) | 254 | + | templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(text) |
| 232 | if templ_7745c5c3_Err != nil { | 255 | if templ_7745c5c3_Err != nil { | ||
| 233 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 28, Col: 26} | 256 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 33, Col: 26} |
| 234 | } | 257 | } | ||
| 235 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) | 258 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14)) |
| 236 | if templ_7745c5c3_Err != nil { | 259 | if templ_7745c5c3_Err != nil { | ||
| 237 | return templ_7745c5c3_Err | 260 | return templ_7745c5c3_Err | ||
| 238 | } | 261 | } | ||
| 239 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</p>") | 262 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "</p>") |
| 240 | if templ_7745c5c3_Err != nil { | 263 | if templ_7745c5c3_Err != nil { | ||
| 241 | return templ_7745c5c3_Err | 264 | return templ_7745c5c3_Err | ||
| 242 | } | 265 | } | ||
| @@ -260,25 +283,25 @@ func EmptyState(message string) templ.Component { | |||||
| 260 | }() | 283 | }() | ||
| 261 | } | 284 | } | ||
| 262 | ctx = templ.InitializeContext(ctx) | 285 | ctx = templ.InitializeContext(ctx) | ||
| 263 | - | templ_7745c5c3_Var14 := templ.GetChildren(ctx) | 286 | + | templ_7745c5c3_Var15 := templ.GetChildren(ctx) |
| 264 | - | if templ_7745c5c3_Var14 == nil { | 287 | + | if templ_7745c5c3_Var15 == nil { |
| 265 | - | templ_7745c5c3_Var14 = templ.NopComponent | 288 | + | templ_7745c5c3_Var15 = templ.NopComponent |
| 266 | } | 289 | } | ||
| 267 | ctx = templ.ClearChildren(ctx) | 290 | ctx = templ.ClearChildren(ctx) | ||
| 268 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "<div class=\"sv-empty\"><p>") | 291 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "<div class=\"sv-empty\"><p>") |
| 269 | if templ_7745c5c3_Err != nil { | 292 | if templ_7745c5c3_Err != nil { | ||
| 270 | return templ_7745c5c3_Err | 293 | return templ_7745c5c3_Err | ||
| 271 | } | 294 | } | ||
| 272 | - | var templ_7745c5c3_Var15 string | 295 | + | var templ_7745c5c3_Var16 string |
| 273 | - | templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(message) | 296 | + | templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(message) |
| 274 | if templ_7745c5c3_Err != nil { | 297 | if templ_7745c5c3_Err != nil { | ||
| 275 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 32, Col: 35} | 298 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 37, Col: 35} |
| 276 | } | 299 | } | ||
| 277 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15)) | 300 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16)) |
| 278 | if templ_7745c5c3_Err != nil { | 301 | if templ_7745c5c3_Err != nil { | ||
| 279 | return templ_7745c5c3_Err | 302 | return templ_7745c5c3_Err | ||
| 280 | } | 303 | } | ||
| 281 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</p></div>") | 304 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "</p></div>") |
| 282 | if templ_7745c5c3_Err != nil { | 305 | if templ_7745c5c3_Err != nil { | ||
| 283 | return templ_7745c5c3_Err | 306 | return templ_7745c5c3_Err | ||
| 284 | } | 307 | } | ||
| @@ -302,25 +325,25 @@ func LoadingPanel(message string) templ.Component { | |||||
| 302 | }() | 325 | }() | ||
| 303 | } | 326 | } | ||
| 304 | ctx = templ.InitializeContext(ctx) | 327 | ctx = templ.InitializeContext(ctx) | ||
| 305 | - | templ_7745c5c3_Var16 := templ.GetChildren(ctx) | 328 | + | templ_7745c5c3_Var17 := templ.GetChildren(ctx) |
| 306 | - | if templ_7745c5c3_Var16 == nil { | 329 | + | if templ_7745c5c3_Var17 == nil { |
| 307 | - | templ_7745c5c3_Var16 = templ.NopComponent | 330 | + | templ_7745c5c3_Var17 = templ.NopComponent |
| 308 | } | 331 | } | ||
| 309 | ctx = templ.ClearChildren(ctx) | 332 | ctx = templ.ClearChildren(ctx) | ||
| 310 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "<div class=\"sv-loading-panel\" role=\"status\" aria-live=\"polite\"><span class=\"sv-spinner\" aria-hidden=\"true\"></span> <span>") | 333 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "<div class=\"sv-loading-panel\" role=\"status\" aria-live=\"polite\"><span class=\"sv-spinner\" aria-hidden=\"true\"></span> <span>") |
| 311 | if templ_7745c5c3_Err != nil { | 334 | if templ_7745c5c3_Err != nil { | ||
| 312 | return templ_7745c5c3_Err | 335 | return templ_7745c5c3_Err | ||
| 313 | } | 336 | } | ||
| 314 | - | var templ_7745c5c3_Var17 string | 337 | + | var templ_7745c5c3_Var18 string |
| 315 | - | templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(message) | 338 | + | templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(message) |
| 316 | if templ_7745c5c3_Err != nil { | 339 | if templ_7745c5c3_Err != nil { | ||
| 317 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 38, Col: 17} | 340 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 43, Col: 17} |
| 318 | } | 341 | } | ||
| 319 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17)) | 342 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18)) |
| 320 | if templ_7745c5c3_Err != nil { | 343 | if templ_7745c5c3_Err != nil { | ||
| 321 | return templ_7745c5c3_Err | 344 | return templ_7745c5c3_Err | ||
| 322 | } | 345 | } | ||
| 323 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "</span></div>") | 346 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</span></div>") |
| 324 | if templ_7745c5c3_Err != nil { | 347 | if templ_7745c5c3_Err != nil { | ||
| 325 | return templ_7745c5c3_Err | 348 | return templ_7745c5c3_Err | ||
| 326 | } | 349 | } | ||
| @@ -344,25 +367,25 @@ func LoadingCard(label string) templ.Component { | |||||
| 344 | }() | 367 | }() | ||
| 345 | } | 368 | } | ||
| 346 | ctx = templ.InitializeContext(ctx) | 369 | ctx = templ.InitializeContext(ctx) | ||
| 347 | - | templ_7745c5c3_Var18 := templ.GetChildren(ctx) | 370 | + | templ_7745c5c3_Var19 := templ.GetChildren(ctx) |
| 348 | - | if templ_7745c5c3_Var18 == nil { | 371 | + | if templ_7745c5c3_Var19 == nil { |
| 349 | - | templ_7745c5c3_Var18 = templ.NopComponent | 372 | + | templ_7745c5c3_Var19 = templ.NopComponent |
| 350 | } | 373 | } | ||
| 351 | ctx = templ.ClearChildren(ctx) | 374 | ctx = templ.ClearChildren(ctx) | ||
| 352 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "<div class=\"sv-stat-card sv-loading-card\" role=\"status\" aria-live=\"polite\"><span class=\"sv-spinner\" aria-hidden=\"true\"></span> <span class=\"sv-stat-label\">") | 375 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "<div class=\"sv-stat-card sv-loading-card\" role=\"status\" aria-live=\"polite\"><span class=\"sv-spinner\" aria-hidden=\"true\"></span> <span class=\"sv-stat-label\">") |
| 353 | if templ_7745c5c3_Err != nil { | 376 | if templ_7745c5c3_Err != nil { | ||
| 354 | return templ_7745c5c3_Err | 377 | return templ_7745c5c3_Err | ||
| 355 | } | 378 | } | ||
| 356 | - | var templ_7745c5c3_Var19 string | 379 | + | var templ_7745c5c3_Var20 string |
| 357 | - | templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(label) | 380 | + | templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(label) |
| 358 | if templ_7745c5c3_Err != nil { | 381 | if templ_7745c5c3_Err != nil { | ||
| 359 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 45, Col: 37} | 382 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 50, Col: 37} |
| 360 | } | 383 | } | ||
| 361 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19)) | 384 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20)) |
| 362 | if templ_7745c5c3_Err != nil { | 385 | if templ_7745c5c3_Err != nil { | ||
| 363 | return templ_7745c5c3_Err | 386 | return templ_7745c5c3_Err | ||
| 364 | } | 387 | } | ||
| 365 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "</span></div>") | 388 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</span></div>") |
| 366 | if templ_7745c5c3_Err != nil { | 389 | if templ_7745c5c3_Err != nil { | ||
| 367 | return templ_7745c5c3_Err | 390 | return templ_7745c5c3_Err | ||
| 368 | } | 391 | } | ||
| @@ -386,57 +409,57 @@ func Alert(kind string, message string) templ.Component { | |||||
| 386 | }() | 409 | }() | ||
| 387 | } | 410 | } | ||
| 388 | ctx = templ.InitializeContext(ctx) | 411 | ctx = templ.InitializeContext(ctx) | ||
| 389 | - | templ_7745c5c3_Var20 := templ.GetChildren(ctx) | 412 | + | templ_7745c5c3_Var21 := templ.GetChildren(ctx) |
| 390 | - | if templ_7745c5c3_Var20 == nil { | 413 | + | if templ_7745c5c3_Var21 == nil { |
| 391 | - | templ_7745c5c3_Var20 = templ.NopComponent | 414 | + | templ_7745c5c3_Var21 = templ.NopComponent |
| 392 | } | 415 | } | ||
| 393 | ctx = templ.ClearChildren(ctx) | 416 | ctx = templ.ClearChildren(ctx) | ||
| 394 | if message != "" { | 417 | if message != "" { | ||
| 395 | - | var templ_7745c5c3_Var21 = []any{alertClass(kind)} | 418 | + | var templ_7745c5c3_Var22 = []any{alertClass(kind)} |
| 396 | - | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var21...) | 419 | + | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var22...) |
| 397 | if templ_7745c5c3_Err != nil { | 420 | if templ_7745c5c3_Err != nil { | ||
| 398 | return templ_7745c5c3_Err | 421 | return templ_7745c5c3_Err | ||
| 399 | } | 422 | } | ||
| 400 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "<div class=\"") | 423 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "<div class=\"") |
| 401 | if templ_7745c5c3_Err != nil { | 424 | if templ_7745c5c3_Err != nil { | ||
| 402 | return templ_7745c5c3_Err | 425 | return templ_7745c5c3_Err | ||
| 403 | } | 426 | } | ||
| 404 | - | var templ_7745c5c3_Var22 string | 427 | + | var templ_7745c5c3_Var23 string |
| 405 | - | templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var21).String()) | 428 | + | templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var22).String()) |
| 406 | if templ_7745c5c3_Err != nil { | 429 | if templ_7745c5c3_Err != nil { | ||
| 407 | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 1, Col: 0} | 430 | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 1, Col: 0} | ||
| 408 | } | 431 | } | ||
| 409 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22)) | 432 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23)) |
| 410 | if templ_7745c5c3_Err != nil { | 433 | if templ_7745c5c3_Err != nil { | ||
| 411 | return templ_7745c5c3_Err | 434 | return templ_7745c5c3_Err | ||
| 412 | } | 435 | } | ||
| 413 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "\" role=\"") | 436 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "\" role=\"") |
| 414 | if templ_7745c5c3_Err != nil { | 437 | if templ_7745c5c3_Err != nil { | ||
| 415 | return templ_7745c5c3_Err | 438 | return templ_7745c5c3_Err | ||
| 416 | } | 439 | } | ||
| 417 | - | var templ_7745c5c3_Var23 string | 440 | + | var templ_7745c5c3_Var24 string |
| 418 | - | templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs(alertRole(kind)) | 441 | + | templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(alertRole(kind)) |
| 419 | if templ_7745c5c3_Err != nil { | 442 | if templ_7745c5c3_Err != nil { | ||
| 420 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 51, Col: 56} | 443 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 56, Col: 56} |
| 421 | } | 444 | } | ||
| 422 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23)) | 445 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24)) |
| 423 | if templ_7745c5c3_Err != nil { | 446 | if templ_7745c5c3_Err != nil { | ||
| 424 | return templ_7745c5c3_Err | 447 | return templ_7745c5c3_Err | ||
| 425 | } | 448 | } | ||
| 426 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "\">") | 449 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "\">") |
| 427 | if templ_7745c5c3_Err != nil { | 450 | if templ_7745c5c3_Err != nil { | ||
| 428 | return templ_7745c5c3_Err | 451 | return templ_7745c5c3_Err | ||
| 429 | } | 452 | } | ||
| 430 | - | var templ_7745c5c3_Var24 string | 453 | + | var templ_7745c5c3_Var25 string |
| 431 | - | templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(message) | 454 | + | templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.JoinStringErrs(message) |
| 432 | if templ_7745c5c3_Err != nil { | 455 | if templ_7745c5c3_Err != nil { | ||
| 433 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 51, Col: 68} | 456 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 56, Col: 68} |
| 434 | } | 457 | } | ||
| 435 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24)) | 458 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var25)) |
| 436 | if templ_7745c5c3_Err != nil { | 459 | if templ_7745c5c3_Err != nil { | ||
| 437 | return templ_7745c5c3_Err | 460 | return templ_7745c5c3_Err | ||
| 438 | } | 461 | } | ||
| 439 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "</div>") | 462 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "</div>") |
| 440 | if templ_7745c5c3_Err != nil { | 463 | if templ_7745c5c3_Err != nil { | ||
| 441 | return templ_7745c5c3_Err | 464 | return templ_7745c5c3_Err | ||
| 442 | } | 465 | } | ||
| @@ -461,20 +484,20 @@ func List() templ.Component { | |||||
| 461 | }() | 484 | }() | ||
| 462 | } | 485 | } | ||
| 463 | ctx = templ.InitializeContext(ctx) | 486 | ctx = templ.InitializeContext(ctx) | ||
| 464 | - | templ_7745c5c3_Var25 := templ.GetChildren(ctx) | 487 | + | templ_7745c5c3_Var26 := templ.GetChildren(ctx) |
| 465 | - | if templ_7745c5c3_Var25 == nil { | 488 | + | if templ_7745c5c3_Var26 == nil { |
| 466 | - | templ_7745c5c3_Var25 = templ.NopComponent | 489 | + | templ_7745c5c3_Var26 = templ.NopComponent |
| 467 | } | 490 | } | ||
| 468 | ctx = templ.ClearChildren(ctx) | 491 | ctx = templ.ClearChildren(ctx) | ||
| 469 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "<ul class=\"sv-list\">") | 492 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "<ul class=\"sv-list\">") |
| 470 | if templ_7745c5c3_Err != nil { | 493 | if templ_7745c5c3_Err != nil { | ||
| 471 | return templ_7745c5c3_Err | 494 | return templ_7745c5c3_Err | ||
| 472 | } | 495 | } | ||
| 473 | - | templ_7745c5c3_Err = templ_7745c5c3_Var25.Render(ctx, templ_7745c5c3_Buffer) | 496 | + | templ_7745c5c3_Err = templ_7745c5c3_Var26.Render(ctx, templ_7745c5c3_Buffer) |
| 474 | if templ_7745c5c3_Err != nil { | 497 | if templ_7745c5c3_Err != nil { | ||
| 475 | return templ_7745c5c3_Err | 498 | return templ_7745c5c3_Err | ||
| 476 | } | 499 | } | ||
| 477 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</ul>") | 500 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "</ul>") |
| 478 | if templ_7745c5c3_Err != nil { | 501 | if templ_7745c5c3_Err != nil { | ||
| 479 | return templ_7745c5c3_Err | 502 | return templ_7745c5c3_Err | ||
| 480 | } | 503 | } | ||
| @@ -498,20 +521,20 @@ func ListRow() templ.Component { | |||||
| 498 | }() | 521 | }() | ||
| 499 | } | 522 | } | ||
| 500 | ctx = templ.InitializeContext(ctx) | 523 | ctx = templ.InitializeContext(ctx) | ||
| 501 | - | templ_7745c5c3_Var26 := templ.GetChildren(ctx) | 524 | + | templ_7745c5c3_Var27 := templ.GetChildren(ctx) |
| 502 | - | if templ_7745c5c3_Var26 == nil { | 525 | + | if templ_7745c5c3_Var27 == nil { |
| 503 | - | templ_7745c5c3_Var26 = templ.NopComponent | 526 | + | templ_7745c5c3_Var27 = templ.NopComponent |
| 504 | } | 527 | } | ||
| 505 | ctx = templ.ClearChildren(ctx) | 528 | ctx = templ.ClearChildren(ctx) | ||
| 506 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "<li class=\"sv-list-row\">") | 529 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "<li class=\"sv-list-row\">") |
| 507 | if templ_7745c5c3_Err != nil { | 530 | if templ_7745c5c3_Err != nil { | ||
| 508 | return templ_7745c5c3_Err | 531 | return templ_7745c5c3_Err | ||
| 509 | } | 532 | } | ||
| 510 | - | templ_7745c5c3_Err = templ_7745c5c3_Var26.Render(ctx, templ_7745c5c3_Buffer) | 533 | + | templ_7745c5c3_Err = templ_7745c5c3_Var27.Render(ctx, templ_7745c5c3_Buffer) |
| 511 | if templ_7745c5c3_Err != nil { | 534 | if templ_7745c5c3_Err != nil { | ||
| 512 | return templ_7745c5c3_Err | 535 | return templ_7745c5c3_Err | ||
| 513 | } | 536 | } | ||
| 514 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "</li>") | 537 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "</li>") |
| 515 | if templ_7745c5c3_Err != nil { | 538 | if templ_7745c5c3_Err != nil { | ||
| 516 | return templ_7745c5c3_Err | 539 | return templ_7745c5c3_Err | ||
| 517 | } | 540 | } | ||
| @@ -535,48 +558,48 @@ func Button(label string, action string, classes string, attrs templ.Attributes, | |||||
| 535 | }() | 558 | }() | ||
| 536 | } | 559 | } | ||
| 537 | ctx = templ.InitializeContext(ctx) | 560 | ctx = templ.InitializeContext(ctx) | ||
| 538 | - | templ_7745c5c3_Var27 := templ.GetChildren(ctx) | 561 | + | templ_7745c5c3_Var28 := templ.GetChildren(ctx) |
| 539 | - | if templ_7745c5c3_Var27 == nil { | 562 | + | if templ_7745c5c3_Var28 == nil { |
| 540 | - | templ_7745c5c3_Var27 = templ.NopComponent | 563 | + | templ_7745c5c3_Var28 = templ.NopComponent |
| 541 | } | 564 | } | ||
| 542 | ctx = templ.ClearChildren(ctx) | 565 | ctx = templ.ClearChildren(ctx) | ||
| 543 | - | var templ_7745c5c3_Var28 = []any{buttonClass(classes)} | 566 | + | var templ_7745c5c3_Var29 = []any{buttonClass(classes)} |
| 544 | - | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var28...) | 567 | + | templ_7745c5c3_Err = templ.RenderCSSItems(ctx, templ_7745c5c3_Buffer, templ_7745c5c3_Var29...) |
| 545 | if templ_7745c5c3_Err != nil { | 568 | if templ_7745c5c3_Err != nil { | ||
| 546 | return templ_7745c5c3_Err | 569 | return templ_7745c5c3_Err | ||
| 547 | } | 570 | } | ||
| 548 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "<button type=\"button\" class=\"") | 571 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "<button type=\"button\" class=\"") |
| 549 | if templ_7745c5c3_Err != nil { | 572 | if templ_7745c5c3_Err != nil { | ||
| 550 | return templ_7745c5c3_Err | 573 | return templ_7745c5c3_Err | ||
| 551 | } | 574 | } | ||
| 552 | - | var templ_7745c5c3_Var29 string | 575 | + | var templ_7745c5c3_Var30 string |
| 553 | - | templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var28).String()) | 576 | + | templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(templ.CSSClasses(templ_7745c5c3_Var29).String()) |
| 554 | if templ_7745c5c3_Err != nil { | 577 | if templ_7745c5c3_Err != nil { | ||
| 555 | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 1, Col: 0} | 578 | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 1, Col: 0} | ||
| 556 | } | 579 | } | ||
| 557 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29)) | 580 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30)) |
| 558 | if templ_7745c5c3_Err != nil { | 581 | if templ_7745c5c3_Err != nil { | ||
| 559 | return templ_7745c5c3_Err | 582 | return templ_7745c5c3_Err | ||
| 560 | } | 583 | } | ||
| 561 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "\" data-sv-action=\"") | 584 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "\" data-sv-action=\"") |
| 562 | if templ_7745c5c3_Err != nil { | 585 | if templ_7745c5c3_Err != nil { | ||
| 563 | return templ_7745c5c3_Err | 586 | return templ_7745c5c3_Err | ||
| 564 | } | 587 | } | ||
| 565 | - | var templ_7745c5c3_Var30 string | 588 | + | var templ_7745c5c3_Var31 string |
| 566 | - | templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(action) | 589 | + | templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(action) |
| 567 | if templ_7745c5c3_Err != nil { | 590 | if templ_7745c5c3_Err != nil { | ||
| 568 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 68, Col: 77} | 591 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 73, Col: 77} |
| 569 | } | 592 | } | ||
| 570 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30)) | 593 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) |
| 571 | if templ_7745c5c3_Err != nil { | 594 | if templ_7745c5c3_Err != nil { | ||
| 572 | return templ_7745c5c3_Err | 595 | return templ_7745c5c3_Err | ||
| 573 | } | 596 | } | ||
| 574 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "\"") | 597 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "\"") |
| 575 | if templ_7745c5c3_Err != nil { | 598 | if templ_7745c5c3_Err != nil { | ||
| 576 | return templ_7745c5c3_Err | 599 | return templ_7745c5c3_Err | ||
| 577 | } | 600 | } | ||
| 578 | if disabled { | 601 | if disabled { | ||
| 579 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, " disabled") | 602 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, " disabled") |
| 580 | if templ_7745c5c3_Err != nil { | 603 | if templ_7745c5c3_Err != nil { | ||
| 581 | return templ_7745c5c3_Err | 604 | return templ_7745c5c3_Err | ||
| 582 | } | 605 | } | ||
| @@ -585,20 +608,20 @@ func Button(label string, action string, classes string, attrs templ.Attributes, | |||||
| 585 | if templ_7745c5c3_Err != nil { | 608 | if templ_7745c5c3_Err != nil { | ||
| 586 | return templ_7745c5c3_Err | 609 | return templ_7745c5c3_Err | ||
| 587 | } | 610 | } | ||
| 588 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, ">") | 611 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, ">") |
| 589 | if templ_7745c5c3_Err != nil { | 612 | if templ_7745c5c3_Err != nil { | ||
| 590 | return templ_7745c5c3_Err | 613 | return templ_7745c5c3_Err | ||
| 591 | } | 614 | } | ||
| 592 | - | var templ_7745c5c3_Var31 string | 615 | + | var templ_7745c5c3_Var32 string |
| 593 | - | templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(label) | 616 | + | templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(label) |
| 594 | if templ_7745c5c3_Err != nil { | 617 | if templ_7745c5c3_Err != nil { | ||
| 595 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 68, Col: 123} | 618 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 73, Col: 123} |
| 596 | } | 619 | } | ||
| 597 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) | 620 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) |
| 598 | if templ_7745c5c3_Err != nil { | 621 | if templ_7745c5c3_Err != nil { | ||
| 599 | return templ_7745c5c3_Err | 622 | return templ_7745c5c3_Err | ||
| 600 | } | 623 | } | ||
| 601 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</button>") | 624 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "</button>") |
| 602 | if templ_7745c5c3_Err != nil { | 625 | if templ_7745c5c3_Err != nil { | ||
| 603 | return templ_7745c5c3_Err | 626 | return templ_7745c5c3_Err | ||
| 604 | } | 627 | } | ||
| @@ -622,32 +645,32 @@ func KeyList(keys []string) templ.Component { | |||||
| 622 | }() | 645 | }() | ||
| 623 | } | 646 | } | ||
| 624 | ctx = templ.InitializeContext(ctx) | 647 | ctx = templ.InitializeContext(ctx) | ||
| 625 | - | templ_7745c5c3_Var32 := templ.GetChildren(ctx) | 648 | + | templ_7745c5c3_Var33 := templ.GetChildren(ctx) |
| 626 | - | if templ_7745c5c3_Var32 == nil { | 649 | + | if templ_7745c5c3_Var33 == nil { |
| 627 | - | templ_7745c5c3_Var32 = templ.NopComponent | 650 | + | templ_7745c5c3_Var33 = templ.NopComponent |
| 628 | } | 651 | } | ||
| 629 | ctx = templ.ClearChildren(ctx) | 652 | ctx = templ.ClearChildren(ctx) | ||
| 630 | if len(keys) == 0 { | 653 | if len(keys) == 0 { | ||
| 631 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<span class=\"sv-key sv-key-empty\">Unassigned</span>") | 654 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "<span class=\"sv-key sv-key-empty\">Unassigned</span>") |
| 632 | if templ_7745c5c3_Err != nil { | 655 | if templ_7745c5c3_Err != nil { | ||
| 633 | return templ_7745c5c3_Err | 656 | return templ_7745c5c3_Err | ||
| 634 | } | 657 | } | ||
| 635 | } else { | 658 | } else { | ||
| 636 | for _, key := range keys { | 659 | for _, key := range keys { | ||
| 637 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "<span class=\"sv-key\">") | 660 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "<span class=\"sv-key\">") |
| 638 | if templ_7745c5c3_Err != nil { | 661 | if templ_7745c5c3_Err != nil { | ||
| 639 | return templ_7745c5c3_Err | 662 | return templ_7745c5c3_Err | ||
| 640 | } | 663 | } | ||
| 641 | - | var templ_7745c5c3_Var33 string | 664 | + | var templ_7745c5c3_Var34 string |
| 642 | - | templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinStringErrs(key) | 665 | + | templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.JoinStringErrs(key) |
| 643 | if templ_7745c5c3_Err != nil { | 666 | if templ_7745c5c3_Err != nil { | ||
| 644 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 76, Col: 29} | 667 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 81, Col: 29} |
| 645 | } | 668 | } | ||
| 646 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33)) | 669 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var34)) |
| 647 | if templ_7745c5c3_Err != nil { | 670 | if templ_7745c5c3_Err != nil { | ||
| 648 | return templ_7745c5c3_Err | 671 | return templ_7745c5c3_Err | ||
| 649 | } | 672 | } | ||
| 650 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "</span>") | 673 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "</span>") |
| 651 | if templ_7745c5c3_Err != nil { | 674 | if templ_7745c5c3_Err != nil { | ||
| 652 | return templ_7745c5c3_Err | 675 | return templ_7745c5c3_Err | ||
| 653 | } | 676 | } | ||
| @@ -673,9 +696,9 @@ func KV(rows []kvPair) templ.Component { | |||||
| 673 | }() | 696 | }() | ||
| 674 | } | 697 | } | ||
| 675 | ctx = templ.InitializeContext(ctx) | 698 | ctx = templ.InitializeContext(ctx) | ||
| 676 | - | templ_7745c5c3_Var34 := templ.GetChildren(ctx) | 699 | + | templ_7745c5c3_Var35 := templ.GetChildren(ctx) |
| 677 | - | if templ_7745c5c3_Var34 == nil { | 700 | + | if templ_7745c5c3_Var35 == nil { |
| 678 | - | templ_7745c5c3_Var34 = templ.NopComponent | 701 | + | templ_7745c5c3_Var35 = templ.NopComponent |
| 679 | } | 702 | } | ||
| 680 | ctx = templ.ClearChildren(ctx) | 703 | ctx = templ.ClearChildren(ctx) | ||
| 681 | if len(rows) == 0 { | 704 | if len(rows) == 0 { | ||
| @@ -684,43 +707,43 @@ func KV(rows []kvPair) templ.Component { | |||||
| 684 | return templ_7745c5c3_Err | 707 | return templ_7745c5c3_Err | ||
| 685 | } | 708 | } | ||
| 686 | } else { | 709 | } else { | ||
| 687 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "<dl class=\"sv-kv\">") | 710 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "<dl class=\"sv-kv\">") |
| 688 | if templ_7745c5c3_Err != nil { | 711 | if templ_7745c5c3_Err != nil { | ||
| 689 | return templ_7745c5c3_Err | 712 | return templ_7745c5c3_Err | ||
| 690 | } | 713 | } | ||
| 691 | for _, row := range rows { | 714 | for _, row := range rows { | ||
| 692 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "<div class=\"sv-kv-row\"><dt>") | 715 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<div class=\"sv-kv-row\"><dt>") |
| 693 | if templ_7745c5c3_Err != nil { | 716 | if templ_7745c5c3_Err != nil { | ||
| 694 | return templ_7745c5c3_Err | 717 | return templ_7745c5c3_Err | ||
| 695 | } | 718 | } | ||
| 696 | - | var templ_7745c5c3_Var35 string | 719 | + | var templ_7745c5c3_Var36 string |
| 697 | - | templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.JoinStringErrs(row.Label) | 720 | + | templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(row.Label) |
| 698 | if templ_7745c5c3_Err != nil { | 721 | if templ_7745c5c3_Err != nil { | ||
| 699 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 87, Col: 42} | 722 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 92, Col: 42} |
| 700 | } | 723 | } | ||
| 701 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var35)) | 724 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36)) |
| 702 | if templ_7745c5c3_Err != nil { | 725 | if templ_7745c5c3_Err != nil { | ||
| 703 | return templ_7745c5c3_Err | 726 | return templ_7745c5c3_Err | ||
| 704 | } | 727 | } | ||
| 705 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "</dt><dd>") | 728 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "</dt><dd>") |
| 706 | if templ_7745c5c3_Err != nil { | 729 | if templ_7745c5c3_Err != nil { | ||
| 707 | return templ_7745c5c3_Err | 730 | return templ_7745c5c3_Err | ||
| 708 | } | 731 | } | ||
| 709 | - | var templ_7745c5c3_Var36 string | 732 | + | var templ_7745c5c3_Var37 string |
| 710 | - | templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(row.Value) | 733 | + | templ_7745c5c3_Var37, templ_7745c5c3_Err = templ.JoinStringErrs(row.Value) |
| 711 | if templ_7745c5c3_Err != nil { | 734 | if templ_7745c5c3_Err != nil { | ||
| 712 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 87, Col: 64} | 735 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `components.templ`, Line: 92, Col: 64} |
| 713 | } | 736 | } | ||
| 714 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36)) | 737 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var37)) |
| 715 | if templ_7745c5c3_Err != nil { | 738 | if templ_7745c5c3_Err != nil { | ||
| 716 | return templ_7745c5c3_Err | 739 | return templ_7745c5c3_Err | ||
| 717 | } | 740 | } | ||
| 718 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "</dd></div>") | 741 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "</dd></div>") |
| 719 | if templ_7745c5c3_Err != nil { | 742 | if templ_7745c5c3_Err != nil { | ||
| 720 | return templ_7745c5c3_Err | 743 | return templ_7745c5c3_Err | ||
| 721 | } | 744 | } | ||
| 722 | } | 745 | } | ||
| 723 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "</dl>") | 746 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "</dl>") |
| 724 | if templ_7745c5c3_Err != nil { | 747 | if templ_7745c5c3_Err != nil { | ||
| 725 | return templ_7745c5c3_Err | 748 | return templ_7745c5c3_Err | ||
| 726 | } | 749 | } | ||
M internal/ui/systemviews/history_actions.go +5 -4
| @@ -237,10 +237,11 @@ func (a *App) handleHistoryLoadMore(ctx context.Context, event DOMAction) error | |||
| 237 | 237 | fullData.Entries = a.historyEntries | |
| 238 | 238 | title := historyDocumentTitle(fullData) | |
| 239 | 239 | a.renderedHTML = renderAppFrame(renderedPage{ | |
| 240 | - | route: RouteHistory, | |
| 241 | - | title: title, | |
| 242 | - | subtitle: title, | |
| 243 | - | body: historyHTML(fullData), | |
| 240 | + | route: RouteHistory, | |
| 241 | + | title: title, | |
| 242 | + | subtitle: "History", | |
| 243 | + | subtitleDetail: historyTitleDetail(fullData), | |
| 244 | + | body: historyHTML(fullData), | |
| 244 | 245 | }, a.shellTheme) | |
| 245 | 246 | fallbackHTML = a.renderedHTML | |
| 246 | 247 | } | |
| @@ -237,10 +237,11 @@ func (a *App) handleHistoryLoadMore(ctx context.Context, event DOMAction) error | |||||
| 237 | fullData.Entries = a.historyEntries | 237 | fullData.Entries = a.historyEntries | ||
| 238 | title := historyDocumentTitle(fullData) | 238 | title := historyDocumentTitle(fullData) | ||
| 239 | a.renderedHTML = renderAppFrame(renderedPage{ | 239 | a.renderedHTML = renderAppFrame(renderedPage{ | ||
| 240 | - | route: RouteHistory, | 240 | + | route: RouteHistory, |
| 241 | - | title: title, | 241 | + | title: title, |
| 242 | - | subtitle: title, | 242 | + | subtitle: "History", |
| 243 | - | body: historyHTML(fullData), | 243 | + | subtitleDetail: historyTitleDetail(fullData), |
| 244 | + | body: historyHTML(fullData), | |||
| 244 | }, a.shellTheme) | 245 | }, a.shellTheme) | ||
| 245 | fallbackHTML = a.renderedHTML | 246 | fallbackHTML = a.renderedHTML | ||
| 246 | } | 247 | } | ||
M internal/ui/systemviews/history_view.go +6 -2
| @@ -52,12 +52,16 @@ func historyTimelineAppendHTML(data historyRenderData) string { | |||
| 52 | 52 | } | |
| 53 | 53 | ||
| 54 | 54 | func historyDocumentTitle(data historyRenderData) string { | |
| 55 | + | return "History " + historyTitleDetail(data) | |
| 56 | + | } | |
| 57 | + | ||
| 58 | + | func historyTitleDetail(data historyRenderData) string { | |
| 55 | 59 | if data.Loading { | |
| 56 | - | return "History - Loading" | |
| 60 | + | return "- Loading" | |
| 57 | 61 | } | |
| 58 | 62 | entries, visits, days := historySummaryValues(data) | |
| 59 | 63 | return fmt.Sprintf( | |
| 60 | - | "History - %s, %s, %s", | |
| 64 | + | "- %s, %s, %s", | |
| 61 | 65 | historyCountLabel(entries, "entry", "entries"), | |
| 62 | 66 | historyCountLabel(visits, "visit", "visits"), | |
| 63 | 67 | historyCountLabel(days, "day", "days"), | |
| @@ -52,12 +52,16 @@ func historyTimelineAppendHTML(data historyRenderData) string { | |||||
| 52 | } | 52 | } | ||
| 53 | 53 | ||||
| 54 | func historyDocumentTitle(data historyRenderData) string { | 54 | func historyDocumentTitle(data historyRenderData) string { | ||
| 55 | + | return "History " + historyTitleDetail(data) | |||
| 56 | + | } | |||
| 57 | + | ||||
| 58 | + | func historyTitleDetail(data historyRenderData) string { | |||
| 55 | if data.Loading { | 59 | if data.Loading { | ||
| 56 | - | return "History - Loading" | 60 | + | return "- Loading" |
| 57 | } | 61 | } | ||
| 58 | entries, visits, days := historySummaryValues(data) | 62 | entries, visits, days := historySummaryValues(data) | ||
| 59 | return fmt.Sprintf( | 63 | return fmt.Sprintf( | ||
| 60 | - | "History - %s, %s, %s", | 64 | + | "- %s, %s, %s", |
| 61 | historyCountLabel(entries, "entry", "entries"), | 65 | historyCountLabel(entries, "entry", "entries"), | ||
| 62 | historyCountLabel(visits, "visit", "visits"), | 66 | historyCountLabel(visits, "visit", "visits"), | ||
| 63 | historyCountLabel(days, "day", "days"), | 67 | historyCountLabel(days, "day", "days"), | ||
M internal/ui/systemviews/shell.go +5 -4
| @@ -16,10 +16,11 @@ type kvPair struct { | |||
| 16 | 16 | // renderedPage holds the data needed by renderAppFrame to produce the shell | |
| 17 | 17 | // fragment. Route views populate this; the app frame wraps it. | |
| 18 | 18 | type renderedPage struct { | |
| 19 | - | route Route | |
| 20 | - | title string | |
| 21 | - | subtitle string | |
| 22 | - | body string | |
| 19 | + | route Route | |
| 20 | + | title string | |
| 21 | + | subtitle string | |
| 22 | + | subtitleDetail string | |
| 23 | + | body string | |
| 23 | 24 | } | |
| 24 | 25 | ||
| 25 | 26 | // renderAppFrame produces a self-contained HTML fragment (no <html>, <head>, | |
| @@ -16,10 +16,11 @@ type kvPair struct { | |||||
| 16 | // renderedPage holds the data needed by renderAppFrame to produce the shell | 16 | // renderedPage holds the data needed by renderAppFrame to produce the shell | ||
| 17 | // fragment. Route views populate this; the app frame wraps it. | 17 | // fragment. Route views populate this; the app frame wraps it. | ||
| 18 | type renderedPage struct { | 18 | type renderedPage struct { | ||
| 19 | - | route Route | 19 | + | route Route |
| 20 | - | title string | 20 | + | title string |
| 21 | - | subtitle string | 21 | + | subtitle string |
| 22 | - | body string | 22 | + | subtitleDetail string |
| 23 | + | body string | |||
| 23 | } | 24 | } | ||
| 24 | 25 | ||||
| 25 | // renderAppFrame produces a self-contained HTML fragment (no <html>, <head>, | 26 | // renderAppFrame produces a self-contained HTML fragment (no <html>, <head>, | ||