fix(systemviews): refine history overview layout
- commit
- d68549983bcfd892c1ba1ac86a28d1fb4a71b42b
- author
- brice · · 2026-04-26 06:50 UTC
- parent
- 95983dd
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
5 files · +166 -110
M assets/systemviews/systemviews.css +35 -0
| @@ -240,6 +240,29 @@ body { | |||
| 240 | 240 | } | |
| 241 | 241 | } | |
| 242 | 242 | ||
| 243 | + | .sv-history-overview { | |
| 244 | + | display: grid; | |
| 245 | + | gap: 1rem; | |
| 246 | + | align-items: start; | |
| 247 | + | } | |
| 248 | + | ||
| 249 | + | .sv-history-overview > .sv-section { | |
| 250 | + | min-width: 0; | |
| 251 | + | height: 100%; | |
| 252 | + | } | |
| 253 | + | ||
| 254 | + | @media (min-width: 720px) { | |
| 255 | + | .sv-history-overview { | |
| 256 | + | grid-template-columns: minmax(12rem, 3.8fr) minmax(0, 6.2fr); | |
| 257 | + | } | |
| 258 | + | } | |
| 259 | + | ||
| 260 | + | @media (min-width: 900px) { | |
| 261 | + | .sv-history-overview { | |
| 262 | + | grid-template-columns: minmax(13rem, 3fr) minmax(0, 7fr); | |
| 263 | + | } | |
| 264 | + | } | |
| 265 | + | ||
| 243 | 266 | .sv-stat-grid { | |
| 244 | 267 | display: grid; | |
| 245 | 268 | grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); | |
| @@ -247,6 +270,12 @@ body { | |||
| 247 | 270 | margin-top: 0.75rem; | |
| 248 | 271 | } | |
| 249 | 272 | ||
| 273 | + | .sv-history-overview .sv-stat-grid { | |
| 274 | + | grid-template-columns: 1fr; | |
| 275 | + | gap: 0.55rem; | |
| 276 | + | margin-top: 0.5rem; | |
| 277 | + | } | |
| 278 | + | ||
| 250 | 279 | .sv-stat-card { | |
| 251 | 280 | display: grid; | |
| 252 | 281 | gap: 0.15rem; | |
| @@ -256,10 +285,16 @@ body { | |||
| 256 | 285 | background: var(--sv-surface-variant, #1d2129); | |
| 257 | 286 | } | |
| 258 | 287 | ||
| 288 | + | .sv-history-overview .sv-stat-card { | |
| 289 | + | padding: 0.65rem 0.75rem; | |
| 290 | + | } | |
| 291 | + | ||
| 259 | 292 | .sv-stat-value { | |
| 260 | 293 | color: var(--sv-accent, #8ab4ff); | |
| 261 | 294 | font-size: 1.35rem; | |
| 262 | 295 | font-weight: 700; | |
| 296 | + | line-height: 1.05; | |
| 297 | + | font-variant-numeric: tabular-nums; | |
| 263 | 298 | } | |
| 264 | 299 | ||
| 265 | 300 | .sv-stat-label { | |
| @@ -240,6 +240,29 @@ body { | |||||
| 240 | } | 240 | } | ||
| 241 | } | 241 | } | ||
| 242 | 242 | ||||
| 243 | + | .sv-history-overview { | |||
| 244 | + | display: grid; | |||
| 245 | + | gap: 1rem; | |||
| 246 | + | align-items: start; | |||
| 247 | + | } | |||
| 248 | + | ||||
| 249 | + | .sv-history-overview > .sv-section { | |||
| 250 | + | min-width: 0; | |||
| 251 | + | height: 100%; | |||
| 252 | + | } | |||
| 253 | + | ||||
| 254 | + | @media (min-width: 720px) { | |||
| 255 | + | .sv-history-overview { | |||
| 256 | + | grid-template-columns: minmax(12rem, 3.8fr) minmax(0, 6.2fr); | |||
| 257 | + | } | |||
| 258 | + | } | |||
| 259 | + | ||||
| 260 | + | @media (min-width: 900px) { | |||
| 261 | + | .sv-history-overview { | |||
| 262 | + | grid-template-columns: minmax(13rem, 3fr) minmax(0, 7fr); | |||
| 263 | + | } | |||
| 264 | + | } | |||
| 265 | + | ||||
| 243 | .sv-stat-grid { | 266 | .sv-stat-grid { | ||
| 244 | display: grid; | 267 | display: grid; | ||
| 245 | grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); | 268 | grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr)); | ||
| @@ -247,6 +270,12 @@ body { | |||||
| 247 | margin-top: 0.75rem; | 270 | margin-top: 0.75rem; | ||
| 248 | } | 271 | } | ||
| 249 | 272 | ||||
| 273 | + | .sv-history-overview .sv-stat-grid { | |||
| 274 | + | grid-template-columns: 1fr; | |||
| 275 | + | gap: 0.55rem; | |||
| 276 | + | margin-top: 0.5rem; | |||
| 277 | + | } | |||
| 278 | + | ||||
| 250 | .sv-stat-card { | 279 | .sv-stat-card { | ||
| 251 | display: grid; | 280 | display: grid; | ||
| 252 | gap: 0.15rem; | 281 | gap: 0.15rem; | ||
| @@ -256,10 +285,16 @@ body { | |||||
| 256 | background: var(--sv-surface-variant, #1d2129); | 285 | background: var(--sv-surface-variant, #1d2129); | ||
| 257 | } | 286 | } | ||
| 258 | 287 | ||||
| 288 | + | .sv-history-overview .sv-stat-card { | |||
| 289 | + | padding: 0.65rem 0.75rem; | |||
| 290 | + | } | |||
| 291 | + | ||||
| 259 | .sv-stat-value { | 292 | .sv-stat-value { | ||
| 260 | color: var(--sv-accent, #8ab4ff); | 293 | color: var(--sv-accent, #8ab4ff); | ||
| 261 | font-size: 1.35rem; | 294 | font-size: 1.35rem; | ||
| 262 | font-weight: 700; | 295 | font-weight: 700; | ||
| 296 | + | line-height: 1.05; | |||
| 297 | + | font-variant-numeric: tabular-nums; | |||
| 263 | } | 298 | } | ||
| 264 | 299 | ||||
| 265 | .sv-stat-label { | 300 | .sv-stat-label { | ||
M internal/ui/systemviews/app_test.go +2 -2
| @@ -309,8 +309,8 @@ func TestAppLoadInitialHistoryRouteRendersManagementActions(t *testing.T) { | |||
| 309 | 309 | assert.Contains(t, app.renderedHTML, `data-sv-action="history.deleteDomain"`) | |
| 310 | 310 | assert.Contains(t, app.renderedHTML, `data-domain="example.com:8080"`) | |
| 311 | 311 | assert.Contains(t, app.renderedHTML, `>example.com</button>`) | |
| 312 | - | assert.Contains(t, app.renderedHTML, "Keys:") | |
| 313 | - | assert.Contains(t, app.renderedHTML, "Enter") | |
| 312 | + | assert.Contains(t, app.renderedHTML, `data-sv-history-search data-sv-autofocus`) | |
| 313 | + | assert.NotContains(t, app.renderedHTML, "Keys:") | |
| 314 | 314 | } | |
| 315 | 315 | ||
| 316 | 316 | func TestAppHandleHistoryActionsRefreshesDOM(t *testing.T) { | |
| @@ -309,8 +309,8 @@ func TestAppLoadInitialHistoryRouteRendersManagementActions(t *testing.T) { | |||||
| 309 | assert.Contains(t, app.renderedHTML, `data-sv-action="history.deleteDomain"`) | 309 | assert.Contains(t, app.renderedHTML, `data-sv-action="history.deleteDomain"`) | ||
| 310 | assert.Contains(t, app.renderedHTML, `data-domain="example.com:8080"`) | 310 | assert.Contains(t, app.renderedHTML, `data-domain="example.com:8080"`) | ||
| 311 | assert.Contains(t, app.renderedHTML, `>example.com</button>`) | 311 | assert.Contains(t, app.renderedHTML, `>example.com</button>`) | ||
| 312 | - | assert.Contains(t, app.renderedHTML, "Keys:") | 312 | + | assert.Contains(t, app.renderedHTML, `data-sv-history-search data-sv-autofocus`) |
| 313 | - | assert.Contains(t, app.renderedHTML, "Enter") | 313 | + | assert.NotContains(t, app.renderedHTML, "Keys:") |
| 314 | } | 314 | } | ||
| 315 | 315 | ||||
| 316 | func TestAppHandleHistoryActionsRefreshesDOM(t *testing.T) { | 316 | func TestAppHandleHistoryActionsRefreshesDOM(t *testing.T) { | ||
M internal/ui/systemviews/dom_js.go +12 -0
| @@ -43,6 +43,7 @@ func (d *browserDOM) Mount(markup string) error { | |||
| 43 | 43 | d.updateDocumentTitle() | |
| 44 | 44 | d.scheduleAlertDismissal() | |
| 45 | 45 | d.syncPerformanceCustomInputStates() | |
| 46 | + | d.focusAutofocusTarget() | |
| 46 | 47 | d.setupHistoryInfiniteScroll() | |
| 47 | 48 | return nil | |
| 48 | 49 | } | |
| @@ -116,6 +117,17 @@ func (d *browserDOM) updateDocumentTitle() { | |||
| 116 | 117 | d.document.Set("title", title) | |
| 117 | 118 | } | |
| 118 | 119 | ||
| 120 | + | func (d *browserDOM) focusAutofocusTarget() { | |
| 121 | + | if d == nil || !d.target.Truthy() { | |
| 122 | + | return | |
| 123 | + | } | |
| 124 | + | target := d.target.Call("querySelector", "[data-sv-autofocus]") | |
| 125 | + | if !target.Truthy() || !target.Get("focus").Truthy() { | |
| 126 | + | return | |
| 127 | + | } | |
| 128 | + | target.Call("focus") | |
| 129 | + | } | |
| 130 | + | ||
| 119 | 131 | func (d *browserDOM) scheduleAlertDismissal() { | |
| 120 | 132 | if d == nil || !d.target.Truthy() { | |
| 121 | 133 | return | |
| @@ -43,6 +43,7 @@ func (d *browserDOM) Mount(markup string) error { | |||||
| 43 | d.updateDocumentTitle() | 43 | d.updateDocumentTitle() | ||
| 44 | d.scheduleAlertDismissal() | 44 | d.scheduleAlertDismissal() | ||
| 45 | d.syncPerformanceCustomInputStates() | 45 | d.syncPerformanceCustomInputStates() | ||
| 46 | + | d.focusAutofocusTarget() | |||
| 46 | d.setupHistoryInfiniteScroll() | 47 | d.setupHistoryInfiniteScroll() | ||
| 47 | return nil | 48 | return nil | ||
| 48 | } | 49 | } | ||
| @@ -116,6 +117,17 @@ func (d *browserDOM) updateDocumentTitle() { | |||||
| 116 | d.document.Set("title", title) | 117 | d.document.Set("title", title) | ||
| 117 | } | 118 | } | ||
| 118 | 119 | ||||
| 120 | + | func (d *browserDOM) focusAutofocusTarget() { | |||
| 121 | + | if d == nil || !d.target.Truthy() { | |||
| 122 | + | return | |||
| 123 | + | } | |||
| 124 | + | target := d.target.Call("querySelector", "[data-sv-autofocus]") | |||
| 125 | + | if !target.Truthy() || !target.Get("focus").Truthy() { | |||
| 126 | + | return | |||
| 127 | + | } | |||
| 128 | + | target.Call("focus") | |||
| 129 | + | } | |||
| 130 | + | ||||
| 119 | func (d *browserDOM) scheduleAlertDismissal() { | 131 | func (d *browserDOM) scheduleAlertDismissal() { | ||
| 120 | if d == nil || !d.target.Truthy() { | 132 | if d == nil || !d.target.Truthy() { | ||
| 121 | return | 133 | return | ||
M internal/ui/systemviews/history.templ +9 -8
| @@ -12,12 +12,14 @@ templ HistoryView(data historyRenderData) { | |||
| 12 | 12 | @Section("sv-history-controls", "Manage history") { | |
| 13 | 13 | @HistoryControls(data) | |
| 14 | 14 | } | |
| 15 | - | @Section("sv-history-summary", "History") { | |
| 16 | - | @HistorySummary(data) | |
| 17 | - | } | |
| 18 | - | @Section("sv-history-domains", "Top domains") { | |
| 19 | - | @HistoryDomains(data) | |
| 20 | - | } | |
| 15 | + | <div class="sv-history-overview"> | |
| 16 | + | @Section("sv-history-summary", "History stats") { | |
| 17 | + | @HistorySummary(data) | |
| 18 | + | } | |
| 19 | + | @Section("sv-history-domains", "Top domains") { | |
| 20 | + | @HistoryDomains(data) | |
| 21 | + | } | |
| 22 | + | </div> | |
| 21 | 23 | @Section("sv-history-timeline", "Recent visits") { | |
| 22 | 24 | @HistoryTimeline(data) | |
| 23 | 25 | } | |
| @@ -27,7 +29,7 @@ templ HistoryControls(data historyRenderData) { | |||
| 27 | 29 | <form class="sv-toolbar sv-history-search" data-sv-action="history.search"> | |
| 28 | 30 | <label class="sv-search-label"> | |
| 29 | 31 | <span>Search</span> | |
| 30 | - | <input data-sv-history-search name="query" type="search" value={ data.Query } placeholder="Search title or URL" autocomplete="off"/> | |
| 32 | + | <input data-sv-history-search data-sv-autofocus name="query" type="search" value={ data.Query } placeholder="Search title or URL" autocomplete="off" autofocus/> | |
| 31 | 33 | </label> | |
| 32 | 34 | <button class="sv-button" type="submit">@ButtonIconLabel(iconSearch, "Search")</button> | |
| 33 | 35 | <button class="sv-button sv-button-secondary" type="button" data-sv-action="history.clear">@ButtonIconLabel(iconX, "Clear")</button> | |
| @@ -53,7 +55,6 @@ templ HistoryControls(data historyRenderData) { | |||
| 53 | 55 | } | |
| 54 | 56 | </div> | |
| 55 | 57 | </div> | |
| 56 | - | <p class="sv-meta sv-key-hints">Keys: <kbd>/</kbd> search, <kbd>j</kbd>/<kbd>k</kbd> move, <kbd>Enter</kbd> open, <kbd>d</kbd> delete focused entry.</p> | |
| 57 | 58 | } | |
| 58 | 59 | ||
| 59 | 60 | templ HistorySummary(data historyRenderData) { | |
| @@ -12,12 +12,14 @@ templ HistoryView(data historyRenderData) { | |||||
| 12 | @Section("sv-history-controls", "Manage history") { | 12 | @Section("sv-history-controls", "Manage history") { | ||
| 13 | @HistoryControls(data) | 13 | @HistoryControls(data) | ||
| 14 | } | 14 | } | ||
| 15 | - | @Section("sv-history-summary", "History") { | 15 | + | <div class="sv-history-overview"> |
| 16 | - | @HistorySummary(data) | 16 | + | @Section("sv-history-summary", "History stats") { |
| 17 | - | } | 17 | + | @HistorySummary(data) |
| 18 | - | @Section("sv-history-domains", "Top domains") { | 18 | + | } |
| 19 | - | @HistoryDomains(data) | 19 | + | @Section("sv-history-domains", "Top domains") { |
| 20 | - | } | 20 | + | @HistoryDomains(data) |
| 21 | + | } | |||
| 22 | + | </div> | |||
| 21 | @Section("sv-history-timeline", "Recent visits") { | 23 | @Section("sv-history-timeline", "Recent visits") { | ||
| 22 | @HistoryTimeline(data) | 24 | @HistoryTimeline(data) | ||
| 23 | } | 25 | } | ||
| @@ -27,7 +29,7 @@ templ HistoryControls(data historyRenderData) { | |||||
| 27 | <form class="sv-toolbar sv-history-search" data-sv-action="history.search"> | 29 | <form class="sv-toolbar sv-history-search" data-sv-action="history.search"> | ||
| 28 | <label class="sv-search-label"> | 30 | <label class="sv-search-label"> | ||
| 29 | <span>Search</span> | 31 | <span>Search</span> | ||
| 30 | - | <input data-sv-history-search name="query" type="search" value={ data.Query } placeholder="Search title or URL" autocomplete="off"/> | 32 | + | <input data-sv-history-search data-sv-autofocus name="query" type="search" value={ data.Query } placeholder="Search title or URL" autocomplete="off" autofocus/> |
| 31 | </label> | 33 | </label> | ||
| 32 | <button class="sv-button" type="submit">@ButtonIconLabel(iconSearch, "Search")</button> | 34 | <button class="sv-button" type="submit">@ButtonIconLabel(iconSearch, "Search")</button> | ||
| 33 | <button class="sv-button sv-button-secondary" type="button" data-sv-action="history.clear">@ButtonIconLabel(iconX, "Clear")</button> | 35 | <button class="sv-button sv-button-secondary" type="button" data-sv-action="history.clear">@ButtonIconLabel(iconX, "Clear")</button> | ||
| @@ -53,7 +55,6 @@ templ HistoryControls(data historyRenderData) { | |||||
| 53 | } | 55 | } | ||
| 54 | </div> | 56 | </div> | ||
| 55 | </div> | 57 | </div> | ||
| 56 | - | <p class="sv-meta sv-key-hints">Keys: <kbd>/</kbd> search, <kbd>j</kbd>/<kbd>k</kbd> move, <kbd>Enter</kbd> open, <kbd>d</kbd> delete focused entry.</p> | |||
| 57 | } | 58 | } | ||
| 58 | 59 | ||||
| 59 | templ HistorySummary(data historyRenderData) { | 60 | templ HistorySummary(data historyRenderData) { | ||
M internal/ui/systemviews/history_templ.go +108 -100
| @@ -64,6 +64,10 @@ func HistoryView(data historyRenderData) templ.Component { | |||
| 64 | 64 | if templ_7745c5c3_Err != nil { | |
| 65 | 65 | return templ_7745c5c3_Err | |
| 66 | 66 | } | |
| 67 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<div class=\"sv-history-overview\">") | |
| 68 | + | if templ_7745c5c3_Err != nil { | |
| 69 | + | return templ_7745c5c3_Err | |
| 70 | + | } | |
| 67 | 71 | templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 68 | 72 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | |
| 69 | 73 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | |
| @@ -82,7 +86,7 @@ func HistoryView(data historyRenderData) templ.Component { | |||
| 82 | 86 | } | |
| 83 | 87 | return nil | |
| 84 | 88 | }) | |
| 85 | - | templ_7745c5c3_Err = Section("sv-history-summary", "History").Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer) | |
| 89 | + | templ_7745c5c3_Err = Section("sv-history-summary", "History stats").Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer) | |
| 86 | 90 | if templ_7745c5c3_Err != nil { | |
| 87 | 91 | return templ_7745c5c3_Err | |
| 88 | 92 | } | |
| @@ -108,6 +112,10 @@ func HistoryView(data historyRenderData) templ.Component { | |||
| 108 | 112 | if templ_7745c5c3_Err != nil { | |
| 109 | 113 | return templ_7745c5c3_Err | |
| 110 | 114 | } | |
| 115 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "</div>") | |
| 116 | + | if templ_7745c5c3_Err != nil { | |
| 117 | + | return templ_7745c5c3_Err | |
| 118 | + | } | |
| 111 | 119 | templ_7745c5c3_Var5 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 112 | 120 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | |
| 113 | 121 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | |
| @@ -155,20 +163,20 @@ func HistoryControls(data historyRenderData) templ.Component { | |||
| 155 | 163 | templ_7745c5c3_Var6 = templ.NopComponent | |
| 156 | 164 | } | |
| 157 | 165 | ctx = templ.ClearChildren(ctx) | |
| 158 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<form class=\"sv-toolbar sv-history-search\" data-sv-action=\"history.search\"><label class=\"sv-search-label\"><span>Search</span> <input data-sv-history-search name=\"query\" type=\"search\" value=\"") | |
| 166 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "<form class=\"sv-toolbar sv-history-search\" data-sv-action=\"history.search\"><label class=\"sv-search-label\"><span>Search</span> <input data-sv-history-search data-sv-autofocus name=\"query\" type=\"search\" value=\"") | |
| 159 | 167 | if templ_7745c5c3_Err != nil { | |
| 160 | 168 | return templ_7745c5c3_Err | |
| 161 | 169 | } | |
| 162 | 170 | var templ_7745c5c3_Var7 string | |
| 163 | 171 | templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(data.Query) | |
| 164 | 172 | if templ_7745c5c3_Err != nil { | |
| 165 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 30, Col: 78} | |
| 173 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 32, Col: 96} | |
| 166 | 174 | } | |
| 167 | 175 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) | |
| 168 | 176 | if templ_7745c5c3_Err != nil { | |
| 169 | 177 | return templ_7745c5c3_Err | |
| 170 | 178 | } | |
| 171 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "\" placeholder=\"Search title or URL\" autocomplete=\"off\"></label> <button class=\"sv-button\" type=\"submit\">") | |
| 179 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "\" placeholder=\"Search title or URL\" autocomplete=\"off\" autofocus></label> <button class=\"sv-button\" type=\"submit\">") | |
| 172 | 180 | if templ_7745c5c3_Err != nil { | |
| 173 | 181 | return templ_7745c5c3_Err | |
| 174 | 182 | } | |
| @@ -176,7 +184,7 @@ func HistoryControls(data historyRenderData) templ.Component { | |||
| 176 | 184 | if templ_7745c5c3_Err != nil { | |
| 177 | 185 | return templ_7745c5c3_Err | |
| 178 | 186 | } | |
| 179 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "</button> <button class=\"sv-button sv-button-secondary\" type=\"button\" data-sv-action=\"history.clear\">") | |
| 187 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "</button> <button class=\"sv-button sv-button-secondary\" type=\"button\" data-sv-action=\"history.clear\">") | |
| 180 | 188 | if templ_7745c5c3_Err != nil { | |
| 181 | 189 | return templ_7745c5c3_Err | |
| 182 | 190 | } | |
| @@ -184,49 +192,49 @@ func HistoryControls(data historyRenderData) templ.Component { | |||
| 184 | 192 | if templ_7745c5c3_Err != nil { | |
| 185 | 193 | return templ_7745c5c3_Err | |
| 186 | 194 | } | |
| 187 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "</button></form>") | |
| 195 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "</button></form>") | |
| 188 | 196 | if templ_7745c5c3_Err != nil { | |
| 189 | 197 | return templ_7745c5c3_Err | |
| 190 | 198 | } | |
| 191 | 199 | if showHistoryFilters(data) { | |
| 192 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "<div class=\"sv-active-filters\">") | |
| 200 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "<div class=\"sv-active-filters\">") | |
| 193 | 201 | if templ_7745c5c3_Err != nil { | |
| 194 | 202 | return templ_7745c5c3_Err | |
| 195 | 203 | } | |
| 196 | 204 | if data.Query != "" { | |
| 197 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "<span class=\"sv-filter-chip\">Query: ") | |
| 205 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "<span class=\"sv-filter-chip\">Query: ") | |
| 198 | 206 | if templ_7745c5c3_Err != nil { | |
| 199 | 207 | return templ_7745c5c3_Err | |
| 200 | 208 | } | |
| 201 | 209 | var templ_7745c5c3_Var8 string | |
| 202 | 210 | templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(data.Query) | |
| 203 | 211 | if templ_7745c5c3_Err != nil { | |
| 204 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 38, Col: 52} | |
| 212 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 40, Col: 52} | |
| 205 | 213 | } | |
| 206 | 214 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) | |
| 207 | 215 | if templ_7745c5c3_Err != nil { | |
| 208 | 216 | return templ_7745c5c3_Err | |
| 209 | 217 | } | |
| 210 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "</span> ") | |
| 218 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "</span> ") | |
| 211 | 219 | if templ_7745c5c3_Err != nil { | |
| 212 | 220 | return templ_7745c5c3_Err | |
| 213 | 221 | } | |
| 214 | 222 | } | |
| 215 | 223 | if data.DomainFilter != "" { | |
| 216 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "<span class=\"sv-filter-chip\">Domain: ") | |
| 224 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "<span class=\"sv-filter-chip\">Domain: ") | |
| 217 | 225 | if templ_7745c5c3_Err != nil { | |
| 218 | 226 | return templ_7745c5c3_Err | |
| 219 | 227 | } | |
| 220 | 228 | var templ_7745c5c3_Var9 string | |
| 221 | 229 | templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(data.DomainFilter) | |
| 222 | 230 | if templ_7745c5c3_Err != nil { | |
| 223 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 41, Col: 60} | |
| 231 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 43, Col: 60} | |
| 224 | 232 | } | |
| 225 | 233 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) | |
| 226 | 234 | if templ_7745c5c3_Err != nil { | |
| 227 | 235 | return templ_7745c5c3_Err | |
| 228 | 236 | } | |
| 229 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, " <button type=\"button\" data-sv-action=\"history.clearDomain\" aria-label=\"Clear domain filter\">") | |
| 237 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, " <button type=\"button\" data-sv-action=\"history.clearDomain\" aria-label=\"Clear domain filter\">") | |
| 230 | 238 | if templ_7745c5c3_Err != nil { | |
| 231 | 239 | return templ_7745c5c3_Err | |
| 232 | 240 | } | |
| @@ -234,79 +242,79 @@ func HistoryControls(data historyRenderData) templ.Component { | |||
| 234 | 242 | if templ_7745c5c3_Err != nil { | |
| 235 | 243 | return templ_7745c5c3_Err | |
| 236 | 244 | } | |
| 237 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "</button></span>") | |
| 245 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "</button></span>") | |
| 238 | 246 | if templ_7745c5c3_Err != nil { | |
| 239 | 247 | return templ_7745c5c3_Err | |
| 240 | 248 | } | |
| 241 | 249 | } | |
| 242 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "</div>") | |
| 250 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "</div>") | |
| 243 | 251 | if templ_7745c5c3_Err != nil { | |
| 244 | 252 | return templ_7745c5c3_Err | |
| 245 | 253 | } | |
| 246 | 254 | } | |
| 247 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "<div class=\"sv-history-actions-panel\"><div class=\"sv-button-row\" aria-label=\"History pagination\"><span class=\"sv-meta\">") | |
| 255 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "<div class=\"sv-history-actions-panel\"><div class=\"sv-button-row\" aria-label=\"History pagination\"><span class=\"sv-meta\">") | |
| 248 | 256 | if templ_7745c5c3_Err != nil { | |
| 249 | 257 | return templ_7745c5c3_Err | |
| 250 | 258 | } | |
| 251 | 259 | var templ_7745c5c3_Var10 string | |
| 252 | 260 | templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(historyShowingLabel(data)) | |
| 253 | 261 | if templ_7745c5c3_Err != nil { | |
| 254 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 47, Col: 52} | |
| 262 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 49, Col: 52} | |
| 255 | 263 | } | |
| 256 | 264 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) | |
| 257 | 265 | if templ_7745c5c3_Err != nil { | |
| 258 | 266 | return templ_7745c5c3_Err | |
| 259 | 267 | } | |
| 260 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "</span></div><div class=\"sv-button-row\" aria-label=\"History cleanup\"><span class=\"sv-meta\">Clean up</span> ") | |
| 268 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "</span></div><div class=\"sv-button-row\" aria-label=\"History cleanup\"><span class=\"sv-meta\">Clean up</span> ") | |
| 261 | 269 | if templ_7745c5c3_Err != nil { | |
| 262 | 270 | return templ_7745c5c3_Err | |
| 263 | 271 | } | |
| 264 | 272 | for _, item := range historyCleanupItems() { | |
| 265 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "<button type=\"button\" class=\"sv-danger-link\" data-sv-action=\"history.deleteRange\" data-range=\"") | |
| 273 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "<button type=\"button\" class=\"sv-danger-link\" data-sv-action=\"history.deleteRange\" data-range=\"") | |
| 266 | 274 | if templ_7745c5c3_Err != nil { | |
| 267 | 275 | return templ_7745c5c3_Err | |
| 268 | 276 | } | |
| 269 | 277 | var templ_7745c5c3_Var11 string | |
| 270 | 278 | templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(item.RangeID) | |
| 271 | 279 | if templ_7745c5c3_Err != nil { | |
| 272 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 52, Col: 111} | |
| 280 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 54, Col: 111} | |
| 273 | 281 | } | |
| 274 | 282 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) | |
| 275 | 283 | if templ_7745c5c3_Err != nil { | |
| 276 | 284 | return templ_7745c5c3_Err | |
| 277 | 285 | } | |
| 278 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "\" data-sv-confirm=\"") | |
| 286 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "\" data-sv-confirm=\"") | |
| 279 | 287 | if templ_7745c5c3_Err != nil { | |
| 280 | 288 | return templ_7745c5c3_Err | |
| 281 | 289 | } | |
| 282 | 290 | var templ_7745c5c3_Var12 string | |
| 283 | 291 | templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(item.Confirm) | |
| 284 | 292 | if templ_7745c5c3_Err != nil { | |
| 285 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 52, Col: 144} | |
| 293 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 54, Col: 144} | |
| 286 | 294 | } | |
| 287 | 295 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) | |
| 288 | 296 | if templ_7745c5c3_Err != nil { | |
| 289 | 297 | return templ_7745c5c3_Err | |
| 290 | 298 | } | |
| 291 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "\">") | |
| 299 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "\">") | |
| 292 | 300 | if templ_7745c5c3_Err != nil { | |
| 293 | 301 | return templ_7745c5c3_Err | |
| 294 | 302 | } | |
| 295 | 303 | var templ_7745c5c3_Var13 string | |
| 296 | 304 | templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(item.Label) | |
| 297 | 305 | if templ_7745c5c3_Err != nil { | |
| 298 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 52, Col: 159} | |
| 306 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 54, Col: 159} | |
| 299 | 307 | } | |
| 300 | 308 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) | |
| 301 | 309 | if templ_7745c5c3_Err != nil { | |
| 302 | 310 | return templ_7745c5c3_Err | |
| 303 | 311 | } | |
| 304 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</button>") | |
| 312 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</button>") | |
| 305 | 313 | if templ_7745c5c3_Err != nil { | |
| 306 | 314 | return templ_7745c5c3_Err | |
| 307 | 315 | } | |
| 308 | 316 | } | |
| 309 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</div></div><p class=\"sv-meta sv-key-hints\">Keys: <kbd>/</kbd> search, <kbd>j</kbd>/<kbd>k</kbd> move, <kbd>Enter</kbd> open, <kbd>d</kbd> delete focused entry.</p>") | |
| 317 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "</div></div>") | |
| 310 | 318 | if templ_7745c5c3_Err != nil { | |
| 311 | 319 | return templ_7745c5c3_Err | |
| 312 | 320 | } | |
| @@ -336,7 +344,7 @@ func HistorySummary(data historyRenderData) templ.Component { | |||
| 336 | 344 | } | |
| 337 | 345 | ctx = templ.ClearChildren(ctx) | |
| 338 | 346 | if historySummaryLoading(data) { | |
| 339 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "<div class=\"sv-stat-grid\">") | |
| 347 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "<div class=\"sv-stat-grid\">") | |
| 340 | 348 | if templ_7745c5c3_Err != nil { | |
| 341 | 349 | return templ_7745c5c3_Err | |
| 342 | 350 | } | |
| @@ -352,13 +360,13 @@ func HistorySummary(data historyRenderData) templ.Component { | |||
| 352 | 360 | if templ_7745c5c3_Err != nil { | |
| 353 | 361 | return templ_7745c5c3_Err | |
| 354 | 362 | } | |
| 355 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "</div>") | |
| 363 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "</div>") | |
| 356 | 364 | if templ_7745c5c3_Err != nil { | |
| 357 | 365 | return templ_7745c5c3_Err | |
| 358 | 366 | } | |
| 359 | 367 | } else { | |
| 360 | 368 | entries, visits, days := historySummaryValues(data) | |
| 361 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "<div class=\"sv-stat-grid\">") | |
| 369 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "<div class=\"sv-stat-grid\">") | |
| 362 | 370 | if templ_7745c5c3_Err != nil { | |
| 363 | 371 | return templ_7745c5c3_Err | |
| 364 | 372 | } | |
| @@ -374,7 +382,7 @@ func HistorySummary(data historyRenderData) templ.Component { | |||
| 374 | 382 | if templ_7745c5c3_Err != nil { | |
| 375 | 383 | return templ_7745c5c3_Err | |
| 376 | 384 | } | |
| 377 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "</div>") | |
| 385 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</div>") | |
| 378 | 386 | if templ_7745c5c3_Err != nil { | |
| 379 | 387 | return templ_7745c5c3_Err | |
| 380 | 388 | } | |
| @@ -404,33 +412,33 @@ func HistoryStatCard(label string, value int64) templ.Component { | |||
| 404 | 412 | templ_7745c5c3_Var15 = templ.NopComponent | |
| 405 | 413 | } | |
| 406 | 414 | ctx = templ.ClearChildren(ctx) | |
| 407 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "<div class=\"sv-stat-card\"><span class=\"sv-stat-value\">") | |
| 415 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "<div class=\"sv-stat-card\"><span class=\"sv-stat-value\">") | |
| 408 | 416 | if templ_7745c5c3_Err != nil { | |
| 409 | 417 | return templ_7745c5c3_Err | |
| 410 | 418 | } | |
| 411 | 419 | var templ_7745c5c3_Var16 string | |
| 412 | 420 | templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d", value)) | |
| 413 | 421 | if templ_7745c5c3_Err != nil { | |
| 414 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 78, Col: 81} | |
| 422 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 79, Col: 81} | |
| 415 | 423 | } | |
| 416 | 424 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16)) | |
| 417 | 425 | if templ_7745c5c3_Err != nil { | |
| 418 | 426 | return templ_7745c5c3_Err | |
| 419 | 427 | } | |
| 420 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</span><span class=\"sv-stat-label\">") | |
| 428 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</span><span class=\"sv-stat-label\">") | |
| 421 | 429 | if templ_7745c5c3_Err != nil { | |
| 422 | 430 | return templ_7745c5c3_Err | |
| 423 | 431 | } | |
| 424 | 432 | var templ_7745c5c3_Var17 string | |
| 425 | 433 | templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(label) | |
| 426 | 434 | if templ_7745c5c3_Err != nil { | |
| 427 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 78, Col: 125} | |
| 435 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 79, Col: 125} | |
| 428 | 436 | } | |
| 429 | 437 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17)) | |
| 430 | 438 | if templ_7745c5c3_Err != nil { | |
| 431 | 439 | return templ_7745c5c3_Err | |
| 432 | 440 | } | |
| 433 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "</span></div>") | |
| 441 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "</span></div>") | |
| 434 | 442 | if templ_7745c5c3_Err != nil { | |
| 435 | 443 | return templ_7745c5c3_Err | |
| 436 | 444 | } | |
| @@ -470,7 +478,7 @@ func HistoryDomains(data historyRenderData) templ.Component { | |||
| 470 | 478 | return templ_7745c5c3_Err | |
| 471 | 479 | } | |
| 472 | 480 | } else { | |
| 473 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "<div class=\"sv-domain-list\">") | |
| 481 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "<div class=\"sv-domain-list\">") | |
| 474 | 482 | if templ_7745c5c3_Err != nil { | |
| 475 | 483 | return templ_7745c5c3_Err | |
| 476 | 484 | } | |
| @@ -478,85 +486,85 @@ func HistoryDomains(data historyRenderData) templ.Component { | |||
| 478 | 486 | if domain != nil && domain.Domain != "" { | |
| 479 | 487 | domainKey := historyDomainActionKey(domain) | |
| 480 | 488 | displayDomain := historyDomainDisplayLabel(domain) | |
| 481 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "<span class=\"sv-domain-chip\"><span class=\"sv-domain-chip-main\"><button type=\"button\" class=\"sv-domain-filter\" data-sv-action=\"history.filterDomain\" data-domain=\"") | |
| 489 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "<span class=\"sv-domain-chip\"><span class=\"sv-domain-chip-main\"><button type=\"button\" class=\"sv-domain-filter\" data-sv-action=\"history.filterDomain\" data-domain=\"") | |
| 482 | 490 | if templ_7745c5c3_Err != nil { | |
| 483 | 491 | return templ_7745c5c3_Err | |
| 484 | 492 | } | |
| 485 | 493 | var templ_7745c5c3_Var19 string | |
| 486 | 494 | templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(domainKey) | |
| 487 | 495 | if templ_7745c5c3_Err != nil { | |
| 488 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 94, Col: 115} | |
| 496 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 95, Col: 115} | |
| 489 | 497 | } | |
| 490 | 498 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19)) | |
| 491 | 499 | if templ_7745c5c3_Err != nil { | |
| 492 | 500 | return templ_7745c5c3_Err | |
| 493 | 501 | } | |
| 494 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "\">") | |
| 502 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "\">") | |
| 495 | 503 | if templ_7745c5c3_Err != nil { | |
| 496 | 504 | return templ_7745c5c3_Err | |
| 497 | 505 | } | |
| 498 | 506 | var templ_7745c5c3_Var20 string | |
| 499 | 507 | templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(displayDomain) | |
| 500 | 508 | if templ_7745c5c3_Err != nil { | |
| 501 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 94, Col: 133} | |
| 509 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 95, Col: 133} | |
| 502 | 510 | } | |
| 503 | 511 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20)) | |
| 504 | 512 | if templ_7745c5c3_Err != nil { | |
| 505 | 513 | return templ_7745c5c3_Err | |
| 506 | 514 | } | |
| 507 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</button> <span class=\"sv-domain-meta\">") | |
| 515 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "</button> <span class=\"sv-domain-meta\">") | |
| 508 | 516 | if templ_7745c5c3_Err != nil { | |
| 509 | 517 | return templ_7745c5c3_Err | |
| 510 | 518 | } | |
| 511 | 519 | var templ_7745c5c3_Var21 string | |
| 512 | 520 | templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d pages · %d visits", domain.PageCount, domain.TotalVisits)) | |
| 513 | 521 | if templ_7745c5c3_Err != nil { | |
| 514 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 95, Col: 112} | |
| 522 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 96, Col: 112} | |
| 515 | 523 | } | |
| 516 | 524 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21)) | |
| 517 | 525 | if templ_7745c5c3_Err != nil { | |
| 518 | 526 | return templ_7745c5c3_Err | |
| 519 | 527 | } | |
| 520 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "</span></span> <button type=\"button\" class=\"sv-icon-button sv-danger\" data-sv-action=\"history.deleteDomain\" data-domain=\"") | |
| 528 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "</span></span> <button type=\"button\" class=\"sv-icon-button sv-danger\" data-sv-action=\"history.deleteDomain\" data-domain=\"") | |
| 521 | 529 | if templ_7745c5c3_Err != nil { | |
| 522 | 530 | return templ_7745c5c3_Err | |
| 523 | 531 | } | |
| 524 | 532 | var templ_7745c5c3_Var22 string | |
| 525 | 533 | templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(domainKey) | |
| 526 | 534 | if templ_7745c5c3_Err != nil { | |
| 527 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 97, Col: 122} | |
| 535 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 98, Col: 122} | |
| 528 | 536 | } | |
| 529 | 537 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22)) | |
| 530 | 538 | if templ_7745c5c3_Err != nil { | |
| 531 | 539 | return templ_7745c5c3_Err | |
| 532 | 540 | } | |
| 533 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "\" data-sv-confirm=\"") | |
| 541 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "\" data-sv-confirm=\"") | |
| 534 | 542 | if templ_7745c5c3_Err != nil { | |
| 535 | 543 | return templ_7745c5c3_Err | |
| 536 | 544 | } | |
| 537 | 545 | var templ_7745c5c3_Var23 string | |
| 538 | 546 | templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs("Delete all history for " + displayDomain + "?") | |
| 539 | 547 | if templ_7745c5c3_Err != nil { | |
| 540 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 97, Col: 190} | |
| 548 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 98, Col: 190} | |
| 541 | 549 | } | |
| 542 | 550 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23)) | |
| 543 | 551 | if templ_7745c5c3_Err != nil { | |
| 544 | 552 | return templ_7745c5c3_Err | |
| 545 | 553 | } | |
| 546 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "\" aria-label=\"") | |
| 554 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "\" aria-label=\"") | |
| 547 | 555 | if templ_7745c5c3_Err != nil { | |
| 548 | 556 | return templ_7745c5c3_Err | |
| 549 | 557 | } | |
| 550 | 558 | var templ_7745c5c3_Var24 string | |
| 551 | 559 | templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs("Delete history for " + displayDomain) | |
| 552 | 560 | if templ_7745c5c3_Err != nil { | |
| 553 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 97, Col: 243} | |
| 561 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 98, Col: 243} | |
| 554 | 562 | } | |
| 555 | 563 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24)) | |
| 556 | 564 | if templ_7745c5c3_Err != nil { | |
| 557 | 565 | return templ_7745c5c3_Err | |
| 558 | 566 | } | |
| 559 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "\">") | |
| 567 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "\">") | |
| 560 | 568 | if templ_7745c5c3_Err != nil { | |
| 561 | 569 | return templ_7745c5c3_Err | |
| 562 | 570 | } | |
| @@ -564,13 +572,13 @@ func HistoryDomains(data historyRenderData) templ.Component { | |||
| 564 | 572 | if templ_7745c5c3_Err != nil { | |
| 565 | 573 | return templ_7745c5c3_Err | |
| 566 | 574 | } | |
| 567 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "</button></span>") | |
| 575 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "</button></span>") | |
| 568 | 576 | if templ_7745c5c3_Err != nil { | |
| 569 | 577 | return templ_7745c5c3_Err | |
| 570 | 578 | } | |
| 571 | 579 | } | |
| 572 | 580 | } | |
| 573 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "</div>") | |
| 581 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</div>") | |
| 574 | 582 | if templ_7745c5c3_Err != nil { | |
| 575 | 583 | return templ_7745c5c3_Err | |
| 576 | 584 | } | |
| @@ -606,7 +614,7 @@ func HistoryTimeline(data historyRenderData) templ.Component { | |||
| 606 | 614 | return templ_7745c5c3_Err | |
| 607 | 615 | } | |
| 608 | 616 | } else { | |
| 609 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "<div class=\"sv-history-timeline-list\" data-sv-history-timeline>") | |
| 617 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<div class=\"sv-history-timeline-list\" data-sv-history-timeline>") | |
| 610 | 618 | if templ_7745c5c3_Err != nil { | |
| 611 | 619 | return templ_7745c5c3_Err | |
| 612 | 620 | } | |
| @@ -626,7 +634,7 @@ func HistoryTimeline(data historyRenderData) templ.Component { | |||
| 626 | 634 | if templ_7745c5c3_Err != nil { | |
| 627 | 635 | return templ_7745c5c3_Err | |
| 628 | 636 | } | |
| 629 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</div>") | |
| 637 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "</div>") | |
| 630 | 638 | if templ_7745c5c3_Err != nil { | |
| 631 | 639 | return templ_7745c5c3_Err | |
| 632 | 640 | } | |
| @@ -724,20 +732,20 @@ func HistoryTimelineAppendGroups(entries []*entity.HistoryEntry, mergeFirstDate | |||
| 724 | 732 | groups := groupHistoryEntries(entries) | |
| 725 | 733 | for index, group := range groups { | |
| 726 | 734 | if index == 0 && group.Date == mergeFirstDate { | |
| 727 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<div data-sv-history-merge-date=\"") | |
| 735 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "<div data-sv-history-merge-date=\"") | |
| 728 | 736 | if templ_7745c5c3_Err != nil { | |
| 729 | 737 | return templ_7745c5c3_Err | |
| 730 | 738 | } | |
| 731 | 739 | var templ_7745c5c3_Var29 string | |
| 732 | 740 | templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(group.Date) | |
| 733 | 741 | if templ_7745c5c3_Err != nil { | |
| 734 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 137, Col: 47} | |
| 742 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 138, Col: 47} | |
| 735 | 743 | } | |
| 736 | 744 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29)) | |
| 737 | 745 | if templ_7745c5c3_Err != nil { | |
| 738 | 746 | return templ_7745c5c3_Err | |
| 739 | 747 | } | |
| 740 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "\">") | |
| 748 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "\">") | |
| 741 | 749 | if templ_7745c5c3_Err != nil { | |
| 742 | 750 | return templ_7745c5c3_Err | |
| 743 | 751 | } | |
| @@ -749,7 +757,7 @@ func HistoryTimelineAppendGroups(entries []*entity.HistoryEntry, mergeFirstDate | |||
| 749 | 757 | } | |
| 750 | 758 | } | |
| 751 | 759 | } | |
| 752 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "</div>") | |
| 760 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "</div>") | |
| 753 | 761 | if templ_7745c5c3_Err != nil { | |
| 754 | 762 | return templ_7745c5c3_Err | |
| 755 | 763 | } | |
| @@ -785,43 +793,43 @@ func HistoryTimelineGroup(group historyTimelineGroup, showHeading bool) templ.Co | |||
| 785 | 793 | templ_7745c5c3_Var30 = templ.NopComponent | |
| 786 | 794 | } | |
| 787 | 795 | ctx = templ.ClearChildren(ctx) | |
| 788 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "<section class=\"sv-timeline-group\" data-sv-history-date=\"") | |
| 796 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "<section class=\"sv-timeline-group\" data-sv-history-date=\"") | |
| 789 | 797 | if templ_7745c5c3_Err != nil { | |
| 790 | 798 | return templ_7745c5c3_Err | |
| 791 | 799 | } | |
| 792 | 800 | var templ_7745c5c3_Var31 string | |
| 793 | 801 | templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(group.Date) | |
| 794 | 802 | if templ_7745c5c3_Err != nil { | |
| 795 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 151, Col: 69} | |
| 803 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 152, Col: 69} | |
| 796 | 804 | } | |
| 797 | 805 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) | |
| 798 | 806 | if templ_7745c5c3_Err != nil { | |
| 799 | 807 | return templ_7745c5c3_Err | |
| 800 | 808 | } | |
| 801 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "\">") | |
| 809 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "\">") | |
| 802 | 810 | if templ_7745c5c3_Err != nil { | |
| 803 | 811 | return templ_7745c5c3_Err | |
| 804 | 812 | } | |
| 805 | 813 | if showHeading { | |
| 806 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "<h3>") | |
| 814 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<h3>") | |
| 807 | 815 | if templ_7745c5c3_Err != nil { | |
| 808 | 816 | return templ_7745c5c3_Err | |
| 809 | 817 | } | |
| 810 | 818 | var templ_7745c5c3_Var32 string | |
| 811 | 819 | templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(group.Label) | |
| 812 | 820 | if templ_7745c5c3_Err != nil { | |
| 813 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 153, Col: 20} | |
| 821 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 154, Col: 20} | |
| 814 | 822 | } | |
| 815 | 823 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) | |
| 816 | 824 | if templ_7745c5c3_Err != nil { | |
| 817 | 825 | return templ_7745c5c3_Err | |
| 818 | 826 | } | |
| 819 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "</h3>") | |
| 827 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "</h3>") | |
| 820 | 828 | if templ_7745c5c3_Err != nil { | |
| 821 | 829 | return templ_7745c5c3_Err | |
| 822 | 830 | } | |
| 823 | 831 | } | |
| 824 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<ul class=\"sv-list\">") | |
| 832 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "<ul class=\"sv-list\">") | |
| 825 | 833 | if templ_7745c5c3_Err != nil { | |
| 826 | 834 | return templ_7745c5c3_Err | |
| 827 | 835 | } | |
| @@ -833,7 +841,7 @@ func HistoryTimelineGroup(group historyTimelineGroup, showHeading bool) templ.Co | |||
| 833 | 841 | } | |
| 834 | 842 | } | |
| 835 | 843 | } | |
| 836 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "</ul></section>") | |
| 844 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "</ul></section>") | |
| 837 | 845 | if templ_7745c5c3_Err != nil { | |
| 838 | 846 | return templ_7745c5c3_Err | |
| 839 | 847 | } | |
| @@ -862,35 +870,35 @@ func HistoryLoadMore(data historyRenderData) templ.Component { | |||
| 862 | 870 | templ_7745c5c3_Var33 = templ.NopComponent | |
| 863 | 871 | } | |
| 864 | 872 | ctx = templ.ClearChildren(ctx) | |
| 865 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "<div class=\"sv-history-load-more\" data-sv-history-load-more-container>") | |
| 873 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "<div class=\"sv-history-load-more\" data-sv-history-load-more-container>") | |
| 866 | 874 | if templ_7745c5c3_Err != nil { | |
| 867 | 875 | return templ_7745c5c3_Err | |
| 868 | 876 | } | |
| 869 | 877 | if showHistoryLoadMore(data) { | |
| 870 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "<button type=\"button\" class=\"sv-button sv-button-secondary\" data-sv-action=\"history.loadMore\" data-before=\"") | |
| 878 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "<button type=\"button\" class=\"sv-button sv-button-secondary\" data-sv-action=\"history.loadMore\" data-before=\"") | |
| 871 | 879 | if templ_7745c5c3_Err != nil { | |
| 872 | 880 | return templ_7745c5c3_Err | |
| 873 | 881 | } | |
| 874 | 882 | var templ_7745c5c3_Var34 string | |
| 875 | 883 | templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.JoinStringErrs(historyLoadMoreCursor(data)) | |
| 876 | 884 | if templ_7745c5c3_Err != nil { | |
| 877 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 168, Col: 138} | |
| 885 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 169, Col: 138} | |
| 878 | 886 | } | |
| 879 | 887 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var34)) | |
| 880 | 888 | if templ_7745c5c3_Err != nil { | |
| 881 | 889 | return templ_7745c5c3_Err | |
| 882 | 890 | } | |
| 883 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "\" data-sv-history-load-more>Load older visits</button>") | |
| 891 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "\" data-sv-history-load-more>Load older visits</button>") | |
| 884 | 892 | if templ_7745c5c3_Err != nil { | |
| 885 | 893 | return templ_7745c5c3_Err | |
| 886 | 894 | } | |
| 887 | 895 | } else if strings.TrimSpace(data.Query) == "" && countHistoryEntries(data.Entries) > 0 { | |
| 888 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "<p class=\"sv-meta\">End of history</p>") | |
| 896 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "<p class=\"sv-meta\">End of history</p>") | |
| 889 | 897 | if templ_7745c5c3_Err != nil { | |
| 890 | 898 | return templ_7745c5c3_Err | |
| 891 | 899 | } | |
| 892 | 900 | } | |
| 893 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "</div>") | |
| 901 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "</div>") | |
| 894 | 902 | if templ_7745c5c3_Err != nil { | |
| 895 | 903 | return templ_7745c5c3_Err | |
| 896 | 904 | } | |
| @@ -919,20 +927,20 @@ func HistoryItem(entry *entity.HistoryEntry) templ.Component { | |||
| 919 | 927 | templ_7745c5c3_Var35 = templ.NopComponent | |
| 920 | 928 | } | |
| 921 | 929 | ctx = templ.ClearChildren(ctx) | |
| 922 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "<li class=\"sv-list-row\"><article class=\"sv-history-item\" data-sv-history-row data-history-id=\"") | |
| 930 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "<li class=\"sv-list-row\"><article class=\"sv-history-item\" data-sv-history-row data-history-id=\"") | |
| 923 | 931 | if templ_7745c5c3_Err != nil { | |
| 924 | 932 | return templ_7745c5c3_Err | |
| 925 | 933 | } | |
| 926 | 934 | var templ_7745c5c3_Var36 string | |
| 927 | 935 | templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d", entry.ID)) | |
| 928 | 936 | if templ_7745c5c3_Err != nil { | |
| 929 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 177, Col: 100} | |
| 937 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 178, Col: 100} | |
| 930 | 938 | } | |
| 931 | 939 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36)) | |
| 932 | 940 | if templ_7745c5c3_Err != nil { | |
| 933 | 941 | return templ_7745c5c3_Err | |
| 934 | 942 | } | |
| 935 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "\"><div class=\"sv-history-content\">") | |
| 943 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "\"><div class=\"sv-history-content\">") | |
| 936 | 944 | if templ_7745c5c3_Err != nil { | |
| 937 | 945 | return templ_7745c5c3_Err | |
| 938 | 946 | } | |
| @@ -942,7 +950,7 @@ func HistoryItem(entry *entity.HistoryEntry) templ.Component { | |||
| 942 | 950 | if templ_7745c5c3_Err != nil { | |
| 943 | 951 | return templ_7745c5c3_Err | |
| 944 | 952 | } | |
| 945 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "<span class=\"") | |
| 953 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "<span class=\"") | |
| 946 | 954 | if templ_7745c5c3_Err != nil { | |
| 947 | 955 | return templ_7745c5c3_Err | |
| 948 | 956 | } | |
| @@ -955,121 +963,121 @@ func HistoryItem(entry *entity.HistoryEntry) templ.Component { | |||
| 955 | 963 | if templ_7745c5c3_Err != nil { | |
| 956 | 964 | return templ_7745c5c3_Err | |
| 957 | 965 | } | |
| 958 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "\" aria-hidden=\"true\"><span class=\"sv-history-favicon-fallback\">") | |
| 966 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "\" aria-hidden=\"true\"><span class=\"sv-history-favicon-fallback\">") | |
| 959 | 967 | if templ_7745c5c3_Err != nil { | |
| 960 | 968 | return templ_7745c5c3_Err | |
| 961 | 969 | } | |
| 962 | 970 | var templ_7745c5c3_Var39 string | |
| 963 | 971 | templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(historyFaviconFallback(entry)) | |
| 964 | 972 | if templ_7745c5c3_Err != nil { | |
| 965 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 181, Col: 78} | |
| 973 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 182, Col: 78} | |
| 966 | 974 | } | |
| 967 | 975 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39)) | |
| 968 | 976 | if templ_7745c5c3_Err != nil { | |
| 969 | 977 | return templ_7745c5c3_Err | |
| 970 | 978 | } | |
| 971 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "</span> ") | |
| 979 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "</span> ") | |
| 972 | 980 | if templ_7745c5c3_Err != nil { | |
| 973 | 981 | return templ_7745c5c3_Err | |
| 974 | 982 | } | |
| 975 | 983 | if faviconURL != "" { | |
| 976 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "<img src=\"") | |
| 984 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "<img src=\"") | |
| 977 | 985 | if templ_7745c5c3_Err != nil { | |
| 978 | 986 | return templ_7745c5c3_Err | |
| 979 | 987 | } | |
| 980 | 988 | var templ_7745c5c3_Var40 string | |
| 981 | 989 | templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(templ.SafeURL(faviconURL)) | |
| 982 | 990 | if templ_7745c5c3_Err != nil { | |
| 983 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 183, Col: 42} | |
| 991 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 184, Col: 42} | |
| 984 | 992 | } | |
| 985 | 993 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40)) | |
| 986 | 994 | if templ_7745c5c3_Err != nil { | |
| 987 | 995 | return templ_7745c5c3_Err | |
| 988 | 996 | } | |
| 989 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "\" alt=\"\" width=\"24\" height=\"24\" loading=\"lazy\" decoding=\"async\" referrerpolicy=\"same-origin\" onerror=\"this.parentElement.classList.remove('sv-history-favicon-has-image'); this.remove()\">") | |
| 997 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "\" alt=\"\" width=\"24\" height=\"24\" loading=\"lazy\" decoding=\"async\" referrerpolicy=\"same-origin\" onerror=\"this.parentElement.classList.remove('sv-history-favicon-has-image'); this.remove()\">") | |
| 990 | 998 | if templ_7745c5c3_Err != nil { | |
| 991 | 999 | return templ_7745c5c3_Err | |
| 992 | 1000 | } | |
| 993 | 1001 | } | |
| 994 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "</span><div class=\"sv-history-main\"><a class=\"sv-link sv-history-open\" href=\"") | |
| 1002 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</span><div class=\"sv-history-main\"><a class=\"sv-link sv-history-open\" href=\"") | |
| 995 | 1003 | if templ_7745c5c3_Err != nil { | |
| 996 | 1004 | return templ_7745c5c3_Err | |
| 997 | 1005 | } | |
| 998 | 1006 | var templ_7745c5c3_Var41 templ.SafeURL | |
| 999 | 1007 | templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(sanitizeHref(entry.URL))) | |
| 1000 | 1008 | if templ_7745c5c3_Err != nil { | |
| 1001 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 187, Col: 85} | |
| 1009 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 188, Col: 85} | |
| 1002 | 1010 | } | |
| 1003 | 1011 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41)) | |
| 1004 | 1012 | if templ_7745c5c3_Err != nil { | |
| 1005 | 1013 | return templ_7745c5c3_Err | |
| 1006 | 1014 | } | |
| 1007 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "\">") | |
| 1015 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "\">") | |
| 1008 | 1016 | if templ_7745c5c3_Err != nil { | |
| 1009 | 1017 | return templ_7745c5c3_Err | |
| 1010 | 1018 | } | |
| 1011 | 1019 | var templ_7745c5c3_Var42 string | |
| 1012 | 1020 | templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinStringErrs(historyItemLabel(entry)) | |
| 1013 | 1021 | if templ_7745c5c3_Err != nil { | |
| 1014 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 187, Col: 113} | |
| 1022 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 188, Col: 113} | |
| 1015 | 1023 | } | |
| 1016 | 1024 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42)) | |
| 1017 | 1025 | if templ_7745c5c3_Err != nil { | |
| 1018 | 1026 | return templ_7745c5c3_Err | |
| 1019 | 1027 | } | |
| 1020 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</a><p class=\"sv-history-url\" title=\"") | |
| 1028 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "</a><p class=\"sv-history-url\" title=\"") | |
| 1021 | 1029 | if templ_7745c5c3_Err != nil { | |
| 1022 | 1030 | return templ_7745c5c3_Err | |
| 1023 | 1031 | } | |
| 1024 | 1032 | var templ_7745c5c3_Var43 string | |
| 1025 | 1033 | templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinStringErrs(entry.URL) | |
| 1026 | 1034 | if templ_7745c5c3_Err != nil { | |
| 1027 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 188, Col: 48} | |
| 1035 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 189, Col: 48} | |
| 1028 | 1036 | } | |
| 1029 | 1037 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43)) | |
| 1030 | 1038 | if templ_7745c5c3_Err != nil { | |
| 1031 | 1039 | return templ_7745c5c3_Err | |
| 1032 | 1040 | } | |
| 1033 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "\">") | |
| 1041 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "\">") | |
| 1034 | 1042 | if templ_7745c5c3_Err != nil { | |
| 1035 | 1043 | return templ_7745c5c3_Err | |
| 1036 | 1044 | } | |
| 1037 | 1045 | var templ_7745c5c3_Var44 string | |
| 1038 | 1046 | templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.JoinStringErrs(historyItemURL(entry)) | |
| 1039 | 1047 | if templ_7745c5c3_Err != nil { | |
| 1040 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 188, Col: 74} | |
| 1048 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 189, Col: 74} | |
| 1041 | 1049 | } | |
| 1042 | 1050 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var44)) | |
| 1043 | 1051 | if templ_7745c5c3_Err != nil { | |
| 1044 | 1052 | return templ_7745c5c3_Err | |
| 1045 | 1053 | } | |
| 1046 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "</p><p class=\"sv-history-meta\">") | |
| 1054 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "</p><p class=\"sv-history-meta\">") | |
| 1047 | 1055 | if templ_7745c5c3_Err != nil { | |
| 1048 | 1056 | return templ_7745c5c3_Err | |
| 1049 | 1057 | } | |
| 1050 | 1058 | var templ_7745c5c3_Var45 string | |
| 1051 | 1059 | templ_7745c5c3_Var45, templ_7745c5c3_Err = templ.JoinStringErrs(historyItemMeta(entry)) | |
| 1052 | 1060 | if templ_7745c5c3_Err != nil { | |
| 1053 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 189, Col: 56} | |
| 1061 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 190, Col: 56} | |
| 1054 | 1062 | } | |
| 1055 | 1063 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var45)) | |
| 1056 | 1064 | if templ_7745c5c3_Err != nil { | |
| 1057 | 1065 | return templ_7745c5c3_Err | |
| 1058 | 1066 | } | |
| 1059 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "</p></div></div><div class=\"sv-history-row-actions\"><a class=\"sv-button sv-button-secondary\" href=\"") | |
| 1067 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "</p></div></div><div class=\"sv-history-row-actions\"><a class=\"sv-button sv-button-secondary\" href=\"") | |
| 1060 | 1068 | if templ_7745c5c3_Err != nil { | |
| 1061 | 1069 | return templ_7745c5c3_Err | |
| 1062 | 1070 | } | |
| 1063 | 1071 | var templ_7745c5c3_Var46 templ.SafeURL | |
| 1064 | 1072 | templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(sanitizeHref(entry.URL))) | |
| 1065 | 1073 | if templ_7745c5c3_Err != nil { | |
| 1066 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 193, Col: 90} | |
| 1074 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 194, Col: 90} | |
| 1067 | 1075 | } | |
| 1068 | 1076 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46)) | |
| 1069 | 1077 | if templ_7745c5c3_Err != nil { | |
| 1070 | 1078 | return templ_7745c5c3_Err | |
| 1071 | 1079 | } | |
| 1072 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "\">") | |
| 1080 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "\">") | |
| 1073 | 1081 | if templ_7745c5c3_Err != nil { | |
| 1074 | 1082 | return templ_7745c5c3_Err | |
| 1075 | 1083 | } | |
| @@ -1077,30 +1085,30 @@ func HistoryItem(entry *entity.HistoryEntry) templ.Component { | |||
| 1077 | 1085 | if templ_7745c5c3_Err != nil { | |
| 1078 | 1086 | return templ_7745c5c3_Err | |
| 1079 | 1087 | } | |
| 1080 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "</a> <button type=\"button\" class=\"sv-button sv-button-secondary sv-button-danger sv-button-icon-only\" data-sv-action=\"history.deleteEntry\" data-id=\"") | |
| 1088 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, "</a> <button type=\"button\" class=\"sv-button sv-button-secondary sv-button-danger sv-button-icon-only\" data-sv-action=\"history.deleteEntry\" data-id=\"") | |
| 1081 | 1089 | if templ_7745c5c3_Err != nil { | |
| 1082 | 1090 | return templ_7745c5c3_Err | |
| 1083 | 1091 | } | |
| 1084 | 1092 | var templ_7745c5c3_Var47 string | |
| 1085 | 1093 | templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d", entry.ID)) | |
| 1086 | 1094 | if templ_7745c5c3_Err != nil { | |
| 1087 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 194, Col: 175} | |
| 1095 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 195, Col: 175} | |
| 1088 | 1096 | } | |
| 1089 | 1097 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var47)) | |
| 1090 | 1098 | if templ_7745c5c3_Err != nil { | |
| 1091 | 1099 | return templ_7745c5c3_Err | |
| 1092 | 1100 | } | |
| 1093 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "\" data-sv-confirm=\"Delete this history entry?\" aria-label=\"Delete this history entry\"") | |
| 1101 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, "\" data-sv-confirm=\"Delete this history entry?\" aria-label=\"Delete this history entry\"") | |
| 1094 | 1102 | if templ_7745c5c3_Err != nil { | |
| 1095 | 1103 | return templ_7745c5c3_Err | |
| 1096 | 1104 | } | |
| 1097 | 1105 | if entry.ID <= 0 { | |
| 1098 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, " disabled") | |
| 1106 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, " disabled") | |
| 1099 | 1107 | if templ_7745c5c3_Err != nil { | |
| 1100 | 1108 | return templ_7745c5c3_Err | |
| 1101 | 1109 | } | |
| 1102 | 1110 | } | |
| 1103 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, ">") | |
| 1111 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, ">") | |
| 1104 | 1112 | if templ_7745c5c3_Err != nil { | |
| 1105 | 1113 | return templ_7745c5c3_Err | |
| 1106 | 1114 | } | |
| @@ -1108,7 +1116,7 @@ func HistoryItem(entry *entity.HistoryEntry) templ.Component { | |||
| 1108 | 1116 | if templ_7745c5c3_Err != nil { | |
| 1109 | 1117 | return templ_7745c5c3_Err | |
| 1110 | 1118 | } | |
| 1111 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "</button></div></article></li>") | |
| 1119 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "</button></div></article></li>") | |
| 1112 | 1120 | if templ_7745c5c3_Err != nil { | |
| 1113 | 1121 | return templ_7745c5c3_Err | |
| 1114 | 1122 | } | |
| @@ -64,6 +64,10 @@ func HistoryView(data historyRenderData) templ.Component { | |||||
| 64 | if templ_7745c5c3_Err != nil { | 64 | if templ_7745c5c3_Err != nil { | ||
| 65 | return templ_7745c5c3_Err | 65 | return templ_7745c5c3_Err | ||
| 66 | } | 66 | } | ||
| 67 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<div class=\"sv-history-overview\">") | |||
| 68 | + | if templ_7745c5c3_Err != nil { | |||
| 69 | + | return templ_7745c5c3_Err | |||
| 70 | + | } | |||
| 67 | templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | 71 | templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | ||
| 68 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | 72 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | ||
| 69 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | 73 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | ||
| @@ -82,7 +86,7 @@ func HistoryView(data historyRenderData) templ.Component { | |||||
| 82 | } | 86 | } | ||
| 83 | return nil | 87 | return nil | ||
| 84 | }) | 88 | }) | ||
| 85 | - | templ_7745c5c3_Err = Section("sv-history-summary", "History").Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer) | 89 | + | templ_7745c5c3_Err = Section("sv-history-summary", "History stats").Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer) |
| 86 | if templ_7745c5c3_Err != nil { | 90 | if templ_7745c5c3_Err != nil { | ||
| 87 | return templ_7745c5c3_Err | 91 | return templ_7745c5c3_Err | ||
| 88 | } | 92 | } | ||
| @@ -108,6 +112,10 @@ func HistoryView(data historyRenderData) templ.Component { | |||||
| 108 | if templ_7745c5c3_Err != nil { | 112 | if templ_7745c5c3_Err != nil { | ||
| 109 | return templ_7745c5c3_Err | 113 | return templ_7745c5c3_Err | ||
| 110 | } | 114 | } | ||
| 115 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "</div>") | |||
| 116 | + | if templ_7745c5c3_Err != nil { | |||
| 117 | + | return templ_7745c5c3_Err | |||
| 118 | + | } | |||
| 111 | templ_7745c5c3_Var5 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | 119 | templ_7745c5c3_Var5 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | ||
| 112 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | 120 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | ||
| 113 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | 121 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | ||
| @@ -155,20 +163,20 @@ func HistoryControls(data historyRenderData) templ.Component { | |||||
| 155 | templ_7745c5c3_Var6 = templ.NopComponent | 163 | templ_7745c5c3_Var6 = templ.NopComponent | ||
| 156 | } | 164 | } | ||
| 157 | ctx = templ.ClearChildren(ctx) | 165 | ctx = templ.ClearChildren(ctx) | ||
| 158 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<form class=\"sv-toolbar sv-history-search\" data-sv-action=\"history.search\"><label class=\"sv-search-label\"><span>Search</span> <input data-sv-history-search name=\"query\" type=\"search\" value=\"") | 166 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "<form class=\"sv-toolbar sv-history-search\" data-sv-action=\"history.search\"><label class=\"sv-search-label\"><span>Search</span> <input data-sv-history-search data-sv-autofocus name=\"query\" type=\"search\" value=\"") |
| 159 | if templ_7745c5c3_Err != nil { | 167 | if templ_7745c5c3_Err != nil { | ||
| 160 | return templ_7745c5c3_Err | 168 | return templ_7745c5c3_Err | ||
| 161 | } | 169 | } | ||
| 162 | var templ_7745c5c3_Var7 string | 170 | var templ_7745c5c3_Var7 string | ||
| 163 | templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(data.Query) | 171 | templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(data.Query) | ||
| 164 | if templ_7745c5c3_Err != nil { | 172 | if templ_7745c5c3_Err != nil { | ||
| 165 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 30, Col: 78} | 173 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 32, Col: 96} |
| 166 | } | 174 | } | ||
| 167 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) | 175 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7)) | ||
| 168 | if templ_7745c5c3_Err != nil { | 176 | if templ_7745c5c3_Err != nil { | ||
| 169 | return templ_7745c5c3_Err | 177 | return templ_7745c5c3_Err | ||
| 170 | } | 178 | } | ||
| 171 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "\" placeholder=\"Search title or URL\" autocomplete=\"off\"></label> <button class=\"sv-button\" type=\"submit\">") | 179 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "\" placeholder=\"Search title or URL\" autocomplete=\"off\" autofocus></label> <button class=\"sv-button\" type=\"submit\">") |
| 172 | if templ_7745c5c3_Err != nil { | 180 | if templ_7745c5c3_Err != nil { | ||
| 173 | return templ_7745c5c3_Err | 181 | return templ_7745c5c3_Err | ||
| 174 | } | 182 | } | ||
| @@ -176,7 +184,7 @@ func HistoryControls(data historyRenderData) templ.Component { | |||||
| 176 | if templ_7745c5c3_Err != nil { | 184 | if templ_7745c5c3_Err != nil { | ||
| 177 | return templ_7745c5c3_Err | 185 | return templ_7745c5c3_Err | ||
| 178 | } | 186 | } | ||
| 179 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "</button> <button class=\"sv-button sv-button-secondary\" type=\"button\" data-sv-action=\"history.clear\">") | 187 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "</button> <button class=\"sv-button sv-button-secondary\" type=\"button\" data-sv-action=\"history.clear\">") |
| 180 | if templ_7745c5c3_Err != nil { | 188 | if templ_7745c5c3_Err != nil { | ||
| 181 | return templ_7745c5c3_Err | 189 | return templ_7745c5c3_Err | ||
| 182 | } | 190 | } | ||
| @@ -184,49 +192,49 @@ func HistoryControls(data historyRenderData) templ.Component { | |||||
| 184 | if templ_7745c5c3_Err != nil { | 192 | if templ_7745c5c3_Err != nil { | ||
| 185 | return templ_7745c5c3_Err | 193 | return templ_7745c5c3_Err | ||
| 186 | } | 194 | } | ||
| 187 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "</button></form>") | 195 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "</button></form>") |
| 188 | if templ_7745c5c3_Err != nil { | 196 | if templ_7745c5c3_Err != nil { | ||
| 189 | return templ_7745c5c3_Err | 197 | return templ_7745c5c3_Err | ||
| 190 | } | 198 | } | ||
| 191 | if showHistoryFilters(data) { | 199 | if showHistoryFilters(data) { | ||
| 192 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "<div class=\"sv-active-filters\">") | 200 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "<div class=\"sv-active-filters\">") |
| 193 | if templ_7745c5c3_Err != nil { | 201 | if templ_7745c5c3_Err != nil { | ||
| 194 | return templ_7745c5c3_Err | 202 | return templ_7745c5c3_Err | ||
| 195 | } | 203 | } | ||
| 196 | if data.Query != "" { | 204 | if data.Query != "" { | ||
| 197 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "<span class=\"sv-filter-chip\">Query: ") | 205 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "<span class=\"sv-filter-chip\">Query: ") |
| 198 | if templ_7745c5c3_Err != nil { | 206 | if templ_7745c5c3_Err != nil { | ||
| 199 | return templ_7745c5c3_Err | 207 | return templ_7745c5c3_Err | ||
| 200 | } | 208 | } | ||
| 201 | var templ_7745c5c3_Var8 string | 209 | var templ_7745c5c3_Var8 string | ||
| 202 | templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(data.Query) | 210 | templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(data.Query) | ||
| 203 | if templ_7745c5c3_Err != nil { | 211 | if templ_7745c5c3_Err != nil { | ||
| 204 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 38, Col: 52} | 212 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 40, Col: 52} |
| 205 | } | 213 | } | ||
| 206 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) | 214 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8)) | ||
| 207 | if templ_7745c5c3_Err != nil { | 215 | if templ_7745c5c3_Err != nil { | ||
| 208 | return templ_7745c5c3_Err | 216 | return templ_7745c5c3_Err | ||
| 209 | } | 217 | } | ||
| 210 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "</span> ") | 218 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "</span> ") |
| 211 | if templ_7745c5c3_Err != nil { | 219 | if templ_7745c5c3_Err != nil { | ||
| 212 | return templ_7745c5c3_Err | 220 | return templ_7745c5c3_Err | ||
| 213 | } | 221 | } | ||
| 214 | } | 222 | } | ||
| 215 | if data.DomainFilter != "" { | 223 | if data.DomainFilter != "" { | ||
| 216 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "<span class=\"sv-filter-chip\">Domain: ") | 224 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "<span class=\"sv-filter-chip\">Domain: ") |
| 217 | if templ_7745c5c3_Err != nil { | 225 | if templ_7745c5c3_Err != nil { | ||
| 218 | return templ_7745c5c3_Err | 226 | return templ_7745c5c3_Err | ||
| 219 | } | 227 | } | ||
| 220 | var templ_7745c5c3_Var9 string | 228 | var templ_7745c5c3_Var9 string | ||
| 221 | templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(data.DomainFilter) | 229 | templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(data.DomainFilter) | ||
| 222 | if templ_7745c5c3_Err != nil { | 230 | if templ_7745c5c3_Err != nil { | ||
| 223 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 41, Col: 60} | 231 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 43, Col: 60} |
| 224 | } | 232 | } | ||
| 225 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) | 233 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9)) | ||
| 226 | if templ_7745c5c3_Err != nil { | 234 | if templ_7745c5c3_Err != nil { | ||
| 227 | return templ_7745c5c3_Err | 235 | return templ_7745c5c3_Err | ||
| 228 | } | 236 | } | ||
| 229 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, " <button type=\"button\" data-sv-action=\"history.clearDomain\" aria-label=\"Clear domain filter\">") | 237 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, " <button type=\"button\" data-sv-action=\"history.clearDomain\" aria-label=\"Clear domain filter\">") |
| 230 | if templ_7745c5c3_Err != nil { | 238 | if templ_7745c5c3_Err != nil { | ||
| 231 | return templ_7745c5c3_Err | 239 | return templ_7745c5c3_Err | ||
| 232 | } | 240 | } | ||
| @@ -234,79 +242,79 @@ func HistoryControls(data historyRenderData) templ.Component { | |||||
| 234 | if templ_7745c5c3_Err != nil { | 242 | if templ_7745c5c3_Err != nil { | ||
| 235 | return templ_7745c5c3_Err | 243 | return templ_7745c5c3_Err | ||
| 236 | } | 244 | } | ||
| 237 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "</button></span>") | 245 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "</button></span>") |
| 238 | if templ_7745c5c3_Err != nil { | 246 | if templ_7745c5c3_Err != nil { | ||
| 239 | return templ_7745c5c3_Err | 247 | return templ_7745c5c3_Err | ||
| 240 | } | 248 | } | ||
| 241 | } | 249 | } | ||
| 242 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "</div>") | 250 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "</div>") |
| 243 | if templ_7745c5c3_Err != nil { | 251 | if templ_7745c5c3_Err != nil { | ||
| 244 | return templ_7745c5c3_Err | 252 | return templ_7745c5c3_Err | ||
| 245 | } | 253 | } | ||
| 246 | } | 254 | } | ||
| 247 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "<div class=\"sv-history-actions-panel\"><div class=\"sv-button-row\" aria-label=\"History pagination\"><span class=\"sv-meta\">") | 255 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "<div class=\"sv-history-actions-panel\"><div class=\"sv-button-row\" aria-label=\"History pagination\"><span class=\"sv-meta\">") |
| 248 | if templ_7745c5c3_Err != nil { | 256 | if templ_7745c5c3_Err != nil { | ||
| 249 | return templ_7745c5c3_Err | 257 | return templ_7745c5c3_Err | ||
| 250 | } | 258 | } | ||
| 251 | var templ_7745c5c3_Var10 string | 259 | var templ_7745c5c3_Var10 string | ||
| 252 | templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(historyShowingLabel(data)) | 260 | templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(historyShowingLabel(data)) | ||
| 253 | if templ_7745c5c3_Err != nil { | 261 | if templ_7745c5c3_Err != nil { | ||
| 254 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 47, Col: 52} | 262 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 49, Col: 52} |
| 255 | } | 263 | } | ||
| 256 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) | 264 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10)) | ||
| 257 | if templ_7745c5c3_Err != nil { | 265 | if templ_7745c5c3_Err != nil { | ||
| 258 | return templ_7745c5c3_Err | 266 | return templ_7745c5c3_Err | ||
| 259 | } | 267 | } | ||
| 260 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "</span></div><div class=\"sv-button-row\" aria-label=\"History cleanup\"><span class=\"sv-meta\">Clean up</span> ") | 268 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "</span></div><div class=\"sv-button-row\" aria-label=\"History cleanup\"><span class=\"sv-meta\">Clean up</span> ") |
| 261 | if templ_7745c5c3_Err != nil { | 269 | if templ_7745c5c3_Err != nil { | ||
| 262 | return templ_7745c5c3_Err | 270 | return templ_7745c5c3_Err | ||
| 263 | } | 271 | } | ||
| 264 | for _, item := range historyCleanupItems() { | 272 | for _, item := range historyCleanupItems() { | ||
| 265 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "<button type=\"button\" class=\"sv-danger-link\" data-sv-action=\"history.deleteRange\" data-range=\"") | 273 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "<button type=\"button\" class=\"sv-danger-link\" data-sv-action=\"history.deleteRange\" data-range=\"") |
| 266 | if templ_7745c5c3_Err != nil { | 274 | if templ_7745c5c3_Err != nil { | ||
| 267 | return templ_7745c5c3_Err | 275 | return templ_7745c5c3_Err | ||
| 268 | } | 276 | } | ||
| 269 | var templ_7745c5c3_Var11 string | 277 | var templ_7745c5c3_Var11 string | ||
| 270 | templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(item.RangeID) | 278 | templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(item.RangeID) | ||
| 271 | if templ_7745c5c3_Err != nil { | 279 | if templ_7745c5c3_Err != nil { | ||
| 272 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 52, Col: 111} | 280 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 54, Col: 111} |
| 273 | } | 281 | } | ||
| 274 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) | 282 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11)) | ||
| 275 | if templ_7745c5c3_Err != nil { | 283 | if templ_7745c5c3_Err != nil { | ||
| 276 | return templ_7745c5c3_Err | 284 | return templ_7745c5c3_Err | ||
| 277 | } | 285 | } | ||
| 278 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "\" data-sv-confirm=\"") | 286 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "\" data-sv-confirm=\"") |
| 279 | if templ_7745c5c3_Err != nil { | 287 | if templ_7745c5c3_Err != nil { | ||
| 280 | return templ_7745c5c3_Err | 288 | return templ_7745c5c3_Err | ||
| 281 | } | 289 | } | ||
| 282 | var templ_7745c5c3_Var12 string | 290 | var templ_7745c5c3_Var12 string | ||
| 283 | templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(item.Confirm) | 291 | templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(item.Confirm) | ||
| 284 | if templ_7745c5c3_Err != nil { | 292 | if templ_7745c5c3_Err != nil { | ||
| 285 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 52, Col: 144} | 293 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 54, Col: 144} |
| 286 | } | 294 | } | ||
| 287 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) | 295 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12)) | ||
| 288 | if templ_7745c5c3_Err != nil { | 296 | if templ_7745c5c3_Err != nil { | ||
| 289 | return templ_7745c5c3_Err | 297 | return templ_7745c5c3_Err | ||
| 290 | } | 298 | } | ||
| 291 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, "\">") | 299 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "\">") |
| 292 | if templ_7745c5c3_Err != nil { | 300 | if templ_7745c5c3_Err != nil { | ||
| 293 | return templ_7745c5c3_Err | 301 | return templ_7745c5c3_Err | ||
| 294 | } | 302 | } | ||
| 295 | var templ_7745c5c3_Var13 string | 303 | var templ_7745c5c3_Var13 string | ||
| 296 | templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(item.Label) | 304 | templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(item.Label) | ||
| 297 | if templ_7745c5c3_Err != nil { | 305 | if templ_7745c5c3_Err != nil { | ||
| 298 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 52, Col: 159} | 306 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 54, Col: 159} |
| 299 | } | 307 | } | ||
| 300 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) | 308 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13)) | ||
| 301 | if templ_7745c5c3_Err != nil { | 309 | if templ_7745c5c3_Err != nil { | ||
| 302 | return templ_7745c5c3_Err | 310 | return templ_7745c5c3_Err | ||
| 303 | } | 311 | } | ||
| 304 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</button>") | 312 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</button>") |
| 305 | if templ_7745c5c3_Err != nil { | 313 | if templ_7745c5c3_Err != nil { | ||
| 306 | return templ_7745c5c3_Err | 314 | return templ_7745c5c3_Err | ||
| 307 | } | 315 | } | ||
| 308 | } | 316 | } | ||
| 309 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</div></div><p class=\"sv-meta sv-key-hints\">Keys: <kbd>/</kbd> search, <kbd>j</kbd>/<kbd>k</kbd> move, <kbd>Enter</kbd> open, <kbd>d</kbd> delete focused entry.</p>") | 317 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "</div></div>") |
| 310 | if templ_7745c5c3_Err != nil { | 318 | if templ_7745c5c3_Err != nil { | ||
| 311 | return templ_7745c5c3_Err | 319 | return templ_7745c5c3_Err | ||
| 312 | } | 320 | } | ||
| @@ -336,7 +344,7 @@ func HistorySummary(data historyRenderData) templ.Component { | |||||
| 336 | } | 344 | } | ||
| 337 | ctx = templ.ClearChildren(ctx) | 345 | ctx = templ.ClearChildren(ctx) | ||
| 338 | if historySummaryLoading(data) { | 346 | if historySummaryLoading(data) { | ||
| 339 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "<div class=\"sv-stat-grid\">") | 347 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "<div class=\"sv-stat-grid\">") |
| 340 | if templ_7745c5c3_Err != nil { | 348 | if templ_7745c5c3_Err != nil { | ||
| 341 | return templ_7745c5c3_Err | 349 | return templ_7745c5c3_Err | ||
| 342 | } | 350 | } | ||
| @@ -352,13 +360,13 @@ func HistorySummary(data historyRenderData) templ.Component { | |||||
| 352 | if templ_7745c5c3_Err != nil { | 360 | if templ_7745c5c3_Err != nil { | ||
| 353 | return templ_7745c5c3_Err | 361 | return templ_7745c5c3_Err | ||
| 354 | } | 362 | } | ||
| 355 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "</div>") | 363 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "</div>") |
| 356 | if templ_7745c5c3_Err != nil { | 364 | if templ_7745c5c3_Err != nil { | ||
| 357 | return templ_7745c5c3_Err | 365 | return templ_7745c5c3_Err | ||
| 358 | } | 366 | } | ||
| 359 | } else { | 367 | } else { | ||
| 360 | entries, visits, days := historySummaryValues(data) | 368 | entries, visits, days := historySummaryValues(data) | ||
| 361 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "<div class=\"sv-stat-grid\">") | 369 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "<div class=\"sv-stat-grid\">") |
| 362 | if templ_7745c5c3_Err != nil { | 370 | if templ_7745c5c3_Err != nil { | ||
| 363 | return templ_7745c5c3_Err | 371 | return templ_7745c5c3_Err | ||
| 364 | } | 372 | } | ||
| @@ -374,7 +382,7 @@ func HistorySummary(data historyRenderData) templ.Component { | |||||
| 374 | if templ_7745c5c3_Err != nil { | 382 | if templ_7745c5c3_Err != nil { | ||
| 375 | return templ_7745c5c3_Err | 383 | return templ_7745c5c3_Err | ||
| 376 | } | 384 | } | ||
| 377 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "</div>") | 385 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</div>") |
| 378 | if templ_7745c5c3_Err != nil { | 386 | if templ_7745c5c3_Err != nil { | ||
| 379 | return templ_7745c5c3_Err | 387 | return templ_7745c5c3_Err | ||
| 380 | } | 388 | } | ||
| @@ -404,33 +412,33 @@ func HistoryStatCard(label string, value int64) templ.Component { | |||||
| 404 | templ_7745c5c3_Var15 = templ.NopComponent | 412 | templ_7745c5c3_Var15 = templ.NopComponent | ||
| 405 | } | 413 | } | ||
| 406 | ctx = templ.ClearChildren(ctx) | 414 | ctx = templ.ClearChildren(ctx) | ||
| 407 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "<div class=\"sv-stat-card\"><span class=\"sv-stat-value\">") | 415 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "<div class=\"sv-stat-card\"><span class=\"sv-stat-value\">") |
| 408 | if templ_7745c5c3_Err != nil { | 416 | if templ_7745c5c3_Err != nil { | ||
| 409 | return templ_7745c5c3_Err | 417 | return templ_7745c5c3_Err | ||
| 410 | } | 418 | } | ||
| 411 | var templ_7745c5c3_Var16 string | 419 | var templ_7745c5c3_Var16 string | ||
| 412 | templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d", value)) | 420 | templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d", value)) | ||
| 413 | if templ_7745c5c3_Err != nil { | 421 | if templ_7745c5c3_Err != nil { | ||
| 414 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 78, Col: 81} | 422 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 79, Col: 81} |
| 415 | } | 423 | } | ||
| 416 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16)) | 424 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16)) | ||
| 417 | if templ_7745c5c3_Err != nil { | 425 | if templ_7745c5c3_Err != nil { | ||
| 418 | return templ_7745c5c3_Err | 426 | return templ_7745c5c3_Err | ||
| 419 | } | 427 | } | ||
| 420 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "</span><span class=\"sv-stat-label\">") | 428 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</span><span class=\"sv-stat-label\">") |
| 421 | if templ_7745c5c3_Err != nil { | 429 | if templ_7745c5c3_Err != nil { | ||
| 422 | return templ_7745c5c3_Err | 430 | return templ_7745c5c3_Err | ||
| 423 | } | 431 | } | ||
| 424 | var templ_7745c5c3_Var17 string | 432 | var templ_7745c5c3_Var17 string | ||
| 425 | templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(label) | 433 | templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(label) | ||
| 426 | if templ_7745c5c3_Err != nil { | 434 | if templ_7745c5c3_Err != nil { | ||
| 427 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 78, Col: 125} | 435 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 79, Col: 125} |
| 428 | } | 436 | } | ||
| 429 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17)) | 437 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17)) | ||
| 430 | if templ_7745c5c3_Err != nil { | 438 | if templ_7745c5c3_Err != nil { | ||
| 431 | return templ_7745c5c3_Err | 439 | return templ_7745c5c3_Err | ||
| 432 | } | 440 | } | ||
| 433 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "</span></div>") | 441 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "</span></div>") |
| 434 | if templ_7745c5c3_Err != nil { | 442 | if templ_7745c5c3_Err != nil { | ||
| 435 | return templ_7745c5c3_Err | 443 | return templ_7745c5c3_Err | ||
| 436 | } | 444 | } | ||
| @@ -470,7 +478,7 @@ func HistoryDomains(data historyRenderData) templ.Component { | |||||
| 470 | return templ_7745c5c3_Err | 478 | return templ_7745c5c3_Err | ||
| 471 | } | 479 | } | ||
| 472 | } else { | 480 | } else { | ||
| 473 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "<div class=\"sv-domain-list\">") | 481 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "<div class=\"sv-domain-list\">") |
| 474 | if templ_7745c5c3_Err != nil { | 482 | if templ_7745c5c3_Err != nil { | ||
| 475 | return templ_7745c5c3_Err | 483 | return templ_7745c5c3_Err | ||
| 476 | } | 484 | } | ||
| @@ -478,85 +486,85 @@ func HistoryDomains(data historyRenderData) templ.Component { | |||||
| 478 | if domain != nil && domain.Domain != "" { | 486 | if domain != nil && domain.Domain != "" { | ||
| 479 | domainKey := historyDomainActionKey(domain) | 487 | domainKey := historyDomainActionKey(domain) | ||
| 480 | displayDomain := historyDomainDisplayLabel(domain) | 488 | displayDomain := historyDomainDisplayLabel(domain) | ||
| 481 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "<span class=\"sv-domain-chip\"><span class=\"sv-domain-chip-main\"><button type=\"button\" class=\"sv-domain-filter\" data-sv-action=\"history.filterDomain\" data-domain=\"") | 489 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "<span class=\"sv-domain-chip\"><span class=\"sv-domain-chip-main\"><button type=\"button\" class=\"sv-domain-filter\" data-sv-action=\"history.filterDomain\" data-domain=\"") |
| 482 | if templ_7745c5c3_Err != nil { | 490 | if templ_7745c5c3_Err != nil { | ||
| 483 | return templ_7745c5c3_Err | 491 | return templ_7745c5c3_Err | ||
| 484 | } | 492 | } | ||
| 485 | var templ_7745c5c3_Var19 string | 493 | var templ_7745c5c3_Var19 string | ||
| 486 | templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(domainKey) | 494 | templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(domainKey) | ||
| 487 | if templ_7745c5c3_Err != nil { | 495 | if templ_7745c5c3_Err != nil { | ||
| 488 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 94, Col: 115} | 496 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 95, Col: 115} |
| 489 | } | 497 | } | ||
| 490 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19)) | 498 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19)) | ||
| 491 | if templ_7745c5c3_Err != nil { | 499 | if templ_7745c5c3_Err != nil { | ||
| 492 | return templ_7745c5c3_Err | 500 | return templ_7745c5c3_Err | ||
| 493 | } | 501 | } | ||
| 494 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "\">") | 502 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "\">") |
| 495 | if templ_7745c5c3_Err != nil { | 503 | if templ_7745c5c3_Err != nil { | ||
| 496 | return templ_7745c5c3_Err | 504 | return templ_7745c5c3_Err | ||
| 497 | } | 505 | } | ||
| 498 | var templ_7745c5c3_Var20 string | 506 | var templ_7745c5c3_Var20 string | ||
| 499 | templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(displayDomain) | 507 | templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(displayDomain) | ||
| 500 | if templ_7745c5c3_Err != nil { | 508 | if templ_7745c5c3_Err != nil { | ||
| 501 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 94, Col: 133} | 509 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 95, Col: 133} |
| 502 | } | 510 | } | ||
| 503 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20)) | 511 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20)) | ||
| 504 | if templ_7745c5c3_Err != nil { | 512 | if templ_7745c5c3_Err != nil { | ||
| 505 | return templ_7745c5c3_Err | 513 | return templ_7745c5c3_Err | ||
| 506 | } | 514 | } | ||
| 507 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "</button> <span class=\"sv-domain-meta\">") | 515 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "</button> <span class=\"sv-domain-meta\">") |
| 508 | if templ_7745c5c3_Err != nil { | 516 | if templ_7745c5c3_Err != nil { | ||
| 509 | return templ_7745c5c3_Err | 517 | return templ_7745c5c3_Err | ||
| 510 | } | 518 | } | ||
| 511 | var templ_7745c5c3_Var21 string | 519 | var templ_7745c5c3_Var21 string | ||
| 512 | templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d pages · %d visits", domain.PageCount, domain.TotalVisits)) | 520 | templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d pages · %d visits", domain.PageCount, domain.TotalVisits)) | ||
| 513 | if templ_7745c5c3_Err != nil { | 521 | if templ_7745c5c3_Err != nil { | ||
| 514 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 95, Col: 112} | 522 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 96, Col: 112} |
| 515 | } | 523 | } | ||
| 516 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21)) | 524 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21)) | ||
| 517 | if templ_7745c5c3_Err != nil { | 525 | if templ_7745c5c3_Err != nil { | ||
| 518 | return templ_7745c5c3_Err | 526 | return templ_7745c5c3_Err | ||
| 519 | } | 527 | } | ||
| 520 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "</span></span> <button type=\"button\" class=\"sv-icon-button sv-danger\" data-sv-action=\"history.deleteDomain\" data-domain=\"") | 528 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "</span></span> <button type=\"button\" class=\"sv-icon-button sv-danger\" data-sv-action=\"history.deleteDomain\" data-domain=\"") |
| 521 | if templ_7745c5c3_Err != nil { | 529 | if templ_7745c5c3_Err != nil { | ||
| 522 | return templ_7745c5c3_Err | 530 | return templ_7745c5c3_Err | ||
| 523 | } | 531 | } | ||
| 524 | var templ_7745c5c3_Var22 string | 532 | var templ_7745c5c3_Var22 string | ||
| 525 | templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(domainKey) | 533 | templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinStringErrs(domainKey) | ||
| 526 | if templ_7745c5c3_Err != nil { | 534 | if templ_7745c5c3_Err != nil { | ||
| 527 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 97, Col: 122} | 535 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 98, Col: 122} |
| 528 | } | 536 | } | ||
| 529 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22)) | 537 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22)) | ||
| 530 | if templ_7745c5c3_Err != nil { | 538 | if templ_7745c5c3_Err != nil { | ||
| 531 | return templ_7745c5c3_Err | 539 | return templ_7745c5c3_Err | ||
| 532 | } | 540 | } | ||
| 533 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "\" data-sv-confirm=\"") | 541 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "\" data-sv-confirm=\"") |
| 534 | if templ_7745c5c3_Err != nil { | 542 | if templ_7745c5c3_Err != nil { | ||
| 535 | return templ_7745c5c3_Err | 543 | return templ_7745c5c3_Err | ||
| 536 | } | 544 | } | ||
| 537 | var templ_7745c5c3_Var23 string | 545 | var templ_7745c5c3_Var23 string | ||
| 538 | templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs("Delete all history for " + displayDomain + "?") | 546 | templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs("Delete all history for " + displayDomain + "?") | ||
| 539 | if templ_7745c5c3_Err != nil { | 547 | if templ_7745c5c3_Err != nil { | ||
| 540 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 97, Col: 190} | 548 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 98, Col: 190} |
| 541 | } | 549 | } | ||
| 542 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23)) | 550 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23)) | ||
| 543 | if templ_7745c5c3_Err != nil { | 551 | if templ_7745c5c3_Err != nil { | ||
| 544 | return templ_7745c5c3_Err | 552 | return templ_7745c5c3_Err | ||
| 545 | } | 553 | } | ||
| 546 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "\" aria-label=\"") | 554 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "\" aria-label=\"") |
| 547 | if templ_7745c5c3_Err != nil { | 555 | if templ_7745c5c3_Err != nil { | ||
| 548 | return templ_7745c5c3_Err | 556 | return templ_7745c5c3_Err | ||
| 549 | } | 557 | } | ||
| 550 | var templ_7745c5c3_Var24 string | 558 | var templ_7745c5c3_Var24 string | ||
| 551 | templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs("Delete history for " + displayDomain) | 559 | templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs("Delete history for " + displayDomain) | ||
| 552 | if templ_7745c5c3_Err != nil { | 560 | if templ_7745c5c3_Err != nil { | ||
| 553 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 97, Col: 243} | 561 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 98, Col: 243} |
| 554 | } | 562 | } | ||
| 555 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24)) | 563 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24)) | ||
| 556 | if templ_7745c5c3_Err != nil { | 564 | if templ_7745c5c3_Err != nil { | ||
| 557 | return templ_7745c5c3_Err | 565 | return templ_7745c5c3_Err | ||
| 558 | } | 566 | } | ||
| 559 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "\">") | 567 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "\">") |
| 560 | if templ_7745c5c3_Err != nil { | 568 | if templ_7745c5c3_Err != nil { | ||
| 561 | return templ_7745c5c3_Err | 569 | return templ_7745c5c3_Err | ||
| 562 | } | 570 | } | ||
| @@ -564,13 +572,13 @@ func HistoryDomains(data historyRenderData) templ.Component { | |||||
| 564 | if templ_7745c5c3_Err != nil { | 572 | if templ_7745c5c3_Err != nil { | ||
| 565 | return templ_7745c5c3_Err | 573 | return templ_7745c5c3_Err | ||
| 566 | } | 574 | } | ||
| 567 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "</button></span>") | 575 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "</button></span>") |
| 568 | if templ_7745c5c3_Err != nil { | 576 | if templ_7745c5c3_Err != nil { | ||
| 569 | return templ_7745c5c3_Err | 577 | return templ_7745c5c3_Err | ||
| 570 | } | 578 | } | ||
| 571 | } | 579 | } | ||
| 572 | } | 580 | } | ||
| 573 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "</div>") | 581 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</div>") |
| 574 | if templ_7745c5c3_Err != nil { | 582 | if templ_7745c5c3_Err != nil { | ||
| 575 | return templ_7745c5c3_Err | 583 | return templ_7745c5c3_Err | ||
| 576 | } | 584 | } | ||
| @@ -606,7 +614,7 @@ func HistoryTimeline(data historyRenderData) templ.Component { | |||||
| 606 | return templ_7745c5c3_Err | 614 | return templ_7745c5c3_Err | ||
| 607 | } | 615 | } | ||
| 608 | } else { | 616 | } else { | ||
| 609 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "<div class=\"sv-history-timeline-list\" data-sv-history-timeline>") | 617 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<div class=\"sv-history-timeline-list\" data-sv-history-timeline>") |
| 610 | if templ_7745c5c3_Err != nil { | 618 | if templ_7745c5c3_Err != nil { | ||
| 611 | return templ_7745c5c3_Err | 619 | return templ_7745c5c3_Err | ||
| 612 | } | 620 | } | ||
| @@ -626,7 +634,7 @@ func HistoryTimeline(data historyRenderData) templ.Component { | |||||
| 626 | if templ_7745c5c3_Err != nil { | 634 | if templ_7745c5c3_Err != nil { | ||
| 627 | return templ_7745c5c3_Err | 635 | return templ_7745c5c3_Err | ||
| 628 | } | 636 | } | ||
| 629 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "</div>") | 637 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "</div>") |
| 630 | if templ_7745c5c3_Err != nil { | 638 | if templ_7745c5c3_Err != nil { | ||
| 631 | return templ_7745c5c3_Err | 639 | return templ_7745c5c3_Err | ||
| 632 | } | 640 | } | ||
| @@ -724,20 +732,20 @@ func HistoryTimelineAppendGroups(entries []*entity.HistoryEntry, mergeFirstDate | |||||
| 724 | groups := groupHistoryEntries(entries) | 732 | groups := groupHistoryEntries(entries) | ||
| 725 | for index, group := range groups { | 733 | for index, group := range groups { | ||
| 726 | if index == 0 && group.Date == mergeFirstDate { | 734 | if index == 0 && group.Date == mergeFirstDate { | ||
| 727 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "<div data-sv-history-merge-date=\"") | 735 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "<div data-sv-history-merge-date=\"") |
| 728 | if templ_7745c5c3_Err != nil { | 736 | if templ_7745c5c3_Err != nil { | ||
| 729 | return templ_7745c5c3_Err | 737 | return templ_7745c5c3_Err | ||
| 730 | } | 738 | } | ||
| 731 | var templ_7745c5c3_Var29 string | 739 | var templ_7745c5c3_Var29 string | ||
| 732 | templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(group.Date) | 740 | templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(group.Date) | ||
| 733 | if templ_7745c5c3_Err != nil { | 741 | if templ_7745c5c3_Err != nil { | ||
| 734 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 137, Col: 47} | 742 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 138, Col: 47} |
| 735 | } | 743 | } | ||
| 736 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29)) | 744 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29)) | ||
| 737 | if templ_7745c5c3_Err != nil { | 745 | if templ_7745c5c3_Err != nil { | ||
| 738 | return templ_7745c5c3_Err | 746 | return templ_7745c5c3_Err | ||
| 739 | } | 747 | } | ||
| 740 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "\">") | 748 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "\">") |
| 741 | if templ_7745c5c3_Err != nil { | 749 | if templ_7745c5c3_Err != nil { | ||
| 742 | return templ_7745c5c3_Err | 750 | return templ_7745c5c3_Err | ||
| 743 | } | 751 | } | ||
| @@ -749,7 +757,7 @@ func HistoryTimelineAppendGroups(entries []*entity.HistoryEntry, mergeFirstDate | |||||
| 749 | } | 757 | } | ||
| 750 | } | 758 | } | ||
| 751 | } | 759 | } | ||
| 752 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "</div>") | 760 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "</div>") |
| 753 | if templ_7745c5c3_Err != nil { | 761 | if templ_7745c5c3_Err != nil { | ||
| 754 | return templ_7745c5c3_Err | 762 | return templ_7745c5c3_Err | ||
| 755 | } | 763 | } | ||
| @@ -785,43 +793,43 @@ func HistoryTimelineGroup(group historyTimelineGroup, showHeading bool) templ.Co | |||||
| 785 | templ_7745c5c3_Var30 = templ.NopComponent | 793 | templ_7745c5c3_Var30 = templ.NopComponent | ||
| 786 | } | 794 | } | ||
| 787 | ctx = templ.ClearChildren(ctx) | 795 | ctx = templ.ClearChildren(ctx) | ||
| 788 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "<section class=\"sv-timeline-group\" data-sv-history-date=\"") | 796 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "<section class=\"sv-timeline-group\" data-sv-history-date=\"") |
| 789 | if templ_7745c5c3_Err != nil { | 797 | if templ_7745c5c3_Err != nil { | ||
| 790 | return templ_7745c5c3_Err | 798 | return templ_7745c5c3_Err | ||
| 791 | } | 799 | } | ||
| 792 | var templ_7745c5c3_Var31 string | 800 | var templ_7745c5c3_Var31 string | ||
| 793 | templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(group.Date) | 801 | templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(group.Date) | ||
| 794 | if templ_7745c5c3_Err != nil { | 802 | if templ_7745c5c3_Err != nil { | ||
| 795 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 151, Col: 69} | 803 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 152, Col: 69} |
| 796 | } | 804 | } | ||
| 797 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) | 805 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31)) | ||
| 798 | if templ_7745c5c3_Err != nil { | 806 | if templ_7745c5c3_Err != nil { | ||
| 799 | return templ_7745c5c3_Err | 807 | return templ_7745c5c3_Err | ||
| 800 | } | 808 | } | ||
| 801 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "\">") | 809 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "\">") |
| 802 | if templ_7745c5c3_Err != nil { | 810 | if templ_7745c5c3_Err != nil { | ||
| 803 | return templ_7745c5c3_Err | 811 | return templ_7745c5c3_Err | ||
| 804 | } | 812 | } | ||
| 805 | if showHeading { | 813 | if showHeading { | ||
| 806 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "<h3>") | 814 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<h3>") |
| 807 | if templ_7745c5c3_Err != nil { | 815 | if templ_7745c5c3_Err != nil { | ||
| 808 | return templ_7745c5c3_Err | 816 | return templ_7745c5c3_Err | ||
| 809 | } | 817 | } | ||
| 810 | var templ_7745c5c3_Var32 string | 818 | var templ_7745c5c3_Var32 string | ||
| 811 | templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(group.Label) | 819 | templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(group.Label) | ||
| 812 | if templ_7745c5c3_Err != nil { | 820 | if templ_7745c5c3_Err != nil { | ||
| 813 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 153, Col: 20} | 821 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 154, Col: 20} |
| 814 | } | 822 | } | ||
| 815 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) | 823 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32)) | ||
| 816 | if templ_7745c5c3_Err != nil { | 824 | if templ_7745c5c3_Err != nil { | ||
| 817 | return templ_7745c5c3_Err | 825 | return templ_7745c5c3_Err | ||
| 818 | } | 826 | } | ||
| 819 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "</h3>") | 827 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "</h3>") |
| 820 | if templ_7745c5c3_Err != nil { | 828 | if templ_7745c5c3_Err != nil { | ||
| 821 | return templ_7745c5c3_Err | 829 | return templ_7745c5c3_Err | ||
| 822 | } | 830 | } | ||
| 823 | } | 831 | } | ||
| 824 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "<ul class=\"sv-list\">") | 832 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "<ul class=\"sv-list\">") |
| 825 | if templ_7745c5c3_Err != nil { | 833 | if templ_7745c5c3_Err != nil { | ||
| 826 | return templ_7745c5c3_Err | 834 | return templ_7745c5c3_Err | ||
| 827 | } | 835 | } | ||
| @@ -833,7 +841,7 @@ func HistoryTimelineGroup(group historyTimelineGroup, showHeading bool) templ.Co | |||||
| 833 | } | 841 | } | ||
| 834 | } | 842 | } | ||
| 835 | } | 843 | } | ||
| 836 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "</ul></section>") | 844 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "</ul></section>") |
| 837 | if templ_7745c5c3_Err != nil { | 845 | if templ_7745c5c3_Err != nil { | ||
| 838 | return templ_7745c5c3_Err | 846 | return templ_7745c5c3_Err | ||
| 839 | } | 847 | } | ||
| @@ -862,35 +870,35 @@ func HistoryLoadMore(data historyRenderData) templ.Component { | |||||
| 862 | templ_7745c5c3_Var33 = templ.NopComponent | 870 | templ_7745c5c3_Var33 = templ.NopComponent | ||
| 863 | } | 871 | } | ||
| 864 | ctx = templ.ClearChildren(ctx) | 872 | ctx = templ.ClearChildren(ctx) | ||
| 865 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "<div class=\"sv-history-load-more\" data-sv-history-load-more-container>") | 873 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "<div class=\"sv-history-load-more\" data-sv-history-load-more-container>") |
| 866 | if templ_7745c5c3_Err != nil { | 874 | if templ_7745c5c3_Err != nil { | ||
| 867 | return templ_7745c5c3_Err | 875 | return templ_7745c5c3_Err | ||
| 868 | } | 876 | } | ||
| 869 | if showHistoryLoadMore(data) { | 877 | if showHistoryLoadMore(data) { | ||
| 870 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "<button type=\"button\" class=\"sv-button sv-button-secondary\" data-sv-action=\"history.loadMore\" data-before=\"") | 878 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "<button type=\"button\" class=\"sv-button sv-button-secondary\" data-sv-action=\"history.loadMore\" data-before=\"") |
| 871 | if templ_7745c5c3_Err != nil { | 879 | if templ_7745c5c3_Err != nil { | ||
| 872 | return templ_7745c5c3_Err | 880 | return templ_7745c5c3_Err | ||
| 873 | } | 881 | } | ||
| 874 | var templ_7745c5c3_Var34 string | 882 | var templ_7745c5c3_Var34 string | ||
| 875 | templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.JoinStringErrs(historyLoadMoreCursor(data)) | 883 | templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.JoinStringErrs(historyLoadMoreCursor(data)) | ||
| 876 | if templ_7745c5c3_Err != nil { | 884 | if templ_7745c5c3_Err != nil { | ||
| 877 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 168, Col: 138} | 885 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 169, Col: 138} |
| 878 | } | 886 | } | ||
| 879 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var34)) | 887 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var34)) | ||
| 880 | if templ_7745c5c3_Err != nil { | 888 | if templ_7745c5c3_Err != nil { | ||
| 881 | return templ_7745c5c3_Err | 889 | return templ_7745c5c3_Err | ||
| 882 | } | 890 | } | ||
| 883 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "\" data-sv-history-load-more>Load older visits</button>") | 891 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "\" data-sv-history-load-more>Load older visits</button>") |
| 884 | if templ_7745c5c3_Err != nil { | 892 | if templ_7745c5c3_Err != nil { | ||
| 885 | return templ_7745c5c3_Err | 893 | return templ_7745c5c3_Err | ||
| 886 | } | 894 | } | ||
| 887 | } else if strings.TrimSpace(data.Query) == "" && countHistoryEntries(data.Entries) > 0 { | 895 | } else if strings.TrimSpace(data.Query) == "" && countHistoryEntries(data.Entries) > 0 { | ||
| 888 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "<p class=\"sv-meta\">End of history</p>") | 896 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "<p class=\"sv-meta\">End of history</p>") |
| 889 | if templ_7745c5c3_Err != nil { | 897 | if templ_7745c5c3_Err != nil { | ||
| 890 | return templ_7745c5c3_Err | 898 | return templ_7745c5c3_Err | ||
| 891 | } | 899 | } | ||
| 892 | } | 900 | } | ||
| 893 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "</div>") | 901 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "</div>") |
| 894 | if templ_7745c5c3_Err != nil { | 902 | if templ_7745c5c3_Err != nil { | ||
| 895 | return templ_7745c5c3_Err | 903 | return templ_7745c5c3_Err | ||
| 896 | } | 904 | } | ||
| @@ -919,20 +927,20 @@ func HistoryItem(entry *entity.HistoryEntry) templ.Component { | |||||
| 919 | templ_7745c5c3_Var35 = templ.NopComponent | 927 | templ_7745c5c3_Var35 = templ.NopComponent | ||
| 920 | } | 928 | } | ||
| 921 | ctx = templ.ClearChildren(ctx) | 929 | ctx = templ.ClearChildren(ctx) | ||
| 922 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "<li class=\"sv-list-row\"><article class=\"sv-history-item\" data-sv-history-row data-history-id=\"") | 930 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "<li class=\"sv-list-row\"><article class=\"sv-history-item\" data-sv-history-row data-history-id=\"") |
| 923 | if templ_7745c5c3_Err != nil { | 931 | if templ_7745c5c3_Err != nil { | ||
| 924 | return templ_7745c5c3_Err | 932 | return templ_7745c5c3_Err | ||
| 925 | } | 933 | } | ||
| 926 | var templ_7745c5c3_Var36 string | 934 | var templ_7745c5c3_Var36 string | ||
| 927 | templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d", entry.ID)) | 935 | templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d", entry.ID)) | ||
| 928 | if templ_7745c5c3_Err != nil { | 936 | if templ_7745c5c3_Err != nil { | ||
| 929 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 177, Col: 100} | 937 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 178, Col: 100} |
| 930 | } | 938 | } | ||
| 931 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36)) | 939 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36)) | ||
| 932 | if templ_7745c5c3_Err != nil { | 940 | if templ_7745c5c3_Err != nil { | ||
| 933 | return templ_7745c5c3_Err | 941 | return templ_7745c5c3_Err | ||
| 934 | } | 942 | } | ||
| 935 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "\"><div class=\"sv-history-content\">") | 943 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "\"><div class=\"sv-history-content\">") |
| 936 | if templ_7745c5c3_Err != nil { | 944 | if templ_7745c5c3_Err != nil { | ||
| 937 | return templ_7745c5c3_Err | 945 | return templ_7745c5c3_Err | ||
| 938 | } | 946 | } | ||
| @@ -942,7 +950,7 @@ func HistoryItem(entry *entity.HistoryEntry) templ.Component { | |||||
| 942 | if templ_7745c5c3_Err != nil { | 950 | if templ_7745c5c3_Err != nil { | ||
| 943 | return templ_7745c5c3_Err | 951 | return templ_7745c5c3_Err | ||
| 944 | } | 952 | } | ||
| 945 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 54, "<span class=\"") | 953 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "<span class=\"") |
| 946 | if templ_7745c5c3_Err != nil { | 954 | if templ_7745c5c3_Err != nil { | ||
| 947 | return templ_7745c5c3_Err | 955 | return templ_7745c5c3_Err | ||
| 948 | } | 956 | } | ||
| @@ -955,121 +963,121 @@ func HistoryItem(entry *entity.HistoryEntry) templ.Component { | |||||
| 955 | if templ_7745c5c3_Err != nil { | 963 | if templ_7745c5c3_Err != nil { | ||
| 956 | return templ_7745c5c3_Err | 964 | return templ_7745c5c3_Err | ||
| 957 | } | 965 | } | ||
| 958 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 55, "\" aria-hidden=\"true\"><span class=\"sv-history-favicon-fallback\">") | 966 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "\" aria-hidden=\"true\"><span class=\"sv-history-favicon-fallback\">") |
| 959 | if templ_7745c5c3_Err != nil { | 967 | if templ_7745c5c3_Err != nil { | ||
| 960 | return templ_7745c5c3_Err | 968 | return templ_7745c5c3_Err | ||
| 961 | } | 969 | } | ||
| 962 | var templ_7745c5c3_Var39 string | 970 | var templ_7745c5c3_Var39 string | ||
| 963 | templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(historyFaviconFallback(entry)) | 971 | templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(historyFaviconFallback(entry)) | ||
| 964 | if templ_7745c5c3_Err != nil { | 972 | if templ_7745c5c3_Err != nil { | ||
| 965 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 181, Col: 78} | 973 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 182, Col: 78} |
| 966 | } | 974 | } | ||
| 967 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39)) | 975 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39)) | ||
| 968 | if templ_7745c5c3_Err != nil { | 976 | if templ_7745c5c3_Err != nil { | ||
| 969 | return templ_7745c5c3_Err | 977 | return templ_7745c5c3_Err | ||
| 970 | } | 978 | } | ||
| 971 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 56, "</span> ") | 979 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "</span> ") |
| 972 | if templ_7745c5c3_Err != nil { | 980 | if templ_7745c5c3_Err != nil { | ||
| 973 | return templ_7745c5c3_Err | 981 | return templ_7745c5c3_Err | ||
| 974 | } | 982 | } | ||
| 975 | if faviconURL != "" { | 983 | if faviconURL != "" { | ||
| 976 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 57, "<img src=\"") | 984 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "<img src=\"") |
| 977 | if templ_7745c5c3_Err != nil { | 985 | if templ_7745c5c3_Err != nil { | ||
| 978 | return templ_7745c5c3_Err | 986 | return templ_7745c5c3_Err | ||
| 979 | } | 987 | } | ||
| 980 | var templ_7745c5c3_Var40 string | 988 | var templ_7745c5c3_Var40 string | ||
| 981 | templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(templ.SafeURL(faviconURL)) | 989 | templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(templ.SafeURL(faviconURL)) | ||
| 982 | if templ_7745c5c3_Err != nil { | 990 | if templ_7745c5c3_Err != nil { | ||
| 983 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 183, Col: 42} | 991 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 184, Col: 42} |
| 984 | } | 992 | } | ||
| 985 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40)) | 993 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40)) | ||
| 986 | if templ_7745c5c3_Err != nil { | 994 | if templ_7745c5c3_Err != nil { | ||
| 987 | return templ_7745c5c3_Err | 995 | return templ_7745c5c3_Err | ||
| 988 | } | 996 | } | ||
| 989 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 58, "\" alt=\"\" width=\"24\" height=\"24\" loading=\"lazy\" decoding=\"async\" referrerpolicy=\"same-origin\" onerror=\"this.parentElement.classList.remove('sv-history-favicon-has-image'); this.remove()\">") | 997 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "\" alt=\"\" width=\"24\" height=\"24\" loading=\"lazy\" decoding=\"async\" referrerpolicy=\"same-origin\" onerror=\"this.parentElement.classList.remove('sv-history-favicon-has-image'); this.remove()\">") |
| 990 | if templ_7745c5c3_Err != nil { | 998 | if templ_7745c5c3_Err != nil { | ||
| 991 | return templ_7745c5c3_Err | 999 | return templ_7745c5c3_Err | ||
| 992 | } | 1000 | } | ||
| 993 | } | 1001 | } | ||
| 994 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 59, "</span><div class=\"sv-history-main\"><a class=\"sv-link sv-history-open\" href=\"") | 1002 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</span><div class=\"sv-history-main\"><a class=\"sv-link sv-history-open\" href=\"") |
| 995 | if templ_7745c5c3_Err != nil { | 1003 | if templ_7745c5c3_Err != nil { | ||
| 996 | return templ_7745c5c3_Err | 1004 | return templ_7745c5c3_Err | ||
| 997 | } | 1005 | } | ||
| 998 | var templ_7745c5c3_Var41 templ.SafeURL | 1006 | var templ_7745c5c3_Var41 templ.SafeURL | ||
| 999 | templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(sanitizeHref(entry.URL))) | 1007 | templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(sanitizeHref(entry.URL))) | ||
| 1000 | if templ_7745c5c3_Err != nil { | 1008 | if templ_7745c5c3_Err != nil { | ||
| 1001 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 187, Col: 85} | 1009 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 188, Col: 85} |
| 1002 | } | 1010 | } | ||
| 1003 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41)) | 1011 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41)) | ||
| 1004 | if templ_7745c5c3_Err != nil { | 1012 | if templ_7745c5c3_Err != nil { | ||
| 1005 | return templ_7745c5c3_Err | 1013 | return templ_7745c5c3_Err | ||
| 1006 | } | 1014 | } | ||
| 1007 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 60, "\">") | 1015 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "\">") |
| 1008 | if templ_7745c5c3_Err != nil { | 1016 | if templ_7745c5c3_Err != nil { | ||
| 1009 | return templ_7745c5c3_Err | 1017 | return templ_7745c5c3_Err | ||
| 1010 | } | 1018 | } | ||
| 1011 | var templ_7745c5c3_Var42 string | 1019 | var templ_7745c5c3_Var42 string | ||
| 1012 | templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinStringErrs(historyItemLabel(entry)) | 1020 | templ_7745c5c3_Var42, templ_7745c5c3_Err = templ.JoinStringErrs(historyItemLabel(entry)) | ||
| 1013 | if templ_7745c5c3_Err != nil { | 1021 | if templ_7745c5c3_Err != nil { | ||
| 1014 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 187, Col: 113} | 1022 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 188, Col: 113} |
| 1015 | } | 1023 | } | ||
| 1016 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42)) | 1024 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var42)) | ||
| 1017 | if templ_7745c5c3_Err != nil { | 1025 | if templ_7745c5c3_Err != nil { | ||
| 1018 | return templ_7745c5c3_Err | 1026 | return templ_7745c5c3_Err | ||
| 1019 | } | 1027 | } | ||
| 1020 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 61, "</a><p class=\"sv-history-url\" title=\"") | 1028 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "</a><p class=\"sv-history-url\" title=\"") |
| 1021 | if templ_7745c5c3_Err != nil { | 1029 | if templ_7745c5c3_Err != nil { | ||
| 1022 | return templ_7745c5c3_Err | 1030 | return templ_7745c5c3_Err | ||
| 1023 | } | 1031 | } | ||
| 1024 | var templ_7745c5c3_Var43 string | 1032 | var templ_7745c5c3_Var43 string | ||
| 1025 | templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinStringErrs(entry.URL) | 1033 | templ_7745c5c3_Var43, templ_7745c5c3_Err = templ.JoinStringErrs(entry.URL) | ||
| 1026 | if templ_7745c5c3_Err != nil { | 1034 | if templ_7745c5c3_Err != nil { | ||
| 1027 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 188, Col: 48} | 1035 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 189, Col: 48} |
| 1028 | } | 1036 | } | ||
| 1029 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43)) | 1037 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var43)) | ||
| 1030 | if templ_7745c5c3_Err != nil { | 1038 | if templ_7745c5c3_Err != nil { | ||
| 1031 | return templ_7745c5c3_Err | 1039 | return templ_7745c5c3_Err | ||
| 1032 | } | 1040 | } | ||
| 1033 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 62, "\">") | 1041 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "\">") |
| 1034 | if templ_7745c5c3_Err != nil { | 1042 | if templ_7745c5c3_Err != nil { | ||
| 1035 | return templ_7745c5c3_Err | 1043 | return templ_7745c5c3_Err | ||
| 1036 | } | 1044 | } | ||
| 1037 | var templ_7745c5c3_Var44 string | 1045 | var templ_7745c5c3_Var44 string | ||
| 1038 | templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.JoinStringErrs(historyItemURL(entry)) | 1046 | templ_7745c5c3_Var44, templ_7745c5c3_Err = templ.JoinStringErrs(historyItemURL(entry)) | ||
| 1039 | if templ_7745c5c3_Err != nil { | 1047 | if templ_7745c5c3_Err != nil { | ||
| 1040 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 188, Col: 74} | 1048 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 189, Col: 74} |
| 1041 | } | 1049 | } | ||
| 1042 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var44)) | 1050 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var44)) | ||
| 1043 | if templ_7745c5c3_Err != nil { | 1051 | if templ_7745c5c3_Err != nil { | ||
| 1044 | return templ_7745c5c3_Err | 1052 | return templ_7745c5c3_Err | ||
| 1045 | } | 1053 | } | ||
| 1046 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 63, "</p><p class=\"sv-history-meta\">") | 1054 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "</p><p class=\"sv-history-meta\">") |
| 1047 | if templ_7745c5c3_Err != nil { | 1055 | if templ_7745c5c3_Err != nil { | ||
| 1048 | return templ_7745c5c3_Err | 1056 | return templ_7745c5c3_Err | ||
| 1049 | } | 1057 | } | ||
| 1050 | var templ_7745c5c3_Var45 string | 1058 | var templ_7745c5c3_Var45 string | ||
| 1051 | templ_7745c5c3_Var45, templ_7745c5c3_Err = templ.JoinStringErrs(historyItemMeta(entry)) | 1059 | templ_7745c5c3_Var45, templ_7745c5c3_Err = templ.JoinStringErrs(historyItemMeta(entry)) | ||
| 1052 | if templ_7745c5c3_Err != nil { | 1060 | if templ_7745c5c3_Err != nil { | ||
| 1053 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 189, Col: 56} | 1061 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 190, Col: 56} |
| 1054 | } | 1062 | } | ||
| 1055 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var45)) | 1063 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var45)) | ||
| 1056 | if templ_7745c5c3_Err != nil { | 1064 | if templ_7745c5c3_Err != nil { | ||
| 1057 | return templ_7745c5c3_Err | 1065 | return templ_7745c5c3_Err | ||
| 1058 | } | 1066 | } | ||
| 1059 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 64, "</p></div></div><div class=\"sv-history-row-actions\"><a class=\"sv-button sv-button-secondary\" href=\"") | 1067 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "</p></div></div><div class=\"sv-history-row-actions\"><a class=\"sv-button sv-button-secondary\" href=\"") |
| 1060 | if templ_7745c5c3_Err != nil { | 1068 | if templ_7745c5c3_Err != nil { | ||
| 1061 | return templ_7745c5c3_Err | 1069 | return templ_7745c5c3_Err | ||
| 1062 | } | 1070 | } | ||
| 1063 | var templ_7745c5c3_Var46 templ.SafeURL | 1071 | var templ_7745c5c3_Var46 templ.SafeURL | ||
| 1064 | templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(sanitizeHref(entry.URL))) | 1072 | templ_7745c5c3_Var46, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(sanitizeHref(entry.URL))) | ||
| 1065 | if templ_7745c5c3_Err != nil { | 1073 | if templ_7745c5c3_Err != nil { | ||
| 1066 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 193, Col: 90} | 1074 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 194, Col: 90} |
| 1067 | } | 1075 | } | ||
| 1068 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46)) | 1076 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var46)) | ||
| 1069 | if templ_7745c5c3_Err != nil { | 1077 | if templ_7745c5c3_Err != nil { | ||
| 1070 | return templ_7745c5c3_Err | 1078 | return templ_7745c5c3_Err | ||
| 1071 | } | 1079 | } | ||
| 1072 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 65, "\">") | 1080 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "\">") |
| 1073 | if templ_7745c5c3_Err != nil { | 1081 | if templ_7745c5c3_Err != nil { | ||
| 1074 | return templ_7745c5c3_Err | 1082 | return templ_7745c5c3_Err | ||
| 1075 | } | 1083 | } | ||
| @@ -1077,30 +1085,30 @@ func HistoryItem(entry *entity.HistoryEntry) templ.Component { | |||||
| 1077 | if templ_7745c5c3_Err != nil { | 1085 | if templ_7745c5c3_Err != nil { | ||
| 1078 | return templ_7745c5c3_Err | 1086 | return templ_7745c5c3_Err | ||
| 1079 | } | 1087 | } | ||
| 1080 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 66, "</a> <button type=\"button\" class=\"sv-button sv-button-secondary sv-button-danger sv-button-icon-only\" data-sv-action=\"history.deleteEntry\" data-id=\"") | 1088 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, "</a> <button type=\"button\" class=\"sv-button sv-button-secondary sv-button-danger sv-button-icon-only\" data-sv-action=\"history.deleteEntry\" data-id=\"") |
| 1081 | if templ_7745c5c3_Err != nil { | 1089 | if templ_7745c5c3_Err != nil { | ||
| 1082 | return templ_7745c5c3_Err | 1090 | return templ_7745c5c3_Err | ||
| 1083 | } | 1091 | } | ||
| 1084 | var templ_7745c5c3_Var47 string | 1092 | var templ_7745c5c3_Var47 string | ||
| 1085 | templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d", entry.ID)) | 1093 | templ_7745c5c3_Var47, templ_7745c5c3_Err = templ.JoinStringErrs(fmt.Sprintf("%d", entry.ID)) | ||
| 1086 | if templ_7745c5c3_Err != nil { | 1094 | if templ_7745c5c3_Err != nil { | ||
| 1087 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 194, Col: 175} | 1095 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `history.templ`, Line: 195, Col: 175} |
| 1088 | } | 1096 | } | ||
| 1089 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var47)) | 1097 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var47)) | ||
| 1090 | if templ_7745c5c3_Err != nil { | 1098 | if templ_7745c5c3_Err != nil { | ||
| 1091 | return templ_7745c5c3_Err | 1099 | return templ_7745c5c3_Err | ||
| 1092 | } | 1100 | } | ||
| 1093 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 67, "\" data-sv-confirm=\"Delete this history entry?\" aria-label=\"Delete this history entry\"") | 1101 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, "\" data-sv-confirm=\"Delete this history entry?\" aria-label=\"Delete this history entry\"") |
| 1094 | if templ_7745c5c3_Err != nil { | 1102 | if templ_7745c5c3_Err != nil { | ||
| 1095 | return templ_7745c5c3_Err | 1103 | return templ_7745c5c3_Err | ||
| 1096 | } | 1104 | } | ||
| 1097 | if entry.ID <= 0 { | 1105 | if entry.ID <= 0 { | ||
| 1098 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 68, " disabled") | 1106 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, " disabled") |
| 1099 | if templ_7745c5c3_Err != nil { | 1107 | if templ_7745c5c3_Err != nil { | ||
| 1100 | return templ_7745c5c3_Err | 1108 | return templ_7745c5c3_Err | ||
| 1101 | } | 1109 | } | ||
| 1102 | } | 1110 | } | ||
| 1103 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 69, ">") | 1111 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 71, ">") |
| 1104 | if templ_7745c5c3_Err != nil { | 1112 | if templ_7745c5c3_Err != nil { | ||
| 1105 | return templ_7745c5c3_Err | 1113 | return templ_7745c5c3_Err | ||
| 1106 | } | 1114 | } | ||
| @@ -1108,7 +1116,7 @@ func HistoryItem(entry *entity.HistoryEntry) templ.Component { | |||||
| 1108 | if templ_7745c5c3_Err != nil { | 1116 | if templ_7745c5c3_Err != nil { | ||
| 1109 | return templ_7745c5c3_Err | 1117 | return templ_7745c5c3_Err | ||
| 1110 | } | 1118 | } | ||
| 1111 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 70, "</button></div></article></li>") | 1119 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 72, "</button></div></article></li>") |
| 1112 | if templ_7745c5c3_Err != nil { | 1120 | if templ_7745c5c3_Err != nil { | ||
| 1113 | return templ_7745c5c3_Err | 1121 | return templ_7745c5c3_Err | ||
| 1114 | } | 1122 | } | ||