feat(web): show resolved issues and linked issue history
- commit
- a8cc2eb2e4df41b3fd7ca24493d3cbf47d20e8c4
- author
- brice · · 2026-10-22 18:14 UTC
- committer
- brice · · 2026-10-22 18:41 UTC
- parent
- 38857c6
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
16 files · +1643 -915
M internal/adapters/web/fragments.go +5 -1
| @@ -67,7 +67,7 @@ func liveEvent(we ports.WatchEvent) bool { | |||
| 67 | 67 | domain.RepoCreated, domain.RepoUpdated, domain.RepoDeleted, domain.PushEvent, | |
| 68 | 68 | domain.MergeRequestOpened, domain.MergeRequestMerged, domain.MergeRequestClosed, domain.MergeRequestReady, domain.MergeRequestAutoMergeEnabled, domain.MergeRequestAutoMergeCancelled, domain.MergeRequestMergeability, domain.CommentAdded, domain.CommentEdited, domain.CommentDeleted, domain.CommentResolved, | |
| 69 | 69 | domain.RunUpdated, domain.JobUpdated, | |
| 70 | - | domain.IssueOpened, domain.IssueClosed, domain.IssueReopened, domain.IssueCommented, domain.IssueSubmitted, domain.IssuePendingRemoved, domain.IssueReferenced: | |
| 70 | + | domain.IssueOpened, domain.IssueResolved, domain.IssueClosed, domain.IssueReopened, domain.IssueCommented, domain.IssueSubmitted, domain.IssuePendingRemoved, domain.IssueReferenced: | |
| 71 | 71 | return true | |
| 72 | 72 | } | |
| 73 | 73 | return false | |
| @@ -129,6 +129,8 @@ func (l *liveStream) home(ctx context.Context, we ports.WatchEvent) ([]fragment, | |||
| 129 | 129 | name, fresh = ev.Repo.String(), true | |
| 130 | 130 | case domain.IssueOpened: | |
| 131 | 131 | name, fresh = ev.Issue.Repo.String(), true | |
| 132 | + | case domain.IssueResolved: | |
| 133 | + | name, fresh = ev.Issue.Repo.String(), true | |
| 132 | 134 | case domain.IssueClosed: | |
| 133 | 135 | name, fresh = ev.Issue.Repo.String(), true | |
| 134 | 136 | case domain.IssueReopened: | |
| @@ -239,6 +241,8 @@ func (l *liveStream) repoPage(ctx context.Context, we ports.WatchEvent) ([]fragm | |||
| 239 | 241 | return l.mrNotice(ctx, ev.Number, "a comment was added — reload") | |
| 240 | 242 | case domain.IssueOpened: | |
| 241 | 243 | return l.issueNotice(ctx, ev.Issue.Number, "an issue was opened — reload") | |
| 244 | + | case domain.IssueResolved: | |
| 245 | + | return l.issueNotice(ctx, ev.Issue.Number, "this issue was resolved — reload") | |
| 242 | 246 | case domain.IssueClosed: | |
| 243 | 247 | return l.issueNotice(ctx, ev.Issue.Number, "this issue was closed — reload") | |
| 244 | 248 | case domain.IssueReopened: | |
| @@ -67,7 +67,7 @@ func liveEvent(we ports.WatchEvent) bool { | |||||
| 67 | domain.RepoCreated, domain.RepoUpdated, domain.RepoDeleted, domain.PushEvent, | 67 | domain.RepoCreated, domain.RepoUpdated, domain.RepoDeleted, domain.PushEvent, | ||
| 68 | domain.MergeRequestOpened, domain.MergeRequestMerged, domain.MergeRequestClosed, domain.MergeRequestReady, domain.MergeRequestAutoMergeEnabled, domain.MergeRequestAutoMergeCancelled, domain.MergeRequestMergeability, domain.CommentAdded, domain.CommentEdited, domain.CommentDeleted, domain.CommentResolved, | 68 | domain.MergeRequestOpened, domain.MergeRequestMerged, domain.MergeRequestClosed, domain.MergeRequestReady, domain.MergeRequestAutoMergeEnabled, domain.MergeRequestAutoMergeCancelled, domain.MergeRequestMergeability, domain.CommentAdded, domain.CommentEdited, domain.CommentDeleted, domain.CommentResolved, | ||
| 69 | domain.RunUpdated, domain.JobUpdated, | 69 | domain.RunUpdated, domain.JobUpdated, | ||
| 70 | - | domain.IssueOpened, domain.IssueClosed, domain.IssueReopened, domain.IssueCommented, domain.IssueSubmitted, domain.IssuePendingRemoved, domain.IssueReferenced: | 70 | + | domain.IssueOpened, domain.IssueResolved, domain.IssueClosed, domain.IssueReopened, domain.IssueCommented, domain.IssueSubmitted, domain.IssuePendingRemoved, domain.IssueReferenced: |
| 71 | return true | 71 | return true | ||
| 72 | } | 72 | } | ||
| 73 | return false | 73 | return false | ||
| @@ -129,6 +129,8 @@ func (l *liveStream) home(ctx context.Context, we ports.WatchEvent) ([]fragment, | |||||
| 129 | name, fresh = ev.Repo.String(), true | 129 | name, fresh = ev.Repo.String(), true | ||
| 130 | case domain.IssueOpened: | 130 | case domain.IssueOpened: | ||
| 131 | name, fresh = ev.Issue.Repo.String(), true | 131 | name, fresh = ev.Issue.Repo.String(), true | ||
| 132 | + | case domain.IssueResolved: | |||
| 133 | + | name, fresh = ev.Issue.Repo.String(), true | |||
| 132 | case domain.IssueClosed: | 134 | case domain.IssueClosed: | ||
| 133 | name, fresh = ev.Issue.Repo.String(), true | 135 | name, fresh = ev.Issue.Repo.String(), true | ||
| 134 | case domain.IssueReopened: | 136 | case domain.IssueReopened: | ||
| @@ -239,6 +241,8 @@ func (l *liveStream) repoPage(ctx context.Context, we ports.WatchEvent) ([]fragm | |||||
| 239 | return l.mrNotice(ctx, ev.Number, "a comment was added — reload") | 241 | return l.mrNotice(ctx, ev.Number, "a comment was added — reload") | ||
| 240 | case domain.IssueOpened: | 242 | case domain.IssueOpened: | ||
| 241 | return l.issueNotice(ctx, ev.Issue.Number, "an issue was opened — reload") | 243 | return l.issueNotice(ctx, ev.Issue.Number, "an issue was opened — reload") | ||
| 244 | + | case domain.IssueResolved: | |||
| 245 | + | return l.issueNotice(ctx, ev.Issue.Number, "this issue was resolved — reload") | |||
| 242 | case domain.IssueClosed: | 246 | case domain.IssueClosed: | ||
| 243 | return l.issueNotice(ctx, ev.Issue.Number, "this issue was closed — reload") | 247 | return l.issueNotice(ctx, ev.Issue.Number, "this issue was closed — reload") | ||
| 244 | case domain.IssueReopened: | 248 | case domain.IssueReopened: | ||
M internal/adapters/web/home_test.go +1 -1
| @@ -379,7 +379,7 @@ func TestActivityEventsRefreshTheHomeRow(t *testing.T) { | |||
| 379 | 379 | domain.MergeRequestOpened{MergeRequest: mr}, domain.MergeRequestMerged{MergeRequest: mr}, | |
| 380 | 380 | domain.MergeRequestClosed{MergeRequest: mr}, domain.MergeRequestReady{MergeRequest: mr}, | |
| 381 | 381 | domain.CommentAdded{Repo: repo.Name}, domain.IssueOpened{Issue: issue}, | |
| 382 | - | domain.IssueClosed{Issue: issue}, domain.IssueReopened{Issue: issue}, domain.IssueCommented{Repo: repo.Name}, | |
| 382 | + | domain.IssueResolved{Issue: issue}, domain.IssueClosed{Issue: issue}, domain.IssueReopened{Issue: issue}, domain.IssueCommented{Repo: repo.Name}, | |
| 383 | 383 | } { | |
| 384 | 384 | t.Run(ev.EventKind(), func(t *testing.T) { | |
| 385 | 385 | t.Parallel() | |
| @@ -379,7 +379,7 @@ func TestActivityEventsRefreshTheHomeRow(t *testing.T) { | |||||
| 379 | domain.MergeRequestOpened{MergeRequest: mr}, domain.MergeRequestMerged{MergeRequest: mr}, | 379 | domain.MergeRequestOpened{MergeRequest: mr}, domain.MergeRequestMerged{MergeRequest: mr}, | ||
| 380 | domain.MergeRequestClosed{MergeRequest: mr}, domain.MergeRequestReady{MergeRequest: mr}, | 380 | domain.MergeRequestClosed{MergeRequest: mr}, domain.MergeRequestReady{MergeRequest: mr}, | ||
| 381 | domain.CommentAdded{Repo: repo.Name}, domain.IssueOpened{Issue: issue}, | 381 | domain.CommentAdded{Repo: repo.Name}, domain.IssueOpened{Issue: issue}, | ||
| 382 | - | domain.IssueClosed{Issue: issue}, domain.IssueReopened{Issue: issue}, domain.IssueCommented{Repo: repo.Name}, | 382 | + | domain.IssueResolved{Issue: issue}, domain.IssueClosed{Issue: issue}, domain.IssueReopened{Issue: issue}, domain.IssueCommented{Repo: repo.Name}, |
| 383 | } { | 383 | } { | ||
| 384 | t.Run(ev.EventKind(), func(t *testing.T) { | 384 | t.Run(ev.EventKind(), func(t *testing.T) { | ||
| 385 | t.Parallel() | 385 | t.Parallel() | ||
M internal/adapters/web/inbox.go +1 -1
| @@ -287,7 +287,7 @@ func (s *Server) inboxCount(ctx context.Context) (n int, show bool) { | |||
| 287 | 287 | func (l *liveStream) inbox(ctx context.Context, we ports.WatchEvent) ([]fragment, error) { | |
| 288 | 288 | switch we.Event.(type) { | |
| 289 | 289 | case domain.MergeRequestOpened, domain.MergeRequestMerged, domain.MergeRequestClosed, domain.MergeRequestReady, domain.CommentAdded, domain.CommentEdited, domain.CommentDeleted, domain.CommentResolved, | |
| 290 | - | domain.IssueOpened, domain.IssueClosed, domain.IssueReopened, domain.IssueCommented, domain.IssueSubmitted, domain.IssuePendingRemoved, | |
| 290 | + | domain.IssueOpened, domain.IssueResolved, domain.IssueClosed, domain.IssueReopened, domain.IssueCommented, domain.IssueSubmitted, domain.IssuePendingRemoved, | |
| 291 | 291 | domain.RepoUpdated, domain.RepoDeleted, domain.RunUpdated: | |
| 292 | 292 | default: | |
| 293 | 293 | return nil, nil | |
| @@ -287,7 +287,7 @@ func (s *Server) inboxCount(ctx context.Context) (n int, show bool) { | |||||
| 287 | func (l *liveStream) inbox(ctx context.Context, we ports.WatchEvent) ([]fragment, error) { | 287 | func (l *liveStream) inbox(ctx context.Context, we ports.WatchEvent) ([]fragment, error) { | ||
| 288 | switch we.Event.(type) { | 288 | switch we.Event.(type) { | ||
| 289 | case domain.MergeRequestOpened, domain.MergeRequestMerged, domain.MergeRequestClosed, domain.MergeRequestReady, domain.CommentAdded, domain.CommentEdited, domain.CommentDeleted, domain.CommentResolved, | 289 | case domain.MergeRequestOpened, domain.MergeRequestMerged, domain.MergeRequestClosed, domain.MergeRequestReady, domain.CommentAdded, domain.CommentEdited, domain.CommentDeleted, domain.CommentResolved, | ||
| 290 | - | domain.IssueOpened, domain.IssueClosed, domain.IssueReopened, domain.IssueCommented, domain.IssueSubmitted, domain.IssuePendingRemoved, | 290 | + | domain.IssueOpened, domain.IssueResolved, domain.IssueClosed, domain.IssueReopened, domain.IssueCommented, domain.IssueSubmitted, domain.IssuePendingRemoved, |
| 291 | domain.RepoUpdated, domain.RepoDeleted, domain.RunUpdated: | 291 | domain.RepoUpdated, domain.RepoDeleted, domain.RunUpdated: | ||
| 292 | default: | 292 | default: | ||
| 293 | return nil, nil | 293 | return nil, nil | ||
M internal/adapters/web/inbox_test.go +5 -0
| @@ -188,6 +188,11 @@ func TestInboxLiveFragments(t *testing.T) { | |||
| 188 | 188 | assert.Contains(t, frags[4].html, `id="inbox-mrs"`) | |
| 189 | 189 | assert.Contains(t, frags[5].html, `id="inbox-issues"`) | |
| 190 | 190 | ||
| 191 | + | resolved, err := ls.render(withOwner(t.Context()), ports.WatchEvent{Event: domain.IssueResolved{Issue: domain.Issue{Repo: repoName(t, "beta"), Number: 7}}}) | |
| 192 | + | require.NoError(t, err) | |
| 193 | + | require.Len(t, resolved, 6) | |
| 194 | + | assert.Contains(t, resolved[5].html, `id="inbox-issues"`) | |
| 195 | + | ||
| 191 | 196 | none, err := ls.render(withOwner(t.Context()), ports.WatchEvent{Event: domain.PushEvent{Repo: repoName(t, "beta")}}) | |
| 192 | 197 | require.NoError(t, err) | |
| 193 | 198 | assert.Empty(t, none, "a push is not inbox news") | |
| @@ -188,6 +188,11 @@ func TestInboxLiveFragments(t *testing.T) { | |||||
| 188 | assert.Contains(t, frags[4].html, `id="inbox-mrs"`) | 188 | assert.Contains(t, frags[4].html, `id="inbox-mrs"`) | ||
| 189 | assert.Contains(t, frags[5].html, `id="inbox-issues"`) | 189 | assert.Contains(t, frags[5].html, `id="inbox-issues"`) | ||
| 190 | 190 | ||||
| 191 | + | resolved, err := ls.render(withOwner(t.Context()), ports.WatchEvent{Event: domain.IssueResolved{Issue: domain.Issue{Repo: repoName(t, "beta"), Number: 7}}}) | |||
| 192 | + | require.NoError(t, err) | |||
| 193 | + | require.Len(t, resolved, 6) | |||
| 194 | + | assert.Contains(t, resolved[5].html, `id="inbox-issues"`) | |||
| 195 | + | ||||
| 191 | none, err := ls.render(withOwner(t.Context()), ports.WatchEvent{Event: domain.PushEvent{Repo: repoName(t, "beta")}}) | 196 | none, err := ls.render(withOwner(t.Context()), ports.WatchEvent{Event: domain.PushEvent{Repo: repoName(t, "beta")}}) | ||
| 192 | require.NoError(t, err) | 197 | require.NoError(t, err) | ||
| 193 | assert.Empty(t, none, "a push is not inbox news") | 198 | assert.Empty(t, none, "a push is not inbox news") | ||
A internal/adapters/web/issue_timeline.go +92 -0
| @@ -0,0 +1,92 @@ | |||
| 1 | + | // SPDX-License-Identifier: AGPL-3.0-or-later | |
| 2 | + | ||
| 3 | + | package web | |
| 4 | + | ||
| 5 | + | import ( | |
| 6 | + | "sort" | |
| 7 | + | "strconv" | |
| 8 | + | "time" | |
| 9 | + | ||
| 10 | + | "bnema.dev/ermite/internal/domain" | |
| 11 | + | "bnema.dev/ermite/internal/ports" | |
| 12 | + | ) | |
| 13 | + | ||
| 14 | + | // TimelineItem holds either a comment or a compact system event. | |
| 15 | + | type TimelineItem struct { | |
| 16 | + | Comment *CommentView | |
| 17 | + | Event *IssueEventView | |
| 18 | + | at time.Time | |
| 19 | + | } | |
| 20 | + | ||
| 21 | + | type IssueEventView struct { | |
| 22 | + | ID, Kind, Actor, Text, When, WhenAt, Abs string | |
| 23 | + | MR *Link | |
| 24 | + | Closes bool | |
| 25 | + | Icon string | |
| 26 | + | } | |
| 27 | + | ||
| 28 | + | type IssueLinkView struct { | |
| 29 | + | Number, Title, State, Href string | |
| 30 | + | Closes bool | |
| 31 | + | } | |
| 32 | + | ||
| 33 | + | // issueTimeline keeps comments ahead of events with the same timestamp. | |
| 34 | + | func (s *Server) issueTimeline(repo string, comments []CommentView, events []ports.IssueEventDetail, mr bool) []TimelineItem { | |
| 35 | + | items := make([]TimelineItem, 0, len(comments)+len(events)) | |
| 36 | + | for _, c := range comments { | |
| 37 | + | at := c.createdAt | |
| 38 | + | items = append(items, TimelineItem{Comment: &c, at: at}) | |
| 39 | + | } | |
| 40 | + | for _, detail := range events { | |
| 41 | + | e := detail.Event | |
| 42 | + | v := IssueEventView{ID: strconv.FormatInt(e.ID, 10), Kind: string(e.Kind), Actor: s.who(e.Actor), Closes: e.Closes} | |
| 43 | + | v.When, v.WhenAt = whenOf(s.cfg.Now(), e.CreatedAt) | |
| 44 | + | if !e.CreatedAt.IsZero() { | |
| 45 | + | v.Abs = absolute(e.CreatedAt) | |
| 46 | + | } | |
| 47 | + | switch e.Kind { | |
| 48 | + | case domain.IssueEventReferenced: | |
| 49 | + | v.Text, v.Icon = "referenced this in", "↗" | |
| 50 | + | if e.Closes { | |
| 51 | + | v.Text = "will resolve this in" | |
| 52 | + | } | |
| 53 | + | case domain.IssueEventClosed: | |
| 54 | + | v.Text, v.Icon = "closed this", "✗" | |
| 55 | + | case domain.IssueEventReopened: | |
| 56 | + | v.Text, v.Icon = "reopened this", "↻" | |
| 57 | + | case domain.IssueEventResolved: | |
| 58 | + | v.Text, v.Icon = "resolved this", "✓" | |
| 59 | + | if e.MergeRequest != 0 { | |
| 60 | + | v.Text += " with" | |
| 61 | + | } | |
| 62 | + | default: | |
| 63 | + | continue | |
| 64 | + | } | |
| 65 | + | if mr { | |
| 66 | + | // IDs are per issue, so MR event anchors also include the issue number. | |
| 67 | + | v.ID = strconv.FormatInt(e.Issue, 10) + "-" + v.ID | |
| 68 | + | v.MR = &Link{Label: "#" + strconv.FormatInt(e.Issue, 10), Href: issueHref(repo, e.Issue)} | |
| 69 | + | switch e.Kind { | |
| 70 | + | case domain.IssueEventReferenced: | |
| 71 | + | v.Text = "referenced" | |
| 72 | + | if e.Closes { | |
| 73 | + | v.Text = "will resolve" | |
| 74 | + | } | |
| 75 | + | case domain.IssueEventResolved: | |
| 76 | + | v.Text = "resolved" | |
| 77 | + | case domain.IssueEventClosed: | |
| 78 | + | v.Text = "closed" | |
| 79 | + | case domain.IssueEventReopened: | |
| 80 | + | v.Text = "reopened" | |
| 81 | + | } | |
| 82 | + | } else if e.MergeRequest != 0 { | |
| 83 | + | v.MR = numberLink(repo, e.MergeRequest) | |
| 84 | + | if title := visibleText(detail.MergeRequestTitle.String()); title != "" { | |
| 85 | + | v.MR.Label += " " + title | |
| 86 | + | } | |
| 87 | + | } | |
| 88 | + | items = append(items, TimelineItem{Event: &v, at: e.CreatedAt}) | |
| 89 | + | } | |
| 90 | + | sort.SliceStable(items, func(i, j int) bool { return items[i].at.Before(items[j].at) }) | |
| 91 | + | return items | |
| 92 | + | } | |
| @@ -0,0 +1,92 @@ | |||||
| 1 | + | // SPDX-License-Identifier: AGPL-3.0-or-later | |||
| 2 | + | ||||
| 3 | + | package web | |||
| 4 | + | ||||
| 5 | + | import ( | |||
| 6 | + | "sort" | |||
| 7 | + | "strconv" | |||
| 8 | + | "time" | |||
| 9 | + | ||||
| 10 | + | "bnema.dev/ermite/internal/domain" | |||
| 11 | + | "bnema.dev/ermite/internal/ports" | |||
| 12 | + | ) | |||
| 13 | + | ||||
| 14 | + | // TimelineItem holds either a comment or a compact system event. | |||
| 15 | + | type TimelineItem struct { | |||
| 16 | + | Comment *CommentView | |||
| 17 | + | Event *IssueEventView | |||
| 18 | + | at time.Time | |||
| 19 | + | } | |||
| 20 | + | ||||
| 21 | + | type IssueEventView struct { | |||
| 22 | + | ID, Kind, Actor, Text, When, WhenAt, Abs string | |||
| 23 | + | MR *Link | |||
| 24 | + | Closes bool | |||
| 25 | + | Icon string | |||
| 26 | + | } | |||
| 27 | + | ||||
| 28 | + | type IssueLinkView struct { | |||
| 29 | + | Number, Title, State, Href string | |||
| 30 | + | Closes bool | |||
| 31 | + | } | |||
| 32 | + | ||||
| 33 | + | // issueTimeline keeps comments ahead of events with the same timestamp. | |||
| 34 | + | func (s *Server) issueTimeline(repo string, comments []CommentView, events []ports.IssueEventDetail, mr bool) []TimelineItem { | |||
| 35 | + | items := make([]TimelineItem, 0, len(comments)+len(events)) | |||
| 36 | + | for _, c := range comments { | |||
| 37 | + | at := c.createdAt | |||
| 38 | + | items = append(items, TimelineItem{Comment: &c, at: at}) | |||
| 39 | + | } | |||
| 40 | + | for _, detail := range events { | |||
| 41 | + | e := detail.Event | |||
| 42 | + | v := IssueEventView{ID: strconv.FormatInt(e.ID, 10), Kind: string(e.Kind), Actor: s.who(e.Actor), Closes: e.Closes} | |||
| 43 | + | v.When, v.WhenAt = whenOf(s.cfg.Now(), e.CreatedAt) | |||
| 44 | + | if !e.CreatedAt.IsZero() { | |||
| 45 | + | v.Abs = absolute(e.CreatedAt) | |||
| 46 | + | } | |||
| 47 | + | switch e.Kind { | |||
| 48 | + | case domain.IssueEventReferenced: | |||
| 49 | + | v.Text, v.Icon = "referenced this in", "↗" | |||
| 50 | + | if e.Closes { | |||
| 51 | + | v.Text = "will resolve this in" | |||
| 52 | + | } | |||
| 53 | + | case domain.IssueEventClosed: | |||
| 54 | + | v.Text, v.Icon = "closed this", "✗" | |||
| 55 | + | case domain.IssueEventReopened: | |||
| 56 | + | v.Text, v.Icon = "reopened this", "↻" | |||
| 57 | + | case domain.IssueEventResolved: | |||
| 58 | + | v.Text, v.Icon = "resolved this", "✓" | |||
| 59 | + | if e.MergeRequest != 0 { | |||
| 60 | + | v.Text += " with" | |||
| 61 | + | } | |||
| 62 | + | default: | |||
| 63 | + | continue | |||
| 64 | + | } | |||
| 65 | + | if mr { | |||
| 66 | + | // IDs are per issue, so MR event anchors also include the issue number. | |||
| 67 | + | v.ID = strconv.FormatInt(e.Issue, 10) + "-" + v.ID | |||
| 68 | + | v.MR = &Link{Label: "#" + strconv.FormatInt(e.Issue, 10), Href: issueHref(repo, e.Issue)} | |||
| 69 | + | switch e.Kind { | |||
| 70 | + | case domain.IssueEventReferenced: | |||
| 71 | + | v.Text = "referenced" | |||
| 72 | + | if e.Closes { | |||
| 73 | + | v.Text = "will resolve" | |||
| 74 | + | } | |||
| 75 | + | case domain.IssueEventResolved: | |||
| 76 | + | v.Text = "resolved" | |||
| 77 | + | case domain.IssueEventClosed: | |||
| 78 | + | v.Text = "closed" | |||
| 79 | + | case domain.IssueEventReopened: | |||
| 80 | + | v.Text = "reopened" | |||
| 81 | + | } | |||
| 82 | + | } else if e.MergeRequest != 0 { | |||
| 83 | + | v.MR = numberLink(repo, e.MergeRequest) | |||
| 84 | + | if title := visibleText(detail.MergeRequestTitle.String()); title != "" { | |||
| 85 | + | v.MR.Label += " " + title | |||
| 86 | + | } | |||
| 87 | + | } | |||
| 88 | + | items = append(items, TimelineItem{Event: &v, at: e.CreatedAt}) | |||
| 89 | + | } | |||
| 90 | + | sort.SliceStable(items, func(i, j int) bool { return items[i].at.Before(items[j].at) }) | |||
| 91 | + | return items | |||
| 92 | + | } | |||
A internal/adapters/web/issue_timeline.templ +34 -0
| @@ -0,0 +1,34 @@ | |||
| 1 | + | // SPDX-License-Identifier: AGPL-3.0-or-later | |
| 2 | + | ||
| 3 | + | package web | |
| 4 | + | ||
| 5 | + | templ issueTimeline(items []TimelineItem) { | |
| 6 | + | if len(items) > 0 { | |
| 7 | + | <ol class="timeline" aria-label="Conversation history"> | |
| 8 | + | for _, item := range items { | |
| 9 | + | <li> | |
| 10 | + | if item.Comment != nil { | |
| 11 | + | @commentView(*item.Comment, "") | |
| 12 | + | } else if item.Event != nil { | |
| 13 | + | @issueEventRow(*item.Event) | |
| 14 | + | } | |
| 15 | + | </li> | |
| 16 | + | } | |
| 17 | + | </ol> | |
| 18 | + | } | |
| 19 | + | } | |
| 20 | + | ||
| 21 | + | templ issueEventRow(e IssueEventView) { | |
| 22 | + | <div class="sys" id={ "e" + e.ID } data-kind={ e.Kind }> | |
| 23 | + | <span class="sys-icon" aria-hidden="true">{ e.Icon }</span> | |
| 24 | + | <span> | |
| 25 | + | { e.Actor } { e.Text } | |
| 26 | + | if e.MR != nil { | |
| 27 | + | { " " }<a class="ref" href={ templ.SafeURL(e.MR.Href) }>{ e.MR.Label }</a> | |
| 28 | + | } | |
| 29 | + | </span> | |
| 30 | + | if e.WhenAt != "" { | |
| 31 | + | { " · " }<time datetime={ e.WhenAt } title={ e.Abs }>{ e.When }</time> | |
| 32 | + | } | |
| 33 | + | </div> | |
| 34 | + | } | |
| @@ -0,0 +1,34 @@ | |||||
| 1 | + | // SPDX-License-Identifier: AGPL-3.0-or-later | |||
| 2 | + | ||||
| 3 | + | package web | |||
| 4 | + | ||||
| 5 | + | templ issueTimeline(items []TimelineItem) { | |||
| 6 | + | if len(items) > 0 { | |||
| 7 | + | <ol class="timeline" aria-label="Conversation history"> | |||
| 8 | + | for _, item := range items { | |||
| 9 | + | <li> | |||
| 10 | + | if item.Comment != nil { | |||
| 11 | + | @commentView(*item.Comment, "") | |||
| 12 | + | } else if item.Event != nil { | |||
| 13 | + | @issueEventRow(*item.Event) | |||
| 14 | + | } | |||
| 15 | + | </li> | |||
| 16 | + | } | |||
| 17 | + | </ol> | |||
| 18 | + | } | |||
| 19 | + | } | |||
| 20 | + | ||||
| 21 | + | templ issueEventRow(e IssueEventView) { | |||
| 22 | + | <div class="sys" id={ "e" + e.ID } data-kind={ e.Kind }> | |||
| 23 | + | <span class="sys-icon" aria-hidden="true">{ e.Icon }</span> | |||
| 24 | + | <span> | |||
| 25 | + | { e.Actor } { e.Text } | |||
| 26 | + | if e.MR != nil { | |||
| 27 | + | { " " }<a class="ref" href={ templ.SafeURL(e.MR.Href) }>{ e.MR.Label }</a> | |||
| 28 | + | } | |||
| 29 | + | </span> | |||
| 30 | + | if e.WhenAt != "" { | |||
| 31 | + | { " · " }<time datetime={ e.WhenAt } title={ e.Abs }>{ e.When }</time> | |||
| 32 | + | } | |||
| 33 | + | </div> | |||
| 34 | + | } | |||
A internal/adapters/web/issue_timeline_templ.go +266 -0 generated file: collapsed
M internal/adapters/web/issues.go +18 -14
| @@ -25,7 +25,7 @@ import ( | |||
| 25 | 25 | // | |
| 26 | 26 | // Routes: | |
| 27 | 27 | // | |
| 28 | - | // GET /<repo>/issues the list, open or closed (?state=), paged (?page=) | |
| 28 | + | // GET /<repo>/issues the list, open, closed or resolved (?state=), paged (?page=) | |
| 29 | 29 | // GET /<repo>/issues/new the form that opens one (owner) | |
| 30 | 30 | // GET /<repo>/issues/<n> the issue with its comments | |
| 31 | 31 | // | |
| @@ -55,11 +55,11 @@ type IssueRow struct { | |||
| 55 | 55 | type IssueListPage struct { | |
| 56 | 56 | Rows []IssueRow | |
| 57 | 57 | // Closed is true on the tab of the closed issues. | |
| 58 | - | Closed bool | |
| 59 | - | OpenHref, ClosedHref string | |
| 60 | - | Older, Newest string | |
| 61 | - | NewHref string // the form that opens an issue; "" unless the owner | |
| 62 | - | Live bool | |
| 58 | + | Closed, Resolved bool | |
| 59 | + | OpenHref, ClosedHref, ResolvedHref string | |
| 60 | + | Older, Newest string | |
| 61 | + | NewHref string // the form that opens an issue; "" unless the owner | |
| 62 | + | Live bool | |
| 63 | 63 | } | |
| 64 | 64 | ||
| 65 | 65 | // IssueActions are the buttons of the owner on an issue. | |
| @@ -80,11 +80,12 @@ type IssuePage struct { | |||
| 80 | 80 | // Desc is the body rendered as Markdown, "" when it is empty. | |
| 81 | 81 | Desc template.HTML | |
| 82 | 82 | Comments []CommentView | |
| 83 | + | Timeline []TimelineItem | |
| 83 | 84 | Form *CommentForm | |
| 84 | 85 | Transition *IssueActions | |
| 85 | 86 | Live bool | |
| 86 | - | // ClosedBy is the merge request whose merge closed the issue. | |
| 87 | - | ClosedBy *Link | |
| 87 | + | // ResolvedBy is the merge request whose merge resolved the issue. | |
| 88 | + | ResolvedBy *Link | |
| 88 | 89 | // References are the merge requests naming the issue. | |
| 89 | 90 | References []IssueRefView | |
| 90 | 91 | } | |
| @@ -192,6 +193,8 @@ func (s *Server) issueList(ctx context.Context, r *http.Request) (templ.Componen | |||
| 192 | 193 | case "", "open": | |
| 193 | 194 | case "closed": | |
| 194 | 195 | state = domain.IssueStateClosed | |
| 196 | + | case "resolved": | |
| 197 | + | state = domain.IssueStateResolved | |
| 195 | 198 | default: | |
| 196 | 199 | return nil, 0, errNotFound | |
| 197 | 200 | } | |
| @@ -200,8 +203,8 @@ func (s *Server) issueList(ctx context.Context, r *http.Request) (templ.Componen | |||
| 200 | 203 | closed := state == domain.IssueStateClosed | |
| 201 | 204 | link := func(page string) string { | |
| 202 | 205 | q := url.Values{} | |
| 203 | - | if closed { | |
| 204 | - | q.Set("state", "closed") | |
| 206 | + | if state != domain.IssueStateOpen { | |
| 207 | + | q.Set("state", string(state)) | |
| 205 | 208 | } | |
| 206 | 209 | if page != "" { | |
| 207 | 210 | q.Set("page", page) | |
| @@ -218,7 +221,7 @@ func (s *Server) issueList(ctx context.Context, r *http.Request) (templ.Componen | |||
| 218 | 221 | if err != nil { | |
| 219 | 222 | return nil, 0, err | |
| 220 | 223 | } | |
| 221 | - | p := IssueListPage{Closed: closed, OpenHref: base, ClosedHref: base + "?state=closed"} | |
| 224 | + | p := IssueListPage{Closed: closed, OpenHref: base, ClosedHref: base + "?state=closed", Resolved: state == domain.IssueStateResolved, ResolvedHref: base + "?state=resolved"} | |
| 222 | 225 | for _, i := range res.Issues { | |
| 223 | 226 | p.Rows = append(p.Rows, s.issueRow(d.name(), i)) | |
| 224 | 227 | } | |
| @@ -293,7 +296,7 @@ func (s *Server) issueShow(ctx context.Context, r *http.Request) (templ.Componen | |||
| 293 | 296 | if p.Desc, err = s.issueBody(ctx, d, i); err != nil { | |
| 294 | 297 | return nil, 0, err | |
| 295 | 298 | } | |
| 296 | - | p.ClosedBy = numberLink(d.name(), i.ClosedByMergeRequest) | |
| 299 | + | p.ResolvedBy = numberLink(d.name(), i.ClosedByMergeRequest) | |
| 297 | 300 | p.References = issueRefViews(d.name(), res.References) | |
| 298 | 301 | p.Opened.Name = s.who(i.Author) | |
| 299 | 302 | if i.External { | |
| @@ -307,7 +310,7 @@ func (s *Server) issueShow(ctx context.Context, r *http.Request) (templ.Componen | |||
| 307 | 310 | p.Updated, p.UpdatedAt = whenOf(now, i.UpdatedAt) | |
| 308 | 311 | for _, c := range res.Comments { | |
| 309 | 312 | v := CommentView{ | |
| 310 | - | ID: strconv.FormatInt(c.ID, 10), Author: s.who(c.Author), Parts: plainParts(c.Text.String()), | |
| 313 | + | createdAt: c.CreatedAt, ID: strconv.FormatInt(c.ID, 10), Author: s.who(c.Author), Parts: plainParts(c.Text.String()), | |
| 311 | 314 | } | |
| 312 | 315 | v.When, v.WhenAt = whenOf(now, c.CreatedAt) | |
| 313 | 316 | if !c.CreatedAt.IsZero() { | |
| @@ -315,12 +318,13 @@ func (s *Server) issueShow(ctx context.Context, r *http.Request) (templ.Componen | |||
| 315 | 318 | } | |
| 316 | 319 | p.Comments = append(p.Comments, v) | |
| 317 | 320 | } | |
| 321 | + | p.Timeline = s.issueTimeline(d.name(), p.Comments, res.Events, false) | |
| 318 | 322 | if signed { | |
| 319 | 323 | p.Form = &CommentForm{ID: "cf-general", Action: issueHref(d.name(), n, "comments"), Title: "comment on the issue", Plain: true} | |
| 320 | 324 | switch i.State { | |
| 321 | 325 | case domain.IssueStateOpen: | |
| 322 | 326 | p.Transition = &IssueActions{Action: issueHref(d.name(), n, "close"), Label: "Close issue"} | |
| 323 | - | case domain.IssueStateClosed: | |
| 327 | + | case domain.IssueStateClosed, domain.IssueStateResolved: | |
| 324 | 328 | p.Transition = &IssueActions{Action: issueHref(d.name(), n, "reopen"), Label: "Reopen issue"} | |
| 325 | 329 | } | |
| 326 | 330 | } | |
| @@ -25,7 +25,7 @@ import ( | |||||
| 25 | // | 25 | // | ||
| 26 | // Routes: | 26 | // Routes: | ||
| 27 | // | 27 | // | ||
| 28 | - | // GET /<repo>/issues the list, open or closed (?state=), paged (?page=) | 28 | + | // GET /<repo>/issues the list, open, closed or resolved (?state=), paged (?page=) |
| 29 | // GET /<repo>/issues/new the form that opens one (owner) | 29 | // GET /<repo>/issues/new the form that opens one (owner) | ||
| 30 | // GET /<repo>/issues/<n> the issue with its comments | 30 | // GET /<repo>/issues/<n> the issue with its comments | ||
| 31 | // | 31 | // | ||
| @@ -55,11 +55,11 @@ type IssueRow struct { | |||||
| 55 | type IssueListPage struct { | 55 | type IssueListPage struct { | ||
| 56 | Rows []IssueRow | 56 | Rows []IssueRow | ||
| 57 | // Closed is true on the tab of the closed issues. | 57 | // Closed is true on the tab of the closed issues. | ||
| 58 | - | Closed bool | 58 | + | Closed, Resolved bool |
| 59 | - | OpenHref, ClosedHref string | 59 | + | OpenHref, ClosedHref, ResolvedHref string |
| 60 | - | Older, Newest string | 60 | + | Older, Newest string |
| 61 | - | NewHref string // the form that opens an issue; "" unless the owner | 61 | + | NewHref string // the form that opens an issue; "" unless the owner |
| 62 | - | Live bool | 62 | + | Live bool |
| 63 | } | 63 | } | ||
| 64 | 64 | ||||
| 65 | // IssueActions are the buttons of the owner on an issue. | 65 | // IssueActions are the buttons of the owner on an issue. | ||
| @@ -80,11 +80,12 @@ type IssuePage struct { | |||||
| 80 | // Desc is the body rendered as Markdown, "" when it is empty. | 80 | // Desc is the body rendered as Markdown, "" when it is empty. | ||
| 81 | Desc template.HTML | 81 | Desc template.HTML | ||
| 82 | Comments []CommentView | 82 | Comments []CommentView | ||
| 83 | + | Timeline []TimelineItem | |||
| 83 | Form *CommentForm | 84 | Form *CommentForm | ||
| 84 | Transition *IssueActions | 85 | Transition *IssueActions | ||
| 85 | Live bool | 86 | Live bool | ||
| 86 | - | // ClosedBy is the merge request whose merge closed the issue. | 87 | + | // ResolvedBy is the merge request whose merge resolved the issue. |
| 87 | - | ClosedBy *Link | 88 | + | ResolvedBy *Link |
| 88 | // References are the merge requests naming the issue. | 89 | // References are the merge requests naming the issue. | ||
| 89 | References []IssueRefView | 90 | References []IssueRefView | ||
| 90 | } | 91 | } | ||
| @@ -192,6 +193,8 @@ func (s *Server) issueList(ctx context.Context, r *http.Request) (templ.Componen | |||||
| 192 | case "", "open": | 193 | case "", "open": | ||
| 193 | case "closed": | 194 | case "closed": | ||
| 194 | state = domain.IssueStateClosed | 195 | state = domain.IssueStateClosed | ||
| 196 | + | case "resolved": | |||
| 197 | + | state = domain.IssueStateResolved | |||
| 195 | default: | 198 | default: | ||
| 196 | return nil, 0, errNotFound | 199 | return nil, 0, errNotFound | ||
| 197 | } | 200 | } | ||
| @@ -200,8 +203,8 @@ func (s *Server) issueList(ctx context.Context, r *http.Request) (templ.Componen | |||||
| 200 | closed := state == domain.IssueStateClosed | 203 | closed := state == domain.IssueStateClosed | ||
| 201 | link := func(page string) string { | 204 | link := func(page string) string { | ||
| 202 | q := url.Values{} | 205 | q := url.Values{} | ||
| 203 | - | if closed { | 206 | + | if state != domain.IssueStateOpen { |
| 204 | - | q.Set("state", "closed") | 207 | + | q.Set("state", string(state)) |
| 205 | } | 208 | } | ||
| 206 | if page != "" { | 209 | if page != "" { | ||
| 207 | q.Set("page", page) | 210 | q.Set("page", page) | ||
| @@ -218,7 +221,7 @@ func (s *Server) issueList(ctx context.Context, r *http.Request) (templ.Componen | |||||
| 218 | if err != nil { | 221 | if err != nil { | ||
| 219 | return nil, 0, err | 222 | return nil, 0, err | ||
| 220 | } | 223 | } | ||
| 221 | - | p := IssueListPage{Closed: closed, OpenHref: base, ClosedHref: base + "?state=closed"} | 224 | + | p := IssueListPage{Closed: closed, OpenHref: base, ClosedHref: base + "?state=closed", Resolved: state == domain.IssueStateResolved, ResolvedHref: base + "?state=resolved"} |
| 222 | for _, i := range res.Issues { | 225 | for _, i := range res.Issues { | ||
| 223 | p.Rows = append(p.Rows, s.issueRow(d.name(), i)) | 226 | p.Rows = append(p.Rows, s.issueRow(d.name(), i)) | ||
| 224 | } | 227 | } | ||
| @@ -293,7 +296,7 @@ func (s *Server) issueShow(ctx context.Context, r *http.Request) (templ.Componen | |||||
| 293 | if p.Desc, err = s.issueBody(ctx, d, i); err != nil { | 296 | if p.Desc, err = s.issueBody(ctx, d, i); err != nil { | ||
| 294 | return nil, 0, err | 297 | return nil, 0, err | ||
| 295 | } | 298 | } | ||
| 296 | - | p.ClosedBy = numberLink(d.name(), i.ClosedByMergeRequest) | 299 | + | p.ResolvedBy = numberLink(d.name(), i.ClosedByMergeRequest) |
| 297 | p.References = issueRefViews(d.name(), res.References) | 300 | p.References = issueRefViews(d.name(), res.References) | ||
| 298 | p.Opened.Name = s.who(i.Author) | 301 | p.Opened.Name = s.who(i.Author) | ||
| 299 | if i.External { | 302 | if i.External { | ||
| @@ -307,7 +310,7 @@ func (s *Server) issueShow(ctx context.Context, r *http.Request) (templ.Componen | |||||
| 307 | p.Updated, p.UpdatedAt = whenOf(now, i.UpdatedAt) | 310 | p.Updated, p.UpdatedAt = whenOf(now, i.UpdatedAt) | ||
| 308 | for _, c := range res.Comments { | 311 | for _, c := range res.Comments { | ||
| 309 | v := CommentView{ | 312 | v := CommentView{ | ||
| 310 | - | ID: strconv.FormatInt(c.ID, 10), Author: s.who(c.Author), Parts: plainParts(c.Text.String()), | 313 | + | createdAt: c.CreatedAt, ID: strconv.FormatInt(c.ID, 10), Author: s.who(c.Author), Parts: plainParts(c.Text.String()), |
| 311 | } | 314 | } | ||
| 312 | v.When, v.WhenAt = whenOf(now, c.CreatedAt) | 315 | v.When, v.WhenAt = whenOf(now, c.CreatedAt) | ||
| 313 | if !c.CreatedAt.IsZero() { | 316 | if !c.CreatedAt.IsZero() { | ||
| @@ -315,12 +318,13 @@ func (s *Server) issueShow(ctx context.Context, r *http.Request) (templ.Componen | |||||
| 315 | } | 318 | } | ||
| 316 | p.Comments = append(p.Comments, v) | 319 | p.Comments = append(p.Comments, v) | ||
| 317 | } | 320 | } | ||
| 321 | + | p.Timeline = s.issueTimeline(d.name(), p.Comments, res.Events, false) | |||
| 318 | if signed { | 322 | if signed { | ||
| 319 | p.Form = &CommentForm{ID: "cf-general", Action: issueHref(d.name(), n, "comments"), Title: "comment on the issue", Plain: true} | 323 | p.Form = &CommentForm{ID: "cf-general", Action: issueHref(d.name(), n, "comments"), Title: "comment on the issue", Plain: true} | ||
| 320 | switch i.State { | 324 | switch i.State { | ||
| 321 | case domain.IssueStateOpen: | 325 | case domain.IssueStateOpen: | ||
| 322 | p.Transition = &IssueActions{Action: issueHref(d.name(), n, "close"), Label: "Close issue"} | 326 | p.Transition = &IssueActions{Action: issueHref(d.name(), n, "close"), Label: "Close issue"} | ||
| 323 | - | case domain.IssueStateClosed: | 327 | + | case domain.IssueStateClosed, domain.IssueStateResolved: |
| 324 | p.Transition = &IssueActions{Action: issueHref(d.name(), n, "reopen"), Label: "Reopen issue"} | 328 | p.Transition = &IssueActions{Action: issueHref(d.name(), n, "reopen"), Label: "Reopen issue"} | ||
| 325 | } | 329 | } | ||
| 326 | } | 330 | } | ||
M internal/adapters/web/issues.templ +21 -11
| @@ -11,7 +11,7 @@ templ IssueList(l Layout, p IssueListPage) { | |||
| 11 | 11 | <nav class="since" aria-label="State"> | |
| 12 | 12 | <a | |
| 13 | 13 | href={ templ.SafeURL(p.OpenHref) } | |
| 14 | - | if !p.Closed { | |
| 14 | + | if !p.Closed && !p.Resolved { | |
| 15 | 15 | aria-current="page" | |
| 16 | 16 | } | |
| 17 | 17 | >open</a> | |
| @@ -21,6 +21,12 @@ templ IssueList(l Layout, p IssueListPage) { | |||
| 21 | 21 | aria-current="page" | |
| 22 | 22 | } | |
| 23 | 23 | >closed</a> | |
| 24 | + | <a | |
| 25 | + | href={ templ.SafeURL(p.ResolvedHref) } | |
| 26 | + | if p.Resolved { | |
| 27 | + | aria-current="page" | |
| 28 | + | } | |
| 29 | + | >resolved</a> | |
| 24 | 30 | </nav> | |
| 25 | 31 | <div class="filter"> | |
| 26 | 32 | <label for="issue-filter" class="sr">filter</label> | |
| @@ -34,7 +40,9 @@ templ IssueList(l Layout, p IssueListPage) { | |||
| 34 | 40 | /> | |
| 35 | 41 | </div> | |
| 36 | 42 | <h2 class="rule-h"> | |
| 37 | - | if p.Closed { | |
| 43 | + | if p.Resolved { | |
| 44 | + | <span>Resolved</span> | |
| 45 | + | } else if p.Closed { | |
| 38 | 46 | <span>Closed</span> | |
| 39 | 47 | } else { | |
| 40 | 48 | <span>Open</span> | |
| @@ -43,7 +51,9 @@ templ IssueList(l Layout, p IssueListPage) { | |||
| 43 | 51 | </h2> | |
| 44 | 52 | @issueRows(p.Rows) | |
| 45 | 53 | if len(p.Rows) == 0 { | |
| 46 | - | if p.Closed { | |
| 54 | + | if p.Resolved { | |
| 55 | + | <p class="lede dim">no resolved issues.</p> | |
| 56 | + | } else if p.Closed { | |
| 47 | 57 | <p class="lede dim">no closed issues.</p> | |
| 48 | 58 | } else { | |
| 49 | 59 | <p class="lede dim">no open issues.</p> | |
| @@ -95,7 +105,9 @@ templ issueListRail(p IssueListPage) { | |||
| 95 | 105 | <dt>open</dt> | |
| 96 | 106 | <dd>being worked on</dd> | |
| 97 | 107 | <dt>closed</dt> | |
| 98 | - | <dd>done with, can be reopened</dd> | |
| 108 | + | <dd>closed without resolution</dd> | |
| 109 | + | <dt>resolved</dt> | |
| 110 | + | <dd>fixed, can be reopened</dd> | |
| 99 | 111 | </dl> | |
| 100 | 112 | </section> | |
| 101 | 113 | if p.NewHref != "" { | |
| @@ -149,9 +161,9 @@ templ IssueShow(l Layout, p IssuePage) { | |||
| 149 | 161 | { " · " }<time datetime={ p.Opened.WhenAt } title={ p.Opened.Abs }>{ p.Opened.When }</time> | |
| 150 | 162 | } | |
| 151 | 163 | </dd> | |
| 152 | - | if p.ClosedBy != nil { | |
| 153 | - | <dt>closed by</dt> | |
| 154 | - | <dd><a class="ref" href={ templ.SafeURL(p.ClosedBy.Href) }>{ p.ClosedBy.Label }</a></dd> | |
| 164 | + | if p.ResolvedBy != nil { | |
| 165 | + | <dt>resolved by</dt> | |
| 166 | + | <dd><a class="ref" href={ templ.SafeURL(p.ResolvedBy.Href) }>{ p.ResolvedBy.Label }</a></dd> | |
| 155 | 167 | } | |
| 156 | 168 | if p.UpdatedAt != "" { | |
| 157 | 169 | <dt>updated</dt> | |
| @@ -169,9 +181,7 @@ templ IssueShow(l Layout, p IssuePage) { | |||
| 169 | 181 | @LiveSlot("mr-notice") | |
| 170 | 182 | } | |
| 171 | 183 | <h2 class="rule-h" id="comments"><span>Comments</span><span class="count">{ itoa(len(p.Comments)) }</span></h2> | |
| 172 | - | for _, c := range p.Comments { | |
| 173 | - | @commentView(c, "") | |
| 174 | - | } | |
| 184 | + | @issueTimeline(p.Timeline) | |
| 175 | 185 | if len(p.Comments) == 0 { | |
| 176 | 186 | <p class="dim">no comments yet.</p> | |
| 177 | 187 | } | |
| @@ -192,7 +202,7 @@ templ issueRail(p IssuePage) { | |||
| 192 | 202 | { " " + r.Title + " " } | |
| 193 | 203 | <span class="mr-state" data-state={ r.State }>{ r.State }</span> | |
| 194 | 204 | if r.Closes { | |
| 195 | - | { " · closes" } | |
| 205 | + | { " · resolves" } | |
| 196 | 206 | } | |
| 197 | 207 | </li> | |
| 198 | 208 | } | |
| @@ -11,7 +11,7 @@ templ IssueList(l Layout, p IssueListPage) { | |||||
| 11 | <nav class="since" aria-label="State"> | 11 | <nav class="since" aria-label="State"> | ||
| 12 | <a | 12 | <a | ||
| 13 | href={ templ.SafeURL(p.OpenHref) } | 13 | href={ templ.SafeURL(p.OpenHref) } | ||
| 14 | - | if !p.Closed { | 14 | + | if !p.Closed && !p.Resolved { |
| 15 | aria-current="page" | 15 | aria-current="page" | ||
| 16 | } | 16 | } | ||
| 17 | >open</a> | 17 | >open</a> | ||
| @@ -21,6 +21,12 @@ templ IssueList(l Layout, p IssueListPage) { | |||||
| 21 | aria-current="page" | 21 | aria-current="page" | ||
| 22 | } | 22 | } | ||
| 23 | >closed</a> | 23 | >closed</a> | ||
| 24 | + | <a | |||
| 25 | + | href={ templ.SafeURL(p.ResolvedHref) } | |||
| 26 | + | if p.Resolved { | |||
| 27 | + | aria-current="page" | |||
| 28 | + | } | |||
| 29 | + | >resolved</a> | |||
| 24 | </nav> | 30 | </nav> | ||
| 25 | <div class="filter"> | 31 | <div class="filter"> | ||
| 26 | <label for="issue-filter" class="sr">filter</label> | 32 | <label for="issue-filter" class="sr">filter</label> | ||
| @@ -34,7 +40,9 @@ templ IssueList(l Layout, p IssueListPage) { | |||||
| 34 | /> | 40 | /> | ||
| 35 | </div> | 41 | </div> | ||
| 36 | <h2 class="rule-h"> | 42 | <h2 class="rule-h"> | ||
| 37 | - | if p.Closed { | 43 | + | if p.Resolved { |
| 44 | + | <span>Resolved</span> | |||
| 45 | + | } else if p.Closed { | |||
| 38 | <span>Closed</span> | 46 | <span>Closed</span> | ||
| 39 | } else { | 47 | } else { | ||
| 40 | <span>Open</span> | 48 | <span>Open</span> | ||
| @@ -43,7 +51,9 @@ templ IssueList(l Layout, p IssueListPage) { | |||||
| 43 | </h2> | 51 | </h2> | ||
| 44 | @issueRows(p.Rows) | 52 | @issueRows(p.Rows) | ||
| 45 | if len(p.Rows) == 0 { | 53 | if len(p.Rows) == 0 { | ||
| 46 | - | if p.Closed { | 54 | + | if p.Resolved { |
| 55 | + | <p class="lede dim">no resolved issues.</p> | |||
| 56 | + | } else if p.Closed { | |||
| 47 | <p class="lede dim">no closed issues.</p> | 57 | <p class="lede dim">no closed issues.</p> | ||
| 48 | } else { | 58 | } else { | ||
| 49 | <p class="lede dim">no open issues.</p> | 59 | <p class="lede dim">no open issues.</p> | ||
| @@ -95,7 +105,9 @@ templ issueListRail(p IssueListPage) { | |||||
| 95 | <dt>open</dt> | 105 | <dt>open</dt> | ||
| 96 | <dd>being worked on</dd> | 106 | <dd>being worked on</dd> | ||
| 97 | <dt>closed</dt> | 107 | <dt>closed</dt> | ||
| 98 | - | <dd>done with, can be reopened</dd> | 108 | + | <dd>closed without resolution</dd> |
| 109 | + | <dt>resolved</dt> | |||
| 110 | + | <dd>fixed, can be reopened</dd> | |||
| 99 | </dl> | 111 | </dl> | ||
| 100 | </section> | 112 | </section> | ||
| 101 | if p.NewHref != "" { | 113 | if p.NewHref != "" { | ||
| @@ -149,9 +161,9 @@ templ IssueShow(l Layout, p IssuePage) { | |||||
| 149 | { " · " }<time datetime={ p.Opened.WhenAt } title={ p.Opened.Abs }>{ p.Opened.When }</time> | 161 | { " · " }<time datetime={ p.Opened.WhenAt } title={ p.Opened.Abs }>{ p.Opened.When }</time> | ||
| 150 | } | 162 | } | ||
| 151 | </dd> | 163 | </dd> | ||
| 152 | - | if p.ClosedBy != nil { | 164 | + | if p.ResolvedBy != nil { |
| 153 | - | <dt>closed by</dt> | 165 | + | <dt>resolved by</dt> |
| 154 | - | <dd><a class="ref" href={ templ.SafeURL(p.ClosedBy.Href) }>{ p.ClosedBy.Label }</a></dd> | 166 | + | <dd><a class="ref" href={ templ.SafeURL(p.ResolvedBy.Href) }>{ p.ResolvedBy.Label }</a></dd> |
| 155 | } | 167 | } | ||
| 156 | if p.UpdatedAt != "" { | 168 | if p.UpdatedAt != "" { | ||
| 157 | <dt>updated</dt> | 169 | <dt>updated</dt> | ||
| @@ -169,9 +181,7 @@ templ IssueShow(l Layout, p IssuePage) { | |||||
| 169 | @LiveSlot("mr-notice") | 181 | @LiveSlot("mr-notice") | ||
| 170 | } | 182 | } | ||
| 171 | <h2 class="rule-h" id="comments"><span>Comments</span><span class="count">{ itoa(len(p.Comments)) }</span></h2> | 183 | <h2 class="rule-h" id="comments"><span>Comments</span><span class="count">{ itoa(len(p.Comments)) }</span></h2> | ||
| 172 | - | for _, c := range p.Comments { | 184 | + | @issueTimeline(p.Timeline) |
| 173 | - | @commentView(c, "") | |||
| 174 | - | } | |||
| 175 | if len(p.Comments) == 0 { | 185 | if len(p.Comments) == 0 { | ||
| 176 | <p class="dim">no comments yet.</p> | 186 | <p class="dim">no comments yet.</p> | ||
| 177 | } | 187 | } | ||
| @@ -192,7 +202,7 @@ templ issueRail(p IssuePage) { | |||||
| 192 | { " " + r.Title + " " } | 202 | { " " + r.Title + " " } | ||
| 193 | <span class="mr-state" data-state={ r.State }>{ r.State }</span> | 203 | <span class="mr-state" data-state={ r.State }>{ r.State }</span> | ||
| 194 | if r.Closes { | 204 | if r.Closes { | ||
| 195 | - | { " · closes" } | 205 | + | { " · resolves" } |
| 196 | } | 206 | } | ||
| 197 | </li> | 207 | </li> | ||
| 198 | } | 208 | } | ||
M internal/adapters/web/issues_templ.go +288 -257 generated file: collapsed
M internal/adapters/web/issues_test.go +93 -4
| @@ -304,6 +304,9 @@ func TestIssueLiveNotices(t *testing.T) { | |||
| 304 | 304 | }{ | |
| 305 | 305 | {domain.IssueOpened{Issue: issue}, "issues", "", "issues changed"}, | |
| 306 | 306 | {domain.IssueClosed{Issue: issue}, "issues", "", "issues changed"}, | |
| 307 | + | {domain.IssueResolved{Issue: issue}, "issues", "", "issues changed"}, | |
| 308 | + | {domain.IssueResolved{Issue: issue}, "issue", "5", "this issue was resolved"}, | |
| 309 | + | {domain.IssueResolved{Issue: issue}, "issue", "6", ""}, | |
| 307 | 310 | {domain.IssueOpened{Issue: issue}, "issue", "5", "an issue was opened"}, | |
| 308 | 311 | {domain.IssueClosed{Issue: issue}, "issue", "5", "this issue was closed"}, | |
| 309 | 312 | {domain.IssueReopened{Issue: issue}, "issue", "5", "this issue was reopened"}, | |
| @@ -338,7 +341,7 @@ func TestIssueShowReferences(t *testing.T) { | |||
| 338 | 341 | r := newIssueRig(t, domain.IssuesPublic, true) | |
| 339 | 342 | title, err := domain.ParseMRTitle("fix <b>it</b>") | |
| 340 | 343 | require.NoError(t, err) | |
| 341 | - | issue := testIssue(t, 5, domain.IssueStateClosed, "bug", "see #7 and #8") | |
| 344 | + | issue := testIssue(t, 5, domain.IssueStateResolved, "bug", "see #7 and #8") | |
| 342 | 345 | issue.ClosedByMergeRequest = 2 | |
| 343 | 346 | r.issues.EXPECT().Get(mock.Anything, mock.Anything, repoName(t, "proj"), int64(5)).Return(ports.IssueDetail{ | |
| 344 | 347 | Issue: issue, | |
| @@ -353,12 +356,12 @@ func TestIssueShowReferences(t *testing.T) { | |||
| 353 | 356 | rec := r.do("GET", "/proj/issues/5", false, nil) | |
| 354 | 357 | require.Equal(t, 200, rec.Code, rec.Body.String()) | |
| 355 | 358 | body := rec.Body.String() | |
| 356 | - | assert.Contains(t, body, "closed by") | |
| 359 | + | assert.Contains(t, body, "resolved by") | |
| 357 | 360 | assert.Contains(t, body, `href="/proj/merge-requests/2"`) | |
| 358 | 361 | assert.Contains(t, body, ">!2<") | |
| 359 | 362 | assert.Contains(t, body, ">!3<") | |
| 360 | 363 | assert.Contains(t, body, `id="r-refs"`) | |
| 361 | - | assert.Contains(t, body, "closes") | |
| 364 | + | assert.Contains(t, body, "resolves") | |
| 362 | 365 | assert.Contains(t, body, "fix <b>it</b>") | |
| 363 | 366 | assert.Contains(t, body, `href="/proj/merge-requests/7"`, "#7 in the body") | |
| 364 | 367 | assert.Contains(t, body, `title="merge request 7"`) | |
| @@ -373,5 +376,91 @@ func TestIssueShowWithoutReferences(t *testing.T) { | |||
| 373 | 376 | }, nil) | |
| 374 | 377 | body := r.do("GET", "/proj/issues/5", false, nil).Body.String() | |
| 375 | 378 | assert.NotContains(t, body, "r-refs") | |
| 376 | - | assert.NotContains(t, body, "closed by") | |
| 379 | + | assert.NotContains(t, body, "resolved by") | |
| 380 | + | } | |
| 381 | + | ||
| 382 | + | func TestIssueResolvedList(t *testing.T) { | |
| 383 | + | t.Parallel() | |
| 384 | + | r := newIssueRig(t, domain.IssuesOwner, false) | |
| 385 | + | for _, token := range []string{"", "next"} { | |
| 386 | + | r.issues.EXPECT().List(mock.Anything, mock.Anything, repoName(t, "proj"), ports.ListIssuesParams{State: domain.IssueStateResolved, PageSize: pageSize, PageToken: token}).Return(ports.IssuePage{Issues: []domain.Issue{testIssue(t, 5, domain.IssueStateResolved, "fixed", "")}, NextPageToken: "next"}, nil) | |
| 387 | + | path := "/proj/issues?state=resolved" | |
| 388 | + | if token != "" { | |
| 389 | + | path += "&page=" + token | |
| 390 | + | } | |
| 391 | + | rec := r.do("GET", path, false, nil) | |
| 392 | + | require.Equal(t, 200, rec.Code) | |
| 393 | + | body := rec.Body.String() | |
| 394 | + | assert.Contains(t, body, `href="/proj/issues?state=resolved" aria-current="page"`) | |
| 395 | + | assert.Contains(t, body, `data-state="resolved"`) | |
| 396 | + | assert.Contains(t, body, `href="/proj/issues?page=next&state=resolved"`) | |
| 397 | + | } | |
| 398 | + | } | |
| 399 | + | ||
| 400 | + | func TestIssueResolvedTimeline(t *testing.T) { | |
| 401 | + | t.Parallel() | |
| 402 | + | r := newIssueRig(t, domain.IssuesOwner, false) | |
| 403 | + | at := time.Date(2026, 1, 2, 12, 0, 0, 123, time.UTC) | |
| 404 | + | issue := testIssue(t, 5, domain.IssueStateResolved, "fixed", "") | |
| 405 | + | issue.ClosedByMergeRequest = 12 | |
| 406 | + | text, err := domain.ParseIssueBody("comment between events") | |
| 407 | + | require.NoError(t, err) | |
| 408 | + | title, err := domain.ParseMRTitle("Fix login") | |
| 409 | + | require.NoError(t, err) | |
| 410 | + | r.issues.EXPECT().Get(mock.Anything, mock.Anything, mock.Anything, int64(5)).Return(ports.IssueDetail{ | |
| 411 | + | Issue: issue, | |
| 412 | + | Comments: []domain.IssueComment{{ID: 7, Author: "owner", Text: text, CreatedAt: at}}, | |
| 413 | + | Events: []ports.IssueEventDetail{ | |
| 414 | + | {Event: domain.IssueEvent{ID: 1, Kind: domain.IssueEventReferenced, MergeRequest: 12, Actor: "owner", CreatedAt: at.Add(-time.Second)}, MergeRequestTitle: title}, | |
| 415 | + | {Event: domain.IssueEvent{ID: 2, Kind: domain.IssueEventResolved, MergeRequest: 12, Actor: "owner", CreatedAt: at}, MergeRequestTitle: title}, | |
| 416 | + | }, | |
| 417 | + | }, nil) | |
| 418 | + | for _, owner := range []bool{false, true} { | |
| 419 | + | rec := r.do("GET", "/proj/issues/5", owner, nil) | |
| 420 | + | require.Equal(t, 200, rec.Code) | |
| 421 | + | body := rec.Body.String() | |
| 422 | + | assert.Contains(t, body, `data-state="resolved"`) | |
| 423 | + | assert.Contains(t, body, "resolved by") | |
| 424 | + | assert.Contains(t, body, "!12 Fix login") | |
| 425 | + | assert.Contains(t, body, `datetime="2026-01-02T12:00:00Z"`) | |
| 426 | + | assert.Less(t, strings.Index(body, `id="e1"`), strings.Index(body, `id="c7"`)) | |
| 427 | + | assert.Less(t, strings.Index(body, `id="c7"`), strings.Index(body, `id="e2"`), "comment precedes event on exact timestamp tie") | |
| 428 | + | assert.NotContains(t, body, `/5/resolve`) | |
| 429 | + | assert.NotContains(t, body, `/5/close`) | |
| 430 | + | if owner { | |
| 431 | + | assert.Contains(t, body, `action="/proj/issues/5/reopen"`) | |
| 432 | + | } else { | |
| 433 | + | assert.NotContains(t, body, `/5/reopen`) | |
| 434 | + | } | |
| 435 | + | } | |
| 436 | + | } | |
| 437 | + | ||
| 438 | + | func TestIssueHistoryEventKinds(t *testing.T) { | |
| 439 | + | t.Parallel() | |
| 440 | + | s := &Server{cfg: Config{Now: time.Now}} | |
| 441 | + | for _, tc := range []struct { | |
| 442 | + | kind domain.IssueEventKind | |
| 443 | + | mr int64 | |
| 444 | + | closes bool | |
| 445 | + | text string | |
| 446 | + | }{ | |
| 447 | + | {domain.IssueEventReferenced, 12, false, "referenced this in"}, | |
| 448 | + | {domain.IssueEventReferenced, 12, true, "will resolve this in"}, | |
| 449 | + | {domain.IssueEventClosed, 0, false, "closed this"}, | |
| 450 | + | {domain.IssueEventReopened, 0, false, "reopened this"}, | |
| 451 | + | {domain.IssueEventResolved, 0, false, "resolved this"}, | |
| 452 | + | {domain.IssueEventResolved, 12, false, "resolved this with"}, | |
| 453 | + | } { | |
| 454 | + | items := s.issueTimeline("proj", nil, []ports.IssueEventDetail{{Event: domain.IssueEvent{ID: 1, Kind: tc.kind, MergeRequest: tc.mr, Closes: tc.closes, Actor: "owner", CreatedAt: time.Now()}}}, false) | |
| 455 | + | require.Len(t, items, 1) | |
| 456 | + | body := renderToString(t, issueTimeline(items)) | |
| 457 | + | assert.Contains(t, body, "owner "+tc.text) | |
| 458 | + | assert.Contains(t, body, `data-kind="`+string(tc.kind)+`"`) | |
| 459 | + | assert.Contains(t, body, `<ol class="timeline" aria-label="Conversation history">`) | |
| 460 | + | if tc.mr != 0 { | |
| 461 | + | assert.Contains(t, body, `href="/proj/merge-requests/12">!12</a>`) | |
| 462 | + | } else { | |
| 463 | + | assert.NotContains(t, body, `/merge-requests/`) | |
| 464 | + | } | |
| 465 | + | } | |
| 377 | 466 | } | |
| @@ -304,6 +304,9 @@ func TestIssueLiveNotices(t *testing.T) { | |||||
| 304 | }{ | 304 | }{ | ||
| 305 | {domain.IssueOpened{Issue: issue}, "issues", "", "issues changed"}, | 305 | {domain.IssueOpened{Issue: issue}, "issues", "", "issues changed"}, | ||
| 306 | {domain.IssueClosed{Issue: issue}, "issues", "", "issues changed"}, | 306 | {domain.IssueClosed{Issue: issue}, "issues", "", "issues changed"}, | ||
| 307 | + | {domain.IssueResolved{Issue: issue}, "issues", "", "issues changed"}, | |||
| 308 | + | {domain.IssueResolved{Issue: issue}, "issue", "5", "this issue was resolved"}, | |||
| 309 | + | {domain.IssueResolved{Issue: issue}, "issue", "6", ""}, | |||
| 307 | {domain.IssueOpened{Issue: issue}, "issue", "5", "an issue was opened"}, | 310 | {domain.IssueOpened{Issue: issue}, "issue", "5", "an issue was opened"}, | ||
| 308 | {domain.IssueClosed{Issue: issue}, "issue", "5", "this issue was closed"}, | 311 | {domain.IssueClosed{Issue: issue}, "issue", "5", "this issue was closed"}, | ||
| 309 | {domain.IssueReopened{Issue: issue}, "issue", "5", "this issue was reopened"}, | 312 | {domain.IssueReopened{Issue: issue}, "issue", "5", "this issue was reopened"}, | ||
| @@ -338,7 +341,7 @@ func TestIssueShowReferences(t *testing.T) { | |||||
| 338 | r := newIssueRig(t, domain.IssuesPublic, true) | 341 | r := newIssueRig(t, domain.IssuesPublic, true) | ||
| 339 | title, err := domain.ParseMRTitle("fix <b>it</b>") | 342 | title, err := domain.ParseMRTitle("fix <b>it</b>") | ||
| 340 | require.NoError(t, err) | 343 | require.NoError(t, err) | ||
| 341 | - | issue := testIssue(t, 5, domain.IssueStateClosed, "bug", "see #7 and #8") | 344 | + | issue := testIssue(t, 5, domain.IssueStateResolved, "bug", "see #7 and #8") |
| 342 | issue.ClosedByMergeRequest = 2 | 345 | issue.ClosedByMergeRequest = 2 | ||
| 343 | r.issues.EXPECT().Get(mock.Anything, mock.Anything, repoName(t, "proj"), int64(5)).Return(ports.IssueDetail{ | 346 | r.issues.EXPECT().Get(mock.Anything, mock.Anything, repoName(t, "proj"), int64(5)).Return(ports.IssueDetail{ | ||
| 344 | Issue: issue, | 347 | Issue: issue, | ||
| @@ -353,12 +356,12 @@ func TestIssueShowReferences(t *testing.T) { | |||||
| 353 | rec := r.do("GET", "/proj/issues/5", false, nil) | 356 | rec := r.do("GET", "/proj/issues/5", false, nil) | ||
| 354 | require.Equal(t, 200, rec.Code, rec.Body.String()) | 357 | require.Equal(t, 200, rec.Code, rec.Body.String()) | ||
| 355 | body := rec.Body.String() | 358 | body := rec.Body.String() | ||
| 356 | - | assert.Contains(t, body, "closed by") | 359 | + | assert.Contains(t, body, "resolved by") |
| 357 | assert.Contains(t, body, `href="/proj/merge-requests/2"`) | 360 | assert.Contains(t, body, `href="/proj/merge-requests/2"`) | ||
| 358 | assert.Contains(t, body, ">!2<") | 361 | assert.Contains(t, body, ">!2<") | ||
| 359 | assert.Contains(t, body, ">!3<") | 362 | assert.Contains(t, body, ">!3<") | ||
| 360 | assert.Contains(t, body, `id="r-refs"`) | 363 | assert.Contains(t, body, `id="r-refs"`) | ||
| 361 | - | assert.Contains(t, body, "closes") | 364 | + | assert.Contains(t, body, "resolves") |
| 362 | assert.Contains(t, body, "fix <b>it</b>") | 365 | assert.Contains(t, body, "fix <b>it</b>") | ||
| 363 | assert.Contains(t, body, `href="/proj/merge-requests/7"`, "#7 in the body") | 366 | assert.Contains(t, body, `href="/proj/merge-requests/7"`, "#7 in the body") | ||
| 364 | assert.Contains(t, body, `title="merge request 7"`) | 367 | assert.Contains(t, body, `title="merge request 7"`) | ||
| @@ -373,5 +376,91 @@ func TestIssueShowWithoutReferences(t *testing.T) { | |||||
| 373 | }, nil) | 376 | }, nil) | ||
| 374 | body := r.do("GET", "/proj/issues/5", false, nil).Body.String() | 377 | body := r.do("GET", "/proj/issues/5", false, nil).Body.String() | ||
| 375 | assert.NotContains(t, body, "r-refs") | 378 | assert.NotContains(t, body, "r-refs") | ||
| 376 | - | assert.NotContains(t, body, "closed by") | 379 | + | assert.NotContains(t, body, "resolved by") |
| 380 | + | } | |||
| 381 | + | ||||
| 382 | + | func TestIssueResolvedList(t *testing.T) { | |||
| 383 | + | t.Parallel() | |||
| 384 | + | r := newIssueRig(t, domain.IssuesOwner, false) | |||
| 385 | + | for _, token := range []string{"", "next"} { | |||
| 386 | + | r.issues.EXPECT().List(mock.Anything, mock.Anything, repoName(t, "proj"), ports.ListIssuesParams{State: domain.IssueStateResolved, PageSize: pageSize, PageToken: token}).Return(ports.IssuePage{Issues: []domain.Issue{testIssue(t, 5, domain.IssueStateResolved, "fixed", "")}, NextPageToken: "next"}, nil) | |||
| 387 | + | path := "/proj/issues?state=resolved" | |||
| 388 | + | if token != "" { | |||
| 389 | + | path += "&page=" + token | |||
| 390 | + | } | |||
| 391 | + | rec := r.do("GET", path, false, nil) | |||
| 392 | + | require.Equal(t, 200, rec.Code) | |||
| 393 | + | body := rec.Body.String() | |||
| 394 | + | assert.Contains(t, body, `href="/proj/issues?state=resolved" aria-current="page"`) | |||
| 395 | + | assert.Contains(t, body, `data-state="resolved"`) | |||
| 396 | + | assert.Contains(t, body, `href="/proj/issues?page=next&state=resolved"`) | |||
| 397 | + | } | |||
| 398 | + | } | |||
| 399 | + | ||||
| 400 | + | func TestIssueResolvedTimeline(t *testing.T) { | |||
| 401 | + | t.Parallel() | |||
| 402 | + | r := newIssueRig(t, domain.IssuesOwner, false) | |||
| 403 | + | at := time.Date(2026, 1, 2, 12, 0, 0, 123, time.UTC) | |||
| 404 | + | issue := testIssue(t, 5, domain.IssueStateResolved, "fixed", "") | |||
| 405 | + | issue.ClosedByMergeRequest = 12 | |||
| 406 | + | text, err := domain.ParseIssueBody("comment between events") | |||
| 407 | + | require.NoError(t, err) | |||
| 408 | + | title, err := domain.ParseMRTitle("Fix login") | |||
| 409 | + | require.NoError(t, err) | |||
| 410 | + | r.issues.EXPECT().Get(mock.Anything, mock.Anything, mock.Anything, int64(5)).Return(ports.IssueDetail{ | |||
| 411 | + | Issue: issue, | |||
| 412 | + | Comments: []domain.IssueComment{{ID: 7, Author: "owner", Text: text, CreatedAt: at}}, | |||
| 413 | + | Events: []ports.IssueEventDetail{ | |||
| 414 | + | {Event: domain.IssueEvent{ID: 1, Kind: domain.IssueEventReferenced, MergeRequest: 12, Actor: "owner", CreatedAt: at.Add(-time.Second)}, MergeRequestTitle: title}, | |||
| 415 | + | {Event: domain.IssueEvent{ID: 2, Kind: domain.IssueEventResolved, MergeRequest: 12, Actor: "owner", CreatedAt: at}, MergeRequestTitle: title}, | |||
| 416 | + | }, | |||
| 417 | + | }, nil) | |||
| 418 | + | for _, owner := range []bool{false, true} { | |||
| 419 | + | rec := r.do("GET", "/proj/issues/5", owner, nil) | |||
| 420 | + | require.Equal(t, 200, rec.Code) | |||
| 421 | + | body := rec.Body.String() | |||
| 422 | + | assert.Contains(t, body, `data-state="resolved"`) | |||
| 423 | + | assert.Contains(t, body, "resolved by") | |||
| 424 | + | assert.Contains(t, body, "!12 Fix login") | |||
| 425 | + | assert.Contains(t, body, `datetime="2026-01-02T12:00:00Z"`) | |||
| 426 | + | assert.Less(t, strings.Index(body, `id="e1"`), strings.Index(body, `id="c7"`)) | |||
| 427 | + | assert.Less(t, strings.Index(body, `id="c7"`), strings.Index(body, `id="e2"`), "comment precedes event on exact timestamp tie") | |||
| 428 | + | assert.NotContains(t, body, `/5/resolve`) | |||
| 429 | + | assert.NotContains(t, body, `/5/close`) | |||
| 430 | + | if owner { | |||
| 431 | + | assert.Contains(t, body, `action="/proj/issues/5/reopen"`) | |||
| 432 | + | } else { | |||
| 433 | + | assert.NotContains(t, body, `/5/reopen`) | |||
| 434 | + | } | |||
| 435 | + | } | |||
| 436 | + | } | |||
| 437 | + | ||||
| 438 | + | func TestIssueHistoryEventKinds(t *testing.T) { | |||
| 439 | + | t.Parallel() | |||
| 440 | + | s := &Server{cfg: Config{Now: time.Now}} | |||
| 441 | + | for _, tc := range []struct { | |||
| 442 | + | kind domain.IssueEventKind | |||
| 443 | + | mr int64 | |||
| 444 | + | closes bool | |||
| 445 | + | text string | |||
| 446 | + | }{ | |||
| 447 | + | {domain.IssueEventReferenced, 12, false, "referenced this in"}, | |||
| 448 | + | {domain.IssueEventReferenced, 12, true, "will resolve this in"}, | |||
| 449 | + | {domain.IssueEventClosed, 0, false, "closed this"}, | |||
| 450 | + | {domain.IssueEventReopened, 0, false, "reopened this"}, | |||
| 451 | + | {domain.IssueEventResolved, 0, false, "resolved this"}, | |||
| 452 | + | {domain.IssueEventResolved, 12, false, "resolved this with"}, | |||
| 453 | + | } { | |||
| 454 | + | items := s.issueTimeline("proj", nil, []ports.IssueEventDetail{{Event: domain.IssueEvent{ID: 1, Kind: tc.kind, MergeRequest: tc.mr, Closes: tc.closes, Actor: "owner", CreatedAt: time.Now()}}}, false) | |||
| 455 | + | require.Len(t, items, 1) | |||
| 456 | + | body := renderToString(t, issueTimeline(items)) | |||
| 457 | + | assert.Contains(t, body, "owner "+tc.text) | |||
| 458 | + | assert.Contains(t, body, `data-kind="`+string(tc.kind)+`"`) | |||
| 459 | + | assert.Contains(t, body, `<ol class="timeline" aria-label="Conversation history">`) | |||
| 460 | + | if tc.mr != 0 { | |||
| 461 | + | assert.Contains(t, body, `href="/proj/merge-requests/12">!12</a>`) | |||
| 462 | + | } else { | |||
| 463 | + | assert.NotContains(t, body, `/merge-requests/`) | |||
| 464 | + | } | |||
| 465 | + | } | |||
| 377 | } | 466 | } | ||
M internal/adapters/web/mr.go +22 -1
| @@ -99,6 +99,7 @@ type MRListPage struct { | |||
| 99 | 99 | ||
| 100 | 100 | // CommentView is a comment of a merge request, ready to show. | |
| 101 | 101 | type CommentView struct { | |
| 102 | + | createdAt time.Time | |
| 102 | 103 | ID string | |
| 103 | 104 | Author string | |
| 104 | 105 | When string | |
| @@ -296,6 +297,8 @@ type MRPage struct { | |||
| 296 | 297 | // loaded later) the loose comments of a listed file go under the file | |
| 297 | 298 | // instead (DiffFile.Loose). | |
| 298 | 299 | General, Loose []CommentView | |
| 300 | + | Timeline []TimelineItem | |
| 301 | + | Issues []IssueLinkView | |
| 299 | 302 | LooseInFiles bool | |
| 300 | 303 | NComments int | |
| 301 | 304 | NUnresolved int | |
| @@ -634,6 +637,24 @@ func (s *Server) mrPageView(ctx context.Context, r *http.Request, since, fragmen | |||
| 634 | 637 | on = parseOn(r.URL.Query().Get("on")) | |
| 635 | 638 | } | |
| 636 | 639 | s.placeComments(ctx, &p, d.name(), n, res.Comments, head, !since, canWrite, on) | |
| 640 | + | p.Timeline = s.issueTimeline(d.name(), p.General, res.IssueEvents, true) | |
| 641 | + | // Event DTOs carry MR titles, not issue titles. Enrich from current links | |
| 642 | + | // when available; removed references still retain a numbered history link. | |
| 643 | + | issueTitles := make(map[string]string, len(res.Issues)) | |
| 644 | + | for _, issue := range res.Issues { | |
| 645 | + | issueTitles[issueHref(d.name(), issue.Number)] = visibleText(issue.Title.String()) | |
| 646 | + | } | |
| 647 | + | for _, item := range p.Timeline { | |
| 648 | + | if item.Event != nil && item.Event.MR != nil { | |
| 649 | + | if title := issueTitles[item.Event.MR.Href]; title != "" { | |
| 650 | + | item.Event.MR.Label += " " + title | |
| 651 | + | } | |
| 652 | + | } | |
| 653 | + | } | |
| 654 | + | for _, issue := range res.Issues { | |
| 655 | + | p.Issues = append(p.Issues, IssueLinkView{Number: "#" + strconv.FormatInt(issue.Number, 10), Title: visibleText(issue.Title.String()), State: string(issue.State), Href: issueHref(d.name(), issue.Number), Closes: issue.Closes}) | |
| 656 | + | } | |
| 657 | + | ||
| 637 | 658 | lines, invisible := diffLines(p.Files) | |
| 638 | 659 | p.Invisible = invisible | |
| 639 | 660 | p.DiffView = newDiffView(r, lines, withFrom(self+"?view=unified", from), withFrom(self+"?view=split", from)) | |
| @@ -1010,7 +1031,7 @@ func (s *Server) placeComments(ctx context.Context, p *MRPage, repo string, n in | |||
| 1010 | 1031 | if err != nil { | |
| 1011 | 1032 | bodySplit = "" | |
| 1012 | 1033 | } | |
| 1013 | - | v := CommentView{BodySplit: bodySplit, ID: cid, Author: s.who(c.Author), Body: body, Resolved: c.Resolved, Deleted: c.Deleted, Edited: !c.EditedAt.IsZero(), Verdict: c.Verdict.String(), Outdated: !c.CommitID.IsZero() && c.CommitID.String() != head} | |
| 1034 | + | v := CommentView{createdAt: c.CreatedAt, BodySplit: bodySplit, ID: cid, Author: s.who(c.Author), Body: body, Resolved: c.Resolved, Deleted: c.Deleted, Edited: !c.EditedAt.IsZero(), Verdict: c.Verdict.String(), Outdated: !c.CommitID.IsZero() && c.CommitID.String() != head} | |
| 1014 | 1035 | v.When, v.WhenAt = whenOf(now, c.CreatedAt) | |
| 1015 | 1036 | if !c.CreatedAt.IsZero() { | |
| 1016 | 1037 | v.Abs = absolute(c.CreatedAt) | |
| @@ -99,6 +99,7 @@ type MRListPage struct { | |||||
| 99 | 99 | ||||
| 100 | // CommentView is a comment of a merge request, ready to show. | 100 | // CommentView is a comment of a merge request, ready to show. | ||
| 101 | type CommentView struct { | 101 | type CommentView struct { | ||
| 102 | + | createdAt time.Time | |||
| 102 | ID string | 103 | ID string | ||
| 103 | Author string | 104 | Author string | ||
| 104 | When string | 105 | When string | ||
| @@ -296,6 +297,8 @@ type MRPage struct { | |||||
| 296 | // loaded later) the loose comments of a listed file go under the file | 297 | // loaded later) the loose comments of a listed file go under the file | ||
| 297 | // instead (DiffFile.Loose). | 298 | // instead (DiffFile.Loose). | ||
| 298 | General, Loose []CommentView | 299 | General, Loose []CommentView | ||
| 300 | + | Timeline []TimelineItem | |||
| 301 | + | Issues []IssueLinkView | |||
| 299 | LooseInFiles bool | 302 | LooseInFiles bool | ||
| 300 | NComments int | 303 | NComments int | ||
| 301 | NUnresolved int | 304 | NUnresolved int | ||
| @@ -634,6 +637,24 @@ func (s *Server) mrPageView(ctx context.Context, r *http.Request, since, fragmen | |||||
| 634 | on = parseOn(r.URL.Query().Get("on")) | 637 | on = parseOn(r.URL.Query().Get("on")) | ||
| 635 | } | 638 | } | ||
| 636 | s.placeComments(ctx, &p, d.name(), n, res.Comments, head, !since, canWrite, on) | 639 | s.placeComments(ctx, &p, d.name(), n, res.Comments, head, !since, canWrite, on) | ||
| 640 | + | p.Timeline = s.issueTimeline(d.name(), p.General, res.IssueEvents, true) | |||
| 641 | + | // Event DTOs carry MR titles, not issue titles. Enrich from current links | |||
| 642 | + | // when available; removed references still retain a numbered history link. | |||
| 643 | + | issueTitles := make(map[string]string, len(res.Issues)) | |||
| 644 | + | for _, issue := range res.Issues { | |||
| 645 | + | issueTitles[issueHref(d.name(), issue.Number)] = visibleText(issue.Title.String()) | |||
| 646 | + | } | |||
| 647 | + | for _, item := range p.Timeline { | |||
| 648 | + | if item.Event != nil && item.Event.MR != nil { | |||
| 649 | + | if title := issueTitles[item.Event.MR.Href]; title != "" { | |||
| 650 | + | item.Event.MR.Label += " " + title | |||
| 651 | + | } | |||
| 652 | + | } | |||
| 653 | + | } | |||
| 654 | + | for _, issue := range res.Issues { | |||
| 655 | + | p.Issues = append(p.Issues, IssueLinkView{Number: "#" + strconv.FormatInt(issue.Number, 10), Title: visibleText(issue.Title.String()), State: string(issue.State), Href: issueHref(d.name(), issue.Number), Closes: issue.Closes}) | |||
| 656 | + | } | |||
| 657 | + | ||||
| 637 | lines, invisible := diffLines(p.Files) | 658 | lines, invisible := diffLines(p.Files) | ||
| 638 | p.Invisible = invisible | 659 | p.Invisible = invisible | ||
| 639 | p.DiffView = newDiffView(r, lines, withFrom(self+"?view=unified", from), withFrom(self+"?view=split", from)) | 660 | p.DiffView = newDiffView(r, lines, withFrom(self+"?view=unified", from), withFrom(self+"?view=split", from)) | ||
| @@ -1010,7 +1031,7 @@ func (s *Server) placeComments(ctx context.Context, p *MRPage, repo string, n in | |||||
| 1010 | if err != nil { | 1031 | if err != nil { | ||
| 1011 | bodySplit = "" | 1032 | bodySplit = "" | ||
| 1012 | } | 1033 | } | ||
| 1013 | - | v := CommentView{BodySplit: bodySplit, ID: cid, Author: s.who(c.Author), Body: body, Resolved: c.Resolved, Deleted: c.Deleted, Edited: !c.EditedAt.IsZero(), Verdict: c.Verdict.String(), Outdated: !c.CommitID.IsZero() && c.CommitID.String() != head} | 1034 | + | v := CommentView{createdAt: c.CreatedAt, BodySplit: bodySplit, ID: cid, Author: s.who(c.Author), Body: body, Resolved: c.Resolved, Deleted: c.Deleted, Edited: !c.EditedAt.IsZero(), Verdict: c.Verdict.String(), Outdated: !c.CommitID.IsZero() && c.CommitID.String() != head} |
| 1014 | v.When, v.WhenAt = whenOf(now, c.CreatedAt) | 1035 | v.When, v.WhenAt = whenOf(now, c.CreatedAt) | ||
| 1015 | if !c.CreatedAt.IsZero() { | 1036 | if !c.CreatedAt.IsZero() { | ||
| 1016 | v.Abs = absolute(c.CreatedAt) | 1037 | v.Abs = absolute(c.CreatedAt) | ||
M internal/adapters/web/mr.templ +21 -7
| @@ -214,9 +214,7 @@ templ MergeRequest(l Layout, p MRPage) { | |||
| 214 | 214 | for _, c := range p.Loose { | |
| 215 | 215 | @commentView(c, "") | |
| 216 | 216 | } | |
| 217 | - | for _, c := range p.General { | |
| 218 | - | @commentView(c, "") | |
| 219 | - | } | |
| 217 | + | @issueTimeline(p.Timeline) | |
| 220 | 218 | if p.NComments == 0 { | |
| 221 | 219 | <p class="dim">no comments yet.</p> | |
| 222 | 220 | } | |
| @@ -267,7 +265,8 @@ templ commentView(c CommentView, suffix string) { | |||
| 267 | 265 | } | |
| 268 | 266 | </p> | |
| 269 | 267 | if len(c.Parts) > 0 { | |
| 270 | - | <p class="c-text">@userText(c.Parts)</p> | |
| 268 | + | <p class="c-text">@userText(c.Parts) | |
| 269 | + | </p> | |
| 271 | 270 | } else if c.Deleted { | |
| 272 | 271 | if c.Verdict != "" { | |
| 273 | 272 | <p class="mute">text deleted</p> | |
| @@ -428,6 +427,21 @@ templ mrFooter(p MRPage) { | |||
| 428 | 427 | } | |
| 429 | 428 | ||
| 430 | 429 | templ mrRail(p MRPage) { | |
| 430 | + | if len(p.Issues) > 0 { | |
| 431 | + | <section aria-labelledby="r-issues"> | |
| 432 | + | <h2 id="r-issues">Issues</h2> | |
| 433 | + | <ul> | |
| 434 | + | for _, i := range p.Issues { | |
| 435 | + | <li> | |
| 436 | + | <a class="ref" href={ templ.SafeURL(i.Href) }>{ i.Number } { i.Title }</a>{ " " }<span class="mr-state" data-state={ i.State }>{ i.State }</span> | |
| 437 | + | if i.Closes { | |
| 438 | + | { " · resolves" } | |
| 439 | + | } | |
| 440 | + | </li> | |
| 441 | + | } | |
| 442 | + | </ul> | |
| 443 | + | </section> | |
| 444 | + | } | |
| 431 | 445 | <section aria-labelledby="r-files" class="r-files"> | |
| 432 | 446 | <h2 id="r-files"> | |
| 433 | 447 | Files <span class="count">{ itoa(len(p.Files)) }</span><kbd aria-hidden="true">l</kbd> | |
| @@ -808,7 +822,7 @@ templ mrActions(p MRPage, fragment bool) { | |||
| 808 | 822 | ||
| 809 | 823 | // MRActionStatus remains visible even when the request detail cannot be read. | |
| 810 | 824 | templ MRActionStatus(message, href string) { | |
| 811 | - | <div id="mr-actions" class="mr-acts" hx-swap-oob="true"> | |
| 812 | - | <p class="d-err" role="alert">{ message } <a href={ templ.SafeURL(href) }>reload</a></p> | |
| 813 | - | </div> | |
| 825 | + | <div id="mr-actions" class="mr-acts" hx-swap-oob="true"> | |
| 826 | + | <p class="d-err" role="alert">{ message } <a href={ templ.SafeURL(href) }>reload</a></p> | |
| 827 | + | </div> | |
| 814 | 828 | } | |
| @@ -214,9 +214,7 @@ templ MergeRequest(l Layout, p MRPage) { | |||||
| 214 | for _, c := range p.Loose { | 214 | for _, c := range p.Loose { | ||
| 215 | @commentView(c, "") | 215 | @commentView(c, "") | ||
| 216 | } | 216 | } | ||
| 217 | - | for _, c := range p.General { | 217 | + | @issueTimeline(p.Timeline) |
| 218 | - | @commentView(c, "") | |||
| 219 | - | } | |||
| 220 | if p.NComments == 0 { | 218 | if p.NComments == 0 { | ||
| 221 | <p class="dim">no comments yet.</p> | 219 | <p class="dim">no comments yet.</p> | ||
| 222 | } | 220 | } | ||
| @@ -267,7 +265,8 @@ templ commentView(c CommentView, suffix string) { | |||||
| 267 | } | 265 | } | ||
| 268 | </p> | 266 | </p> | ||
| 269 | if len(c.Parts) > 0 { | 267 | if len(c.Parts) > 0 { | ||
| 270 | - | <p class="c-text">@userText(c.Parts)</p> | 268 | + | <p class="c-text">@userText(c.Parts) |
| 269 | + | </p> | |||
| 271 | } else if c.Deleted { | 270 | } else if c.Deleted { | ||
| 272 | if c.Verdict != "" { | 271 | if c.Verdict != "" { | ||
| 273 | <p class="mute">text deleted</p> | 272 | <p class="mute">text deleted</p> | ||
| @@ -428,6 +427,21 @@ templ mrFooter(p MRPage) { | |||||
| 428 | } | 427 | } | ||
| 429 | 428 | ||||
| 430 | templ mrRail(p MRPage) { | 429 | templ mrRail(p MRPage) { | ||
| 430 | + | if len(p.Issues) > 0 { | |||
| 431 | + | <section aria-labelledby="r-issues"> | |||
| 432 | + | <h2 id="r-issues">Issues</h2> | |||
| 433 | + | <ul> | |||
| 434 | + | for _, i := range p.Issues { | |||
| 435 | + | <li> | |||
| 436 | + | <a class="ref" href={ templ.SafeURL(i.Href) }>{ i.Number } { i.Title }</a>{ " " }<span class="mr-state" data-state={ i.State }>{ i.State }</span> | |||
| 437 | + | if i.Closes { | |||
| 438 | + | { " · resolves" } | |||
| 439 | + | } | |||
| 440 | + | </li> | |||
| 441 | + | } | |||
| 442 | + | </ul> | |||
| 443 | + | </section> | |||
| 444 | + | } | |||
| 431 | <section aria-labelledby="r-files" class="r-files"> | 445 | <section aria-labelledby="r-files" class="r-files"> | ||
| 432 | <h2 id="r-files"> | 446 | <h2 id="r-files"> | ||
| 433 | Files <span class="count">{ itoa(len(p.Files)) }</span><kbd aria-hidden="true">l</kbd> | 447 | Files <span class="count">{ itoa(len(p.Files)) }</span><kbd aria-hidden="true">l</kbd> | ||
| @@ -808,7 +822,7 @@ templ mrActions(p MRPage, fragment bool) { | |||||
| 808 | 822 | ||||
| 809 | // MRActionStatus remains visible even when the request detail cannot be read. | 823 | // MRActionStatus remains visible even when the request detail cannot be read. | ||
| 810 | templ MRActionStatus(message, href string) { | 824 | templ MRActionStatus(message, href string) { | ||
| 811 | - | <div id="mr-actions" class="mr-acts" hx-swap-oob="true"> | 825 | + | <div id="mr-actions" class="mr-acts" hx-swap-oob="true"> |
| 812 | - | <p class="d-err" role="alert">{ message } <a href={ templ.SafeURL(href) }>reload</a></p> | 826 | + | <p class="d-err" role="alert">{ message } <a href={ templ.SafeURL(href) }>reload</a></p> |
| 813 | - | </div> | 827 | + | </div> |
| 814 | } | 828 | } | ||
M internal/adapters/web/mr_templ.go +725 -618
| @@ -1088,11 +1088,9 @@ func MergeRequest(l Layout, p MRPage) templ.Component { | |||
| 1088 | 1088 | return templ_7745c5c3_Err | |
| 1089 | 1089 | } | |
| 1090 | 1090 | } | |
| 1091 | - | for _, c := range p.General { | |
| 1092 | - | templ_7745c5c3_Err = commentView(c, "").Render(ctx, templ_7745c5c3_Buffer) | |
| 1093 | - | if templ_7745c5c3_Err != nil { | |
| 1094 | - | return templ_7745c5c3_Err | |
| 1095 | - | } | |
| 1091 | + | templ_7745c5c3_Err = issueTimeline(p.Timeline).Render(ctx, templ_7745c5c3_Buffer) | |
| 1092 | + | if templ_7745c5c3_Err != nil { | |
| 1093 | + | return templ_7745c5c3_Err | |
| 1096 | 1094 | } | |
| 1097 | 1095 | if p.NComments == 0 { | |
| 1098 | 1096 | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 109, "<p class=\"dim\">no comments yet.</p>") | |
| @@ -1149,7 +1147,7 @@ func branchLink(name, href string) templ.Component { | |||
| 1149 | 1147 | var templ_7745c5c3_Var51 templ.SafeURL | |
| 1150 | 1148 | templ_7745c5c3_Var51, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href)) | |
| 1151 | 1149 | if templ_7745c5c3_Err != nil { | |
| 1152 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 232, Col: 31} | |
| 1150 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 230, Col: 31} | |
| 1153 | 1151 | } | |
| 1154 | 1152 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var51)) | |
| 1155 | 1153 | if templ_7745c5c3_Err != nil { | |
| @@ -1162,7 +1160,7 @@ func branchLink(name, href string) templ.Component { | |||
| 1162 | 1160 | var templ_7745c5c3_Var52 string | |
| 1163 | 1161 | templ_7745c5c3_Var52, templ_7745c5c3_Err = templ.JoinStringErrs(name) | |
| 1164 | 1162 | if templ_7745c5c3_Err != nil { | |
| 1165 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 232, Col: 40} | |
| 1163 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 230, Col: 40} | |
| 1166 | 1164 | } | |
| 1167 | 1165 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var52)) | |
| 1168 | 1166 | if templ_7745c5c3_Err != nil { | |
| @@ -1176,7 +1174,7 @@ func branchLink(name, href string) templ.Component { | |||
| 1176 | 1174 | var templ_7745c5c3_Var53 string | |
| 1177 | 1175 | templ_7745c5c3_Var53, templ_7745c5c3_Err = templ.JoinStringErrs(name) | |
| 1178 | 1176 | if templ_7745c5c3_Err != nil { | |
| 1179 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 234, Col: 8} | |
| 1177 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 232, Col: 8} | |
| 1180 | 1178 | } | |
| 1181 | 1179 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var53)) | |
| 1182 | 1180 | if templ_7745c5c3_Err != nil { | |
| @@ -1257,7 +1255,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1257 | 1255 | var templ_7745c5c3_Var56 string | |
| 1258 | 1256 | templ_7745c5c3_Var56, templ_7745c5c3_Err = templ.ResolveAttributeValue("c" + c.ID + suffix) | |
| 1259 | 1257 | if templ_7745c5c3_Err != nil { | |
| 1260 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 253, Col: 42} | |
| 1258 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 251, Col: 42} | |
| 1261 | 1259 | } | |
| 1262 | 1260 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var56) | |
| 1263 | 1261 | if templ_7745c5c3_Err != nil { | |
| @@ -1270,7 +1268,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1270 | 1268 | var templ_7745c5c3_Var57 string | |
| 1271 | 1269 | templ_7745c5c3_Var57, templ_7745c5c3_Err = templ.ResolveAttributeValue(boolText(c.Resolved)) | |
| 1272 | 1270 | if templ_7745c5c3_Err != nil { | |
| 1273 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 253, Col: 81} | |
| 1271 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 251, Col: 81} | |
| 1274 | 1272 | } | |
| 1275 | 1273 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var57) | |
| 1276 | 1274 | if templ_7745c5c3_Err != nil { | |
| @@ -1293,7 +1291,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1293 | 1291 | var templ_7745c5c3_Var58 string | |
| 1294 | 1292 | templ_7745c5c3_Var58, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) | |
| 1295 | 1293 | if templ_7745c5c3_Err != nil { | |
| 1296 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 255, Col: 33} | |
| 1294 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 253, Col: 33} | |
| 1297 | 1295 | } | |
| 1298 | 1296 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var58)) | |
| 1299 | 1297 | if templ_7745c5c3_Err != nil { | |
| @@ -1307,7 +1305,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1307 | 1305 | var templ_7745c5c3_Var59 string | |
| 1308 | 1306 | templ_7745c5c3_Var59, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |
| 1309 | 1307 | if templ_7745c5c3_Err != nil { | |
| 1310 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 257, Col: 9} | |
| 1308 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 255, Col: 9} | |
| 1311 | 1309 | } | |
| 1312 | 1310 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var59)) | |
| 1313 | 1311 | if templ_7745c5c3_Err != nil { | |
| @@ -1320,7 +1318,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1320 | 1318 | var templ_7745c5c3_Var60 string | |
| 1321 | 1319 | templ_7745c5c3_Var60, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) | |
| 1322 | 1320 | if templ_7745c5c3_Err != nil { | |
| 1323 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 257, Col: 49} | |
| 1321 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 255, Col: 49} | |
| 1324 | 1322 | } | |
| 1325 | 1323 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var60) | |
| 1326 | 1324 | if templ_7745c5c3_Err != nil { | |
| @@ -1333,7 +1331,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1333 | 1331 | var templ_7745c5c3_Var61 string | |
| 1334 | 1332 | templ_7745c5c3_Var61, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Abs) | |
| 1335 | 1333 | if templ_7745c5c3_Err != nil { | |
| 1336 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 257, Col: 65} | |
| 1334 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 255, Col: 65} | |
| 1337 | 1335 | } | |
| 1338 | 1336 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var61) | |
| 1339 | 1337 | if templ_7745c5c3_Err != nil { | |
| @@ -1346,7 +1344,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1346 | 1344 | var templ_7745c5c3_Var62 string | |
| 1347 | 1345 | templ_7745c5c3_Var62, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) | |
| 1348 | 1346 | if templ_7745c5c3_Err != nil { | |
| 1349 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 257, Col: 76} | |
| 1347 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 255, Col: 76} | |
| 1350 | 1348 | } | |
| 1351 | 1349 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var62)) | |
| 1352 | 1350 | if templ_7745c5c3_Err != nil { | |
| @@ -1361,7 +1359,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1361 | 1359 | var templ_7745c5c3_Var63 string | |
| 1362 | 1360 | templ_7745c5c3_Var63, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |
| 1363 | 1361 | if templ_7745c5c3_Err != nil { | |
| 1364 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 260, Col: 9} | |
| 1362 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 258, Col: 9} | |
| 1365 | 1363 | } | |
| 1366 | 1364 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var63)) | |
| 1367 | 1365 | if templ_7745c5c3_Err != nil { | |
| @@ -1376,7 +1374,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1376 | 1374 | var templ_7745c5c3_Var64 string | |
| 1377 | 1375 | templ_7745c5c3_Var64, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |
| 1378 | 1376 | if templ_7745c5c3_Err != nil { | |
| 1379 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 263, Col: 9} | |
| 1377 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 261, Col: 9} | |
| 1380 | 1378 | } | |
| 1381 | 1379 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var64)) | |
| 1382 | 1380 | if templ_7745c5c3_Err != nil { | |
| @@ -1391,7 +1389,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1391 | 1389 | var templ_7745c5c3_Var65 string | |
| 1392 | 1390 | templ_7745c5c3_Var65, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |
| 1393 | 1391 | if templ_7745c5c3_Err != nil { | |
| 1394 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 266, Col: 9} | |
| 1392 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 264, Col: 9} | |
| 1395 | 1393 | } | |
| 1396 | 1394 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var65)) | |
| 1397 | 1395 | if templ_7745c5c3_Err != nil { | |
| @@ -1404,7 +1402,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1404 | 1402 | var templ_7745c5c3_Var66 string | |
| 1405 | 1403 | templ_7745c5c3_Var66, templ_7745c5c3_Err = templ.JoinStringErrs(c.Where) | |
| 1406 | 1404 | if templ_7745c5c3_Err != nil { | |
| 1407 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 266, Col: 47} | |
| 1405 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 264, Col: 47} | |
| 1408 | 1406 | } | |
| 1409 | 1407 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var66)) | |
| 1410 | 1408 | if templ_7745c5c3_Err != nil { | |
| @@ -1479,7 +1477,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1479 | 1477 | var templ_7745c5c3_Var67 string | |
| 1480 | 1478 | templ_7745c5c3_Var67, templ_7745c5c3_Err = templ.JoinStringErrs(c.Verdict) | |
| 1481 | 1479 | if templ_7745c5c3_Err != nil { | |
| 1482 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 290, Col: 36} | |
| 1480 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 289, Col: 36} | |
| 1483 | 1481 | } | |
| 1484 | 1482 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var67)) | |
| 1485 | 1483 | if templ_7745c5c3_Err != nil { | |
| @@ -1498,7 +1496,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1498 | 1496 | var templ_7745c5c3_Var68 string | |
| 1499 | 1497 | templ_7745c5c3_Var68, templ_7745c5c3_Err = templ.JoinStringErrs(c.Range) | |
| 1500 | 1498 | if templ_7745c5c3_Err != nil { | |
| 1501 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 293, Col: 31} | |
| 1499 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 292, Col: 31} | |
| 1502 | 1500 | } | |
| 1503 | 1501 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var68)) | |
| 1504 | 1502 | if templ_7745c5c3_Err != nil { | |
| @@ -1517,7 +1515,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1517 | 1515 | var templ_7745c5c3_Var69 string | |
| 1518 | 1516 | templ_7745c5c3_Var69, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Quote) | |
| 1519 | 1517 | if templ_7745c5c3_Err != nil { | |
| 1520 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 296, Col: 65} | |
| 1518 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 295, Col: 65} | |
| 1521 | 1519 | } | |
| 1522 | 1520 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var69) | |
| 1523 | 1521 | if templ_7745c5c3_Err != nil { | |
| @@ -1536,7 +1534,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1536 | 1534 | var templ_7745c5c3_Var70 templ.SafeURL | |
| 1537 | 1535 | templ_7745c5c3_Var70, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Edit.Action)) | |
| 1538 | 1536 | if templ_7745c5c3_Err != nil { | |
| 1539 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 299, Col: 92} | |
| 1537 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 298, Col: 92} | |
| 1540 | 1538 | } | |
| 1541 | 1539 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var70)) | |
| 1542 | 1540 | if templ_7745c5c3_Err != nil { | |
| @@ -1549,7 +1547,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1549 | 1547 | var templ_7745c5c3_Var71 string | |
| 1550 | 1548 | templ_7745c5c3_Var71, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Edit.From)) | |
| 1551 | 1549 | if templ_7745c5c3_Err != nil { | |
| 1552 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 299, Col: 153} | |
| 1550 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 298, Col: 153} | |
| 1553 | 1551 | } | |
| 1554 | 1552 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var71) | |
| 1555 | 1553 | if templ_7745c5c3_Err != nil { | |
| @@ -1562,7 +1560,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1562 | 1560 | var templ_7745c5c3_Var72 string | |
| 1563 | 1561 | templ_7745c5c3_Var72, templ_7745c5c3_Err = templ.JoinStringErrs(c.Edit.Text) | |
| 1564 | 1562 | if templ_7745c5c3_Err != nil { | |
| 1565 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 299, Col: 232} | |
| 1563 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 298, Col: 232} | |
| 1566 | 1564 | } | |
| 1567 | 1565 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var72)) | |
| 1568 | 1566 | if templ_7745c5c3_Err != nil { | |
| @@ -1581,7 +1579,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1581 | 1579 | var templ_7745c5c3_Var73 templ.SafeURL | |
| 1582 | 1580 | templ_7745c5c3_Var73, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Delete.Action)) | |
| 1583 | 1581 | if templ_7745c5c3_Err != nil { | |
| 1584 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 302, Col: 96} | |
| 1582 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 301, Col: 96} | |
| 1585 | 1583 | } | |
| 1586 | 1584 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var73)) | |
| 1587 | 1585 | if templ_7745c5c3_Err != nil { | |
| @@ -1594,7 +1592,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1594 | 1592 | var templ_7745c5c3_Var74 string | |
| 1595 | 1593 | templ_7745c5c3_Var74, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Delete.From)) | |
| 1596 | 1594 | if templ_7745c5c3_Err != nil { | |
| 1597 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 302, Col: 159} | |
| 1595 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 301, Col: 159} | |
| 1598 | 1596 | } | |
| 1599 | 1597 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var74) | |
| 1600 | 1598 | if templ_7745c5c3_Err != nil { | |
| @@ -1633,7 +1631,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1633 | 1631 | var templ_7745c5c3_Var75 templ.SafeURL | |
| 1634 | 1632 | templ_7745c5c3_Var75, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Resolve.Action)) | |
| 1635 | 1633 | if templ_7745c5c3_Err != nil { | |
| 1636 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 313, Col: 77} | |
| 1634 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 312, Col: 77} | |
| 1637 | 1635 | } | |
| 1638 | 1636 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var75)) | |
| 1639 | 1637 | if templ_7745c5c3_Err != nil { | |
| @@ -1646,7 +1644,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1646 | 1644 | var templ_7745c5c3_Var76 string | |
| 1647 | 1645 | templ_7745c5c3_Var76, templ_7745c5c3_Err = templ.ResolveAttributeValue(boolText(c.Resolve.Value)) | |
| 1648 | 1646 | if templ_7745c5c3_Err != nil { | |
| 1649 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 314, Col: 74} | |
| 1647 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 313, Col: 74} | |
| 1650 | 1648 | } | |
| 1651 | 1649 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var76) | |
| 1652 | 1650 | if templ_7745c5c3_Err != nil { | |
| @@ -1664,7 +1662,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1664 | 1662 | var templ_7745c5c3_Var77 string | |
| 1665 | 1663 | templ_7745c5c3_Var77, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Resolve.From)) | |
| 1666 | 1664 | if templ_7745c5c3_Err != nil { | |
| 1667 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 316, Col: 66} | |
| 1665 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 315, Col: 66} | |
| 1668 | 1666 | } | |
| 1669 | 1667 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var77) | |
| 1670 | 1668 | if templ_7745c5c3_Err != nil { | |
| @@ -1682,7 +1680,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||
| 1682 | 1680 | var templ_7745c5c3_Var78 string | |
| 1683 | 1681 | templ_7745c5c3_Var78, templ_7745c5c3_Err = templ.JoinStringErrs(c.Resolve.Label) | |
| 1684 | 1682 | if templ_7745c5c3_Err != nil { | |
| 1685 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 318, Col: 55} | |
| 1683 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 317, Col: 55} | |
| 1686 | 1684 | } | |
| 1687 | 1685 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var78)) | |
| 1688 | 1686 | if templ_7745c5c3_Err != nil { | |
| @@ -1737,7 +1735,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||
| 1737 | 1735 | var templ_7745c5c3_Var80 templ.SafeURL | |
| 1738 | 1736 | templ_7745c5c3_Var80, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(f.Action)) | |
| 1739 | 1737 | if templ_7745c5c3_Err != nil { | |
| 1740 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 333, Col: 67} | |
| 1738 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 332, Col: 67} | |
| 1741 | 1739 | } | |
| 1742 | 1740 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var80)) | |
| 1743 | 1741 | if templ_7745c5c3_Err != nil { | |
| @@ -1750,7 +1748,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||
| 1750 | 1748 | var templ_7745c5c3_Var81 string | |
| 1751 | 1749 | templ_7745c5c3_Var81, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ID + suffix) | |
| 1752 | 1750 | if templ_7745c5c3_Err != nil { | |
| 1753 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 334, Col: 28} | |
| 1751 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 333, Col: 28} | |
| 1754 | 1752 | } | |
| 1755 | 1753 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var81) | |
| 1756 | 1754 | if templ_7745c5c3_Err != nil { | |
| @@ -1763,7 +1761,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||
| 1763 | 1761 | var templ_7745c5c3_Var82 string | |
| 1764 | 1762 | templ_7745c5c3_Var82, templ_7745c5c3_Err = templ.JoinStringErrs(f.Title) | |
| 1765 | 1763 | if templ_7745c5c3_Err != nil { | |
| 1766 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 334, Col: 40} | |
| 1764 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 333, Col: 40} | |
| 1767 | 1765 | } | |
| 1768 | 1766 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var82)) | |
| 1769 | 1767 | if templ_7745c5c3_Err != nil { | |
| @@ -1776,7 +1774,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||
| 1776 | 1774 | var templ_7745c5c3_Var83 string | |
| 1777 | 1775 | templ_7745c5c3_Var83, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ID + suffix) | |
| 1778 | 1776 | if templ_7745c5c3_Err != nil { | |
| 1779 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 336, Col: 21} | |
| 1777 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 335, Col: 21} | |
| 1780 | 1778 | } | |
| 1781 | 1779 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var83) | |
| 1782 | 1780 | if templ_7745c5c3_Err != nil { | |
| @@ -1815,7 +1813,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||
| 1815 | 1813 | var templ_7745c5c3_Var84 string | |
| 1816 | 1814 | templ_7745c5c3_Var84, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Path) | |
| 1817 | 1815 | if templ_7745c5c3_Err != nil { | |
| 1818 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 351, Col: 50} | |
| 1816 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 350, Col: 50} | |
| 1819 | 1817 | } | |
| 1820 | 1818 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var84) | |
| 1821 | 1819 | if templ_7745c5c3_Err != nil { | |
| @@ -1828,7 +1826,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||
| 1828 | 1826 | var templ_7745c5c3_Var85 string | |
| 1829 | 1827 | templ_7745c5c3_Var85, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Line) | |
| 1830 | 1828 | if templ_7745c5c3_Err != nil { | |
| 1831 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 352, Col: 50} | |
| 1829 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 351, Col: 50} | |
| 1832 | 1830 | } | |
| 1833 | 1831 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var85) | |
| 1834 | 1832 | if templ_7745c5c3_Err != nil { | |
| @@ -1841,7 +1839,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||
| 1841 | 1839 | var templ_7745c5c3_Var86 string | |
| 1842 | 1840 | templ_7745c5c3_Var86, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Side) | |
| 1843 | 1841 | if templ_7745c5c3_Err != nil { | |
| 1844 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 353, Col: 50} | |
| 1842 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 352, Col: 50} | |
| 1845 | 1843 | } | |
| 1846 | 1844 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var86) | |
| 1847 | 1845 | if templ_7745c5c3_Err != nil { | |
| @@ -1854,7 +1852,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||
| 1854 | 1852 | var templ_7745c5c3_Var87 string | |
| 1855 | 1853 | templ_7745c5c3_Var87, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.StartLine) | |
| 1856 | 1854 | if templ_7745c5c3_Err != nil { | |
| 1857 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 354, Col: 86} | |
| 1855 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 353, Col: 86} | |
| 1858 | 1856 | } | |
| 1859 | 1857 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var87) | |
| 1860 | 1858 | if templ_7745c5c3_Err != nil { | |
| @@ -1873,7 +1871,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||
| 1873 | 1871 | var templ_7745c5c3_Var88 string | |
| 1874 | 1872 | templ_7745c5c3_Var88, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ReplyTo) | |
| 1875 | 1873 | if templ_7745c5c3_Err != nil { | |
| 1876 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 357, Col: 57} | |
| 1874 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 356, Col: 57} | |
| 1877 | 1875 | } | |
| 1878 | 1876 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var88) | |
| 1879 | 1877 | if templ_7745c5c3_Err != nil { | |
| @@ -1898,7 +1896,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||
| 1898 | 1896 | var templ_7745c5c3_Var89 string | |
| 1899 | 1897 | templ_7745c5c3_Var89, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(f.From)) | |
| 1900 | 1898 | if templ_7745c5c3_Err != nil { | |
| 1901 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 363, Col: 56} | |
| 1899 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 362, Col: 56} | |
| 1902 | 1900 | } | |
| 1903 | 1901 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var89) | |
| 1904 | 1902 | if templ_7745c5c3_Err != nil { | |
| @@ -1921,7 +1919,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||
| 1921 | 1919 | var templ_7745c5c3_Var90 templ.SafeURL | |
| 1922 | 1920 | templ_7745c5c3_Var90, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(f.Cancel)) | |
| 1923 | 1921 | if templ_7745c5c3_Err != nil { | |
| 1924 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 368, Col: 49} | |
| 1922 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 367, Col: 49} | |
| 1925 | 1923 | } | |
| 1926 | 1924 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var90)) | |
| 1927 | 1925 | if templ_7745c5c3_Err != nil { | |
| @@ -1968,7 +1966,7 @@ func mrFooter(p MRPage) templ.Component { | |||
| 1968 | 1966 | var templ_7745c5c3_Var92 string | |
| 1969 | 1967 | templ_7745c5c3_Var92, templ_7745c5c3_Err = templ.JoinStringErrs(p.CommitCount) | |
| 1970 | 1968 | if templ_7745c5c3_Err != nil { | |
| 1971 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 377, Col: 136} | |
| 1969 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 376, Col: 136} | |
| 1972 | 1970 | } | |
| 1973 | 1971 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var92)) | |
| 1974 | 1972 | if templ_7745c5c3_Err != nil { | |
| @@ -1981,7 +1979,7 @@ func mrFooter(p MRPage) templ.Component { | |||
| 1981 | 1979 | var templ_7745c5c3_Var93 string | |
| 1982 | 1980 | templ_7745c5c3_Var93, templ_7745c5c3_Err = templ.JoinStringErrs("Checks ") | |
| 1983 | 1981 | if templ_7745c5c3_Err != nil { | |
| 1984 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 379, Col: 15} | |
| 1982 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 378, Col: 15} | |
| 1985 | 1983 | } | |
| 1986 | 1984 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var93)) | |
| 1987 | 1985 | if templ_7745c5c3_Err != nil { | |
| @@ -1995,7 +1993,7 @@ func mrFooter(p MRPage) templ.Component { | |||
| 1995 | 1993 | var templ_7745c5c3_Var94 string | |
| 1996 | 1994 | templ_7745c5c3_Var94, templ_7745c5c3_Err = templ.JoinStringErrs(p.ChecksSum.Title) | |
| 1997 | 1995 | if templ_7745c5c3_Err != nil { | |
| 1998 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 382, Col: 25} | |
| 1996 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 381, Col: 25} | |
| 1999 | 1997 | } | |
| 2000 | 1998 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var94)) | |
| 2001 | 1999 | if templ_7745c5c3_Err != nil { | |
| @@ -2029,7 +2027,7 @@ func mrFooter(p MRPage) templ.Component { | |||
| 2029 | 2027 | var templ_7745c5c3_Var95 templ.SafeURL | |
| 2030 | 2028 | templ_7745c5c3_Var95, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Href)) | |
| 2031 | 2029 | if templ_7745c5c3_Err != nil { | |
| 2032 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 395, Col: 42} | |
| 2030 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 394, Col: 42} | |
| 2033 | 2031 | } | |
| 2034 | 2032 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var95)) | |
| 2035 | 2033 | if templ_7745c5c3_Err != nil { | |
| @@ -2042,7 +2040,7 @@ func mrFooter(p MRPage) templ.Component { | |||
| 2042 | 2040 | var templ_7745c5c3_Var96 string | |
| 2043 | 2041 | templ_7745c5c3_Var96, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short) | |
| 2044 | 2042 | if templ_7745c5c3_Err != nil { | |
| 2045 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 395, Col: 54} | |
| 2043 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 394, Col: 54} | |
| 2046 | 2044 | } | |
| 2047 | 2045 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var96)) | |
| 2048 | 2046 | if templ_7745c5c3_Err != nil { | |
| @@ -2055,7 +2053,7 @@ func mrFooter(p MRPage) templ.Component { | |||
| 2055 | 2053 | var templ_7745c5c3_Var97 string | |
| 2056 | 2054 | templ_7745c5c3_Var97, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject) | |
| 2057 | 2055 | if templ_7745c5c3_Err != nil { | |
| 2058 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 396, Col: 22} | |
| 2056 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 395, Col: 22} | |
| 2059 | 2057 | } | |
| 2060 | 2058 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var97)) | |
| 2061 | 2059 | if templ_7745c5c3_Err != nil { | |
| @@ -2068,7 +2066,7 @@ func mrFooter(p MRPage) templ.Component { | |||
| 2068 | 2066 | var templ_7745c5c3_Var98 string | |
| 2069 | 2067 | templ_7745c5c3_Var98, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) | |
| 2070 | 2068 | if templ_7745c5c3_Err != nil { | |
| 2071 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 397, Col: 21} | |
| 2069 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 396, Col: 21} | |
| 2072 | 2070 | } | |
| 2073 | 2071 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var98)) | |
| 2074 | 2072 | if templ_7745c5c3_Err != nil { | |
| @@ -2086,7 +2084,7 @@ func mrFooter(p MRPage) templ.Component { | |||
| 2086 | 2084 | var templ_7745c5c3_Var99 string | |
| 2087 | 2085 | templ_7745c5c3_Var99, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) | |
| 2088 | 2086 | if templ_7745c5c3_Err != nil { | |
| 2089 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 400, Col: 34} | |
| 2087 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 399, Col: 34} | |
| 2090 | 2088 | } | |
| 2091 | 2089 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var99) | |
| 2092 | 2090 | if templ_7745c5c3_Err != nil { | |
| @@ -2099,7 +2097,7 @@ func mrFooter(p MRPage) templ.Component { | |||
| 2099 | 2097 | var templ_7745c5c3_Var100 string | |
| 2100 | 2098 | templ_7745c5c3_Var100, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) | |
| 2101 | 2099 | if templ_7745c5c3_Err != nil { | |
| 2102 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 400, Col: 45} | |
| 2100 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 399, Col: 45} | |
| 2103 | 2101 | } | |
| 2104 | 2102 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var100)) | |
| 2105 | 2103 | if templ_7745c5c3_Err != nil { | |
| @@ -2153,7 +2151,7 @@ func mrFooter(p MRPage) templ.Component { | |||
| 2153 | 2151 | var templ_7745c5c3_Var101 string | |
| 2154 | 2152 | templ_7745c5c3_Var101, templ_7745c5c3_Err = templ.JoinStringErrs(p.CommitsNote) | |
| 2155 | 2153 | if templ_7745c5c3_Err != nil { | |
| 2156 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 421, Col: 35} | |
| 2154 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 420, Col: 35} | |
| 2157 | 2155 | } | |
| 2158 | 2156 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var101)) | |
| 2159 | 2157 | if templ_7745c5c3_Err != nil { | |
| @@ -2201,20 +2199,129 @@ func mrRail(p MRPage) templ.Component { | |||
| 2201 | 2199 | templ_7745c5c3_Var102 = templ.NopComponent | |
| 2202 | 2200 | } | |
| 2203 | 2201 | ctx = templ.ClearChildren(ctx) | |
| 2204 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 207, "<section aria-labelledby=\"r-files\" class=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">") | |
| 2202 | + | if len(p.Issues) > 0 { | |
| 2203 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 207, "<section aria-labelledby=\"r-issues\"><h2 id=\"r-issues\">Issues</h2><ul>") | |
| 2204 | + | if templ_7745c5c3_Err != nil { | |
| 2205 | + | return templ_7745c5c3_Err | |
| 2206 | + | } | |
| 2207 | + | for _, i := range p.Issues { | |
| 2208 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 208, "<li><a class=\"ref\" href=\"") | |
| 2209 | + | if templ_7745c5c3_Err != nil { | |
| 2210 | + | return templ_7745c5c3_Err | |
| 2211 | + | } | |
| 2212 | + | var templ_7745c5c3_Var103 templ.SafeURL | |
| 2213 | + | templ_7745c5c3_Var103, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(i.Href)) | |
| 2214 | + | if templ_7745c5c3_Err != nil { | |
| 2215 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 49} | |
| 2216 | + | } | |
| 2217 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var103)) | |
| 2218 | + | if templ_7745c5c3_Err != nil { | |
| 2219 | + | return templ_7745c5c3_Err | |
| 2220 | + | } | |
| 2221 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 209, "\">") | |
| 2222 | + | if templ_7745c5c3_Err != nil { | |
| 2223 | + | return templ_7745c5c3_Err | |
| 2224 | + | } | |
| 2225 | + | var templ_7745c5c3_Var104 string | |
| 2226 | + | templ_7745c5c3_Var104, templ_7745c5c3_Err = templ.JoinStringErrs(i.Number) | |
| 2227 | + | if templ_7745c5c3_Err != nil { | |
| 2228 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 62} | |
| 2229 | + | } | |
| 2230 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var104)) | |
| 2231 | + | if templ_7745c5c3_Err != nil { | |
| 2232 | + | return templ_7745c5c3_Err | |
| 2233 | + | } | |
| 2234 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 210, " ") | |
| 2235 | + | if templ_7745c5c3_Err != nil { | |
| 2236 | + | return templ_7745c5c3_Err | |
| 2237 | + | } | |
| 2238 | + | var templ_7745c5c3_Var105 string | |
| 2239 | + | templ_7745c5c3_Var105, templ_7745c5c3_Err = templ.JoinStringErrs(i.Title) | |
| 2240 | + | if templ_7745c5c3_Err != nil { | |
| 2241 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 74} | |
| 2242 | + | } | |
| 2243 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var105)) | |
| 2244 | + | if templ_7745c5c3_Err != nil { | |
| 2245 | + | return templ_7745c5c3_Err | |
| 2246 | + | } | |
| 2247 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 211, "</a>") | |
| 2248 | + | if templ_7745c5c3_Err != nil { | |
| 2249 | + | return templ_7745c5c3_Err | |
| 2250 | + | } | |
| 2251 | + | var templ_7745c5c3_Var106 string | |
| 2252 | + | templ_7745c5c3_Var106, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |
| 2253 | + | if templ_7745c5c3_Err != nil { | |
| 2254 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 85} | |
| 2255 | + | } | |
| 2256 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var106)) | |
| 2257 | + | if templ_7745c5c3_Err != nil { | |
| 2258 | + | return templ_7745c5c3_Err | |
| 2259 | + | } | |
| 2260 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 212, "<span class=\"mr-state\" data-state=\"") | |
| 2261 | + | if templ_7745c5c3_Err != nil { | |
| 2262 | + | return templ_7745c5c3_Err | |
| 2263 | + | } | |
| 2264 | + | var templ_7745c5c3_Var107 string | |
| 2265 | + | templ_7745c5c3_Var107, templ_7745c5c3_Err = templ.ResolveAttributeValue(i.State) | |
| 2266 | + | if templ_7745c5c3_Err != nil { | |
| 2267 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 130} | |
| 2268 | + | } | |
| 2269 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var107) | |
| 2270 | + | if templ_7745c5c3_Err != nil { | |
| 2271 | + | return templ_7745c5c3_Err | |
| 2272 | + | } | |
| 2273 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 213, "\">") | |
| 2274 | + | if templ_7745c5c3_Err != nil { | |
| 2275 | + | return templ_7745c5c3_Err | |
| 2276 | + | } | |
| 2277 | + | var templ_7745c5c3_Var108 string | |
| 2278 | + | templ_7745c5c3_Var108, templ_7745c5c3_Err = templ.JoinStringErrs(i.State) | |
| 2279 | + | if templ_7745c5c3_Err != nil { | |
| 2280 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 142} | |
| 2281 | + | } | |
| 2282 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var108)) | |
| 2283 | + | if templ_7745c5c3_Err != nil { | |
| 2284 | + | return templ_7745c5c3_Err | |
| 2285 | + | } | |
| 2286 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 214, "</span> ") | |
| 2287 | + | if templ_7745c5c3_Err != nil { | |
| 2288 | + | return templ_7745c5c3_Err | |
| 2289 | + | } | |
| 2290 | + | if i.Closes { | |
| 2291 | + | var templ_7745c5c3_Var109 string | |
| 2292 | + | templ_7745c5c3_Var109, templ_7745c5c3_Err = templ.JoinStringErrs(" · resolves") | |
| 2293 | + | if templ_7745c5c3_Err != nil { | |
| 2294 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 438, Col: 23} | |
| 2295 | + | } | |
| 2296 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var109)) | |
| 2297 | + | if templ_7745c5c3_Err != nil { | |
| 2298 | + | return templ_7745c5c3_Err | |
| 2299 | + | } | |
| 2300 | + | } | |
| 2301 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 215, "</li>") | |
| 2302 | + | if templ_7745c5c3_Err != nil { | |
| 2303 | + | return templ_7745c5c3_Err | |
| 2304 | + | } | |
| 2305 | + | } | |
| 2306 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 216, "</ul></section>") | |
| 2307 | + | if templ_7745c5c3_Err != nil { | |
| 2308 | + | return templ_7745c5c3_Err | |
| 2309 | + | } | |
| 2310 | + | } | |
| 2311 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 217, "<section aria-labelledby=\"r-files\" class=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">") | |
| 2205 | 2312 | if templ_7745c5c3_Err != nil { | |
| 2206 | 2313 | return templ_7745c5c3_Err | |
| 2207 | 2314 | } | |
| 2208 | - | var templ_7745c5c3_Var103 string | |
| 2209 | - | templ_7745c5c3_Var103, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) | |
| 2315 | + | var templ_7745c5c3_Var110 string | |
| 2316 | + | templ_7745c5c3_Var110, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) | |
| 2210 | 2317 | if templ_7745c5c3_Err != nil { | |
| 2211 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 433, Col: 49} | |
| 2318 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 447, Col: 49} | |
| 2212 | 2319 | } | |
| 2213 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var103)) | |
| 2320 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var110)) | |
| 2214 | 2321 | if templ_7745c5c3_Err != nil { | |
| 2215 | 2322 | return templ_7745c5c3_Err | |
| 2216 | 2323 | } | |
| 2217 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 208, "</span><kbd aria-hidden=\"true\">l</kbd> <button type=\"button\" class=\"btn icon fold\" data-js aria-expanded=\"true\" title=\"fold the list of files\" hx-on:click=\"ermiteMR.foldFiles()\"><span class=\"ico i-chevron\" aria-hidden=\"true\"></span><span class=\"sr\">fold the list of files</span></button></h2>") | |
| 2324 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 218, "</span><kbd aria-hidden=\"true\">l</kbd> <button type=\"button\" class=\"btn icon fold\" data-js aria-expanded=\"true\" title=\"fold the list of files\" hx-on:click=\"ermiteMR.foldFiles()\"><span class=\"ico i-chevron\" aria-hidden=\"true\"></span><span class=\"sr\">fold the list of files</span></button></h2>") | |
| 2218 | 2325 | if templ_7745c5c3_Err != nil { | |
| 2219 | 2326 | return templ_7745c5c3_Err | |
| 2220 | 2327 | } | |
| @@ -2222,71 +2329,71 @@ func mrRail(p MRPage) templ.Component { | |||
| 2222 | 2329 | if templ_7745c5c3_Err != nil { | |
| 2223 | 2330 | return templ_7745c5c3_Err | |
| 2224 | 2331 | } | |
| 2225 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 209, "</section>") | |
| 2332 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 219, "</section>") | |
| 2226 | 2333 | if templ_7745c5c3_Err != nil { | |
| 2227 | 2334 | return templ_7745c5c3_Err | |
| 2228 | 2335 | } | |
| 2229 | 2336 | if len(p.Verdicts) > 0 { | |
| 2230 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 210, "<section><h2>Verdicts</h2><ul>") | |
| 2337 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 220, "<section><h2>Verdicts</h2><ul>") | |
| 2231 | 2338 | if templ_7745c5c3_Err != nil { | |
| 2232 | 2339 | return templ_7745c5c3_Err | |
| 2233 | 2340 | } | |
| 2234 | 2341 | for _, v := range p.Verdicts { | |
| 2235 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 211, "<li><a href=\"") | |
| 2342 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 221, "<li><a href=\"") | |
| 2236 | 2343 | if templ_7745c5c3_Err != nil { | |
| 2237 | 2344 | return templ_7745c5c3_Err | |
| 2238 | 2345 | } | |
| 2239 | - | var templ_7745c5c3_Var104 templ.SafeURL | |
| 2240 | - | templ_7745c5c3_Var104, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(v.Href)) | |
| 2346 | + | var templ_7745c5c3_Var111 templ.SafeURL | |
| 2347 | + | templ_7745c5c3_Var111, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(v.Href)) | |
| 2241 | 2348 | if templ_7745c5c3_Err != nil { | |
| 2242 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 446, Col: 37} | |
| 2349 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 460, Col: 37} | |
| 2243 | 2350 | } | |
| 2244 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var104)) | |
| 2351 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var111)) | |
| 2245 | 2352 | if templ_7745c5c3_Err != nil { | |
| 2246 | 2353 | return templ_7745c5c3_Err | |
| 2247 | 2354 | } | |
| 2248 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 212, "\">") | |
| 2355 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 222, "\">") | |
| 2249 | 2356 | if templ_7745c5c3_Err != nil { | |
| 2250 | 2357 | return templ_7745c5c3_Err | |
| 2251 | 2358 | } | |
| 2252 | - | var templ_7745c5c3_Var105 string | |
| 2253 | - | templ_7745c5c3_Var105, templ_7745c5c3_Err = templ.JoinStringErrs(v.Author) | |
| 2359 | + | var templ_7745c5c3_Var112 string | |
| 2360 | + | templ_7745c5c3_Var112, templ_7745c5c3_Err = templ.JoinStringErrs(v.Author) | |
| 2254 | 2361 | if templ_7745c5c3_Err != nil { | |
| 2255 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 446, Col: 50} | |
| 2362 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 460, Col: 50} | |
| 2256 | 2363 | } | |
| 2257 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var105)) | |
| 2364 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var112)) | |
| 2258 | 2365 | if templ_7745c5c3_Err != nil { | |
| 2259 | 2366 | return templ_7745c5c3_Err | |
| 2260 | 2367 | } | |
| 2261 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 213, ": ") | |
| 2368 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 223, ": ") | |
| 2262 | 2369 | if templ_7745c5c3_Err != nil { | |
| 2263 | 2370 | return templ_7745c5c3_Err | |
| 2264 | 2371 | } | |
| 2265 | - | var templ_7745c5c3_Var106 string | |
| 2266 | - | templ_7745c5c3_Var106, templ_7745c5c3_Err = templ.JoinStringErrs(v.Label) | |
| 2372 | + | var templ_7745c5c3_Var113 string | |
| 2373 | + | templ_7745c5c3_Var113, templ_7745c5c3_Err = templ.JoinStringErrs(v.Label) | |
| 2267 | 2374 | if templ_7745c5c3_Err != nil { | |
| 2268 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 446, Col: 63} | |
| 2375 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 460, Col: 63} | |
| 2269 | 2376 | } | |
| 2270 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var106)) | |
| 2377 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var113)) | |
| 2271 | 2378 | if templ_7745c5c3_Err != nil { | |
| 2272 | 2379 | return templ_7745c5c3_Err | |
| 2273 | 2380 | } | |
| 2274 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 214, "</a> ") | |
| 2381 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 224, "</a> ") | |
| 2275 | 2382 | if templ_7745c5c3_Err != nil { | |
| 2276 | 2383 | return templ_7745c5c3_Err | |
| 2277 | 2384 | } | |
| 2278 | 2385 | if v.Stale { | |
| 2279 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 215, "<span class=\"mute\">(stale)</span>") | |
| 2386 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 225, "<span class=\"mute\">(stale)</span>") | |
| 2280 | 2387 | if templ_7745c5c3_Err != nil { | |
| 2281 | 2388 | return templ_7745c5c3_Err | |
| 2282 | 2389 | } | |
| 2283 | 2390 | } | |
| 2284 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 216, "</li>") | |
| 2391 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 226, "</li>") | |
| 2285 | 2392 | if templ_7745c5c3_Err != nil { | |
| 2286 | 2393 | return templ_7745c5c3_Err | |
| 2287 | 2394 | } | |
| 2288 | 2395 | } | |
| 2289 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 217, "</ul></section>") | |
| 2396 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 227, "</ul></section>") | |
| 2290 | 2397 | if templ_7745c5c3_Err != nil { | |
| 2291 | 2398 | return templ_7745c5c3_Err | |
| 2292 | 2399 | } | |
| @@ -2315,51 +2422,51 @@ func mrBar(p MRPage) templ.Component { | |||
| 2315 | 2422 | }() | |
| 2316 | 2423 | } | |
| 2317 | 2424 | ctx = templ.InitializeContext(ctx) | |
| 2318 | - | templ_7745c5c3_Var107 := templ.GetChildren(ctx) | |
| 2319 | - | if templ_7745c5c3_Var107 == nil { | |
| 2320 | - | templ_7745c5c3_Var107 = templ.NopComponent | |
| 2425 | + | templ_7745c5c3_Var114 := templ.GetChildren(ctx) | |
| 2426 | + | if templ_7745c5c3_Var114 == nil { | |
| 2427 | + | templ_7745c5c3_Var114 = templ.NopComponent | |
| 2321 | 2428 | } | |
| 2322 | 2429 | ctx = templ.ClearChildren(ctx) | |
| 2323 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 218, "<div class=\"diff-tools mr-bar\" role=\"group\" aria-label=\"Diff view and merge\"><span class=\"dim\">") | |
| 2430 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 228, "<div class=\"diff-tools mr-bar\" role=\"group\" aria-label=\"Diff view and merge\"><span class=\"dim\">") | |
| 2324 | 2431 | if templ_7745c5c3_Err != nil { | |
| 2325 | 2432 | return templ_7745c5c3_Err | |
| 2326 | 2433 | } | |
| 2327 | - | var templ_7745c5c3_Var108 string | |
| 2328 | - | templ_7745c5c3_Var108, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files")) | |
| 2434 | + | var templ_7745c5c3_Var115 string | |
| 2435 | + | templ_7745c5c3_Var115, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files")) | |
| 2329 | 2436 | if templ_7745c5c3_Err != nil { | |
| 2330 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 463, Col: 55} | |
| 2437 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 477, Col: 55} | |
| 2331 | 2438 | } | |
| 2332 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var108)) | |
| 2439 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var115)) | |
| 2333 | 2440 | if templ_7745c5c3_Err != nil { | |
| 2334 | 2441 | return templ_7745c5c3_Err | |
| 2335 | 2442 | } | |
| 2336 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 219, " · <span class=\"plus\">+") | |
| 2443 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 229, " · <span class=\"plus\">+") | |
| 2337 | 2444 | if templ_7745c5c3_Err != nil { | |
| 2338 | 2445 | return templ_7745c5c3_Err | |
| 2339 | 2446 | } | |
| 2340 | - | var templ_7745c5c3_Var109 string | |
| 2341 | - | templ_7745c5c3_Var109, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) | |
| 2447 | + | var templ_7745c5c3_Var116 string | |
| 2448 | + | templ_7745c5c3_Var116, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) | |
| 2342 | 2449 | if templ_7745c5c3_Err != nil { | |
| 2343 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 463, Col: 95} | |
| 2450 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 477, Col: 95} | |
| 2344 | 2451 | } | |
| 2345 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var109)) | |
| 2452 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var116)) | |
| 2346 | 2453 | if templ_7745c5c3_Err != nil { | |
| 2347 | 2454 | return templ_7745c5c3_Err | |
| 2348 | 2455 | } | |
| 2349 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 220, "</span> <span class=\"minus\">-") | |
| 2456 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 230, "</span> <span class=\"minus\">-") | |
| 2350 | 2457 | if templ_7745c5c3_Err != nil { | |
| 2351 | 2458 | return templ_7745c5c3_Err | |
| 2352 | 2459 | } | |
| 2353 | - | var templ_7745c5c3_Var110 string | |
| 2354 | - | templ_7745c5c3_Var110, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) | |
| 2460 | + | var templ_7745c5c3_Var117 string | |
| 2461 | + | templ_7745c5c3_Var117, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) | |
| 2355 | 2462 | if templ_7745c5c3_Err != nil { | |
| 2356 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 463, Col: 140} | |
| 2463 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 477, Col: 140} | |
| 2357 | 2464 | } | |
| 2358 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var110)) | |
| 2465 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var117)) | |
| 2359 | 2466 | if templ_7745c5c3_Err != nil { | |
| 2360 | 2467 | return templ_7745c5c3_Err | |
| 2361 | 2468 | } | |
| 2362 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 221, "</span></span>") | |
| 2469 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 231, "</span></span>") | |
| 2363 | 2470 | if templ_7745c5c3_Err != nil { | |
| 2364 | 2471 | return templ_7745c5c3_Err | |
| 2365 | 2472 | } | |
| @@ -2371,7 +2478,7 @@ func mrBar(p MRPage) templ.Component { | |||
| 2371 | 2478 | if templ_7745c5c3_Err != nil { | |
| 2372 | 2479 | return templ_7745c5c3_Err | |
| 2373 | 2480 | } | |
| 2374 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 222, "</div>") | |
| 2481 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 232, "</div>") | |
| 2375 | 2482 | if templ_7745c5c3_Err != nil { | |
| 2376 | 2483 | return templ_7745c5c3_Err | |
| 2377 | 2484 | } | |
| @@ -2403,80 +2510,80 @@ func mergeMenu(p MRPage) templ.Component { | |||
| 2403 | 2510 | }() | |
| 2404 | 2511 | } | |
| 2405 | 2512 | ctx = templ.InitializeContext(ctx) | |
| 2406 | - | templ_7745c5c3_Var111 := templ.GetChildren(ctx) | |
| 2407 | - | if templ_7745c5c3_Var111 == nil { | |
| 2408 | - | templ_7745c5c3_Var111 = templ.NopComponent | |
| 2513 | + | templ_7745c5c3_Var118 := templ.GetChildren(ctx) | |
| 2514 | + | if templ_7745c5c3_Var118 == nil { | |
| 2515 | + | templ_7745c5c3_Var118 = templ.NopComponent | |
| 2409 | 2516 | } | |
| 2410 | 2517 | ctx = templ.ClearChildren(ctx) | |
| 2411 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 223, "<details class=\"menu mmenu\" id=\"merge-menu\" data-state=\"open\"") | |
| 2518 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 233, "<details class=\"menu mmenu\" id=\"merge-menu\" data-state=\"open\"") | |
| 2412 | 2519 | if templ_7745c5c3_Err != nil { | |
| 2413 | 2520 | return templ_7745c5c3_Err | |
| 2414 | 2521 | } | |
| 2415 | 2522 | if p.Box.Error != "" { | |
| 2416 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 224, " open") | |
| 2523 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 234, " open") | |
| 2417 | 2524 | if templ_7745c5c3_Err != nil { | |
| 2418 | 2525 | return templ_7745c5c3_Err | |
| 2419 | 2526 | } | |
| 2420 | 2527 | } | |
| 2421 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 225, "><summary class=\"btn primary\" aria-keyshortcuts=\"Shift+M\">") | |
| 2528 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 235, "><summary class=\"btn primary\" aria-keyshortcuts=\"Shift+M\">") | |
| 2422 | 2529 | if templ_7745c5c3_Err != nil { | |
| 2423 | 2530 | return templ_7745c5c3_Err | |
| 2424 | 2531 | } | |
| 2425 | 2532 | if p.Box.ReadyAction != "" { | |
| 2426 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 226, "Draft ") | |
| 2533 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 236, "Draft ") | |
| 2427 | 2534 | if templ_7745c5c3_Err != nil { | |
| 2428 | 2535 | return templ_7745c5c3_Err | |
| 2429 | 2536 | } | |
| 2430 | 2537 | } else { | |
| 2431 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 227, "Merge ") | |
| 2538 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 237, "Merge ") | |
| 2432 | 2539 | if templ_7745c5c3_Err != nil { | |
| 2433 | 2540 | return templ_7745c5c3_Err | |
| 2434 | 2541 | } | |
| 2435 | 2542 | } | |
| 2436 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 228, "<kbd aria-hidden=\"true\">M</kbd></summary><div class=\"menu-pop\" role=\"group\" aria-label=\"Merge\">") | |
| 2543 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 238, "<kbd aria-hidden=\"true\">M</kbd></summary><div class=\"menu-pop\" role=\"group\" aria-label=\"Merge\">") | |
| 2437 | 2544 | if templ_7745c5c3_Err != nil { | |
| 2438 | 2545 | return templ_7745c5c3_Err | |
| 2439 | 2546 | } | |
| 2440 | 2547 | if p.Box.HeadGone { | |
| 2441 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 229, "<p class=\"dim\">the source branch was deleted</p>") | |
| 2548 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 239, "<p class=\"dim\">the source branch was deleted</p>") | |
| 2442 | 2549 | if templ_7745c5c3_Err != nil { | |
| 2443 | 2550 | return templ_7745c5c3_Err | |
| 2444 | 2551 | } | |
| 2445 | 2552 | } | |
| 2446 | 2553 | if p.Box.Error != "" { | |
| 2447 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 230, "<p class=\"d-err\" role=\"alert\">") | |
| 2554 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 240, "<p class=\"d-err\" role=\"alert\">") | |
| 2448 | 2555 | if templ_7745c5c3_Err != nil { | |
| 2449 | 2556 | return templ_7745c5c3_Err | |
| 2450 | 2557 | } | |
| 2451 | - | var templ_7745c5c3_Var112 string | |
| 2452 | - | templ_7745c5c3_Var112, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Error) | |
| 2558 | + | var templ_7745c5c3_Var119 string | |
| 2559 | + | templ_7745c5c3_Var119, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Error) | |
| 2453 | 2560 | if templ_7745c5c3_Err != nil { | |
| 2454 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 492, Col: 47} | |
| 2561 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 506, Col: 47} | |
| 2455 | 2562 | } | |
| 2456 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var112)) | |
| 2563 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var119)) | |
| 2457 | 2564 | if templ_7745c5c3_Err != nil { | |
| 2458 | 2565 | return templ_7745c5c3_Err | |
| 2459 | 2566 | } | |
| 2460 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 231, "</p>") | |
| 2567 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 241, "</p>") | |
| 2461 | 2568 | if templ_7745c5c3_Err != nil { | |
| 2462 | 2569 | return templ_7745c5c3_Err | |
| 2463 | 2570 | } | |
| 2464 | 2571 | } | |
| 2465 | 2572 | if p.Box.ReadyAction != "" { | |
| 2466 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 232, "<p class=\"d-draft\">this is a draft: it cannot be merged until it is ready for review.</p><form class=\"d-btns\" method=\"post\" action=\"") | |
| 2573 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 242, "<p class=\"d-draft\">this is a draft: it cannot be merged until it is ready for review.</p><form class=\"d-btns\" method=\"post\" action=\"") | |
| 2467 | 2574 | if templ_7745c5c3_Err != nil { | |
| 2468 | 2575 | return templ_7745c5c3_Err | |
| 2469 | 2576 | } | |
| 2470 | - | var templ_7745c5c3_Var113 templ.SafeURL | |
| 2471 | - | templ_7745c5c3_Var113, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadyAction)) | |
| 2577 | + | var templ_7745c5c3_Var120 templ.SafeURL | |
| 2578 | + | templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadyAction)) | |
| 2472 | 2579 | if templ_7745c5c3_Err != nil { | |
| 2473 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 496, Col: 80} | |
| 2580 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 510, Col: 80} | |
| 2474 | 2581 | } | |
| 2475 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var113)) | |
| 2582 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var120)) | |
| 2476 | 2583 | if templ_7745c5c3_Err != nil { | |
| 2477 | 2584 | return templ_7745c5c3_Err | |
| 2478 | 2585 | } | |
| 2479 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 233, "\"><button type=\"submit\" class=\"btn primary\" data-default title=\"remove the draft prefix from the title\">Ready for review</button></form>") | |
| 2586 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 243, "\"><button type=\"submit\" class=\"btn primary\" data-default title=\"remove the draft prefix from the title\">Ready for review</button></form>") | |
| 2480 | 2587 | if templ_7745c5c3_Err != nil { | |
| 2481 | 2588 | return templ_7745c5c3_Err | |
| 2482 | 2589 | } | |
| @@ -2485,250 +2592,250 @@ func mergeMenu(p MRPage) templ.Component { | |||
| 2485 | 2592 | if templ_7745c5c3_Err != nil { | |
| 2486 | 2593 | return templ_7745c5c3_Err | |
| 2487 | 2594 | } | |
| 2488 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 234, " ") | |
| 2595 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 244, " ") | |
| 2489 | 2596 | if templ_7745c5c3_Err != nil { | |
| 2490 | 2597 | return templ_7745c5c3_Err | |
| 2491 | 2598 | } | |
| 2492 | 2599 | if p.Box.AutoMerge != nil { | |
| 2493 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 235, "<form class=\"d-acts\" method=\"post\" action=\"") | |
| 2600 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 245, "<form class=\"d-acts\" method=\"post\" action=\"") | |
| 2494 | 2601 | if templ_7745c5c3_Err != nil { | |
| 2495 | 2602 | return templ_7745c5c3_Err | |
| 2496 | 2603 | } | |
| 2497 | - | var templ_7745c5c3_Var114 templ.SafeURL | |
| 2498 | - | templ_7745c5c3_Var114, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CancelAutoAction)) | |
| 2604 | + | var templ_7745c5c3_Var121 templ.SafeURL | |
| 2605 | + | templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CancelAutoAction)) | |
| 2499 | 2606 | if templ_7745c5c3_Err != nil { | |
| 2500 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 502, Col: 86} | |
| 2607 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 516, Col: 86} | |
| 2501 | 2608 | } | |
| 2502 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var114)) | |
| 2609 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var121)) | |
| 2503 | 2610 | if templ_7745c5c3_Err != nil { | |
| 2504 | 2611 | return templ_7745c5c3_Err | |
| 2505 | 2612 | } | |
| 2506 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 236, "\"><p class=\"dim\" role=\"status\">Auto-merge: ") | |
| 2613 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 246, "\"><p class=\"dim\" role=\"status\">Auto-merge: ") | |
| 2507 | 2614 | if templ_7745c5c3_Err != nil { | |
| 2508 | 2615 | return templ_7745c5c3_Err | |
| 2509 | 2616 | } | |
| 2510 | - | var templ_7745c5c3_Var115 string | |
| 2511 | - | templ_7745c5c3_Var115, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.Mode) | |
| 2617 | + | var templ_7745c5c3_Var122 string | |
| 2618 | + | templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.Mode) | |
| 2512 | 2619 | if templ_7745c5c3_Err != nil { | |
| 2513 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 504, Col: 41} | |
| 2620 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 518, Col: 41} | |
| 2514 | 2621 | } | |
| 2515 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var115)) | |
| 2622 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var122)) | |
| 2516 | 2623 | if templ_7745c5c3_Err != nil { | |
| 2517 | 2624 | return templ_7745c5c3_Err | |
| 2518 | 2625 | } | |
| 2519 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 237, " when ready, enabled by ") | |
| 2626 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 247, " when ready, enabled by ") | |
| 2520 | 2627 | if templ_7745c5c3_Err != nil { | |
| 2521 | 2628 | return templ_7745c5c3_Err | |
| 2522 | 2629 | } | |
| 2523 | - | var templ_7745c5c3_Var116 string | |
| 2524 | - | templ_7745c5c3_Var116, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.EnabledBy) | |
| 2630 | + | var templ_7745c5c3_Var123 string | |
| 2631 | + | templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.EnabledBy) | |
| 2525 | 2632 | if templ_7745c5c3_Err != nil { | |
| 2526 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 504, Col: 94} | |
| 2633 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 518, Col: 94} | |
| 2527 | 2634 | } | |
| 2528 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var116)) | |
| 2635 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var123)) | |
| 2529 | 2636 | if templ_7745c5c3_Err != nil { | |
| 2530 | 2637 | return templ_7745c5c3_Err | |
| 2531 | 2638 | } | |
| 2532 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 238, " ") | |
| 2639 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 248, " ") | |
| 2533 | 2640 | if templ_7745c5c3_Err != nil { | |
| 2534 | 2641 | return templ_7745c5c3_Err | |
| 2535 | 2642 | } | |
| 2536 | 2643 | if p.Box.AutoMerge.When != "" { | |
| 2537 | - | var templ_7745c5c3_Var117 string | |
| 2538 | - | templ_7745c5c3_Var117, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |
| 2644 | + | var templ_7745c5c3_Var124 string | |
| 2645 | + | templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |
| 2539 | 2646 | if templ_7745c5c3_Err != nil { | |
| 2540 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 506, Col: 13} | |
| 2647 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 520, Col: 13} | |
| 2541 | 2648 | } | |
| 2542 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var117)) | |
| 2649 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var124)) | |
| 2543 | 2650 | if templ_7745c5c3_Err != nil { | |
| 2544 | 2651 | return templ_7745c5c3_Err | |
| 2545 | 2652 | } | |
| 2546 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 239, "<time datetime=\"") | |
| 2653 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 249, "<time datetime=\"") | |
| 2547 | 2654 | if templ_7745c5c3_Err != nil { | |
| 2548 | 2655 | return templ_7745c5c3_Err | |
| 2549 | 2656 | } | |
| 2550 | - | var templ_7745c5c3_Var118 string | |
| 2551 | - | templ_7745c5c3_Var118, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.AutoMerge.WhenAt) | |
| 2657 | + | var templ_7745c5c3_Var125 string | |
| 2658 | + | templ_7745c5c3_Var125, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.AutoMerge.WhenAt) | |
| 2552 | 2659 | if templ_7745c5c3_Err != nil { | |
| 2553 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 506, Col: 54} | |
| 2660 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 520, Col: 54} | |
| 2554 | 2661 | } | |
| 2555 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var118) | |
| 2662 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var125) | |
| 2556 | 2663 | if templ_7745c5c3_Err != nil { | |
| 2557 | 2664 | return templ_7745c5c3_Err | |
| 2558 | 2665 | } | |
| 2559 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 240, "\">") | |
| 2666 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 250, "\">") | |
| 2560 | 2667 | if templ_7745c5c3_Err != nil { | |
| 2561 | 2668 | return templ_7745c5c3_Err | |
| 2562 | 2669 | } | |
| 2563 | - | var templ_7745c5c3_Var119 string | |
| 2564 | - | templ_7745c5c3_Var119, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.When) | |
| 2670 | + | var templ_7745c5c3_Var126 string | |
| 2671 | + | templ_7745c5c3_Var126, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.When) | |
| 2565 | 2672 | if templ_7745c5c3_Err != nil { | |
| 2566 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 506, Col: 79} | |
| 2673 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 520, Col: 79} | |
| 2567 | 2674 | } | |
| 2568 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var119)) | |
| 2675 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var126)) | |
| 2569 | 2676 | if templ_7745c5c3_Err != nil { | |
| 2570 | 2677 | return templ_7745c5c3_Err | |
| 2571 | 2678 | } | |
| 2572 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 241, "</time> ") | |
| 2679 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 251, "</time> ") | |
| 2573 | 2680 | if templ_7745c5c3_Err != nil { | |
| 2574 | 2681 | return templ_7745c5c3_Err | |
| 2575 | 2682 | } | |
| 2576 | 2683 | } | |
| 2577 | - | var templ_7745c5c3_Var120 string | |
| 2578 | - | templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |
| 2684 | + | var templ_7745c5c3_Var127 string | |
| 2685 | + | templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |
| 2579 | 2686 | if templ_7745c5c3_Err != nil { | |
| 2580 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 508, Col: 12} | |
| 2687 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 522, Col: 12} | |
| 2581 | 2688 | } | |
| 2582 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var120)) | |
| 2689 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var127)) | |
| 2583 | 2690 | if templ_7745c5c3_Err != nil { | |
| 2584 | 2691 | return templ_7745c5c3_Err | |
| 2585 | 2692 | } | |
| 2586 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 242, "(head ") | |
| 2693 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 252, "(head ") | |
| 2587 | 2694 | if templ_7745c5c3_Err != nil { | |
| 2588 | 2695 | return templ_7745c5c3_Err | |
| 2589 | 2696 | } | |
| 2590 | - | var templ_7745c5c3_Var121 string | |
| 2591 | - | templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.HeadShort) | |
| 2697 | + | var templ_7745c5c3_Var128 string | |
| 2698 | + | templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.HeadShort) | |
| 2592 | 2699 | if templ_7745c5c3_Err != nil { | |
| 2593 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 508, Col: 47} | |
| 2700 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 522, Col: 47} | |
| 2594 | 2701 | } | |
| 2595 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var121)) | |
| 2702 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128)) | |
| 2596 | 2703 | if templ_7745c5c3_Err != nil { | |
| 2597 | 2704 | return templ_7745c5c3_Err | |
| 2598 | 2705 | } | |
| 2599 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 243, ")</p><div class=\"d-btns\"><button type=\"submit\" class=\"btn\">Cancel auto-merge</button></div></form>") | |
| 2706 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 253, ")</p><div class=\"d-btns\"><button type=\"submit\" class=\"btn\">Cancel auto-merge</button></div></form>") | |
| 2600 | 2707 | if templ_7745c5c3_Err != nil { | |
| 2601 | 2708 | return templ_7745c5c3_Err | |
| 2602 | 2709 | } | |
| 2603 | 2710 | } | |
| 2604 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 244, " <form class=\"d-acts\" method=\"post\" action=\"") | |
| 2711 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 254, " <form class=\"d-acts\" method=\"post\" action=\"") | |
| 2605 | 2712 | if templ_7745c5c3_Err != nil { | |
| 2606 | 2713 | return templ_7745c5c3_Err | |
| 2607 | 2714 | } | |
| 2608 | - | var templ_7745c5c3_Var122 templ.SafeURL | |
| 2609 | - | templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.MergeAction)) | |
| 2715 | + | var templ_7745c5c3_Var129 templ.SafeURL | |
| 2716 | + | templ_7745c5c3_Var129, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.MergeAction)) | |
| 2610 | 2717 | if templ_7745c5c3_Err != nil { | |
| 2611 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 518, Col: 46} | |
| 2718 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 532, Col: 46} | |
| 2612 | 2719 | } | |
| 2613 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var122)) | |
| 2720 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var129)) | |
| 2614 | 2721 | if templ_7745c5c3_Err != nil { | |
| 2615 | 2722 | return templ_7745c5c3_Err | |
| 2616 | 2723 | } | |
| 2617 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 245, "\" hx-post=\"") | |
| 2724 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 255, "\" hx-post=\"") | |
| 2618 | 2725 | if templ_7745c5c3_Err != nil { | |
| 2619 | 2726 | return templ_7745c5c3_Err | |
| 2620 | 2727 | } | |
| 2621 | - | var templ_7745c5c3_Var123 string | |
| 2622 | - | templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.MergeAction) | |
| 2728 | + | var templ_7745c5c3_Var130 string | |
| 2729 | + | templ_7745c5c3_Var130, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.MergeAction) | |
| 2623 | 2730 | if templ_7745c5c3_Err != nil { | |
| 2624 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 519, Col: 32} | |
| 2731 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 533, Col: 32} | |
| 2625 | 2732 | } | |
| 2626 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var123) | |
| 2733 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var130) | |
| 2627 | 2734 | if templ_7745c5c3_Err != nil { | |
| 2628 | 2735 | return templ_7745c5c3_Err | |
| 2629 | 2736 | } | |
| 2630 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 246, "\" hx-swap=\"none\" hx-sync=\"this:drop\" hx-disable=\"find button[type=submit]\"><input type=\"hidden\" name=\"head_id\" value=\"") | |
| 2737 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 256, "\" hx-swap=\"none\" hx-sync=\"this:drop\" hx-disable=\"find button[type=submit]\"><input type=\"hidden\" name=\"head_id\" value=\"") | |
| 2631 | 2738 | if templ_7745c5c3_Err != nil { | |
| 2632 | 2739 | return templ_7745c5c3_Err | |
| 2633 | 2740 | } | |
| 2634 | - | var templ_7745c5c3_Var124 string | |
| 2635 | - | templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) | |
| 2741 | + | var templ_7745c5c3_Var131 string | |
| 2742 | + | templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) | |
| 2636 | 2743 | if templ_7745c5c3_Err != nil { | |
| 2637 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 524, Col: 59} | |
| 2744 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 538, Col: 59} | |
| 2638 | 2745 | } | |
| 2639 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var124) | |
| 2746 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var131) | |
| 2640 | 2747 | if templ_7745c5c3_Err != nil { | |
| 2641 | 2748 | return templ_7745c5c3_Err | |
| 2642 | 2749 | } | |
| 2643 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 247, "\"><fieldset class=\"d-modes\"><legend class=\"sr\">merge mode</legend> ") | |
| 2750 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 257, "\"><fieldset class=\"d-modes\"><legend class=\"sr\">merge mode</legend> ") | |
| 2644 | 2751 | if templ_7745c5c3_Err != nil { | |
| 2645 | 2752 | return templ_7745c5c3_Err | |
| 2646 | 2753 | } | |
| 2647 | 2754 | for i, m := range p.Box.Modes { | |
| 2648 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 248, "<label><input type=\"radio\" name=\"mode\" value=\"") | |
| 2755 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 258, "<label><input type=\"radio\" name=\"mode\" value=\"") | |
| 2649 | 2756 | if templ_7745c5c3_Err != nil { | |
| 2650 | 2757 | return templ_7745c5c3_Err | |
| 2651 | 2758 | } | |
| 2652 | - | var templ_7745c5c3_Var125 string | |
| 2653 | - | templ_7745c5c3_Var125, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) | |
| 2759 | + | var templ_7745c5c3_Var132 string | |
| 2760 | + | templ_7745c5c3_Var132, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) | |
| 2654 | 2761 | if templ_7745c5c3_Err != nil { | |
| 2655 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 532, Col: 24} | |
| 2762 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 546, Col: 24} | |
| 2656 | 2763 | } | |
| 2657 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var125) | |
| 2764 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var132) | |
| 2658 | 2765 | if templ_7745c5c3_Err != nil { | |
| 2659 | 2766 | return templ_7745c5c3_Err | |
| 2660 | 2767 | } | |
| 2661 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 249, "\"") | |
| 2768 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 259, "\"") | |
| 2662 | 2769 | if templ_7745c5c3_Err != nil { | |
| 2663 | 2770 | return templ_7745c5c3_Err | |
| 2664 | 2771 | } | |
| 2665 | 2772 | if i == p.Box.Checked() { | |
| 2666 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 250, " checked") | |
| 2773 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 260, " checked") | |
| 2667 | 2774 | if templ_7745c5c3_Err != nil { | |
| 2668 | 2775 | return templ_7745c5c3_Err | |
| 2669 | 2776 | } | |
| 2670 | 2777 | } | |
| 2671 | 2778 | if m.Disabled { | |
| 2672 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 251, " disabled") | |
| 2779 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 261, " disabled") | |
| 2673 | 2780 | if templ_7745c5c3_Err != nil { | |
| 2674 | 2781 | return templ_7745c5c3_Err | |
| 2675 | 2782 | } | |
| 2676 | 2783 | } | |
| 2677 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 252, " title=\"") | |
| 2784 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 262, " title=\"") | |
| 2678 | 2785 | if templ_7745c5c3_Err != nil { | |
| 2679 | 2786 | return templ_7745c5c3_Err | |
| 2680 | 2787 | } | |
| 2681 | - | var templ_7745c5c3_Var126 string | |
| 2682 | - | templ_7745c5c3_Var126, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Reason) | |
| 2788 | + | var templ_7745c5c3_Var133 string | |
| 2789 | + | templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Reason) | |
| 2683 | 2790 | if templ_7745c5c3_Err != nil { | |
| 2684 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 535, Col: 25} | |
| 2791 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 549, Col: 25} | |
| 2685 | 2792 | } | |
| 2686 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var126) | |
| 2793 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var133) | |
| 2687 | 2794 | if templ_7745c5c3_Err != nil { | |
| 2688 | 2795 | return templ_7745c5c3_Err | |
| 2689 | 2796 | } | |
| 2690 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 253, "\" :disabled=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffOk !== true : q('[data-mergeability]').data.mergeOk !== true\" :title=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffReason : q('[data-mergeability]').data.mergeReason\"> ") | |
| 2797 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 263, "\" :disabled=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffOk !== true : q('[data-mergeability]').data.mergeOk !== true\" :title=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffReason : q('[data-mergeability]').data.mergeReason\"> ") | |
| 2691 | 2798 | if templ_7745c5c3_Err != nil { | |
| 2692 | 2799 | return templ_7745c5c3_Err | |
| 2693 | 2800 | } | |
| 2694 | - | var templ_7745c5c3_Var127 string | |
| 2695 | - | templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) | |
| 2801 | + | var templ_7745c5c3_Var134 string | |
| 2802 | + | templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) | |
| 2696 | 2803 | if templ_7745c5c3_Err != nil { | |
| 2697 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 539, Col: 17} | |
| 2804 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 553, Col: 17} | |
| 2698 | 2805 | } | |
| 2699 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var127)) | |
| 2806 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var134)) | |
| 2700 | 2807 | if templ_7745c5c3_Err != nil { | |
| 2701 | 2808 | return templ_7745c5c3_Err | |
| 2702 | 2809 | } | |
| 2703 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 254, " ") | |
| 2810 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 264, " ") | |
| 2704 | 2811 | if templ_7745c5c3_Err != nil { | |
| 2705 | 2812 | return templ_7745c5c3_Err | |
| 2706 | 2813 | } | |
| 2707 | 2814 | if i < 9 { | |
| 2708 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 255, "<kbd aria-hidden=\"true\">") | |
| 2815 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 265, "<kbd aria-hidden=\"true\">") | |
| 2709 | 2816 | if templ_7745c5c3_Err != nil { | |
| 2710 | 2817 | return templ_7745c5c3_Err | |
| 2711 | 2818 | } | |
| 2712 | - | var templ_7745c5c3_Var128 string | |
| 2713 | - | templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i + 1)) | |
| 2819 | + | var templ_7745c5c3_Var135 string | |
| 2820 | + | templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i + 1)) | |
| 2714 | 2821 | if templ_7745c5c3_Err != nil { | |
| 2715 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 541, Col: 46} | |
| 2822 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 555, Col: 46} | |
| 2716 | 2823 | } | |
| 2717 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128)) | |
| 2824 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var135)) | |
| 2718 | 2825 | if templ_7745c5c3_Err != nil { | |
| 2719 | 2826 | return templ_7745c5c3_Err | |
| 2720 | 2827 | } | |
| 2721 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 256, "</kbd>") | |
| 2828 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 266, "</kbd>") | |
| 2722 | 2829 | if templ_7745c5c3_Err != nil { | |
| 2723 | 2830 | return templ_7745c5c3_Err | |
| 2724 | 2831 | } | |
| 2725 | 2832 | } | |
| 2726 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 257, "</label>") | |
| 2833 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 267, "</label>") | |
| 2727 | 2834 | if templ_7745c5c3_Err != nil { | |
| 2728 | 2835 | return templ_7745c5c3_Err | |
| 2729 | 2836 | } | |
| 2730 | 2837 | } | |
| 2731 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 258, "</fieldset>") | |
| 2838 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 268, "</fieldset>") | |
| 2732 | 2839 | if templ_7745c5c3_Err != nil { | |
| 2733 | 2840 | return templ_7745c5c3_Err | |
| 2734 | 2841 | } | |
| @@ -2737,154 +2844,154 @@ func mergeMenu(p MRPage) templ.Component { | |||
| 2737 | 2844 | return templ_7745c5c3_Err | |
| 2738 | 2845 | } | |
| 2739 | 2846 | if p.Box.CanDeleteBranch { | |
| 2740 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 259, "<label class=\"d-check\"><input type=\"checkbox\" name=\"delete_branch\" value=\"1\"> delete ") | |
| 2847 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 269, "<label class=\"d-check\"><input type=\"checkbox\" name=\"delete_branch\" value=\"1\"> delete ") | |
| 2741 | 2848 | if templ_7745c5c3_Err != nil { | |
| 2742 | 2849 | return templ_7745c5c3_Err | |
| 2743 | 2850 | } | |
| 2744 | - | var templ_7745c5c3_Var129 string | |
| 2745 | - | templ_7745c5c3_Var129, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) | |
| 2851 | + | var templ_7745c5c3_Var136 string | |
| 2852 | + | templ_7745c5c3_Var136, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) | |
| 2746 | 2853 | if templ_7745c5c3_Err != nil { | |
| 2747 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 548, Col: 102} | |
| 2854 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 562, Col: 102} | |
| 2748 | 2855 | } | |
| 2749 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var129)) | |
| 2856 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var136)) | |
| 2750 | 2857 | if templ_7745c5c3_Err != nil { | |
| 2751 | 2858 | return templ_7745c5c3_Err | |
| 2752 | 2859 | } | |
| 2753 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 260, " after the merge <kbd aria-hidden=\"true\">D</kbd></label>") | |
| 2860 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 270, " after the merge <kbd aria-hidden=\"true\">D</kbd></label>") | |
| 2754 | 2861 | if templ_7745c5c3_Err != nil { | |
| 2755 | 2862 | return templ_7745c5c3_Err | |
| 2756 | 2863 | } | |
| 2757 | 2864 | } | |
| 2758 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 261, "<div class=\"d-btns\"><button type=\"submit\" class=\"btn primary\" data-default") | |
| 2865 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 271, "<div class=\"d-btns\"><button type=\"submit\" class=\"btn primary\" data-default") | |
| 2759 | 2866 | if templ_7745c5c3_Err != nil { | |
| 2760 | 2867 | return templ_7745c5c3_Err | |
| 2761 | 2868 | } | |
| 2762 | 2869 | if !p.Box.CanMerge() { | |
| 2763 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 262, " disabled") | |
| 2870 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 272, " disabled") | |
| 2764 | 2871 | if templ_7745c5c3_Err != nil { | |
| 2765 | 2872 | return templ_7745c5c3_Err | |
| 2766 | 2873 | } | |
| 2767 | 2874 | } | |
| 2768 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 263, " title=\"") | |
| 2875 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 273, " title=\"") | |
| 2769 | 2876 | if templ_7745c5c3_Err != nil { | |
| 2770 | 2877 | return templ_7745c5c3_Err | |
| 2771 | 2878 | } | |
| 2772 | - | var templ_7745c5c3_Var130 string | |
| 2773 | - | templ_7745c5c3_Var130, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.MergeTitle()) | |
| 2879 | + | var templ_7745c5c3_Var137 string | |
| 2880 | + | templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.MergeTitle()) | |
| 2774 | 2881 | if templ_7745c5c3_Err != nil { | |
| 2775 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 556, Col: 33} | |
| 2882 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 570, Col: 33} | |
| 2776 | 2883 | } | |
| 2777 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var130) | |
| 2884 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var137) | |
| 2778 | 2885 | if templ_7745c5c3_Err != nil { | |
| 2779 | 2886 | return templ_7745c5c3_Err | |
| 2780 | 2887 | } | |
| 2781 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 264, "\" :disabled=\"this.form.classList.contains('htmx-request') || !this.form.querySelector('input[name=mode]:checked:not(:disabled)')\" :title=\"(this.form.querySelector('input[name=mode]:checked') || {}).title || ''\">Merge into ") | |
| 2888 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 274, "\" :disabled=\"this.form.classList.contains('htmx-request') || !this.form.querySelector('input[name=mode]:checked:not(:disabled)')\" :title=\"(this.form.querySelector('input[name=mode]:checked') || {}).title || ''\">Merge into ") | |
| 2782 | 2889 | if templ_7745c5c3_Err != nil { | |
| 2783 | 2890 | return templ_7745c5c3_Err | |
| 2784 | 2891 | } | |
| 2785 | - | var templ_7745c5c3_Var131 string | |
| 2786 | - | templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | |
| 2892 | + | var templ_7745c5c3_Var138 string | |
| 2893 | + | templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | |
| 2787 | 2894 | if templ_7745c5c3_Err != nil { | |
| 2788 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 559, Col: 28} | |
| 2895 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 573, Col: 28} | |
| 2789 | 2896 | } | |
| 2790 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var131)) | |
| 2897 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var138)) | |
| 2791 | 2898 | if templ_7745c5c3_Err != nil { | |
| 2792 | 2899 | return templ_7745c5c3_Err | |
| 2793 | 2900 | } | |
| 2794 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 265, "</button> <span class=\"htmx-indicator\" role=\"status\">Merging…</span></div></form>") | |
| 2901 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 275, "</button> <span class=\"htmx-indicator\" role=\"status\">Merging…</span></div></form>") | |
| 2795 | 2902 | if templ_7745c5c3_Err != nil { | |
| 2796 | 2903 | return templ_7745c5c3_Err | |
| 2797 | 2904 | } | |
| 2798 | 2905 | if p.Box.CanAutoMerge { | |
| 2799 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 266, "<form class=\"d-acts\" method=\"post\" action=\"") | |
| 2906 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 276, "<form class=\"d-acts\" method=\"post\" action=\"") | |
| 2800 | 2907 | if templ_7745c5c3_Err != nil { | |
| 2801 | 2908 | return templ_7745c5c3_Err | |
| 2802 | 2909 | } | |
| 2803 | - | var templ_7745c5c3_Var132 templ.SafeURL | |
| 2804 | - | templ_7745c5c3_Var132, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.AutoAction)) | |
| 2910 | + | var templ_7745c5c3_Var139 templ.SafeURL | |
| 2911 | + | templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.AutoAction)) | |
| 2805 | 2912 | if templ_7745c5c3_Err != nil { | |
| 2806 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 564, Col: 80} | |
| 2913 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 578, Col: 80} | |
| 2807 | 2914 | } | |
| 2808 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var132)) | |
| 2915 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var139)) | |
| 2809 | 2916 | if templ_7745c5c3_Err != nil { | |
| 2810 | 2917 | return templ_7745c5c3_Err | |
| 2811 | 2918 | } | |
| 2812 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 267, "\"><input type=\"hidden\" name=\"head_id\" value=\"") | |
| 2919 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 277, "\"><input type=\"hidden\" name=\"head_id\" value=\"") | |
| 2813 | 2920 | if templ_7745c5c3_Err != nil { | |
| 2814 | 2921 | return templ_7745c5c3_Err | |
| 2815 | 2922 | } | |
| 2816 | - | var templ_7745c5c3_Var133 string | |
| 2817 | - | templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) | |
| 2923 | + | var templ_7745c5c3_Var140 string | |
| 2924 | + | templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) | |
| 2818 | 2925 | if templ_7745c5c3_Err != nil { | |
| 2819 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 565, Col: 60} | |
| 2926 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 579, Col: 60} | |
| 2820 | 2927 | } | |
| 2821 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var133) | |
| 2928 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var140) | |
| 2822 | 2929 | if templ_7745c5c3_Err != nil { | |
| 2823 | 2930 | return templ_7745c5c3_Err | |
| 2824 | 2931 | } | |
| 2825 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 268, "\"><fieldset class=\"d-modes\"><legend>Auto-merge mode</legend> ") | |
| 2932 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 278, "\"><fieldset class=\"d-modes\"><legend>Auto-merge mode</legend> ") | |
| 2826 | 2933 | if templ_7745c5c3_Err != nil { | |
| 2827 | 2934 | return templ_7745c5c3_Err | |
| 2828 | 2935 | } | |
| 2829 | 2936 | for i, m := range p.Box.Modes { | |
| 2830 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 269, "<label><input type=\"radio\" name=\"mode\" value=\"") | |
| 2937 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 279, "<label><input type=\"radio\" name=\"mode\" value=\"") | |
| 2831 | 2938 | if templ_7745c5c3_Err != nil { | |
| 2832 | 2939 | return templ_7745c5c3_Err | |
| 2833 | 2940 | } | |
| 2834 | - | var templ_7745c5c3_Var134 string | |
| 2835 | - | templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) | |
| 2941 | + | var templ_7745c5c3_Var141 string | |
| 2942 | + | templ_7745c5c3_Var141, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) | |
| 2836 | 2943 | if templ_7745c5c3_Err != nil { | |
| 2837 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 569, Col: 62} | |
| 2944 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 583, Col: 62} | |
| 2838 | 2945 | } | |
| 2839 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var134) | |
| 2946 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var141) | |
| 2840 | 2947 | if templ_7745c5c3_Err != nil { | |
| 2841 | 2948 | return templ_7745c5c3_Err | |
| 2842 | 2949 | } | |
| 2843 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 270, "\"") | |
| 2950 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 280, "\"") | |
| 2844 | 2951 | if templ_7745c5c3_Err != nil { | |
| 2845 | 2952 | return templ_7745c5c3_Err | |
| 2846 | 2953 | } | |
| 2847 | 2954 | if i == 0 { | |
| 2848 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 271, " checked") | |
| 2955 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 281, " checked") | |
| 2849 | 2956 | if templ_7745c5c3_Err != nil { | |
| 2850 | 2957 | return templ_7745c5c3_Err | |
| 2851 | 2958 | } | |
| 2852 | 2959 | } | |
| 2853 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 272, "> ") | |
| 2960 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 282, "> ") | |
| 2854 | 2961 | if templ_7745c5c3_Err != nil { | |
| 2855 | 2962 | return templ_7745c5c3_Err | |
| 2856 | 2963 | } | |
| 2857 | - | var templ_7745c5c3_Var135 string | |
| 2858 | - | templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) | |
| 2964 | + | var templ_7745c5c3_Var142 string | |
| 2965 | + | templ_7745c5c3_Var142, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) | |
| 2859 | 2966 | if templ_7745c5c3_Err != nil { | |
| 2860 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 569, Col: 96} | |
| 2967 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 583, Col: 96} | |
| 2861 | 2968 | } | |
| 2862 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var135)) | |
| 2969 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var142)) | |
| 2863 | 2970 | if templ_7745c5c3_Err != nil { | |
| 2864 | 2971 | return templ_7745c5c3_Err | |
| 2865 | 2972 | } | |
| 2866 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 273, "</label>") | |
| 2973 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 283, "</label>") | |
| 2867 | 2974 | if templ_7745c5c3_Err != nil { | |
| 2868 | 2975 | return templ_7745c5c3_Err | |
| 2869 | 2976 | } | |
| 2870 | 2977 | } | |
| 2871 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 274, "</fieldset><div class=\"d-btns\"><button type=\"submit\" class=\"btn\"") | |
| 2978 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 284, "</fieldset><div class=\"d-btns\"><button type=\"submit\" class=\"btn\"") | |
| 2872 | 2979 | if templ_7745c5c3_Err != nil { | |
| 2873 | 2980 | return templ_7745c5c3_Err | |
| 2874 | 2981 | } | |
| 2875 | 2982 | if len(p.Box.Modes) == 0 { | |
| 2876 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 275, " disabled") | |
| 2983 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 285, " disabled") | |
| 2877 | 2984 | if templ_7745c5c3_Err != nil { | |
| 2878 | 2985 | return templ_7745c5c3_Err | |
| 2879 | 2986 | } | |
| 2880 | 2987 | } | |
| 2881 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 276, " title=\"merge once the checks pass\">Merge when ready</button></div></form>") | |
| 2988 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 286, " title=\"merge once the checks pass\">Merge when ready</button></div></form>") | |
| 2882 | 2989 | if templ_7745c5c3_Err != nil { | |
| 2883 | 2990 | return templ_7745c5c3_Err | |
| 2884 | 2991 | } | |
| 2885 | 2992 | } | |
| 2886 | 2993 | } | |
| 2887 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 277, "</div></details>") | |
| 2994 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 287, "</div></details>") | |
| 2888 | 2995 | if templ_7745c5c3_Err != nil { | |
| 2889 | 2996 | return templ_7745c5c3_Err | |
| 2890 | 2997 | } | |
| @@ -2910,182 +3017,182 @@ func MRMergeability(v MergeabilityView) templ.Component { | |||
| 2910 | 3017 | }() | |
| 2911 | 3018 | } | |
| 2912 | 3019 | ctx = templ.InitializeContext(ctx) | |
| 2913 | - | templ_7745c5c3_Var136 := templ.GetChildren(ctx) | |
| 2914 | - | if templ_7745c5c3_Var136 == nil { | |
| 2915 | - | templ_7745c5c3_Var136 = templ.NopComponent | |
| 3020 | + | templ_7745c5c3_Var143 := templ.GetChildren(ctx) | |
| 3021 | + | if templ_7745c5c3_Var143 == nil { | |
| 3022 | + | templ_7745c5c3_Var143 = templ.NopComponent | |
| 2916 | 3023 | } | |
| 2917 | 3024 | ctx = templ.ClearChildren(ctx) | |
| 2918 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 278, "<span data-mergeability data-state=\"") | |
| 3025 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 288, "<span data-mergeability data-state=\"") | |
| 2919 | 3026 | if templ_7745c5c3_Err != nil { | |
| 2920 | 3027 | return templ_7745c5c3_Err | |
| 2921 | 3028 | } | |
| 2922 | - | var templ_7745c5c3_Var137 string | |
| 2923 | - | templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) | |
| 3029 | + | var templ_7745c5c3_Var144 string | |
| 3030 | + | templ_7745c5c3_Var144, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) | |
| 2924 | 3031 | if templ_7745c5c3_Err != nil { | |
| 2925 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 587, Col: 22} | |
| 3032 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 601, Col: 22} | |
| 2926 | 3033 | } | |
| 2927 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var137) | |
| 3034 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var144) | |
| 2928 | 3035 | if templ_7745c5c3_Err != nil { | |
| 2929 | 3036 | return templ_7745c5c3_Err | |
| 2930 | 3037 | } | |
| 2931 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 279, "\" data-ff-ok=\"") | |
| 3038 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 289, "\" data-ff-ok=\"") | |
| 2932 | 3039 | if templ_7745c5c3_Err != nil { | |
| 2933 | 3040 | return templ_7745c5c3_Err | |
| 2934 | 3041 | } | |
| 2935 | - | var templ_7745c5c3_Var138 string | |
| 2936 | - | templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.FFOk)) | |
| 3042 | + | var templ_7745c5c3_Var145 string | |
| 3043 | + | templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.FFOk)) | |
| 2937 | 3044 | if templ_7745c5c3_Err != nil { | |
| 2938 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 588, Col: 41} | |
| 3045 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 602, Col: 41} | |
| 2939 | 3046 | } | |
| 2940 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var138) | |
| 3047 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var145) | |
| 2941 | 3048 | if templ_7745c5c3_Err != nil { | |
| 2942 | 3049 | return templ_7745c5c3_Err | |
| 2943 | 3050 | } | |
| 2944 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 280, "\" data-merge-ok=\"") | |
| 3051 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 290, "\" data-merge-ok=\"") | |
| 2945 | 3052 | if templ_7745c5c3_Err != nil { | |
| 2946 | 3053 | return templ_7745c5c3_Err | |
| 2947 | 3054 | } | |
| 2948 | - | var templ_7745c5c3_Var139 string | |
| 2949 | - | templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.MergeOk)) | |
| 3055 | + | var templ_7745c5c3_Var146 string | |
| 3056 | + | templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.MergeOk)) | |
| 2950 | 3057 | if templ_7745c5c3_Err != nil { | |
| 2951 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 589, Col: 47} | |
| 3058 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 47} | |
| 2952 | 3059 | } | |
| 2953 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var139) | |
| 3060 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var146) | |
| 2954 | 3061 | if templ_7745c5c3_Err != nil { | |
| 2955 | 3062 | return templ_7745c5c3_Err | |
| 2956 | 3063 | } | |
| 2957 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 281, "\" data-ff-reason=\"") | |
| 3064 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 291, "\" data-ff-reason=\"") | |
| 2958 | 3065 | if templ_7745c5c3_Err != nil { | |
| 2959 | 3066 | return templ_7745c5c3_Err | |
| 2960 | 3067 | } | |
| 2961 | - | var templ_7745c5c3_Var140 string | |
| 2962 | - | templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.FFReason) | |
| 3068 | + | var templ_7745c5c3_Var147 string | |
| 3069 | + | templ_7745c5c3_Var147, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.FFReason) | |
| 2963 | 3070 | if templ_7745c5c3_Err != nil { | |
| 2964 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 590, Col: 29} | |
| 3071 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 604, Col: 29} | |
| 2965 | 3072 | } | |
| 2966 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var140) | |
| 3073 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var147) | |
| 2967 | 3074 | if templ_7745c5c3_Err != nil { | |
| 2968 | 3075 | return templ_7745c5c3_Err | |
| 2969 | 3076 | } | |
| 2970 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 282, "\" data-merge-reason=\"") | |
| 3077 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 292, "\" data-merge-reason=\"") | |
| 2971 | 3078 | if templ_7745c5c3_Err != nil { | |
| 2972 | 3079 | return templ_7745c5c3_Err | |
| 2973 | 3080 | } | |
| 2974 | - | var templ_7745c5c3_Var141 string | |
| 2975 | - | templ_7745c5c3_Var141, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.MergeReason) | |
| 3081 | + | var templ_7745c5c3_Var148 string | |
| 3082 | + | templ_7745c5c3_Var148, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.MergeReason) | |
| 2976 | 3083 | if templ_7745c5c3_Err != nil { | |
| 2977 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 591, Col: 35} | |
| 3084 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 605, Col: 35} | |
| 2978 | 3085 | } | |
| 2979 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var141) | |
| 3086 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var148) | |
| 2980 | 3087 | if templ_7745c5c3_Err != nil { | |
| 2981 | 3088 | return templ_7745c5c3_Err | |
| 2982 | 3089 | } | |
| 2983 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 283, "\"><span class=\"badge\" data-state=\"") | |
| 3090 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 293, "\"><span class=\"badge\" data-state=\"") | |
| 2984 | 3091 | if templ_7745c5c3_Err != nil { | |
| 2985 | 3092 | return templ_7745c5c3_Err | |
| 2986 | 3093 | } | |
| 2987 | - | var templ_7745c5c3_Var142 string | |
| 2988 | - | templ_7745c5c3_Var142, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) | |
| 3094 | + | var templ_7745c5c3_Var149 string | |
| 3095 | + | templ_7745c5c3_Var149, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) | |
| 2989 | 3096 | if templ_7745c5c3_Err != nil { | |
| 2990 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 593, Col: 42} | |
| 3097 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 607, Col: 42} | |
| 2991 | 3098 | } | |
| 2992 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var142) | |
| 3099 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var149) | |
| 2993 | 3100 | if templ_7745c5c3_Err != nil { | |
| 2994 | 3101 | return templ_7745c5c3_Err | |
| 2995 | 3102 | } | |
| 2996 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 284, "\">") | |
| 3103 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 294, "\">") | |
| 2997 | 3104 | if templ_7745c5c3_Err != nil { | |
| 2998 | 3105 | return templ_7745c5c3_Err | |
| 2999 | 3106 | } | |
| 3000 | - | var templ_7745c5c3_Var143 string | |
| 3001 | - | templ_7745c5c3_Var143, templ_7745c5c3_Err = templ.JoinStringErrs(v.Label) | |
| 3107 | + | var templ_7745c5c3_Var150 string | |
| 3108 | + | templ_7745c5c3_Var150, templ_7745c5c3_Err = templ.JoinStringErrs(v.Label) | |
| 3002 | 3109 | if templ_7745c5c3_Err != nil { | |
| 3003 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 593, Col: 54} | |
| 3110 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 607, Col: 54} | |
| 3004 | 3111 | } | |
| 3005 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var143)) | |
| 3112 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var150)) | |
| 3006 | 3113 | if templ_7745c5c3_Err != nil { | |
| 3007 | 3114 | return templ_7745c5c3_Err | |
| 3008 | 3115 | } | |
| 3009 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 285, "</span> ") | |
| 3116 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 295, "</span> ") | |
| 3010 | 3117 | if templ_7745c5c3_Err != nil { | |
| 3011 | 3118 | return templ_7745c5c3_Err | |
| 3012 | 3119 | } | |
| 3013 | 3120 | if v.Detail != "" { | |
| 3014 | - | var templ_7745c5c3_Var144 string | |
| 3015 | - | templ_7745c5c3_Var144, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |
| 3121 | + | var templ_7745c5c3_Var151 string | |
| 3122 | + | templ_7745c5c3_Var151, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |
| 3016 | 3123 | if templ_7745c5c3_Err != nil { | |
| 3017 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 595, Col: 8} | |
| 3124 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 609, Col: 8} | |
| 3018 | 3125 | } | |
| 3019 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var144)) | |
| 3126 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var151)) | |
| 3020 | 3127 | if templ_7745c5c3_Err != nil { | |
| 3021 | 3128 | return templ_7745c5c3_Err | |
| 3022 | 3129 | } | |
| 3023 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 286, "<span class=\"dim\">") | |
| 3130 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 296, "<span class=\"dim\">") | |
| 3024 | 3131 | if templ_7745c5c3_Err != nil { | |
| 3025 | 3132 | return templ_7745c5c3_Err | |
| 3026 | 3133 | } | |
| 3027 | - | var templ_7745c5c3_Var145 string | |
| 3028 | - | templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.JoinStringErrs(v.Detail) | |
| 3134 | + | var templ_7745c5c3_Var152 string | |
| 3135 | + | templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinStringErrs(v.Detail) | |
| 3029 | 3136 | if templ_7745c5c3_Err != nil { | |
| 3030 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 595, Col: 38} | |
| 3137 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 609, Col: 38} | |
| 3031 | 3138 | } | |
| 3032 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var145)) | |
| 3139 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152)) | |
| 3033 | 3140 | if templ_7745c5c3_Err != nil { | |
| 3034 | 3141 | return templ_7745c5c3_Err | |
| 3035 | 3142 | } | |
| 3036 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 287, "</span>") | |
| 3143 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 297, "</span>") | |
| 3037 | 3144 | if templ_7745c5c3_Err != nil { | |
| 3038 | 3145 | return templ_7745c5c3_Err | |
| 3039 | 3146 | } | |
| 3040 | 3147 | } | |
| 3041 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 288, "</span> ") | |
| 3148 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 298, "</span> ") | |
| 3042 | 3149 | if templ_7745c5c3_Err != nil { | |
| 3043 | 3150 | return templ_7745c5c3_Err | |
| 3044 | 3151 | } | |
| 3045 | 3152 | if len(v.Paths) > 0 { | |
| 3046 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 289, "<ul class=\"mg-paths\" aria-label=\"conflicting files\">") | |
| 3153 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 299, "<ul class=\"mg-paths\" aria-label=\"conflicting files\">") | |
| 3047 | 3154 | if templ_7745c5c3_Err != nil { | |
| 3048 | 3155 | return templ_7745c5c3_Err | |
| 3049 | 3156 | } | |
| 3050 | 3157 | for _, path := range v.Paths { | |
| 3051 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 290, "<li><code>") | |
| 3158 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 300, "<li><code>") | |
| 3052 | 3159 | if templ_7745c5c3_Err != nil { | |
| 3053 | 3160 | return templ_7745c5c3_Err | |
| 3054 | 3161 | } | |
| 3055 | - | var templ_7745c5c3_Var146 string | |
| 3056 | - | templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.JoinStringErrs(path) | |
| 3162 | + | var templ_7745c5c3_Var153 string | |
| 3163 | + | templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinStringErrs(path) | |
| 3057 | 3164 | if templ_7745c5c3_Err != nil { | |
| 3058 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 601, Col: 20} | |
| 3165 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 615, Col: 20} | |
| 3059 | 3166 | } | |
| 3060 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var146)) | |
| 3167 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153)) | |
| 3061 | 3168 | if templ_7745c5c3_Err != nil { | |
| 3062 | 3169 | return templ_7745c5c3_Err | |
| 3063 | 3170 | } | |
| 3064 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 291, "</code></li>") | |
| 3171 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 301, "</code></li>") | |
| 3065 | 3172 | if templ_7745c5c3_Err != nil { | |
| 3066 | 3173 | return templ_7745c5c3_Err | |
| 3067 | 3174 | } | |
| 3068 | 3175 | } | |
| 3069 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 292, "</ul>") | |
| 3176 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 302, "</ul>") | |
| 3070 | 3177 | if templ_7745c5c3_Err != nil { | |
| 3071 | 3178 | return templ_7745c5c3_Err | |
| 3072 | 3179 | } | |
| 3073 | 3180 | } | |
| 3074 | 3181 | if v.PathsNote != "" { | |
| 3075 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 293, "<p class=\"dim\">") | |
| 3182 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 303, "<p class=\"dim\">") | |
| 3076 | 3183 | if templ_7745c5c3_Err != nil { | |
| 3077 | 3184 | return templ_7745c5c3_Err | |
| 3078 | 3185 | } | |
| 3079 | - | var templ_7745c5c3_Var147 string | |
| 3080 | - | templ_7745c5c3_Var147, templ_7745c5c3_Err = templ.JoinStringErrs(v.PathsNote) | |
| 3186 | + | var templ_7745c5c3_Var154 string | |
| 3187 | + | templ_7745c5c3_Var154, templ_7745c5c3_Err = templ.JoinStringErrs(v.PathsNote) | |
| 3081 | 3188 | if templ_7745c5c3_Err != nil { | |
| 3082 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 606, Col: 30} | |
| 3189 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 620, Col: 30} | |
| 3083 | 3190 | } | |
| 3084 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var147)) | |
| 3191 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var154)) | |
| 3085 | 3192 | if templ_7745c5c3_Err != nil { | |
| 3086 | 3193 | return templ_7745c5c3_Err | |
| 3087 | 3194 | } | |
| 3088 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 294, "</p>") | |
| 3195 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 304, "</p>") | |
| 3089 | 3196 | if templ_7745c5c3_Err != nil { | |
| 3090 | 3197 | return templ_7745c5c3_Err | |
| 3091 | 3198 | } | |
| @@ -3112,12 +3219,12 @@ func mrMergeabilitySlot(v MergeabilityView) templ.Component { | |||
| 3112 | 3219 | }() | |
| 3113 | 3220 | } | |
| 3114 | 3221 | ctx = templ.InitializeContext(ctx) | |
| 3115 | - | templ_7745c5c3_Var148 := templ.GetChildren(ctx) | |
| 3116 | - | if templ_7745c5c3_Var148 == nil { | |
| 3117 | - | templ_7745c5c3_Var148 = templ.NopComponent | |
| 3222 | + | templ_7745c5c3_Var155 := templ.GetChildren(ctx) | |
| 3223 | + | if templ_7745c5c3_Var155 == nil { | |
| 3224 | + | templ_7745c5c3_Var155 = templ.NopComponent | |
| 3118 | 3225 | } | |
| 3119 | 3226 | ctx = templ.ClearChildren(ctx) | |
| 3120 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 295, "<div id=\"mr-mergeability\" class=\"live-slot\" role=\"status\" data-slot>") | |
| 3227 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 305, "<div id=\"mr-mergeability\" class=\"live-slot\" role=\"status\" data-slot>") | |
| 3121 | 3228 | if templ_7745c5c3_Err != nil { | |
| 3122 | 3229 | return templ_7745c5c3_Err | |
| 3123 | 3230 | } | |
| @@ -3125,7 +3232,7 @@ func mrMergeabilitySlot(v MergeabilityView) templ.Component { | |||
| 3125 | 3232 | if templ_7745c5c3_Err != nil { | |
| 3126 | 3233 | return templ_7745c5c3_Err | |
| 3127 | 3234 | } | |
| 3128 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 296, "</div>") | |
| 3235 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 306, "</div>") | |
| 3129 | 3236 | if templ_7745c5c3_Err != nil { | |
| 3130 | 3237 | return templ_7745c5c3_Err | |
| 3131 | 3238 | } | |
| @@ -3150,9 +3257,9 @@ func MRMergeabilityFragment(v MergeabilityView) templ.Component { | |||
| 3150 | 3257 | }() | |
| 3151 | 3258 | } | |
| 3152 | 3259 | ctx = templ.InitializeContext(ctx) | |
| 3153 | - | templ_7745c5c3_Var149 := templ.GetChildren(ctx) | |
| 3154 | - | if templ_7745c5c3_Var149 == nil { | |
| 3155 | - | templ_7745c5c3_Var149 = templ.NopComponent | |
| 3260 | + | templ_7745c5c3_Var156 := templ.GetChildren(ctx) | |
| 3261 | + | if templ_7745c5c3_Var156 == nil { | |
| 3262 | + | templ_7745c5c3_Var156 = templ.NopComponent | |
| 3156 | 3263 | } | |
| 3157 | 3264 | ctx = templ.ClearChildren(ctx) | |
| 3158 | 3265 | templ_7745c5c3_Err = mrMergeabilitySlot(v).Render(ctx, templ_7745c5c3_Buffer) | |
| @@ -3181,128 +3288,128 @@ func moreMenu(p MRPage) templ.Component { | |||
| 3181 | 3288 | }() | |
| 3182 | 3289 | } | |
| 3183 | 3290 | ctx = templ.InitializeContext(ctx) | |
| 3184 | - | templ_7745c5c3_Var150 := templ.GetChildren(ctx) | |
| 3185 | - | if templ_7745c5c3_Var150 == nil { | |
| 3186 | - | templ_7745c5c3_Var150 = templ.NopComponent | |
| 3291 | + | templ_7745c5c3_Var157 := templ.GetChildren(ctx) | |
| 3292 | + | if templ_7745c5c3_Var157 == nil { | |
| 3293 | + | templ_7745c5c3_Var157 = templ.NopComponent | |
| 3187 | 3294 | } | |
| 3188 | 3295 | ctx = templ.ClearChildren(ctx) | |
| 3189 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 297, "<details class=\"menu omenu\"><summary class=\"btn icon\" aria-label=\"More actions\" title=\"more actions\">⋯</summary><div class=\"menu-pop\" role=\"group\" aria-label=\"More actions\"><section class=\"merge-settings\"><h2>Merge settings</h2><dl class=\"kv\"><dt>modes</dt><dd>") | |
| 3296 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 307, "<details class=\"menu omenu\"><summary class=\"btn icon\" aria-label=\"More actions\" title=\"more actions\">⋯</summary><div class=\"menu-pop\" role=\"group\" aria-label=\"More actions\"><section class=\"merge-settings\"><h2>Merge settings</h2><dl class=\"kv\"><dt>modes</dt><dd>") | |
| 3190 | 3297 | if templ_7745c5c3_Err != nil { | |
| 3191 | 3298 | return templ_7745c5c3_Err | |
| 3192 | 3299 | } | |
| 3193 | - | var templ_7745c5c3_Var151 string | |
| 3194 | - | templ_7745c5c3_Var151, templ_7745c5c3_Err = templ.JoinStringErrs(strings.Join(p.Modes, ", ")) | |
| 3300 | + | var templ_7745c5c3_Var158 string | |
| 3301 | + | templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinStringErrs(strings.Join(p.Modes, ", ")) | |
| 3195 | 3302 | if templ_7745c5c3_Err != nil { | |
| 3196 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 633, Col: 38} | |
| 3303 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 647, Col: 38} | |
| 3197 | 3304 | } | |
| 3198 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var151)) | |
| 3305 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158)) | |
| 3199 | 3306 | if templ_7745c5c3_Err != nil { | |
| 3200 | 3307 | return templ_7745c5c3_Err | |
| 3201 | 3308 | } | |
| 3202 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 298, "</dd><dt>checks</dt><dd>") | |
| 3309 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 308, "</dd><dt>checks</dt><dd>") | |
| 3203 | 3310 | if templ_7745c5c3_Err != nil { | |
| 3204 | 3311 | return templ_7745c5c3_Err | |
| 3205 | 3312 | } | |
| 3206 | 3313 | if p.ChecksBlock { | |
| 3207 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 299, "failing or unfinished checks block the merge") | |
| 3314 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 309, "failing or unfinished checks block the merge") | |
| 3208 | 3315 | if templ_7745c5c3_Err != nil { | |
| 3209 | 3316 | return templ_7745c5c3_Err | |
| 3210 | 3317 | } | |
| 3211 | 3318 | } else { | |
| 3212 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 300, "do not block the merge") | |
| 3319 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 310, "do not block the merge") | |
| 3213 | 3320 | if templ_7745c5c3_Err != nil { | |
| 3214 | 3321 | return templ_7745c5c3_Err | |
| 3215 | 3322 | } | |
| 3216 | 3323 | } | |
| 3217 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 301, "</dd></dl></section>") | |
| 3324 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 311, "</dd></dl></section>") | |
| 3218 | 3325 | if templ_7745c5c3_Err != nil { | |
| 3219 | 3326 | return templ_7745c5c3_Err | |
| 3220 | 3327 | } | |
| 3221 | 3328 | if p.Box != nil { | |
| 3222 | 3329 | if p.Box.Signed { | |
| 3223 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 302, "<p class=\"d-note\" id=\"mr-signing\">squash and merge commits are signed with ermite's own key (generated on first start). ") | |
| 3330 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 312, "<p class=\"d-note\" id=\"mr-signing\">squash and merge commits are signed with ermite's own key (generated on first start). ") | |
| 3224 | 3331 | if templ_7745c5c3_Err != nil { | |
| 3225 | 3332 | return templ_7745c5c3_Err | |
| 3226 | 3333 | } | |
| 3227 | 3334 | if p.Box.Fingerprint != "" { | |
| 3228 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 303, "fingerprint <code>") | |
| 3335 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 313, "fingerprint <code>") | |
| 3229 | 3336 | if templ_7745c5c3_Err != nil { | |
| 3230 | 3337 | return templ_7745c5c3_Err | |
| 3231 | 3338 | } | |
| 3232 | - | var templ_7745c5c3_Var152 string | |
| 3233 | - | templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Fingerprint) | |
| 3339 | + | var templ_7745c5c3_Var159 string | |
| 3340 | + | templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Fingerprint) | |
| 3234 | 3341 | if templ_7745c5c3_Err != nil { | |
| 3235 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 649, Col: 44} | |
| 3342 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 663, Col: 44} | |
| 3236 | 3343 | } | |
| 3237 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152)) | |
| 3344 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159)) | |
| 3238 | 3345 | if templ_7745c5c3_Err != nil { | |
| 3239 | 3346 | return templ_7745c5c3_Err | |
| 3240 | 3347 | } | |
| 3241 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 304, "</code> ") | |
| 3348 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 314, "</code> ") | |
| 3242 | 3349 | if templ_7745c5c3_Err != nil { | |
| 3243 | 3350 | return templ_7745c5c3_Err | |
| 3244 | 3351 | } | |
| 3245 | 3352 | } | |
| 3246 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 305, "<code>ermite signing-key show</code> prints it.</p>") | |
| 3353 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 315, "<code>ermite signing-key show</code> prints it.</p>") | |
| 3247 | 3354 | if templ_7745c5c3_Err != nil { | |
| 3248 | 3355 | return templ_7745c5c3_Err | |
| 3249 | 3356 | } | |
| 3250 | 3357 | } | |
| 3251 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 306, " ") | |
| 3358 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 316, " ") | |
| 3252 | 3359 | if templ_7745c5c3_Err != nil { | |
| 3253 | 3360 | return templ_7745c5c3_Err | |
| 3254 | 3361 | } | |
| 3255 | 3362 | if p.Box.CanMarkRead { | |
| 3256 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 307, "<form method=\"post\" action=\"") | |
| 3363 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 317, "<form method=\"post\" action=\"") | |
| 3257 | 3364 | if templ_7745c5c3_Err != nil { | |
| 3258 | 3365 | return templ_7745c5c3_Err | |
| 3259 | 3366 | } | |
| 3260 | - | var templ_7745c5c3_Var153 templ.SafeURL | |
| 3261 | - | templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadAction)) | |
| 3367 | + | var templ_7745c5c3_Var160 templ.SafeURL | |
| 3368 | + | templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadAction)) | |
| 3262 | 3369 | if templ_7745c5c3_Err != nil { | |
| 3263 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 655, Col: 65} | |
| 3370 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 669, Col: 65} | |
| 3264 | 3371 | } | |
| 3265 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153)) | |
| 3372 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160)) | |
| 3266 | 3373 | if templ_7745c5c3_Err != nil { | |
| 3267 | 3374 | return templ_7745c5c3_Err | |
| 3268 | 3375 | } | |
| 3269 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 308, "\"><input type=\"hidden\" name=\"head_id\" value=\"") | |
| 3376 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 318, "\"><input type=\"hidden\" name=\"head_id\" value=\"") | |
| 3270 | 3377 | if templ_7745c5c3_Err != nil { | |
| 3271 | 3378 | return templ_7745c5c3_Err | |
| 3272 | 3379 | } | |
| 3273 | - | var templ_7745c5c3_Var154 string | |
| 3274 | - | templ_7745c5c3_Var154, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) | |
| 3380 | + | var templ_7745c5c3_Var161 string | |
| 3381 | + | templ_7745c5c3_Var161, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) | |
| 3275 | 3382 | if templ_7745c5c3_Err != nil { | |
| 3276 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 656, Col: 60} | |
| 3383 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 670, Col: 60} | |
| 3277 | 3384 | } | |
| 3278 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var154) | |
| 3385 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var161) | |
| 3279 | 3386 | if templ_7745c5c3_Err != nil { | |
| 3280 | 3387 | return templ_7745c5c3_Err | |
| 3281 | 3388 | } | |
| 3282 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 309, "\"> <button type=\"submit\" title=\"the next visit can show only what changed after this head\" class=\"btn\" aria-keyshortcuts=\"Shift+R\" data-read>Mark read <kbd aria-hidden=\"true\">R</kbd></button></form>") | |
| 3389 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 319, "\"> <button type=\"submit\" title=\"the next visit can show only what changed after this head\" class=\"btn\" aria-keyshortcuts=\"Shift+R\" data-read>Mark read <kbd aria-hidden=\"true\">R</kbd></button></form>") | |
| 3283 | 3390 | if templ_7745c5c3_Err != nil { | |
| 3284 | 3391 | return templ_7745c5c3_Err | |
| 3285 | 3392 | } | |
| 3286 | 3393 | } | |
| 3287 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 310, " <form method=\"post\" action=\"") | |
| 3394 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 320, " <form method=\"post\" action=\"") | |
| 3288 | 3395 | if templ_7745c5c3_Err != nil { | |
| 3289 | 3396 | return templ_7745c5c3_Err | |
| 3290 | 3397 | } | |
| 3291 | - | var templ_7745c5c3_Var155 templ.SafeURL | |
| 3292 | - | templ_7745c5c3_Var155, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CloseAction)) | |
| 3398 | + | var templ_7745c5c3_Var162 templ.SafeURL | |
| 3399 | + | templ_7745c5c3_Var162, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CloseAction)) | |
| 3293 | 3400 | if templ_7745c5c3_Err != nil { | |
| 3294 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 660, Col: 65} | |
| 3401 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 674, Col: 65} | |
| 3295 | 3402 | } | |
| 3296 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var155)) | |
| 3403 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var162)) | |
| 3297 | 3404 | if templ_7745c5c3_Err != nil { | |
| 3298 | 3405 | return templ_7745c5c3_Err | |
| 3299 | 3406 | } | |
| 3300 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 311, "\"><button type=\"submit\" title=\"close without merging; the branch is kept\" class=\"btn danger\">Close</button></form>") | |
| 3407 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 321, "\"><button type=\"submit\" title=\"close without merging; the branch is kept\" class=\"btn danger\">Close</button></form>") | |
| 3301 | 3408 | if templ_7745c5c3_Err != nil { | |
| 3302 | 3409 | return templ_7745c5c3_Err | |
| 3303 | 3410 | } | |
| 3304 | 3411 | if !p.Box.HeadGone && p.Box.ReadyAction == "" { | |
| 3305 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 312, "<details class=\"d-or\"><summary class=\"mute\">or from a terminal</summary>") | |
| 3412 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 322, "<details class=\"d-or\"><summary class=\"mute\">or from a terminal</summary>") | |
| 3306 | 3413 | if templ_7745c5c3_Err != nil { | |
| 3307 | 3414 | return templ_7745c5c3_Err | |
| 3308 | 3415 | } | |
| @@ -3310,13 +3417,13 @@ func moreMenu(p MRPage) templ.Component { | |||
| 3310 | 3417 | if templ_7745c5c3_Err != nil { | |
| 3311 | 3418 | return templ_7745c5c3_Err | |
| 3312 | 3419 | } | |
| 3313 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 313, "</details>") | |
| 3420 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 323, "</details>") | |
| 3314 | 3421 | if templ_7745c5c3_Err != nil { | |
| 3315 | 3422 | return templ_7745c5c3_Err | |
| 3316 | 3423 | } | |
| 3317 | 3424 | } | |
| 3318 | 3425 | } | |
| 3319 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 314, "</div></details>") | |
| 3426 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 324, "</div></details>") | |
| 3320 | 3427 | if templ_7745c5c3_Err != nil { | |
| 3321 | 3428 | return templ_7745c5c3_Err | |
| 3322 | 3429 | } | |
| @@ -3340,12 +3447,12 @@ func Compare(l Layout, p ComparePage) templ.Component { | |||
| 3340 | 3447 | }() | |
| 3341 | 3448 | } | |
| 3342 | 3449 | ctx = templ.InitializeContext(ctx) | |
| 3343 | - | templ_7745c5c3_Var156 := templ.GetChildren(ctx) | |
| 3344 | - | if templ_7745c5c3_Var156 == nil { | |
| 3345 | - | templ_7745c5c3_Var156 = templ.NopComponent | |
| 3450 | + | templ_7745c5c3_Var163 := templ.GetChildren(ctx) | |
| 3451 | + | if templ_7745c5c3_Var163 == nil { | |
| 3452 | + | templ_7745c5c3_Var163 = templ.NopComponent | |
| 3346 | 3453 | } | |
| 3347 | 3454 | ctx = templ.ClearChildren(ctx) | |
| 3348 | - | templ_7745c5c3_Var157 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 3455 | + | templ_7745c5c3_Var164 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | |
| 3349 | 3456 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | |
| 3350 | 3457 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | |
| 3351 | 3458 | if !templ_7745c5c3_IsBuffer { | |
| @@ -3357,263 +3464,263 @@ func Compare(l Layout, p ComparePage) templ.Component { | |||
| 3357 | 3464 | }() | |
| 3358 | 3465 | } | |
| 3359 | 3466 | ctx = templ.InitializeContext(ctx) | |
| 3360 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 315, "<header class=\"show mr-h\"><h1>") | |
| 3467 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 325, "<header class=\"show mr-h\"><h1>") | |
| 3361 | 3468 | if templ_7745c5c3_Err != nil { | |
| 3362 | 3469 | return templ_7745c5c3_Err | |
| 3363 | 3470 | } | |
| 3364 | - | var templ_7745c5c3_Var158 string | |
| 3365 | - | templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) | |
| 3471 | + | var templ_7745c5c3_Var165 string | |
| 3472 | + | templ_7745c5c3_Var165, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) | |
| 3366 | 3473 | if templ_7745c5c3_Err != nil { | |
| 3367 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 677, Col: 17} | |
| 3474 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 691, Col: 17} | |
| 3368 | 3475 | } | |
| 3369 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158)) | |
| 3476 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var165)) | |
| 3370 | 3477 | if templ_7745c5c3_Err != nil { | |
| 3371 | 3478 | return templ_7745c5c3_Err | |
| 3372 | 3479 | } | |
| 3373 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 316, " → ") | |
| 3480 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 326, " → ") | |
| 3374 | 3481 | if templ_7745c5c3_Err != nil { | |
| 3375 | 3482 | return templ_7745c5c3_Err | |
| 3376 | 3483 | } | |
| 3377 | - | var templ_7745c5c3_Var159 string | |
| 3378 | - | templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | |
| 3484 | + | var templ_7745c5c3_Var166 string | |
| 3485 | + | templ_7745c5c3_Var166, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | |
| 3379 | 3486 | if templ_7745c5c3_Err != nil { | |
| 3380 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 677, Col: 34} | |
| 3487 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 691, Col: 34} | |
| 3381 | 3488 | } | |
| 3382 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159)) | |
| 3489 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var166)) | |
| 3383 | 3490 | if templ_7745c5c3_Err != nil { | |
| 3384 | 3491 | return templ_7745c5c3_Err | |
| 3385 | 3492 | } | |
| 3386 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 317, "</h1><dl class=\"kv show-kv\"><dt>branch</dt><dd><a href=\"") | |
| 3493 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 327, "</h1><dl class=\"kv show-kv\"><dt>branch</dt><dd><a href=\"") | |
| 3387 | 3494 | if templ_7745c5c3_Err != nil { | |
| 3388 | 3495 | return templ_7745c5c3_Err | |
| 3389 | 3496 | } | |
| 3390 | - | var templ_7745c5c3_Var160 templ.SafeURL | |
| 3391 | - | templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref)) | |
| 3497 | + | var templ_7745c5c3_Var167 templ.SafeURL | |
| 3498 | + | templ_7745c5c3_Var167, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref)) | |
| 3392 | 3499 | if templ_7745c5c3_Err != nil { | |
| 3393 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 680, Col: 45} | |
| 3500 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 694, Col: 45} | |
| 3394 | 3501 | } | |
| 3395 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160)) | |
| 3502 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var167)) | |
| 3396 | 3503 | if templ_7745c5c3_Err != nil { | |
| 3397 | 3504 | return templ_7745c5c3_Err | |
| 3398 | 3505 | } | |
| 3399 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 318, "\">") | |
| 3506 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 328, "\">") | |
| 3400 | 3507 | if templ_7745c5c3_Err != nil { | |
| 3401 | 3508 | return templ_7745c5c3_Err | |
| 3402 | 3509 | } | |
| 3403 | - | var templ_7745c5c3_Var161 string | |
| 3404 | - | templ_7745c5c3_Var161, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) | |
| 3510 | + | var templ_7745c5c3_Var168 string | |
| 3511 | + | templ_7745c5c3_Var168, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) | |
| 3405 | 3512 | if templ_7745c5c3_Err != nil { | |
| 3406 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 680, Col: 58} | |
| 3513 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 694, Col: 58} | |
| 3407 | 3514 | } | |
| 3408 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var161)) | |
| 3515 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var168)) | |
| 3409 | 3516 | if templ_7745c5c3_Err != nil { | |
| 3410 | 3517 | return templ_7745c5c3_Err | |
| 3411 | 3518 | } | |
| 3412 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 319, "</a></dd><dt>target</dt><dd><a href=\"") | |
| 3519 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 329, "</a></dd><dt>target</dt><dd><a href=\"") | |
| 3413 | 3520 | if templ_7745c5c3_Err != nil { | |
| 3414 | 3521 | return templ_7745c5c3_Err | |
| 3415 | 3522 | } | |
| 3416 | - | var templ_7745c5c3_Var162 templ.SafeURL | |
| 3417 | - | templ_7745c5c3_Var162, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.TargetHref)) | |
| 3523 | + | var templ_7745c5c3_Var169 templ.SafeURL | |
| 3524 | + | templ_7745c5c3_Var169, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.TargetHref)) | |
| 3418 | 3525 | if templ_7745c5c3_Err != nil { | |
| 3419 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 682, Col: 45} | |
| 3526 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 696, Col: 45} | |
| 3420 | 3527 | } | |
| 3421 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var162)) | |
| 3528 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var169)) | |
| 3422 | 3529 | if templ_7745c5c3_Err != nil { | |
| 3423 | 3530 | return templ_7745c5c3_Err | |
| 3424 | 3531 | } | |
| 3425 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 320, "\">") | |
| 3532 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 330, "\">") | |
| 3426 | 3533 | if templ_7745c5c3_Err != nil { | |
| 3427 | 3534 | return templ_7745c5c3_Err | |
| 3428 | 3535 | } | |
| 3429 | - | var templ_7745c5c3_Var163 string | |
| 3430 | - | templ_7745c5c3_Var163, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | |
| 3536 | + | var templ_7745c5c3_Var170 string | |
| 3537 | + | templ_7745c5c3_Var170, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | |
| 3431 | 3538 | if templ_7745c5c3_Err != nil { | |
| 3432 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 682, Col: 58} | |
| 3539 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 696, Col: 58} | |
| 3433 | 3540 | } | |
| 3434 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var163)) | |
| 3541 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var170)) | |
| 3435 | 3542 | if templ_7745c5c3_Err != nil { | |
| 3436 | 3543 | return templ_7745c5c3_Err | |
| 3437 | 3544 | } | |
| 3438 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 321, "</a></dd><dt>ahead</dt><dd>") | |
| 3545 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 331, "</a></dd><dt>ahead</dt><dd>") | |
| 3439 | 3546 | if templ_7745c5c3_Err != nil { | |
| 3440 | 3547 | return templ_7745c5c3_Err | |
| 3441 | 3548 | } | |
| 3442 | - | var templ_7745c5c3_Var164 string | |
| 3443 | - | templ_7745c5c3_Var164, templ_7745c5c3_Err = templ.JoinStringErrs(p.AheadText) | |
| 3549 | + | var templ_7745c5c3_Var171 string | |
| 3550 | + | templ_7745c5c3_Var171, templ_7745c5c3_Err = templ.JoinStringErrs(p.AheadText) | |
| 3444 | 3551 | if templ_7745c5c3_Err != nil { | |
| 3445 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 684, Col: 21} | |
| 3552 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 698, Col: 21} | |
| 3446 | 3553 | } | |
| 3447 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var164)) | |
| 3554 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var171)) | |
| 3448 | 3555 | if templ_7745c5c3_Err != nil { | |
| 3449 | 3556 | return templ_7745c5c3_Err | |
| 3450 | 3557 | } | |
| 3451 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 322, "</dd></dl></header>") | |
| 3558 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 332, "</dd></dl></header>") | |
| 3452 | 3559 | if templ_7745c5c3_Err != nil { | |
| 3453 | 3560 | return templ_7745c5c3_Err | |
| 3454 | 3561 | } | |
| 3455 | 3562 | if p.Note != "" { | |
| 3456 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 323, "<p class=\"notice\">") | |
| 3563 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 333, "<p class=\"notice\">") | |
| 3457 | 3564 | if templ_7745c5c3_Err != nil { | |
| 3458 | 3565 | return templ_7745c5c3_Err | |
| 3459 | 3566 | } | |
| 3460 | - | var templ_7745c5c3_Var165 string | |
| 3461 | - | templ_7745c5c3_Var165, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) | |
| 3567 | + | var templ_7745c5c3_Var172 string | |
| 3568 | + | templ_7745c5c3_Var172, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) | |
| 3462 | 3569 | if templ_7745c5c3_Err != nil { | |
| 3463 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 688, Col: 29} | |
| 3570 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 702, Col: 29} | |
| 3464 | 3571 | } | |
| 3465 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var165)) | |
| 3572 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var172)) | |
| 3466 | 3573 | if templ_7745c5c3_Err != nil { | |
| 3467 | 3574 | return templ_7745c5c3_Err | |
| 3468 | 3575 | } | |
| 3469 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 324, "</p>") | |
| 3576 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 334, "</p>") | |
| 3470 | 3577 | if templ_7745c5c3_Err != nil { | |
| 3471 | 3578 | return templ_7745c5c3_Err | |
| 3472 | 3579 | } | |
| 3473 | 3580 | } | |
| 3474 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 325, " ") | |
| 3581 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 335, " ") | |
| 3475 | 3582 | if templ_7745c5c3_Err != nil { | |
| 3476 | 3583 | return templ_7745c5c3_Err | |
| 3477 | 3584 | } | |
| 3478 | 3585 | if p.Existing != nil { | |
| 3479 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 326, "<p class=\"notice\">an open merge request already covers these branches: <a href=\"") | |
| 3586 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 336, "<p class=\"notice\">an open merge request already covers these branches: <a href=\"") | |
| 3480 | 3587 | if templ_7745c5c3_Err != nil { | |
| 3481 | 3588 | return templ_7745c5c3_Err | |
| 3482 | 3589 | } | |
| 3483 | - | var templ_7745c5c3_Var166 templ.SafeURL | |
| 3484 | - | templ_7745c5c3_Var166, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Existing.Href)) | |
| 3590 | + | var templ_7745c5c3_Var173 templ.SafeURL | |
| 3591 | + | templ_7745c5c3_Var173, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Existing.Href)) | |
| 3485 | 3592 | if templ_7745c5c3_Err != nil { | |
| 3486 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 691, Col: 114} | |
| 3593 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 705, Col: 114} | |
| 3487 | 3594 | } | |
| 3488 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var166)) | |
| 3595 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var173)) | |
| 3489 | 3596 | if templ_7745c5c3_Err != nil { | |
| 3490 | 3597 | return templ_7745c5c3_Err | |
| 3491 | 3598 | } | |
| 3492 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 327, "\">") | |
| 3599 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 337, "\">") | |
| 3493 | 3600 | if templ_7745c5c3_Err != nil { | |
| 3494 | 3601 | return templ_7745c5c3_Err | |
| 3495 | 3602 | } | |
| 3496 | - | var templ_7745c5c3_Var167 string | |
| 3497 | - | templ_7745c5c3_Var167, templ_7745c5c3_Err = templ.JoinStringErrs(p.Existing.Label) | |
| 3603 | + | var templ_7745c5c3_Var174 string | |
| 3604 | + | templ_7745c5c3_Var174, templ_7745c5c3_Err = templ.JoinStringErrs(p.Existing.Label) | |
| 3498 | 3605 | if templ_7745c5c3_Err != nil { | |
| 3499 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 691, Col: 135} | |
| 3606 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 705, Col: 135} | |
| 3500 | 3607 | } | |
| 3501 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var167)) | |
| 3608 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var174)) | |
| 3502 | 3609 | if templ_7745c5c3_Err != nil { | |
| 3503 | 3610 | return templ_7745c5c3_Err | |
| 3504 | 3611 | } | |
| 3505 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 328, "</a></p>") | |
| 3612 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 338, "</a></p>") | |
| 3506 | 3613 | if templ_7745c5c3_Err != nil { | |
| 3507 | 3614 | return templ_7745c5c3_Err | |
| 3508 | 3615 | } | |
| 3509 | 3616 | } | |
| 3510 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 329, " ") | |
| 3617 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 339, " ") | |
| 3511 | 3618 | if templ_7745c5c3_Err != nil { | |
| 3512 | 3619 | return templ_7745c5c3_Err | |
| 3513 | 3620 | } | |
| 3514 | 3621 | if p.Create != nil { | |
| 3515 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 330, "<form class=\"cform create\" method=\"post\" action=\"") | |
| 3622 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 340, "<form class=\"cform create\" method=\"post\" action=\"") | |
| 3516 | 3623 | if templ_7745c5c3_Err != nil { | |
| 3517 | 3624 | return templ_7745c5c3_Err | |
| 3518 | 3625 | } | |
| 3519 | - | var templ_7745c5c3_Var168 templ.SafeURL | |
| 3520 | - | templ_7745c5c3_Var168, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Create.Action)) | |
| 3626 | + | var templ_7745c5c3_Var175 templ.SafeURL | |
| 3627 | + | templ_7745c5c3_Var175, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Create.Action)) | |
| 3521 | 3628 | if templ_7745c5c3_Err != nil { | |
| 3522 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 694, Col: 83} | |
| 3629 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 708, Col: 83} | |
| 3523 | 3630 | } | |
| 3524 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var168)) | |
| 3631 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var175)) | |
| 3525 | 3632 | if templ_7745c5c3_Err != nil { | |
| 3526 | 3633 | return templ_7745c5c3_Err | |
| 3527 | 3634 | } | |
| 3528 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 331, "\"><input type=\"hidden\" name=\"source\" value=\"") | |
| 3635 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 341, "\"><input type=\"hidden\" name=\"source\" value=\"") | |
| 3529 | 3636 | if templ_7745c5c3_Err != nil { | |
| 3530 | 3637 | return templ_7745c5c3_Err | |
| 3531 | 3638 | } | |
| 3532 | - | var templ_7745c5c3_Var169 string | |
| 3533 | - | templ_7745c5c3_Var169, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Source) | |
| 3639 | + | var templ_7745c5c3_Var176 string | |
| 3640 | + | templ_7745c5c3_Var176, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Source) | |
| 3534 | 3641 | if templ_7745c5c3_Err != nil { | |
| 3535 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 695, Col: 62} | |
| 3642 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 709, Col: 62} | |
| 3536 | 3643 | } | |
| 3537 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var169) | |
| 3644 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var176) | |
| 3538 | 3645 | if templ_7745c5c3_Err != nil { | |
| 3539 | 3646 | return templ_7745c5c3_Err | |
| 3540 | 3647 | } | |
| 3541 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 332, "\"> <input type=\"hidden\" name=\"target\" value=\"") | |
| 3648 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 342, "\"> <input type=\"hidden\" name=\"target\" value=\"") | |
| 3542 | 3649 | if templ_7745c5c3_Err != nil { | |
| 3543 | 3650 | return templ_7745c5c3_Err | |
| 3544 | 3651 | } | |
| 3545 | - | var templ_7745c5c3_Var170 string | |
| 3546 | - | templ_7745c5c3_Var170, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Target) | |
| 3652 | + | var templ_7745c5c3_Var177 string | |
| 3653 | + | templ_7745c5c3_Var177, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Target) | |
| 3547 | 3654 | if templ_7745c5c3_Err != nil { | |
| 3548 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 696, Col: 62} | |
| 3655 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 710, Col: 62} | |
| 3549 | 3656 | } | |
| 3550 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var170) | |
| 3657 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var177) | |
| 3551 | 3658 | if templ_7745c5c3_Err != nil { | |
| 3552 | 3659 | return templ_7745c5c3_Err | |
| 3553 | 3660 | } | |
| 3554 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 333, "\"> <label for=\"mr-title\">title</label> <input id=\"mr-title\" name=\"title\" type=\"text\" maxlength=\"120\" required value=\"") | |
| 3661 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 343, "\"> <label for=\"mr-title\">title</label> <input id=\"mr-title\" name=\"title\" type=\"text\" maxlength=\"120\" required value=\"") | |
| 3555 | 3662 | if templ_7745c5c3_Err != nil { | |
| 3556 | 3663 | return templ_7745c5c3_Err | |
| 3557 | 3664 | } | |
| 3558 | - | var templ_7745c5c3_Var171 string | |
| 3559 | - | templ_7745c5c3_Var171, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Title) | |
| 3665 | + | var templ_7745c5c3_Var178 string | |
| 3666 | + | templ_7745c5c3_Var178, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Title) | |
| 3560 | 3667 | if templ_7745c5c3_Err != nil { | |
| 3561 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 698, Col: 97} | |
| 3668 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 712, Col: 97} | |
| 3562 | 3669 | } | |
| 3563 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var171) | |
| 3670 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var178) | |
| 3564 | 3671 | if templ_7745c5c3_Err != nil { | |
| 3565 | 3672 | return templ_7745c5c3_Err | |
| 3566 | 3673 | } | |
| 3567 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 334, "\" autocomplete=\"off\"> <label for=\"mr-desc\">description</label> <textarea id=\"mr-desc\" name=\"description\" rows=\"4\" maxlength=\"8000\" placeholder=\"Markdown, optional\"></textarea><div class=\"f-btns\"><button type=\"submit\" class=\"btn primary\">Create merge request</button></div></form>") | |
| 3674 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 344, "\" autocomplete=\"off\"> <label for=\"mr-desc\">description</label> <textarea id=\"mr-desc\" name=\"description\" rows=\"4\" maxlength=\"8000\" placeholder=\"Markdown, optional\"></textarea><div class=\"f-btns\"><button type=\"submit\" class=\"btn primary\">Create merge request</button></div></form>") | |
| 3568 | 3675 | if templ_7745c5c3_Err != nil { | |
| 3569 | 3676 | return templ_7745c5c3_Err | |
| 3570 | 3677 | } | |
| 3571 | 3678 | } | |
| 3572 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 335, " ") | |
| 3679 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 345, " ") | |
| 3573 | 3680 | if templ_7745c5c3_Err != nil { | |
| 3574 | 3681 | return templ_7745c5c3_Err | |
| 3575 | 3682 | } | |
| 3576 | 3683 | if p.HasDiff { | |
| 3577 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 336, "<div class=\"diff-tools\" role=\"group\" aria-label=\"Diff view\"><span class=\"dim\">") | |
| 3684 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 346, "<div class=\"diff-tools\" role=\"group\" aria-label=\"Diff view\"><span class=\"dim\">") | |
| 3578 | 3685 | if templ_7745c5c3_Err != nil { | |
| 3579 | 3686 | return templ_7745c5c3_Err | |
| 3580 | 3687 | } | |
| 3581 | - | var templ_7745c5c3_Var172 string | |
| 3582 | - | templ_7745c5c3_Var172, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files")) | |
| 3688 | + | var templ_7745c5c3_Var179 string | |
| 3689 | + | templ_7745c5c3_Var179, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files")) | |
| 3583 | 3690 | if templ_7745c5c3_Err != nil { | |
| 3584 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 708, Col: 57} | |
| 3691 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 722, Col: 57} | |
| 3585 | 3692 | } | |
| 3586 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var172)) | |
| 3693 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var179)) | |
| 3587 | 3694 | if templ_7745c5c3_Err != nil { | |
| 3588 | 3695 | return templ_7745c5c3_Err | |
| 3589 | 3696 | } | |
| 3590 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 337, " · <span class=\"plus\">+") | |
| 3697 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 347, " · <span class=\"plus\">+") | |
| 3591 | 3698 | if templ_7745c5c3_Err != nil { | |
| 3592 | 3699 | return templ_7745c5c3_Err | |
| 3593 | 3700 | } | |
| 3594 | - | var templ_7745c5c3_Var173 string | |
| 3595 | - | templ_7745c5c3_Var173, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) | |
| 3701 | + | var templ_7745c5c3_Var180 string | |
| 3702 | + | templ_7745c5c3_Var180, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) | |
| 3596 | 3703 | if templ_7745c5c3_Err != nil { | |
| 3597 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 708, Col: 97} | |
| 3704 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 722, Col: 97} | |
| 3598 | 3705 | } | |
| 3599 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var173)) | |
| 3706 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var180)) | |
| 3600 | 3707 | if templ_7745c5c3_Err != nil { | |
| 3601 | 3708 | return templ_7745c5c3_Err | |
| 3602 | 3709 | } | |
| 3603 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 338, "</span> <span class=\"minus\">-") | |
| 3710 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 348, "</span> <span class=\"minus\">-") | |
| 3604 | 3711 | if templ_7745c5c3_Err != nil { | |
| 3605 | 3712 | return templ_7745c5c3_Err | |
| 3606 | 3713 | } | |
| 3607 | - | var templ_7745c5c3_Var174 string | |
| 3608 | - | templ_7745c5c3_Var174, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) | |
| 3714 | + | var templ_7745c5c3_Var181 string | |
| 3715 | + | templ_7745c5c3_Var181, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) | |
| 3609 | 3716 | if templ_7745c5c3_Err != nil { | |
| 3610 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 708, Col: 142} | |
| 3717 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 722, Col: 142} | |
| 3611 | 3718 | } | |
| 3612 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var174)) | |
| 3719 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var181)) | |
| 3613 | 3720 | if templ_7745c5c3_Err != nil { | |
| 3614 | 3721 | return templ_7745c5c3_Err | |
| 3615 | 3722 | } | |
| 3616 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 339, "</span></span> <span class=\"grow\"></span>") | |
| 3723 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 349, "</span></span> <span class=\"grow\"></span>") | |
| 3617 | 3724 | if templ_7745c5c3_Err != nil { | |
| 3618 | 3725 | return templ_7745c5c3_Err | |
| 3619 | 3726 | } | |
| @@ -3621,64 +3728,64 @@ func Compare(l Layout, p ComparePage) templ.Component { | |||
| 3621 | 3728 | if templ_7745c5c3_Err != nil { | |
| 3622 | 3729 | return templ_7745c5c3_Err | |
| 3623 | 3730 | } | |
| 3624 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 340, "</div>") | |
| 3731 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 350, "</div>") | |
| 3625 | 3732 | if templ_7745c5c3_Err != nil { | |
| 3626 | 3733 | return templ_7745c5c3_Err | |
| 3627 | 3734 | } | |
| 3628 | 3735 | if p.Invisible { | |
| 3629 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 341, "<p class=\"notice\">this diff holds invisible characters (direction controls, zero-width characters). They are shown as <span class=\"inv\"><U+XXXX></span> markers, never applied.</p>") | |
| 3736 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 351, "<p class=\"notice\">this diff holds invisible characters (direction controls, zero-width characters). They are shown as <span class=\"inv\"><U+XXXX></span> markers, never applied.</p>") | |
| 3630 | 3737 | if templ_7745c5c3_Err != nil { | |
| 3631 | 3738 | return templ_7745c5c3_Err | |
| 3632 | 3739 | } | |
| 3633 | 3740 | } | |
| 3634 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 342, " <div id=\"diffs\"") | |
| 3741 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 352, " <div id=\"diffs\"") | |
| 3635 | 3742 | if templ_7745c5c3_Err != nil { | |
| 3636 | 3743 | return templ_7745c5c3_Err | |
| 3637 | 3744 | } | |
| 3638 | 3745 | if p.Both { | |
| 3639 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 343, " data-diff=\"") | |
| 3746 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 353, " data-diff=\"") | |
| 3640 | 3747 | if templ_7745c5c3_Err != nil { | |
| 3641 | 3748 | return templ_7745c5c3_Err | |
| 3642 | 3749 | } | |
| 3643 | - | var templ_7745c5c3_Var175 string | |
| 3644 | - | templ_7745c5c3_Var175, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) | |
| 3750 | + | var templ_7745c5c3_Var182 string | |
| 3751 | + | templ_7745c5c3_Var182, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) | |
| 3645 | 3752 | if templ_7745c5c3_Err != nil { | |
| 3646 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 721, Col: 23} | |
| 3753 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 735, Col: 23} | |
| 3647 | 3754 | } | |
| 3648 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var175) | |
| 3755 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var182) | |
| 3649 | 3756 | if templ_7745c5c3_Err != nil { | |
| 3650 | 3757 | return templ_7745c5c3_Err | |
| 3651 | 3758 | } | |
| 3652 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 344, "\"") | |
| 3759 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 354, "\"") | |
| 3653 | 3760 | if templ_7745c5c3_Err != nil { | |
| 3654 | 3761 | return templ_7745c5c3_Err | |
| 3655 | 3762 | } | |
| 3656 | 3763 | } else { | |
| 3657 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 345, " data-view=\"") | |
| 3764 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 355, " data-view=\"") | |
| 3658 | 3765 | if templ_7745c5c3_Err != nil { | |
| 3659 | 3766 | return templ_7745c5c3_Err | |
| 3660 | 3767 | } | |
| 3661 | - | var templ_7745c5c3_Var176 string | |
| 3662 | - | templ_7745c5c3_Var176, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) | |
| 3768 | + | var templ_7745c5c3_Var183 string | |
| 3769 | + | templ_7745c5c3_Var183, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) | |
| 3663 | 3770 | if templ_7745c5c3_Err != nil { | |
| 3664 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 723, Col: 23} | |
| 3771 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 737, Col: 23} | |
| 3665 | 3772 | } | |
| 3666 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var176) | |
| 3773 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var183) | |
| 3667 | 3774 | if templ_7745c5c3_Err != nil { | |
| 3668 | 3775 | return templ_7745c5c3_Err | |
| 3669 | 3776 | } | |
| 3670 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 346, "\"") | |
| 3777 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 356, "\"") | |
| 3671 | 3778 | if templ_7745c5c3_Err != nil { | |
| 3672 | 3779 | return templ_7745c5c3_Err | |
| 3673 | 3780 | } | |
| 3674 | 3781 | } | |
| 3675 | 3782 | if p.Both && !p.Pinned { | |
| 3676 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 347, " hx-live=\"this.dataset.diff = sessionStorage.getItem('diff') || this.dataset.diff\"") | |
| 3783 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 357, " hx-live=\"this.dataset.diff = sessionStorage.getItem('diff') || this.dataset.diff\"") | |
| 3677 | 3784 | if templ_7745c5c3_Err != nil { | |
| 3678 | 3785 | return templ_7745c5c3_Err | |
| 3679 | 3786 | } | |
| 3680 | 3787 | } | |
| 3681 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 348, ">") | |
| 3788 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 358, ">") | |
| 3682 | 3789 | if templ_7745c5c3_Err != nil { | |
| 3683 | 3790 | return templ_7745c5c3_Err | |
| 3684 | 3791 | } | |
| @@ -3688,14 +3795,14 @@ func Compare(l Layout, p ComparePage) templ.Component { | |||
| 3688 | 3795 | return templ_7745c5c3_Err | |
| 3689 | 3796 | } | |
| 3690 | 3797 | } | |
| 3691 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 349, "</div>") | |
| 3798 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 359, "</div>") | |
| 3692 | 3799 | if templ_7745c5c3_Err != nil { | |
| 3693 | 3800 | return templ_7745c5c3_Err | |
| 3694 | 3801 | } | |
| 3695 | 3802 | } | |
| 3696 | 3803 | return nil | |
| 3697 | 3804 | }) | |
| 3698 | - | templ_7745c5c3_Err = Shell(l, compareRail(p)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var157), templ_7745c5c3_Buffer) | |
| 3805 | + | templ_7745c5c3_Err = Shell(l, compareRail(p)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var164), templ_7745c5c3_Buffer) | |
| 3699 | 3806 | if templ_7745c5c3_Err != nil { | |
| 3700 | 3807 | return templ_7745c5c3_Err | |
| 3701 | 3808 | } | |
| @@ -3719,173 +3826,173 @@ func compareRail(p ComparePage) templ.Component { | |||
| 3719 | 3826 | }() | |
| 3720 | 3827 | } | |
| 3721 | 3828 | ctx = templ.InitializeContext(ctx) | |
| 3722 | - | templ_7745c5c3_Var177 := templ.GetChildren(ctx) | |
| 3723 | - | if templ_7745c5c3_Var177 == nil { | |
| 3724 | - | templ_7745c5c3_Var177 = templ.NopComponent | |
| 3829 | + | templ_7745c5c3_Var184 := templ.GetChildren(ctx) | |
| 3830 | + | if templ_7745c5c3_Var184 == nil { | |
| 3831 | + | templ_7745c5c3_Var184 = templ.NopComponent | |
| 3725 | 3832 | } | |
| 3726 | 3833 | ctx = templ.ClearChildren(ctx) | |
| 3727 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 350, "<section aria-labelledby=\"r-ahead\"><h2 id=\"r-ahead\">Commits <span class=\"count\">") | |
| 3834 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 360, "<section aria-labelledby=\"r-ahead\"><h2 id=\"r-ahead\">Commits <span class=\"count\">") | |
| 3728 | 3835 | if templ_7745c5c3_Err != nil { | |
| 3729 | 3836 | return templ_7745c5c3_Err | |
| 3730 | 3837 | } | |
| 3731 | - | var templ_7745c5c3_Var178 string | |
| 3732 | - | templ_7745c5c3_Var178, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Ahead))) | |
| 3838 | + | var templ_7745c5c3_Var185 string | |
| 3839 | + | templ_7745c5c3_Var185, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Ahead))) | |
| 3733 | 3840 | if templ_7745c5c3_Err != nil { | |
| 3734 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 739, Col: 67} | |
| 3841 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 753, Col: 67} | |
| 3735 | 3842 | } | |
| 3736 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var178)) | |
| 3843 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var185)) | |
| 3737 | 3844 | if templ_7745c5c3_Err != nil { | |
| 3738 | 3845 | return templ_7745c5c3_Err | |
| 3739 | 3846 | } | |
| 3740 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 351, "</span></h2><ul class=\"pcommits\">") | |
| 3847 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 361, "</span></h2><ul class=\"pcommits\">") | |
| 3741 | 3848 | if templ_7745c5c3_Err != nil { | |
| 3742 | 3849 | return templ_7745c5c3_Err | |
| 3743 | 3850 | } | |
| 3744 | 3851 | for _, c := range p.Ahead { | |
| 3745 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 352, "<li><a href=\"") | |
| 3852 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 362, "<li><a href=\"") | |
| 3746 | 3853 | if templ_7745c5c3_Err != nil { | |
| 3747 | 3854 | return templ_7745c5c3_Err | |
| 3748 | 3855 | } | |
| 3749 | - | var templ_7745c5c3_Var179 templ.SafeURL | |
| 3750 | - | templ_7745c5c3_Var179, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref)) | |
| 3856 | + | var templ_7745c5c3_Var186 templ.SafeURL | |
| 3857 | + | templ_7745c5c3_Var186, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref)) | |
| 3751 | 3858 | if templ_7745c5c3_Err != nil { | |
| 3752 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 743, Col: 37} | |
| 3859 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 757, Col: 37} | |
| 3753 | 3860 | } | |
| 3754 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var179)) | |
| 3861 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var186)) | |
| 3755 | 3862 | if templ_7745c5c3_Err != nil { | |
| 3756 | 3863 | return templ_7745c5c3_Err | |
| 3757 | 3864 | } | |
| 3758 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 353, "\">") | |
| 3865 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 363, "\">") | |
| 3759 | 3866 | if templ_7745c5c3_Err != nil { | |
| 3760 | 3867 | return templ_7745c5c3_Err | |
| 3761 | 3868 | } | |
| 3762 | - | var templ_7745c5c3_Var180 string | |
| 3763 | - | templ_7745c5c3_Var180, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short) | |
| 3869 | + | var templ_7745c5c3_Var187 string | |
| 3870 | + | templ_7745c5c3_Var187, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short) | |
| 3764 | 3871 | if templ_7745c5c3_Err != nil { | |
| 3765 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 743, Col: 49} | |
| 3872 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 757, Col: 49} | |
| 3766 | 3873 | } | |
| 3767 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var180)) | |
| 3874 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var187)) | |
| 3768 | 3875 | if templ_7745c5c3_Err != nil { | |
| 3769 | 3876 | return templ_7745c5c3_Err | |
| 3770 | 3877 | } | |
| 3771 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 354, "</a> <span class=\"s\">") | |
| 3878 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 364, "</a> <span class=\"s\">") | |
| 3772 | 3879 | if templ_7745c5c3_Err != nil { | |
| 3773 | 3880 | return templ_7745c5c3_Err | |
| 3774 | 3881 | } | |
| 3775 | - | var templ_7745c5c3_Var181 string | |
| 3776 | - | templ_7745c5c3_Var181, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject) | |
| 3882 | + | var templ_7745c5c3_Var188 string | |
| 3883 | + | templ_7745c5c3_Var188, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject) | |
| 3777 | 3884 | if templ_7745c5c3_Err != nil { | |
| 3778 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 744, Col: 32} | |
| 3885 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 758, Col: 32} | |
| 3779 | 3886 | } | |
| 3780 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var181)) | |
| 3887 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var188)) | |
| 3781 | 3888 | if templ_7745c5c3_Err != nil { | |
| 3782 | 3889 | return templ_7745c5c3_Err | |
| 3783 | 3890 | } | |
| 3784 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 355, "</span> <span class=\"mute\">") | |
| 3891 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 365, "</span> <span class=\"mute\">") | |
| 3785 | 3892 | if templ_7745c5c3_Err != nil { | |
| 3786 | 3893 | return templ_7745c5c3_Err | |
| 3787 | 3894 | } | |
| 3788 | - | var templ_7745c5c3_Var182 string | |
| 3789 | - | templ_7745c5c3_Var182, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) | |
| 3895 | + | var templ_7745c5c3_Var189 string | |
| 3896 | + | templ_7745c5c3_Var189, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) | |
| 3790 | 3897 | if templ_7745c5c3_Err != nil { | |
| 3791 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 746, Col: 16} | |
| 3898 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 760, Col: 16} | |
| 3792 | 3899 | } | |
| 3793 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var182)) | |
| 3900 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var189)) | |
| 3794 | 3901 | if templ_7745c5c3_Err != nil { | |
| 3795 | 3902 | return templ_7745c5c3_Err | |
| 3796 | 3903 | } | |
| 3797 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 356, " ") | |
| 3904 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 366, " ") | |
| 3798 | 3905 | if templ_7745c5c3_Err != nil { | |
| 3799 | 3906 | return templ_7745c5c3_Err | |
| 3800 | 3907 | } | |
| 3801 | 3908 | if c.WhenAt != "" { | |
| 3802 | - | var templ_7745c5c3_Var183 string | |
| 3803 | - | templ_7745c5c3_Var183, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") | |
| 3909 | + | var templ_7745c5c3_Var190 string | |
| 3910 | + | templ_7745c5c3_Var190, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") | |
| 3804 | 3911 | if templ_7745c5c3_Err != nil { | |
| 3805 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 748, Col: 15} | |
| 3912 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 762, Col: 15} | |
| 3806 | 3913 | } | |
| 3807 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var183)) | |
| 3914 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var190)) | |
| 3808 | 3915 | if templ_7745c5c3_Err != nil { | |
| 3809 | 3916 | return templ_7745c5c3_Err | |
| 3810 | 3917 | } | |
| 3811 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 357, "<time datetime=\"") | |
| 3918 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 367, "<time datetime=\"") | |
| 3812 | 3919 | if templ_7745c5c3_Err != nil { | |
| 3813 | 3920 | return templ_7745c5c3_Err | |
| 3814 | 3921 | } | |
| 3815 | - | var templ_7745c5c3_Var184 string | |
| 3816 | - | templ_7745c5c3_Var184, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) | |
| 3922 | + | var templ_7745c5c3_Var191 string | |
| 3923 | + | templ_7745c5c3_Var191, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) | |
| 3817 | 3924 | if templ_7745c5c3_Err != nil { | |
| 3818 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 748, Col: 42} | |
| 3925 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 762, Col: 42} | |
| 3819 | 3926 | } | |
| 3820 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var184) | |
| 3927 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var191) | |
| 3821 | 3928 | if templ_7745c5c3_Err != nil { | |
| 3822 | 3929 | return templ_7745c5c3_Err | |
| 3823 | 3930 | } | |
| 3824 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 358, "\">") | |
| 3931 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 368, "\">") | |
| 3825 | 3932 | if templ_7745c5c3_Err != nil { | |
| 3826 | 3933 | return templ_7745c5c3_Err | |
| 3827 | 3934 | } | |
| 3828 | - | var templ_7745c5c3_Var185 string | |
| 3829 | - | templ_7745c5c3_Var185, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) | |
| 3935 | + | var templ_7745c5c3_Var192 string | |
| 3936 | + | templ_7745c5c3_Var192, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) | |
| 3830 | 3937 | if templ_7745c5c3_Err != nil { | |
| 3831 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 748, Col: 53} | |
| 3938 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 762, Col: 53} | |
| 3832 | 3939 | } | |
| 3833 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var185)) | |
| 3940 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var192)) | |
| 3834 | 3941 | if templ_7745c5c3_Err != nil { | |
| 3835 | 3942 | return templ_7745c5c3_Err | |
| 3836 | 3943 | } | |
| 3837 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 359, "</time>") | |
| 3944 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 369, "</time>") | |
| 3838 | 3945 | if templ_7745c5c3_Err != nil { | |
| 3839 | 3946 | return templ_7745c5c3_Err | |
| 3840 | 3947 | } | |
| 3841 | 3948 | } | |
| 3842 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 360, "</span></li>") | |
| 3949 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 370, "</span></li>") | |
| 3843 | 3950 | if templ_7745c5c3_Err != nil { | |
| 3844 | 3951 | return templ_7745c5c3_Err | |
| 3845 | 3952 | } | |
| 3846 | 3953 | } | |
| 3847 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 361, "</ul>") | |
| 3954 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 371, "</ul>") | |
| 3848 | 3955 | if templ_7745c5c3_Err != nil { | |
| 3849 | 3956 | return templ_7745c5c3_Err | |
| 3850 | 3957 | } | |
| 3851 | 3958 | if len(p.Ahead) == 0 { | |
| 3852 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 362, "<p class=\"dim\">no commit ahead of ") | |
| 3959 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 372, "<p class=\"dim\">no commit ahead of ") | |
| 3853 | 3960 | if templ_7745c5c3_Err != nil { | |
| 3854 | 3961 | return templ_7745c5c3_Err | |
| 3855 | 3962 | } | |
| 3856 | - | var templ_7745c5c3_Var186 string | |
| 3857 | - | templ_7745c5c3_Var186, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | |
| 3963 | + | var templ_7745c5c3_Var193 string | |
| 3964 | + | templ_7745c5c3_Var193, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | |
| 3858 | 3965 | if templ_7745c5c3_Err != nil { | |
| 3859 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 755, Col: 47} | |
| 3966 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 769, Col: 47} | |
| 3860 | 3967 | } | |
| 3861 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var186)) | |
| 3968 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var193)) | |
| 3862 | 3969 | if templ_7745c5c3_Err != nil { | |
| 3863 | 3970 | return templ_7745c5c3_Err | |
| 3864 | 3971 | } | |
| 3865 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 363, ".</p>") | |
| 3972 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 373, ".</p>") | |
| 3866 | 3973 | if templ_7745c5c3_Err != nil { | |
| 3867 | 3974 | return templ_7745c5c3_Err | |
| 3868 | 3975 | } | |
| 3869 | 3976 | } | |
| 3870 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 364, "</section>") | |
| 3977 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 374, "</section>") | |
| 3871 | 3978 | if templ_7745c5c3_Err != nil { | |
| 3872 | 3979 | return templ_7745c5c3_Err | |
| 3873 | 3980 | } | |
| 3874 | 3981 | if p.HasDiff { | |
| 3875 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 365, "<section aria-labelledby=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">") | |
| 3982 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 375, "<section aria-labelledby=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">") | |
| 3876 | 3983 | if templ_7745c5c3_Err != nil { | |
| 3877 | 3984 | return templ_7745c5c3_Err | |
| 3878 | 3985 | } | |
| 3879 | - | var templ_7745c5c3_Var187 string | |
| 3880 | - | templ_7745c5c3_Var187, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) | |
| 3986 | + | var templ_7745c5c3_Var194 string | |
| 3987 | + | templ_7745c5c3_Var194, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) | |
| 3881 | 3988 | if templ_7745c5c3_Err != nil { | |
| 3882 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 760, Col: 66} | |
| 3989 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 774, Col: 66} | |
| 3883 | 3990 | } | |
| 3884 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var187)) | |
| 3991 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var194)) | |
| 3885 | 3992 | if templ_7745c5c3_Err != nil { | |
| 3886 | 3993 | return templ_7745c5c3_Err | |
| 3887 | 3994 | } | |
| 3888 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 366, "</span></h2>") | |
| 3995 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 376, "</span></h2>") | |
| 3889 | 3996 | if templ_7745c5c3_Err != nil { | |
| 3890 | 3997 | return templ_7745c5c3_Err | |
| 3891 | 3998 | } | |
| @@ -3893,12 +4000,12 @@ func compareRail(p ComparePage) templ.Component { | |||
| 3893 | 4000 | if templ_7745c5c3_Err != nil { | |
| 3894 | 4001 | return templ_7745c5c3_Err | |
| 3895 | 4002 | } | |
| 3896 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 367, "</section>") | |
| 4003 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 377, "</section>") | |
| 3897 | 4004 | if templ_7745c5c3_Err != nil { | |
| 3898 | 4005 | return templ_7745c5c3_Err | |
| 3899 | 4006 | } | |
| 3900 | 4007 | } | |
| 3901 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 368, "<section aria-labelledby=\"r-cli\"><h2 id=\"r-cli\">From a terminal</h2>") | |
| 4008 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 378, "<section aria-labelledby=\"r-cli\"><h2 id=\"r-cli\">From a terminal</h2>") | |
| 3902 | 4009 | if templ_7745c5c3_Err != nil { | |
| 3903 | 4010 | return templ_7745c5c3_Err | |
| 3904 | 4011 | } | |
| @@ -3906,7 +4013,7 @@ func compareRail(p ComparePage) templ.Component { | |||
| 3906 | 4013 | if templ_7745c5c3_Err != nil { | |
| 3907 | 4014 | return templ_7745c5c3_Err | |
| 3908 | 4015 | } | |
| 3909 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 369, "</section>") | |
| 4016 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 379, "</section>") | |
| 3910 | 4017 | if templ_7745c5c3_Err != nil { | |
| 3911 | 4018 | return templ_7745c5c3_Err | |
| 3912 | 4019 | } | |
| @@ -3932,35 +4039,35 @@ func MRMergeChecks(c ChecksSummary) templ.Component { | |||
| 3932 | 4039 | }() | |
| 3933 | 4040 | } | |
| 3934 | 4041 | ctx = templ.InitializeContext(ctx) | |
| 3935 | - | templ_7745c5c3_Var188 := templ.GetChildren(ctx) | |
| 3936 | - | if templ_7745c5c3_Var188 == nil { | |
| 3937 | - | templ_7745c5c3_Var188 = templ.NopComponent | |
| 4042 | + | templ_7745c5c3_Var195 := templ.GetChildren(ctx) | |
| 4043 | + | if templ_7745c5c3_Var195 == nil { | |
| 4044 | + | templ_7745c5c3_Var195 = templ.NopComponent | |
| 3938 | 4045 | } | |
| 3939 | 4046 | ctx = templ.ClearChildren(ctx) | |
| 3940 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 370, "<div id=\"mr-merge-checks\" data-keep-checks>") | |
| 4047 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 380, "<div id=\"mr-merge-checks\" data-keep-checks>") | |
| 3941 | 4048 | if templ_7745c5c3_Err != nil { | |
| 3942 | 4049 | return templ_7745c5c3_Err | |
| 3943 | 4050 | } | |
| 3944 | 4051 | if c.Kind == "bad" || c.Kind == "running" { | |
| 3945 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 371, "<p class=\"d-note\">") | |
| 4052 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 381, "<p class=\"d-note\">") | |
| 3946 | 4053 | if templ_7745c5c3_Err != nil { | |
| 3947 | 4054 | return templ_7745c5c3_Err | |
| 3948 | 4055 | } | |
| 3949 | - | var templ_7745c5c3_Var189 string | |
| 3950 | - | templ_7745c5c3_Var189, templ_7745c5c3_Err = templ.JoinStringErrs(c.State + ": a failing or unfinished check blocks the merge.") | |
| 4056 | + | var templ_7745c5c3_Var196 string | |
| 4057 | + | templ_7745c5c3_Var196, templ_7745c5c3_Err = templ.JoinStringErrs(c.State + ": a failing or unfinished check blocks the merge.") | |
| 3951 | 4058 | if templ_7745c5c3_Err != nil { | |
| 3952 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 775, Col: 84} | |
| 4059 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 789, Col: 84} | |
| 3953 | 4060 | } | |
| 3954 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var189)) | |
| 4061 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var196)) | |
| 3955 | 4062 | if templ_7745c5c3_Err != nil { | |
| 3956 | 4063 | return templ_7745c5c3_Err | |
| 3957 | 4064 | } | |
| 3958 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 372, "</p><label class=\"d-check\"><input type=\"checkbox\" name=\"ignore_checks\"> Ignore checks</label>") | |
| 4065 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 382, "</p><label class=\"d-check\"><input type=\"checkbox\" name=\"ignore_checks\"> Ignore checks</label>") | |
| 3959 | 4066 | if templ_7745c5c3_Err != nil { | |
| 3960 | 4067 | return templ_7745c5c3_Err | |
| 3961 | 4068 | } | |
| 3962 | 4069 | } | |
| 3963 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 373, "</div>") | |
| 4070 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 383, "</div>") | |
| 3964 | 4071 | if templ_7745c5c3_Err != nil { | |
| 3965 | 4072 | return templ_7745c5c3_Err | |
| 3966 | 4073 | } | |
| @@ -3985,9 +4092,9 @@ func MRStateFragment(p MRPage) templ.Component { | |||
| 3985 | 4092 | }() | |
| 3986 | 4093 | } | |
| 3987 | 4094 | ctx = templ.InitializeContext(ctx) | |
| 3988 | - | templ_7745c5c3_Var190 := templ.GetChildren(ctx) | |
| 3989 | - | if templ_7745c5c3_Var190 == nil { | |
| 3990 | - | templ_7745c5c3_Var190 = templ.NopComponent | |
| 4095 | + | templ_7745c5c3_Var197 := templ.GetChildren(ctx) | |
| 4096 | + | if templ_7745c5c3_Var197 == nil { | |
| 4097 | + | templ_7745c5c3_Var197 = templ.NopComponent | |
| 3991 | 4098 | } | |
| 3992 | 4099 | ctx = templ.ClearChildren(ctx) | |
| 3993 | 4100 | templ_7745c5c3_Err = mrState(p).Render(ctx, templ_7745c5c3_Buffer) | |
| @@ -4018,92 +4125,92 @@ func mrState(p MRPage) templ.Component { | |||
| 4018 | 4125 | }() | |
| 4019 | 4126 | } | |
| 4020 | 4127 | ctx = templ.InitializeContext(ctx) | |
| 4021 | - | templ_7745c5c3_Var191 := templ.GetChildren(ctx) | |
| 4022 | - | if templ_7745c5c3_Var191 == nil { | |
| 4023 | - | templ_7745c5c3_Var191 = templ.NopComponent | |
| 4128 | + | templ_7745c5c3_Var198 := templ.GetChildren(ctx) | |
| 4129 | + | if templ_7745c5c3_Var198 == nil { | |
| 4130 | + | templ_7745c5c3_Var198 = templ.NopComponent | |
| 4024 | 4131 | } | |
| 4025 | 4132 | ctx = templ.ClearChildren(ctx) | |
| 4026 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 374, "<dd id=\"mr-state\" hx-swap-oob=\"true\" class=\"mr-state\" data-state=\"") | |
| 4133 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 384, "<dd id=\"mr-state\" hx-swap-oob=\"true\" class=\"mr-state\" data-state=\"") | |
| 4027 | 4134 | if templ_7745c5c3_Err != nil { | |
| 4028 | 4135 | return templ_7745c5c3_Err | |
| 4029 | 4136 | } | |
| 4030 | - | var templ_7745c5c3_Var192 string | |
| 4031 | - | templ_7745c5c3_Var192, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.State) | |
| 4137 | + | var templ_7745c5c3_Var199 string | |
| 4138 | + | templ_7745c5c3_Var199, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.State) | |
| 4032 | 4139 | if templ_7745c5c3_Err != nil { | |
| 4033 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 788, Col: 75} | |
| 4140 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 802, Col: 75} | |
| 4034 | 4141 | } | |
| 4035 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var192) | |
| 4142 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var199) | |
| 4036 | 4143 | if templ_7745c5c3_Err != nil { | |
| 4037 | 4144 | return templ_7745c5c3_Err | |
| 4038 | 4145 | } | |
| 4039 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 375, "\">") | |
| 4146 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 385, "\">") | |
| 4040 | 4147 | if templ_7745c5c3_Err != nil { | |
| 4041 | 4148 | return templ_7745c5c3_Err | |
| 4042 | 4149 | } | |
| 4043 | - | var templ_7745c5c3_Var193 string | |
| 4044 | - | templ_7745c5c3_Var193, templ_7745c5c3_Err = templ.JoinStringErrs(p.State) | |
| 4150 | + | var templ_7745c5c3_Var200 string | |
| 4151 | + | templ_7745c5c3_Var200, templ_7745c5c3_Err = templ.JoinStringErrs(p.State) | |
| 4045 | 4152 | if templ_7745c5c3_Err != nil { | |
| 4046 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 789, Col: 11} | |
| 4153 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 803, Col: 11} | |
| 4047 | 4154 | } | |
| 4048 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var193)) | |
| 4155 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var200)) | |
| 4049 | 4156 | if templ_7745c5c3_Err != nil { | |
| 4050 | 4157 | return templ_7745c5c3_Err | |
| 4051 | 4158 | } | |
| 4052 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 376, " ") | |
| 4159 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 386, " ") | |
| 4053 | 4160 | if templ_7745c5c3_Err != nil { | |
| 4054 | 4161 | return templ_7745c5c3_Err | |
| 4055 | 4162 | } | |
| 4056 | 4163 | if p.MergedShort != "" { | |
| 4057 | - | var templ_7745c5c3_Var194 string | |
| 4058 | - | templ_7745c5c3_Var194, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") | |
| 4164 | + | var templ_7745c5c3_Var201 string | |
| 4165 | + | templ_7745c5c3_Var201, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") | |
| 4059 | 4166 | if templ_7745c5c3_Err != nil { | |
| 4060 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 791, Col: 11} | |
| 4167 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 805, Col: 11} | |
| 4061 | 4168 | } | |
| 4062 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var194)) | |
| 4169 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var201)) | |
| 4063 | 4170 | if templ_7745c5c3_Err != nil { | |
| 4064 | 4171 | return templ_7745c5c3_Err | |
| 4065 | 4172 | } | |
| 4066 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 377, "<a href=\"") | |
| 4173 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 387, "<a href=\"") | |
| 4067 | 4174 | if templ_7745c5c3_Err != nil { | |
| 4068 | 4175 | return templ_7745c5c3_Err | |
| 4069 | 4176 | } | |
| 4070 | - | var templ_7745c5c3_Var195 templ.SafeURL | |
| 4071 | - | templ_7745c5c3_Var195, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.MergedHref)) | |
| 4177 | + | var templ_7745c5c3_Var202 templ.SafeURL | |
| 4178 | + | templ_7745c5c3_Var202, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.MergedHref)) | |
| 4072 | 4179 | if templ_7745c5c3_Err != nil { | |
| 4073 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 791, Col: 50} | |
| 4180 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 805, Col: 50} | |
| 4074 | 4181 | } | |
| 4075 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var195)) | |
| 4182 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var202)) | |
| 4076 | 4183 | if templ_7745c5c3_Err != nil { | |
| 4077 | 4184 | return templ_7745c5c3_Err | |
| 4078 | 4185 | } | |
| 4079 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 378, "\">") | |
| 4186 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 388, "\">") | |
| 4080 | 4187 | if templ_7745c5c3_Err != nil { | |
| 4081 | 4188 | return templ_7745c5c3_Err | |
| 4082 | 4189 | } | |
| 4083 | - | var templ_7745c5c3_Var196 string | |
| 4084 | - | templ_7745c5c3_Var196, templ_7745c5c3_Err = templ.JoinStringErrs(p.MergedShort) | |
| 4190 | + | var templ_7745c5c3_Var203 string | |
| 4191 | + | templ_7745c5c3_Var203, templ_7745c5c3_Err = templ.JoinStringErrs(p.MergedShort) | |
| 4085 | 4192 | if templ_7745c5c3_Err != nil { | |
| 4086 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 791, Col: 68} | |
| 4193 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 805, Col: 68} | |
| 4087 | 4194 | } | |
| 4088 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var196)) | |
| 4195 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var203)) | |
| 4089 | 4196 | if templ_7745c5c3_Err != nil { | |
| 4090 | 4197 | return templ_7745c5c3_Err | |
| 4091 | 4198 | } | |
| 4092 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 379, "</a>") | |
| 4199 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 389, "</a>") | |
| 4093 | 4200 | if templ_7745c5c3_Err != nil { | |
| 4094 | 4201 | return templ_7745c5c3_Err | |
| 4095 | 4202 | } | |
| 4096 | - | var templ_7745c5c3_Var197 string | |
| 4097 | - | templ_7745c5c3_Var197, templ_7745c5c3_Err = templ.JoinStringErrs(" · " + p.MergeMode) | |
| 4203 | + | var templ_7745c5c3_Var204 string | |
| 4204 | + | templ_7745c5c3_Var204, templ_7745c5c3_Err = templ.JoinStringErrs(" · " + p.MergeMode) | |
| 4098 | 4205 | if templ_7745c5c3_Err != nil { | |
| 4099 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 791, Col: 96} | |
| 4206 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 805, Col: 96} | |
| 4100 | 4207 | } | |
| 4101 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var197)) | |
| 4208 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var204)) | |
| 4102 | 4209 | if templ_7745c5c3_Err != nil { | |
| 4103 | 4210 | return templ_7745c5c3_Err | |
| 4104 | 4211 | } | |
| 4105 | 4212 | } | |
| 4106 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 380, "</dd>") | |
| 4213 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 390, "</dd>") | |
| 4107 | 4214 | if templ_7745c5c3_Err != nil { | |
| 4108 | 4215 | return templ_7745c5c3_Err | |
| 4109 | 4216 | } | |
| @@ -4127,12 +4234,12 @@ func mrActions(p MRPage, fragment bool) templ.Component { | |||
| 4127 | 4234 | }() | |
| 4128 | 4235 | } | |
| 4129 | 4236 | ctx = templ.InitializeContext(ctx) | |
| 4130 | - | templ_7745c5c3_Var198 := templ.GetChildren(ctx) | |
| 4131 | - | if templ_7745c5c3_Var198 == nil { | |
| 4132 | - | templ_7745c5c3_Var198 = templ.NopComponent | |
| 4237 | + | templ_7745c5c3_Var205 := templ.GetChildren(ctx) | |
| 4238 | + | if templ_7745c5c3_Var205 == nil { | |
| 4239 | + | templ_7745c5c3_Var205 = templ.NopComponent | |
| 4133 | 4240 | } | |
| 4134 | 4241 | ctx = templ.ClearChildren(ctx) | |
| 4135 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 381, "<div id=\"mr-actions\" hx-swap-oob=\"true\" class=\"mr-acts\">") | |
| 4242 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 391, "<div id=\"mr-actions\" hx-swap-oob=\"true\" class=\"mr-acts\">") | |
| 4136 | 4243 | if templ_7745c5c3_Err != nil { | |
| 4137 | 4244 | return templ_7745c5c3_Err | |
| 4138 | 4245 | } | |
| @@ -4151,25 +4258,25 @@ func mrActions(p MRPage, fragment bool) templ.Component { | |||
| 4151 | 4258 | return templ_7745c5c3_Err | |
| 4152 | 4259 | } | |
| 4153 | 4260 | if fragment && p.MergeError != "" { | |
| 4154 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 382, "<p class=\"d-err\" role=\"alert\">") | |
| 4261 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 392, "<p class=\"d-err\" role=\"alert\">") | |
| 4155 | 4262 | if templ_7745c5c3_Err != nil { | |
| 4156 | 4263 | return templ_7745c5c3_Err | |
| 4157 | 4264 | } | |
| 4158 | - | var templ_7745c5c3_Var199 string | |
| 4159 | - | templ_7745c5c3_Var199, templ_7745c5c3_Err = templ.JoinStringErrs(p.MergeError) | |
| 4265 | + | var templ_7745c5c3_Var206 string | |
| 4266 | + | templ_7745c5c3_Var206, templ_7745c5c3_Err = templ.JoinStringErrs(p.MergeError) | |
| 4160 | 4267 | if templ_7745c5c3_Err != nil { | |
| 4161 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 804, Col: 47} | |
| 4268 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 818, Col: 47} | |
| 4162 | 4269 | } | |
| 4163 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var199)) | |
| 4270 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var206)) | |
| 4164 | 4271 | if templ_7745c5c3_Err != nil { | |
| 4165 | 4272 | return templ_7745c5c3_Err | |
| 4166 | 4273 | } | |
| 4167 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 383, "</p>") | |
| 4274 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 393, "</p>") | |
| 4168 | 4275 | if templ_7745c5c3_Err != nil { | |
| 4169 | 4276 | return templ_7745c5c3_Err | |
| 4170 | 4277 | } | |
| 4171 | 4278 | } | |
| 4172 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 384, "</div>") | |
| 4279 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 394, "</div>") | |
| 4173 | 4280 | if templ_7745c5c3_Err != nil { | |
| 4174 | 4281 | return templ_7745c5c3_Err | |
| 4175 | 4282 | } | |
| @@ -4194,38 +4301,38 @@ func MRActionStatus(message, href string) templ.Component { | |||
| 4194 | 4301 | }() | |
| 4195 | 4302 | } | |
| 4196 | 4303 | ctx = templ.InitializeContext(ctx) | |
| 4197 | - | templ_7745c5c3_Var200 := templ.GetChildren(ctx) | |
| 4198 | - | if templ_7745c5c3_Var200 == nil { | |
| 4199 | - | templ_7745c5c3_Var200 = templ.NopComponent | |
| 4304 | + | templ_7745c5c3_Var207 := templ.GetChildren(ctx) | |
| 4305 | + | if templ_7745c5c3_Var207 == nil { | |
| 4306 | + | templ_7745c5c3_Var207 = templ.NopComponent | |
| 4200 | 4307 | } | |
| 4201 | 4308 | ctx = templ.ClearChildren(ctx) | |
| 4202 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 385, "<div id=\"mr-actions\" class=\"mr-acts\" hx-swap-oob=\"true\"><p class=\"d-err\" role=\"alert\">") | |
| 4309 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 395, "<div id=\"mr-actions\" class=\"mr-acts\" hx-swap-oob=\"true\"><p class=\"d-err\" role=\"alert\">") | |
| 4203 | 4310 | if templ_7745c5c3_Err != nil { | |
| 4204 | 4311 | return templ_7745c5c3_Err | |
| 4205 | 4312 | } | |
| 4206 | - | var templ_7745c5c3_Var201 string | |
| 4207 | - | templ_7745c5c3_Var201, templ_7745c5c3_Err = templ.JoinStringErrs(message) | |
| 4313 | + | var templ_7745c5c3_Var208 string | |
| 4314 | + | templ_7745c5c3_Var208, templ_7745c5c3_Err = templ.JoinStringErrs(message) | |
| 4208 | 4315 | if templ_7745c5c3_Err != nil { | |
| 4209 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 812, Col: 40} | |
| 4316 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 826, Col: 41} | |
| 4210 | 4317 | } | |
| 4211 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var201)) | |
| 4318 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var208)) | |
| 4212 | 4319 | if templ_7745c5c3_Err != nil { | |
| 4213 | 4320 | return templ_7745c5c3_Err | |
| 4214 | 4321 | } | |
| 4215 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 386, " <a href=\"") | |
| 4322 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 396, " <a href=\"") | |
| 4216 | 4323 | if templ_7745c5c3_Err != nil { | |
| 4217 | 4324 | return templ_7745c5c3_Err | |
| 4218 | 4325 | } | |
| 4219 | - | var templ_7745c5c3_Var202 templ.SafeURL | |
| 4220 | - | templ_7745c5c3_Var202, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href)) | |
| 4326 | + | var templ_7745c5c3_Var209 templ.SafeURL | |
| 4327 | + | templ_7745c5c3_Var209, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href)) | |
| 4221 | 4328 | if templ_7745c5c3_Err != nil { | |
| 4222 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 812, Col: 72} | |
| 4329 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 826, Col: 73} | |
| 4223 | 4330 | } | |
| 4224 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var202)) | |
| 4331 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var209)) | |
| 4225 | 4332 | if templ_7745c5c3_Err != nil { | |
| 4226 | 4333 | return templ_7745c5c3_Err | |
| 4227 | 4334 | } | |
| 4228 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 387, "\">reload</a></p></div>") | |
| 4335 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 397, "\">reload</a></p></div>") | |
| 4229 | 4336 | if templ_7745c5c3_Err != nil { | |
| 4230 | 4337 | return templ_7745c5c3_Err | |
| 4231 | 4338 | } | |
| @@ -1088,11 +1088,9 @@ func MergeRequest(l Layout, p MRPage) templ.Component { | |||||
| 1088 | return templ_7745c5c3_Err | 1088 | return templ_7745c5c3_Err | ||
| 1089 | } | 1089 | } | ||
| 1090 | } | 1090 | } | ||
| 1091 | - | for _, c := range p.General { | 1091 | + | templ_7745c5c3_Err = issueTimeline(p.Timeline).Render(ctx, templ_7745c5c3_Buffer) |
| 1092 | - | templ_7745c5c3_Err = commentView(c, "").Render(ctx, templ_7745c5c3_Buffer) | 1092 | + | if templ_7745c5c3_Err != nil { |
| 1093 | - | if templ_7745c5c3_Err != nil { | 1093 | + | return templ_7745c5c3_Err |
| 1094 | - | return templ_7745c5c3_Err | |||
| 1095 | - | } | |||
| 1096 | } | 1094 | } | ||
| 1097 | if p.NComments == 0 { | 1095 | if p.NComments == 0 { | ||
| 1098 | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 109, "<p class=\"dim\">no comments yet.</p>") | 1096 | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 109, "<p class=\"dim\">no comments yet.</p>") | ||
| @@ -1149,7 +1147,7 @@ func branchLink(name, href string) templ.Component { | |||||
| 1149 | var templ_7745c5c3_Var51 templ.SafeURL | 1147 | var templ_7745c5c3_Var51 templ.SafeURL | ||
| 1150 | templ_7745c5c3_Var51, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href)) | 1148 | templ_7745c5c3_Var51, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href)) | ||
| 1151 | if templ_7745c5c3_Err != nil { | 1149 | if templ_7745c5c3_Err != nil { | ||
| 1152 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 232, Col: 31} | 1150 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 230, Col: 31} |
| 1153 | } | 1151 | } | ||
| 1154 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var51)) | 1152 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var51)) | ||
| 1155 | if templ_7745c5c3_Err != nil { | 1153 | if templ_7745c5c3_Err != nil { | ||
| @@ -1162,7 +1160,7 @@ func branchLink(name, href string) templ.Component { | |||||
| 1162 | var templ_7745c5c3_Var52 string | 1160 | var templ_7745c5c3_Var52 string | ||
| 1163 | templ_7745c5c3_Var52, templ_7745c5c3_Err = templ.JoinStringErrs(name) | 1161 | templ_7745c5c3_Var52, templ_7745c5c3_Err = templ.JoinStringErrs(name) | ||
| 1164 | if templ_7745c5c3_Err != nil { | 1162 | if templ_7745c5c3_Err != nil { | ||
| 1165 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 232, Col: 40} | 1163 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 230, Col: 40} |
| 1166 | } | 1164 | } | ||
| 1167 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var52)) | 1165 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var52)) | ||
| 1168 | if templ_7745c5c3_Err != nil { | 1166 | if templ_7745c5c3_Err != nil { | ||
| @@ -1176,7 +1174,7 @@ func branchLink(name, href string) templ.Component { | |||||
| 1176 | var templ_7745c5c3_Var53 string | 1174 | var templ_7745c5c3_Var53 string | ||
| 1177 | templ_7745c5c3_Var53, templ_7745c5c3_Err = templ.JoinStringErrs(name) | 1175 | templ_7745c5c3_Var53, templ_7745c5c3_Err = templ.JoinStringErrs(name) | ||
| 1178 | if templ_7745c5c3_Err != nil { | 1176 | if templ_7745c5c3_Err != nil { | ||
| 1179 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 234, Col: 8} | 1177 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 232, Col: 8} |
| 1180 | } | 1178 | } | ||
| 1181 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var53)) | 1179 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var53)) | ||
| 1182 | if templ_7745c5c3_Err != nil { | 1180 | if templ_7745c5c3_Err != nil { | ||
| @@ -1257,7 +1255,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1257 | var templ_7745c5c3_Var56 string | 1255 | var templ_7745c5c3_Var56 string | ||
| 1258 | templ_7745c5c3_Var56, templ_7745c5c3_Err = templ.ResolveAttributeValue("c" + c.ID + suffix) | 1256 | templ_7745c5c3_Var56, templ_7745c5c3_Err = templ.ResolveAttributeValue("c" + c.ID + suffix) | ||
| 1259 | if templ_7745c5c3_Err != nil { | 1257 | if templ_7745c5c3_Err != nil { | ||
| 1260 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 253, Col: 42} | 1258 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 251, Col: 42} |
| 1261 | } | 1259 | } | ||
| 1262 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var56) | 1260 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var56) | ||
| 1263 | if templ_7745c5c3_Err != nil { | 1261 | if templ_7745c5c3_Err != nil { | ||
| @@ -1270,7 +1268,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1270 | var templ_7745c5c3_Var57 string | 1268 | var templ_7745c5c3_Var57 string | ||
| 1271 | templ_7745c5c3_Var57, templ_7745c5c3_Err = templ.ResolveAttributeValue(boolText(c.Resolved)) | 1269 | templ_7745c5c3_Var57, templ_7745c5c3_Err = templ.ResolveAttributeValue(boolText(c.Resolved)) | ||
| 1272 | if templ_7745c5c3_Err != nil { | 1270 | if templ_7745c5c3_Err != nil { | ||
| 1273 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 253, Col: 81} | 1271 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 251, Col: 81} |
| 1274 | } | 1272 | } | ||
| 1275 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var57) | 1273 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var57) | ||
| 1276 | if templ_7745c5c3_Err != nil { | 1274 | if templ_7745c5c3_Err != nil { | ||
| @@ -1293,7 +1291,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1293 | var templ_7745c5c3_Var58 string | 1291 | var templ_7745c5c3_Var58 string | ||
| 1294 | templ_7745c5c3_Var58, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) | 1292 | templ_7745c5c3_Var58, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) | ||
| 1295 | if templ_7745c5c3_Err != nil { | 1293 | if templ_7745c5c3_Err != nil { | ||
| 1296 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 255, Col: 33} | 1294 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 253, Col: 33} |
| 1297 | } | 1295 | } | ||
| 1298 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var58)) | 1296 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var58)) | ||
| 1299 | if templ_7745c5c3_Err != nil { | 1297 | if templ_7745c5c3_Err != nil { | ||
| @@ -1307,7 +1305,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1307 | var templ_7745c5c3_Var59 string | 1305 | var templ_7745c5c3_Var59 string | ||
| 1308 | templ_7745c5c3_Var59, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | 1306 | templ_7745c5c3_Var59, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | ||
| 1309 | if templ_7745c5c3_Err != nil { | 1307 | if templ_7745c5c3_Err != nil { | ||
| 1310 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 257, Col: 9} | 1308 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 255, Col: 9} |
| 1311 | } | 1309 | } | ||
| 1312 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var59)) | 1310 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var59)) | ||
| 1313 | if templ_7745c5c3_Err != nil { | 1311 | if templ_7745c5c3_Err != nil { | ||
| @@ -1320,7 +1318,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1320 | var templ_7745c5c3_Var60 string | 1318 | var templ_7745c5c3_Var60 string | ||
| 1321 | templ_7745c5c3_Var60, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) | 1319 | templ_7745c5c3_Var60, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) | ||
| 1322 | if templ_7745c5c3_Err != nil { | 1320 | if templ_7745c5c3_Err != nil { | ||
| 1323 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 257, Col: 49} | 1321 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 255, Col: 49} |
| 1324 | } | 1322 | } | ||
| 1325 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var60) | 1323 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var60) | ||
| 1326 | if templ_7745c5c3_Err != nil { | 1324 | if templ_7745c5c3_Err != nil { | ||
| @@ -1333,7 +1331,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1333 | var templ_7745c5c3_Var61 string | 1331 | var templ_7745c5c3_Var61 string | ||
| 1334 | templ_7745c5c3_Var61, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Abs) | 1332 | templ_7745c5c3_Var61, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Abs) | ||
| 1335 | if templ_7745c5c3_Err != nil { | 1333 | if templ_7745c5c3_Err != nil { | ||
| 1336 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 257, Col: 65} | 1334 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 255, Col: 65} |
| 1337 | } | 1335 | } | ||
| 1338 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var61) | 1336 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var61) | ||
| 1339 | if templ_7745c5c3_Err != nil { | 1337 | if templ_7745c5c3_Err != nil { | ||
| @@ -1346,7 +1344,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1346 | var templ_7745c5c3_Var62 string | 1344 | var templ_7745c5c3_Var62 string | ||
| 1347 | templ_7745c5c3_Var62, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) | 1345 | templ_7745c5c3_Var62, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) | ||
| 1348 | if templ_7745c5c3_Err != nil { | 1346 | if templ_7745c5c3_Err != nil { | ||
| 1349 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 257, Col: 76} | 1347 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 255, Col: 76} |
| 1350 | } | 1348 | } | ||
| 1351 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var62)) | 1349 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var62)) | ||
| 1352 | if templ_7745c5c3_Err != nil { | 1350 | if templ_7745c5c3_Err != nil { | ||
| @@ -1361,7 +1359,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1361 | var templ_7745c5c3_Var63 string | 1359 | var templ_7745c5c3_Var63 string | ||
| 1362 | templ_7745c5c3_Var63, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | 1360 | templ_7745c5c3_Var63, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | ||
| 1363 | if templ_7745c5c3_Err != nil { | 1361 | if templ_7745c5c3_Err != nil { | ||
| 1364 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 260, Col: 9} | 1362 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 258, Col: 9} |
| 1365 | } | 1363 | } | ||
| 1366 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var63)) | 1364 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var63)) | ||
| 1367 | if templ_7745c5c3_Err != nil { | 1365 | if templ_7745c5c3_Err != nil { | ||
| @@ -1376,7 +1374,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1376 | var templ_7745c5c3_Var64 string | 1374 | var templ_7745c5c3_Var64 string | ||
| 1377 | templ_7745c5c3_Var64, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | 1375 | templ_7745c5c3_Var64, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | ||
| 1378 | if templ_7745c5c3_Err != nil { | 1376 | if templ_7745c5c3_Err != nil { | ||
| 1379 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 263, Col: 9} | 1377 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 261, Col: 9} |
| 1380 | } | 1378 | } | ||
| 1381 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var64)) | 1379 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var64)) | ||
| 1382 | if templ_7745c5c3_Err != nil { | 1380 | if templ_7745c5c3_Err != nil { | ||
| @@ -1391,7 +1389,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1391 | var templ_7745c5c3_Var65 string | 1389 | var templ_7745c5c3_Var65 string | ||
| 1392 | templ_7745c5c3_Var65, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | 1390 | templ_7745c5c3_Var65, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | ||
| 1393 | if templ_7745c5c3_Err != nil { | 1391 | if templ_7745c5c3_Err != nil { | ||
| 1394 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 266, Col: 9} | 1392 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 264, Col: 9} |
| 1395 | } | 1393 | } | ||
| 1396 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var65)) | 1394 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var65)) | ||
| 1397 | if templ_7745c5c3_Err != nil { | 1395 | if templ_7745c5c3_Err != nil { | ||
| @@ -1404,7 +1402,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1404 | var templ_7745c5c3_Var66 string | 1402 | var templ_7745c5c3_Var66 string | ||
| 1405 | templ_7745c5c3_Var66, templ_7745c5c3_Err = templ.JoinStringErrs(c.Where) | 1403 | templ_7745c5c3_Var66, templ_7745c5c3_Err = templ.JoinStringErrs(c.Where) | ||
| 1406 | if templ_7745c5c3_Err != nil { | 1404 | if templ_7745c5c3_Err != nil { | ||
| 1407 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 266, Col: 47} | 1405 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 264, Col: 47} |
| 1408 | } | 1406 | } | ||
| 1409 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var66)) | 1407 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var66)) | ||
| 1410 | if templ_7745c5c3_Err != nil { | 1408 | if templ_7745c5c3_Err != nil { | ||
| @@ -1479,7 +1477,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1479 | var templ_7745c5c3_Var67 string | 1477 | var templ_7745c5c3_Var67 string | ||
| 1480 | templ_7745c5c3_Var67, templ_7745c5c3_Err = templ.JoinStringErrs(c.Verdict) | 1478 | templ_7745c5c3_Var67, templ_7745c5c3_Err = templ.JoinStringErrs(c.Verdict) | ||
| 1481 | if templ_7745c5c3_Err != nil { | 1479 | if templ_7745c5c3_Err != nil { | ||
| 1482 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 290, Col: 36} | 1480 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 289, Col: 36} |
| 1483 | } | 1481 | } | ||
| 1484 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var67)) | 1482 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var67)) | ||
| 1485 | if templ_7745c5c3_Err != nil { | 1483 | if templ_7745c5c3_Err != nil { | ||
| @@ -1498,7 +1496,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1498 | var templ_7745c5c3_Var68 string | 1496 | var templ_7745c5c3_Var68 string | ||
| 1499 | templ_7745c5c3_Var68, templ_7745c5c3_Err = templ.JoinStringErrs(c.Range) | 1497 | templ_7745c5c3_Var68, templ_7745c5c3_Err = templ.JoinStringErrs(c.Range) | ||
| 1500 | if templ_7745c5c3_Err != nil { | 1498 | if templ_7745c5c3_Err != nil { | ||
| 1501 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 293, Col: 31} | 1499 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 292, Col: 31} |
| 1502 | } | 1500 | } | ||
| 1503 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var68)) | 1501 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var68)) | ||
| 1504 | if templ_7745c5c3_Err != nil { | 1502 | if templ_7745c5c3_Err != nil { | ||
| @@ -1517,7 +1515,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1517 | var templ_7745c5c3_Var69 string | 1515 | var templ_7745c5c3_Var69 string | ||
| 1518 | templ_7745c5c3_Var69, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Quote) | 1516 | templ_7745c5c3_Var69, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.Quote) | ||
| 1519 | if templ_7745c5c3_Err != nil { | 1517 | if templ_7745c5c3_Err != nil { | ||
| 1520 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 296, Col: 65} | 1518 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 295, Col: 65} |
| 1521 | } | 1519 | } | ||
| 1522 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var69) | 1520 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var69) | ||
| 1523 | if templ_7745c5c3_Err != nil { | 1521 | if templ_7745c5c3_Err != nil { | ||
| @@ -1536,7 +1534,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1536 | var templ_7745c5c3_Var70 templ.SafeURL | 1534 | var templ_7745c5c3_Var70 templ.SafeURL | ||
| 1537 | templ_7745c5c3_Var70, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Edit.Action)) | 1535 | templ_7745c5c3_Var70, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Edit.Action)) | ||
| 1538 | if templ_7745c5c3_Err != nil { | 1536 | if templ_7745c5c3_Err != nil { | ||
| 1539 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 299, Col: 92} | 1537 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 298, Col: 92} |
| 1540 | } | 1538 | } | ||
| 1541 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var70)) | 1539 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var70)) | ||
| 1542 | if templ_7745c5c3_Err != nil { | 1540 | if templ_7745c5c3_Err != nil { | ||
| @@ -1549,7 +1547,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1549 | var templ_7745c5c3_Var71 string | 1547 | var templ_7745c5c3_Var71 string | ||
| 1550 | templ_7745c5c3_Var71, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Edit.From)) | 1548 | templ_7745c5c3_Var71, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Edit.From)) | ||
| 1551 | if templ_7745c5c3_Err != nil { | 1549 | if templ_7745c5c3_Err != nil { | ||
| 1552 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 299, Col: 153} | 1550 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 298, Col: 153} |
| 1553 | } | 1551 | } | ||
| 1554 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var71) | 1552 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var71) | ||
| 1555 | if templ_7745c5c3_Err != nil { | 1553 | if templ_7745c5c3_Err != nil { | ||
| @@ -1562,7 +1560,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1562 | var templ_7745c5c3_Var72 string | 1560 | var templ_7745c5c3_Var72 string | ||
| 1563 | templ_7745c5c3_Var72, templ_7745c5c3_Err = templ.JoinStringErrs(c.Edit.Text) | 1561 | templ_7745c5c3_Var72, templ_7745c5c3_Err = templ.JoinStringErrs(c.Edit.Text) | ||
| 1564 | if templ_7745c5c3_Err != nil { | 1562 | if templ_7745c5c3_Err != nil { | ||
| 1565 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 299, Col: 232} | 1563 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 298, Col: 232} |
| 1566 | } | 1564 | } | ||
| 1567 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var72)) | 1565 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var72)) | ||
| 1568 | if templ_7745c5c3_Err != nil { | 1566 | if templ_7745c5c3_Err != nil { | ||
| @@ -1581,7 +1579,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1581 | var templ_7745c5c3_Var73 templ.SafeURL | 1579 | var templ_7745c5c3_Var73 templ.SafeURL | ||
| 1582 | templ_7745c5c3_Var73, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Delete.Action)) | 1580 | templ_7745c5c3_Var73, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Delete.Action)) | ||
| 1583 | if templ_7745c5c3_Err != nil { | 1581 | if templ_7745c5c3_Err != nil { | ||
| 1584 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 302, Col: 96} | 1582 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 301, Col: 96} |
| 1585 | } | 1583 | } | ||
| 1586 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var73)) | 1584 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var73)) | ||
| 1587 | if templ_7745c5c3_Err != nil { | 1585 | if templ_7745c5c3_Err != nil { | ||
| @@ -1594,7 +1592,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1594 | var templ_7745c5c3_Var74 string | 1592 | var templ_7745c5c3_Var74 string | ||
| 1595 | templ_7745c5c3_Var74, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Delete.From)) | 1593 | templ_7745c5c3_Var74, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Delete.From)) | ||
| 1596 | if templ_7745c5c3_Err != nil { | 1594 | if templ_7745c5c3_Err != nil { | ||
| 1597 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 302, Col: 159} | 1595 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 301, Col: 159} |
| 1598 | } | 1596 | } | ||
| 1599 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var74) | 1597 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var74) | ||
| 1600 | if templ_7745c5c3_Err != nil { | 1598 | if templ_7745c5c3_Err != nil { | ||
| @@ -1633,7 +1631,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1633 | var templ_7745c5c3_Var75 templ.SafeURL | 1631 | var templ_7745c5c3_Var75 templ.SafeURL | ||
| 1634 | templ_7745c5c3_Var75, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Resolve.Action)) | 1632 | templ_7745c5c3_Var75, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Resolve.Action)) | ||
| 1635 | if templ_7745c5c3_Err != nil { | 1633 | if templ_7745c5c3_Err != nil { | ||
| 1636 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 313, Col: 77} | 1634 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 312, Col: 77} |
| 1637 | } | 1635 | } | ||
| 1638 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var75)) | 1636 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var75)) | ||
| 1639 | if templ_7745c5c3_Err != nil { | 1637 | if templ_7745c5c3_Err != nil { | ||
| @@ -1646,7 +1644,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1646 | var templ_7745c5c3_Var76 string | 1644 | var templ_7745c5c3_Var76 string | ||
| 1647 | templ_7745c5c3_Var76, templ_7745c5c3_Err = templ.ResolveAttributeValue(boolText(c.Resolve.Value)) | 1645 | templ_7745c5c3_Var76, templ_7745c5c3_Err = templ.ResolveAttributeValue(boolText(c.Resolve.Value)) | ||
| 1648 | if templ_7745c5c3_Err != nil { | 1646 | if templ_7745c5c3_Err != nil { | ||
| 1649 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 314, Col: 74} | 1647 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 313, Col: 74} |
| 1650 | } | 1648 | } | ||
| 1651 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var76) | 1649 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var76) | ||
| 1652 | if templ_7745c5c3_Err != nil { | 1650 | if templ_7745c5c3_Err != nil { | ||
| @@ -1664,7 +1662,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1664 | var templ_7745c5c3_Var77 string | 1662 | var templ_7745c5c3_Var77 string | ||
| 1665 | templ_7745c5c3_Var77, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Resolve.From)) | 1663 | templ_7745c5c3_Var77, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(c.Resolve.From)) | ||
| 1666 | if templ_7745c5c3_Err != nil { | 1664 | if templ_7745c5c3_Err != nil { | ||
| 1667 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 316, Col: 66} | 1665 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 315, Col: 66} |
| 1668 | } | 1666 | } | ||
| 1669 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var77) | 1667 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var77) | ||
| 1670 | if templ_7745c5c3_Err != nil { | 1668 | if templ_7745c5c3_Err != nil { | ||
| @@ -1682,7 +1680,7 @@ func commentView(c CommentView, suffix string) templ.Component { | |||||
| 1682 | var templ_7745c5c3_Var78 string | 1680 | var templ_7745c5c3_Var78 string | ||
| 1683 | templ_7745c5c3_Var78, templ_7745c5c3_Err = templ.JoinStringErrs(c.Resolve.Label) | 1681 | templ_7745c5c3_Var78, templ_7745c5c3_Err = templ.JoinStringErrs(c.Resolve.Label) | ||
| 1684 | if templ_7745c5c3_Err != nil { | 1682 | if templ_7745c5c3_Err != nil { | ||
| 1685 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 318, Col: 55} | 1683 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 317, Col: 55} |
| 1686 | } | 1684 | } | ||
| 1687 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var78)) | 1685 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var78)) | ||
| 1688 | if templ_7745c5c3_Err != nil { | 1686 | if templ_7745c5c3_Err != nil { | ||
| @@ -1737,7 +1735,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||||
| 1737 | var templ_7745c5c3_Var80 templ.SafeURL | 1735 | var templ_7745c5c3_Var80 templ.SafeURL | ||
| 1738 | templ_7745c5c3_Var80, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(f.Action)) | 1736 | templ_7745c5c3_Var80, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(f.Action)) | ||
| 1739 | if templ_7745c5c3_Err != nil { | 1737 | if templ_7745c5c3_Err != nil { | ||
| 1740 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 333, Col: 67} | 1738 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 332, Col: 67} |
| 1741 | } | 1739 | } | ||
| 1742 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var80)) | 1740 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var80)) | ||
| 1743 | if templ_7745c5c3_Err != nil { | 1741 | if templ_7745c5c3_Err != nil { | ||
| @@ -1750,7 +1748,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||||
| 1750 | var templ_7745c5c3_Var81 string | 1748 | var templ_7745c5c3_Var81 string | ||
| 1751 | templ_7745c5c3_Var81, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ID + suffix) | 1749 | templ_7745c5c3_Var81, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ID + suffix) | ||
| 1752 | if templ_7745c5c3_Err != nil { | 1750 | if templ_7745c5c3_Err != nil { | ||
| 1753 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 334, Col: 28} | 1751 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 333, Col: 28} |
| 1754 | } | 1752 | } | ||
| 1755 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var81) | 1753 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var81) | ||
| 1756 | if templ_7745c5c3_Err != nil { | 1754 | if templ_7745c5c3_Err != nil { | ||
| @@ -1763,7 +1761,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||||
| 1763 | var templ_7745c5c3_Var82 string | 1761 | var templ_7745c5c3_Var82 string | ||
| 1764 | templ_7745c5c3_Var82, templ_7745c5c3_Err = templ.JoinStringErrs(f.Title) | 1762 | templ_7745c5c3_Var82, templ_7745c5c3_Err = templ.JoinStringErrs(f.Title) | ||
| 1765 | if templ_7745c5c3_Err != nil { | 1763 | if templ_7745c5c3_Err != nil { | ||
| 1766 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 334, Col: 40} | 1764 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 333, Col: 40} |
| 1767 | } | 1765 | } | ||
| 1768 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var82)) | 1766 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var82)) | ||
| 1769 | if templ_7745c5c3_Err != nil { | 1767 | if templ_7745c5c3_Err != nil { | ||
| @@ -1776,7 +1774,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||||
| 1776 | var templ_7745c5c3_Var83 string | 1774 | var templ_7745c5c3_Var83 string | ||
| 1777 | templ_7745c5c3_Var83, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ID + suffix) | 1775 | templ_7745c5c3_Var83, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ID + suffix) | ||
| 1778 | if templ_7745c5c3_Err != nil { | 1776 | if templ_7745c5c3_Err != nil { | ||
| 1779 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 336, Col: 21} | 1777 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 335, Col: 21} |
| 1780 | } | 1778 | } | ||
| 1781 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var83) | 1779 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var83) | ||
| 1782 | if templ_7745c5c3_Err != nil { | 1780 | if templ_7745c5c3_Err != nil { | ||
| @@ -1815,7 +1813,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||||
| 1815 | var templ_7745c5c3_Var84 string | 1813 | var templ_7745c5c3_Var84 string | ||
| 1816 | templ_7745c5c3_Var84, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Path) | 1814 | templ_7745c5c3_Var84, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Path) | ||
| 1817 | if templ_7745c5c3_Err != nil { | 1815 | if templ_7745c5c3_Err != nil { | ||
| 1818 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 351, Col: 50} | 1816 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 350, Col: 50} |
| 1819 | } | 1817 | } | ||
| 1820 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var84) | 1818 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var84) | ||
| 1821 | if templ_7745c5c3_Err != nil { | 1819 | if templ_7745c5c3_Err != nil { | ||
| @@ -1828,7 +1826,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||||
| 1828 | var templ_7745c5c3_Var85 string | 1826 | var templ_7745c5c3_Var85 string | ||
| 1829 | templ_7745c5c3_Var85, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Line) | 1827 | templ_7745c5c3_Var85, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Line) | ||
| 1830 | if templ_7745c5c3_Err != nil { | 1828 | if templ_7745c5c3_Err != nil { | ||
| 1831 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 352, Col: 50} | 1829 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 351, Col: 50} |
| 1832 | } | 1830 | } | ||
| 1833 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var85) | 1831 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var85) | ||
| 1834 | if templ_7745c5c3_Err != nil { | 1832 | if templ_7745c5c3_Err != nil { | ||
| @@ -1841,7 +1839,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||||
| 1841 | var templ_7745c5c3_Var86 string | 1839 | var templ_7745c5c3_Var86 string | ||
| 1842 | templ_7745c5c3_Var86, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Side) | 1840 | templ_7745c5c3_Var86, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.Side) | ||
| 1843 | if templ_7745c5c3_Err != nil { | 1841 | if templ_7745c5c3_Err != nil { | ||
| 1844 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 353, Col: 50} | 1842 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 352, Col: 50} |
| 1845 | } | 1843 | } | ||
| 1846 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var86) | 1844 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var86) | ||
| 1847 | if templ_7745c5c3_Err != nil { | 1845 | if templ_7745c5c3_Err != nil { | ||
| @@ -1854,7 +1852,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||||
| 1854 | var templ_7745c5c3_Var87 string | 1852 | var templ_7745c5c3_Var87 string | ||
| 1855 | templ_7745c5c3_Var87, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.StartLine) | 1853 | templ_7745c5c3_Var87, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.StartLine) | ||
| 1856 | if templ_7745c5c3_Err != nil { | 1854 | if templ_7745c5c3_Err != nil { | ||
| 1857 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 354, Col: 86} | 1855 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 353, Col: 86} |
| 1858 | } | 1856 | } | ||
| 1859 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var87) | 1857 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var87) | ||
| 1860 | if templ_7745c5c3_Err != nil { | 1858 | if templ_7745c5c3_Err != nil { | ||
| @@ -1873,7 +1871,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||||
| 1873 | var templ_7745c5c3_Var88 string | 1871 | var templ_7745c5c3_Var88 string | ||
| 1874 | templ_7745c5c3_Var88, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ReplyTo) | 1872 | templ_7745c5c3_Var88, templ_7745c5c3_Err = templ.ResolveAttributeValue(f.ReplyTo) | ||
| 1875 | if templ_7745c5c3_Err != nil { | 1873 | if templ_7745c5c3_Err != nil { | ||
| 1876 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 357, Col: 57} | 1874 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 356, Col: 57} |
| 1877 | } | 1875 | } | ||
| 1878 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var88) | 1876 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var88) | ||
| 1879 | if templ_7745c5c3_Err != nil { | 1877 | if templ_7745c5c3_Err != nil { | ||
| @@ -1898,7 +1896,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||||
| 1898 | var templ_7745c5c3_Var89 string | 1896 | var templ_7745c5c3_Var89 string | ||
| 1899 | templ_7745c5c3_Var89, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(f.From)) | 1897 | templ_7745c5c3_Var89, templ_7745c5c3_Err = templ.ResolveAttributeValue(itoa(f.From)) | ||
| 1900 | if templ_7745c5c3_Err != nil { | 1898 | if templ_7745c5c3_Err != nil { | ||
| 1901 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 363, Col: 56} | 1899 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 362, Col: 56} |
| 1902 | } | 1900 | } | ||
| 1903 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var89) | 1901 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var89) | ||
| 1904 | if templ_7745c5c3_Err != nil { | 1902 | if templ_7745c5c3_Err != nil { | ||
| @@ -1921,7 +1919,7 @@ func commentForm(f CommentForm, suffix string) templ.Component { | |||||
| 1921 | var templ_7745c5c3_Var90 templ.SafeURL | 1919 | var templ_7745c5c3_Var90 templ.SafeURL | ||
| 1922 | templ_7745c5c3_Var90, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(f.Cancel)) | 1920 | templ_7745c5c3_Var90, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(f.Cancel)) | ||
| 1923 | if templ_7745c5c3_Err != nil { | 1921 | if templ_7745c5c3_Err != nil { | ||
| 1924 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 368, Col: 49} | 1922 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 367, Col: 49} |
| 1925 | } | 1923 | } | ||
| 1926 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var90)) | 1924 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var90)) | ||
| 1927 | if templ_7745c5c3_Err != nil { | 1925 | if templ_7745c5c3_Err != nil { | ||
| @@ -1968,7 +1966,7 @@ func mrFooter(p MRPage) templ.Component { | |||||
| 1968 | var templ_7745c5c3_Var92 string | 1966 | var templ_7745c5c3_Var92 string | ||
| 1969 | templ_7745c5c3_Var92, templ_7745c5c3_Err = templ.JoinStringErrs(p.CommitCount) | 1967 | templ_7745c5c3_Var92, templ_7745c5c3_Err = templ.JoinStringErrs(p.CommitCount) | ||
| 1970 | if templ_7745c5c3_Err != nil { | 1968 | if templ_7745c5c3_Err != nil { | ||
| 1971 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 377, Col: 136} | 1969 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 376, Col: 136} |
| 1972 | } | 1970 | } | ||
| 1973 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var92)) | 1971 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var92)) | ||
| 1974 | if templ_7745c5c3_Err != nil { | 1972 | if templ_7745c5c3_Err != nil { | ||
| @@ -1981,7 +1979,7 @@ func mrFooter(p MRPage) templ.Component { | |||||
| 1981 | var templ_7745c5c3_Var93 string | 1979 | var templ_7745c5c3_Var93 string | ||
| 1982 | templ_7745c5c3_Var93, templ_7745c5c3_Err = templ.JoinStringErrs("Checks ") | 1980 | templ_7745c5c3_Var93, templ_7745c5c3_Err = templ.JoinStringErrs("Checks ") | ||
| 1983 | if templ_7745c5c3_Err != nil { | 1981 | if templ_7745c5c3_Err != nil { | ||
| 1984 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 379, Col: 15} | 1982 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 378, Col: 15} |
| 1985 | } | 1983 | } | ||
| 1986 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var93)) | 1984 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var93)) | ||
| 1987 | if templ_7745c5c3_Err != nil { | 1985 | if templ_7745c5c3_Err != nil { | ||
| @@ -1995,7 +1993,7 @@ func mrFooter(p MRPage) templ.Component { | |||||
| 1995 | var templ_7745c5c3_Var94 string | 1993 | var templ_7745c5c3_Var94 string | ||
| 1996 | templ_7745c5c3_Var94, templ_7745c5c3_Err = templ.JoinStringErrs(p.ChecksSum.Title) | 1994 | templ_7745c5c3_Var94, templ_7745c5c3_Err = templ.JoinStringErrs(p.ChecksSum.Title) | ||
| 1997 | if templ_7745c5c3_Err != nil { | 1995 | if templ_7745c5c3_Err != nil { | ||
| 1998 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 382, Col: 25} | 1996 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 381, Col: 25} |
| 1999 | } | 1997 | } | ||
| 2000 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var94)) | 1998 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var94)) | ||
| 2001 | if templ_7745c5c3_Err != nil { | 1999 | if templ_7745c5c3_Err != nil { | ||
| @@ -2029,7 +2027,7 @@ func mrFooter(p MRPage) templ.Component { | |||||
| 2029 | var templ_7745c5c3_Var95 templ.SafeURL | 2027 | var templ_7745c5c3_Var95 templ.SafeURL | ||
| 2030 | templ_7745c5c3_Var95, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Href)) | 2028 | templ_7745c5c3_Var95, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.Href)) | ||
| 2031 | if templ_7745c5c3_Err != nil { | 2029 | if templ_7745c5c3_Err != nil { | ||
| 2032 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 395, Col: 42} | 2030 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 394, Col: 42} |
| 2033 | } | 2031 | } | ||
| 2034 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var95)) | 2032 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var95)) | ||
| 2035 | if templ_7745c5c3_Err != nil { | 2033 | if templ_7745c5c3_Err != nil { | ||
| @@ -2042,7 +2040,7 @@ func mrFooter(p MRPage) templ.Component { | |||||
| 2042 | var templ_7745c5c3_Var96 string | 2040 | var templ_7745c5c3_Var96 string | ||
| 2043 | templ_7745c5c3_Var96, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short) | 2041 | templ_7745c5c3_Var96, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short) | ||
| 2044 | if templ_7745c5c3_Err != nil { | 2042 | if templ_7745c5c3_Err != nil { | ||
| 2045 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 395, Col: 54} | 2043 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 394, Col: 54} |
| 2046 | } | 2044 | } | ||
| 2047 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var96)) | 2045 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var96)) | ||
| 2048 | if templ_7745c5c3_Err != nil { | 2046 | if templ_7745c5c3_Err != nil { | ||
| @@ -2055,7 +2053,7 @@ func mrFooter(p MRPage) templ.Component { | |||||
| 2055 | var templ_7745c5c3_Var97 string | 2053 | var templ_7745c5c3_Var97 string | ||
| 2056 | templ_7745c5c3_Var97, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject) | 2054 | templ_7745c5c3_Var97, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject) | ||
| 2057 | if templ_7745c5c3_Err != nil { | 2055 | if templ_7745c5c3_Err != nil { | ||
| 2058 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 396, Col: 22} | 2056 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 395, Col: 22} |
| 2059 | } | 2057 | } | ||
| 2060 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var97)) | 2058 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var97)) | ||
| 2061 | if templ_7745c5c3_Err != nil { | 2059 | if templ_7745c5c3_Err != nil { | ||
| @@ -2068,7 +2066,7 @@ func mrFooter(p MRPage) templ.Component { | |||||
| 2068 | var templ_7745c5c3_Var98 string | 2066 | var templ_7745c5c3_Var98 string | ||
| 2069 | templ_7745c5c3_Var98, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) | 2067 | templ_7745c5c3_Var98, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) | ||
| 2070 | if templ_7745c5c3_Err != nil { | 2068 | if templ_7745c5c3_Err != nil { | ||
| 2071 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 397, Col: 21} | 2069 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 396, Col: 21} |
| 2072 | } | 2070 | } | ||
| 2073 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var98)) | 2071 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var98)) | ||
| 2074 | if templ_7745c5c3_Err != nil { | 2072 | if templ_7745c5c3_Err != nil { | ||
| @@ -2086,7 +2084,7 @@ func mrFooter(p MRPage) templ.Component { | |||||
| 2086 | var templ_7745c5c3_Var99 string | 2084 | var templ_7745c5c3_Var99 string | ||
| 2087 | templ_7745c5c3_Var99, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) | 2085 | templ_7745c5c3_Var99, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) | ||
| 2088 | if templ_7745c5c3_Err != nil { | 2086 | if templ_7745c5c3_Err != nil { | ||
| 2089 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 400, Col: 34} | 2087 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 399, Col: 34} |
| 2090 | } | 2088 | } | ||
| 2091 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var99) | 2089 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var99) | ||
| 2092 | if templ_7745c5c3_Err != nil { | 2090 | if templ_7745c5c3_Err != nil { | ||
| @@ -2099,7 +2097,7 @@ func mrFooter(p MRPage) templ.Component { | |||||
| 2099 | var templ_7745c5c3_Var100 string | 2097 | var templ_7745c5c3_Var100 string | ||
| 2100 | templ_7745c5c3_Var100, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) | 2098 | templ_7745c5c3_Var100, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) | ||
| 2101 | if templ_7745c5c3_Err != nil { | 2099 | if templ_7745c5c3_Err != nil { | ||
| 2102 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 400, Col: 45} | 2100 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 399, Col: 45} |
| 2103 | } | 2101 | } | ||
| 2104 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var100)) | 2102 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var100)) | ||
| 2105 | if templ_7745c5c3_Err != nil { | 2103 | if templ_7745c5c3_Err != nil { | ||
| @@ -2153,7 +2151,7 @@ func mrFooter(p MRPage) templ.Component { | |||||
| 2153 | var templ_7745c5c3_Var101 string | 2151 | var templ_7745c5c3_Var101 string | ||
| 2154 | templ_7745c5c3_Var101, templ_7745c5c3_Err = templ.JoinStringErrs(p.CommitsNote) | 2152 | templ_7745c5c3_Var101, templ_7745c5c3_Err = templ.JoinStringErrs(p.CommitsNote) | ||
| 2155 | if templ_7745c5c3_Err != nil { | 2153 | if templ_7745c5c3_Err != nil { | ||
| 2156 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 421, Col: 35} | 2154 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 420, Col: 35} |
| 2157 | } | 2155 | } | ||
| 2158 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var101)) | 2156 | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var101)) | ||
| 2159 | if templ_7745c5c3_Err != nil { | 2157 | if templ_7745c5c3_Err != nil { | ||
| @@ -2201,20 +2199,129 @@ func mrRail(p MRPage) templ.Component { | |||||
| 2201 | templ_7745c5c3_Var102 = templ.NopComponent | 2199 | templ_7745c5c3_Var102 = templ.NopComponent | ||
| 2202 | } | 2200 | } | ||
| 2203 | ctx = templ.ClearChildren(ctx) | 2201 | ctx = templ.ClearChildren(ctx) | ||
| 2204 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 207, "<section aria-labelledby=\"r-files\" class=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">") | 2202 | + | if len(p.Issues) > 0 { |
| 2203 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 207, "<section aria-labelledby=\"r-issues\"><h2 id=\"r-issues\">Issues</h2><ul>") | |||
| 2204 | + | if templ_7745c5c3_Err != nil { | |||
| 2205 | + | return templ_7745c5c3_Err | |||
| 2206 | + | } | |||
| 2207 | + | for _, i := range p.Issues { | |||
| 2208 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 208, "<li><a class=\"ref\" href=\"") | |||
| 2209 | + | if templ_7745c5c3_Err != nil { | |||
| 2210 | + | return templ_7745c5c3_Err | |||
| 2211 | + | } | |||
| 2212 | + | var templ_7745c5c3_Var103 templ.SafeURL | |||
| 2213 | + | templ_7745c5c3_Var103, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(i.Href)) | |||
| 2214 | + | if templ_7745c5c3_Err != nil { | |||
| 2215 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 49} | |||
| 2216 | + | } | |||
| 2217 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var103)) | |||
| 2218 | + | if templ_7745c5c3_Err != nil { | |||
| 2219 | + | return templ_7745c5c3_Err | |||
| 2220 | + | } | |||
| 2221 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 209, "\">") | |||
| 2222 | + | if templ_7745c5c3_Err != nil { | |||
| 2223 | + | return templ_7745c5c3_Err | |||
| 2224 | + | } | |||
| 2225 | + | var templ_7745c5c3_Var104 string | |||
| 2226 | + | templ_7745c5c3_Var104, templ_7745c5c3_Err = templ.JoinStringErrs(i.Number) | |||
| 2227 | + | if templ_7745c5c3_Err != nil { | |||
| 2228 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 62} | |||
| 2229 | + | } | |||
| 2230 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var104)) | |||
| 2231 | + | if templ_7745c5c3_Err != nil { | |||
| 2232 | + | return templ_7745c5c3_Err | |||
| 2233 | + | } | |||
| 2234 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 210, " ") | |||
| 2235 | + | if templ_7745c5c3_Err != nil { | |||
| 2236 | + | return templ_7745c5c3_Err | |||
| 2237 | + | } | |||
| 2238 | + | var templ_7745c5c3_Var105 string | |||
| 2239 | + | templ_7745c5c3_Var105, templ_7745c5c3_Err = templ.JoinStringErrs(i.Title) | |||
| 2240 | + | if templ_7745c5c3_Err != nil { | |||
| 2241 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 74} | |||
| 2242 | + | } | |||
| 2243 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var105)) | |||
| 2244 | + | if templ_7745c5c3_Err != nil { | |||
| 2245 | + | return templ_7745c5c3_Err | |||
| 2246 | + | } | |||
| 2247 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 211, "</a>") | |||
| 2248 | + | if templ_7745c5c3_Err != nil { | |||
| 2249 | + | return templ_7745c5c3_Err | |||
| 2250 | + | } | |||
| 2251 | + | var templ_7745c5c3_Var106 string | |||
| 2252 | + | templ_7745c5c3_Var106, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | |||
| 2253 | + | if templ_7745c5c3_Err != nil { | |||
| 2254 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 85} | |||
| 2255 | + | } | |||
| 2256 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var106)) | |||
| 2257 | + | if templ_7745c5c3_Err != nil { | |||
| 2258 | + | return templ_7745c5c3_Err | |||
| 2259 | + | } | |||
| 2260 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 212, "<span class=\"mr-state\" data-state=\"") | |||
| 2261 | + | if templ_7745c5c3_Err != nil { | |||
| 2262 | + | return templ_7745c5c3_Err | |||
| 2263 | + | } | |||
| 2264 | + | var templ_7745c5c3_Var107 string | |||
| 2265 | + | templ_7745c5c3_Var107, templ_7745c5c3_Err = templ.ResolveAttributeValue(i.State) | |||
| 2266 | + | if templ_7745c5c3_Err != nil { | |||
| 2267 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 130} | |||
| 2268 | + | } | |||
| 2269 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var107) | |||
| 2270 | + | if templ_7745c5c3_Err != nil { | |||
| 2271 | + | return templ_7745c5c3_Err | |||
| 2272 | + | } | |||
| 2273 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 213, "\">") | |||
| 2274 | + | if templ_7745c5c3_Err != nil { | |||
| 2275 | + | return templ_7745c5c3_Err | |||
| 2276 | + | } | |||
| 2277 | + | var templ_7745c5c3_Var108 string | |||
| 2278 | + | templ_7745c5c3_Var108, templ_7745c5c3_Err = templ.JoinStringErrs(i.State) | |||
| 2279 | + | if templ_7745c5c3_Err != nil { | |||
| 2280 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 436, Col: 142} | |||
| 2281 | + | } | |||
| 2282 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var108)) | |||
| 2283 | + | if templ_7745c5c3_Err != nil { | |||
| 2284 | + | return templ_7745c5c3_Err | |||
| 2285 | + | } | |||
| 2286 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 214, "</span> ") | |||
| 2287 | + | if templ_7745c5c3_Err != nil { | |||
| 2288 | + | return templ_7745c5c3_Err | |||
| 2289 | + | } | |||
| 2290 | + | if i.Closes { | |||
| 2291 | + | var templ_7745c5c3_Var109 string | |||
| 2292 | + | templ_7745c5c3_Var109, templ_7745c5c3_Err = templ.JoinStringErrs(" · resolves") | |||
| 2293 | + | if templ_7745c5c3_Err != nil { | |||
| 2294 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 438, Col: 23} | |||
| 2295 | + | } | |||
| 2296 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var109)) | |||
| 2297 | + | if templ_7745c5c3_Err != nil { | |||
| 2298 | + | return templ_7745c5c3_Err | |||
| 2299 | + | } | |||
| 2300 | + | } | |||
| 2301 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 215, "</li>") | |||
| 2302 | + | if templ_7745c5c3_Err != nil { | |||
| 2303 | + | return templ_7745c5c3_Err | |||
| 2304 | + | } | |||
| 2305 | + | } | |||
| 2306 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 216, "</ul></section>") | |||
| 2307 | + | if templ_7745c5c3_Err != nil { | |||
| 2308 | + | return templ_7745c5c3_Err | |||
| 2309 | + | } | |||
| 2310 | + | } | |||
| 2311 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 217, "<section aria-labelledby=\"r-files\" class=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">") | |||
| 2205 | if templ_7745c5c3_Err != nil { | 2312 | if templ_7745c5c3_Err != nil { | ||
| 2206 | return templ_7745c5c3_Err | 2313 | return templ_7745c5c3_Err | ||
| 2207 | } | 2314 | } | ||
| 2208 | - | var templ_7745c5c3_Var103 string | 2315 | + | var templ_7745c5c3_Var110 string |
| 2209 | - | templ_7745c5c3_Var103, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) | 2316 | + | templ_7745c5c3_Var110, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) |
| 2210 | if templ_7745c5c3_Err != nil { | 2317 | if templ_7745c5c3_Err != nil { | ||
| 2211 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 433, Col: 49} | 2318 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 447, Col: 49} |
| 2212 | } | 2319 | } | ||
| 2213 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var103)) | 2320 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var110)) |
| 2214 | if templ_7745c5c3_Err != nil { | 2321 | if templ_7745c5c3_Err != nil { | ||
| 2215 | return templ_7745c5c3_Err | 2322 | return templ_7745c5c3_Err | ||
| 2216 | } | 2323 | } | ||
| 2217 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 208, "</span><kbd aria-hidden=\"true\">l</kbd> <button type=\"button\" class=\"btn icon fold\" data-js aria-expanded=\"true\" title=\"fold the list of files\" hx-on:click=\"ermiteMR.foldFiles()\"><span class=\"ico i-chevron\" aria-hidden=\"true\"></span><span class=\"sr\">fold the list of files</span></button></h2>") | 2324 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 218, "</span><kbd aria-hidden=\"true\">l</kbd> <button type=\"button\" class=\"btn icon fold\" data-js aria-expanded=\"true\" title=\"fold the list of files\" hx-on:click=\"ermiteMR.foldFiles()\"><span class=\"ico i-chevron\" aria-hidden=\"true\"></span><span class=\"sr\">fold the list of files</span></button></h2>") |
| 2218 | if templ_7745c5c3_Err != nil { | 2325 | if templ_7745c5c3_Err != nil { | ||
| 2219 | return templ_7745c5c3_Err | 2326 | return templ_7745c5c3_Err | ||
| 2220 | } | 2327 | } | ||
| @@ -2222,71 +2329,71 @@ func mrRail(p MRPage) templ.Component { | |||||
| 2222 | if templ_7745c5c3_Err != nil { | 2329 | if templ_7745c5c3_Err != nil { | ||
| 2223 | return templ_7745c5c3_Err | 2330 | return templ_7745c5c3_Err | ||
| 2224 | } | 2331 | } | ||
| 2225 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 209, "</section>") | 2332 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 219, "</section>") |
| 2226 | if templ_7745c5c3_Err != nil { | 2333 | if templ_7745c5c3_Err != nil { | ||
| 2227 | return templ_7745c5c3_Err | 2334 | return templ_7745c5c3_Err | ||
| 2228 | } | 2335 | } | ||
| 2229 | if len(p.Verdicts) > 0 { | 2336 | if len(p.Verdicts) > 0 { | ||
| 2230 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 210, "<section><h2>Verdicts</h2><ul>") | 2337 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 220, "<section><h2>Verdicts</h2><ul>") |
| 2231 | if templ_7745c5c3_Err != nil { | 2338 | if templ_7745c5c3_Err != nil { | ||
| 2232 | return templ_7745c5c3_Err | 2339 | return templ_7745c5c3_Err | ||
| 2233 | } | 2340 | } | ||
| 2234 | for _, v := range p.Verdicts { | 2341 | for _, v := range p.Verdicts { | ||
| 2235 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 211, "<li><a href=\"") | 2342 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 221, "<li><a href=\"") |
| 2236 | if templ_7745c5c3_Err != nil { | 2343 | if templ_7745c5c3_Err != nil { | ||
| 2237 | return templ_7745c5c3_Err | 2344 | return templ_7745c5c3_Err | ||
| 2238 | } | 2345 | } | ||
| 2239 | - | var templ_7745c5c3_Var104 templ.SafeURL | 2346 | + | var templ_7745c5c3_Var111 templ.SafeURL |
| 2240 | - | templ_7745c5c3_Var104, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(v.Href)) | 2347 | + | templ_7745c5c3_Var111, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(v.Href)) |
| 2241 | if templ_7745c5c3_Err != nil { | 2348 | if templ_7745c5c3_Err != nil { | ||
| 2242 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 446, Col: 37} | 2349 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 460, Col: 37} |
| 2243 | } | 2350 | } | ||
| 2244 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var104)) | 2351 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var111)) |
| 2245 | if templ_7745c5c3_Err != nil { | 2352 | if templ_7745c5c3_Err != nil { | ||
| 2246 | return templ_7745c5c3_Err | 2353 | return templ_7745c5c3_Err | ||
| 2247 | } | 2354 | } | ||
| 2248 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 212, "\">") | 2355 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 222, "\">") |
| 2249 | if templ_7745c5c3_Err != nil { | 2356 | if templ_7745c5c3_Err != nil { | ||
| 2250 | return templ_7745c5c3_Err | 2357 | return templ_7745c5c3_Err | ||
| 2251 | } | 2358 | } | ||
| 2252 | - | var templ_7745c5c3_Var105 string | 2359 | + | var templ_7745c5c3_Var112 string |
| 2253 | - | templ_7745c5c3_Var105, templ_7745c5c3_Err = templ.JoinStringErrs(v.Author) | 2360 | + | templ_7745c5c3_Var112, templ_7745c5c3_Err = templ.JoinStringErrs(v.Author) |
| 2254 | if templ_7745c5c3_Err != nil { | 2361 | if templ_7745c5c3_Err != nil { | ||
| 2255 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 446, Col: 50} | 2362 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 460, Col: 50} |
| 2256 | } | 2363 | } | ||
| 2257 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var105)) | 2364 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var112)) |
| 2258 | if templ_7745c5c3_Err != nil { | 2365 | if templ_7745c5c3_Err != nil { | ||
| 2259 | return templ_7745c5c3_Err | 2366 | return templ_7745c5c3_Err | ||
| 2260 | } | 2367 | } | ||
| 2261 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 213, ": ") | 2368 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 223, ": ") |
| 2262 | if templ_7745c5c3_Err != nil { | 2369 | if templ_7745c5c3_Err != nil { | ||
| 2263 | return templ_7745c5c3_Err | 2370 | return templ_7745c5c3_Err | ||
| 2264 | } | 2371 | } | ||
| 2265 | - | var templ_7745c5c3_Var106 string | 2372 | + | var templ_7745c5c3_Var113 string |
| 2266 | - | templ_7745c5c3_Var106, templ_7745c5c3_Err = templ.JoinStringErrs(v.Label) | 2373 | + | templ_7745c5c3_Var113, templ_7745c5c3_Err = templ.JoinStringErrs(v.Label) |
| 2267 | if templ_7745c5c3_Err != nil { | 2374 | if templ_7745c5c3_Err != nil { | ||
| 2268 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 446, Col: 63} | 2375 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 460, Col: 63} |
| 2269 | } | 2376 | } | ||
| 2270 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var106)) | 2377 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var113)) |
| 2271 | if templ_7745c5c3_Err != nil { | 2378 | if templ_7745c5c3_Err != nil { | ||
| 2272 | return templ_7745c5c3_Err | 2379 | return templ_7745c5c3_Err | ||
| 2273 | } | 2380 | } | ||
| 2274 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 214, "</a> ") | 2381 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 224, "</a> ") |
| 2275 | if templ_7745c5c3_Err != nil { | 2382 | if templ_7745c5c3_Err != nil { | ||
| 2276 | return templ_7745c5c3_Err | 2383 | return templ_7745c5c3_Err | ||
| 2277 | } | 2384 | } | ||
| 2278 | if v.Stale { | 2385 | if v.Stale { | ||
| 2279 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 215, "<span class=\"mute\">(stale)</span>") | 2386 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 225, "<span class=\"mute\">(stale)</span>") |
| 2280 | if templ_7745c5c3_Err != nil { | 2387 | if templ_7745c5c3_Err != nil { | ||
| 2281 | return templ_7745c5c3_Err | 2388 | return templ_7745c5c3_Err | ||
| 2282 | } | 2389 | } | ||
| 2283 | } | 2390 | } | ||
| 2284 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 216, "</li>") | 2391 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 226, "</li>") |
| 2285 | if templ_7745c5c3_Err != nil { | 2392 | if templ_7745c5c3_Err != nil { | ||
| 2286 | return templ_7745c5c3_Err | 2393 | return templ_7745c5c3_Err | ||
| 2287 | } | 2394 | } | ||
| 2288 | } | 2395 | } | ||
| 2289 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 217, "</ul></section>") | 2396 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 227, "</ul></section>") |
| 2290 | if templ_7745c5c3_Err != nil { | 2397 | if templ_7745c5c3_Err != nil { | ||
| 2291 | return templ_7745c5c3_Err | 2398 | return templ_7745c5c3_Err | ||
| 2292 | } | 2399 | } | ||
| @@ -2315,51 +2422,51 @@ func mrBar(p MRPage) templ.Component { | |||||
| 2315 | }() | 2422 | }() | ||
| 2316 | } | 2423 | } | ||
| 2317 | ctx = templ.InitializeContext(ctx) | 2424 | ctx = templ.InitializeContext(ctx) | ||
| 2318 | - | templ_7745c5c3_Var107 := templ.GetChildren(ctx) | 2425 | + | templ_7745c5c3_Var114 := templ.GetChildren(ctx) |
| 2319 | - | if templ_7745c5c3_Var107 == nil { | 2426 | + | if templ_7745c5c3_Var114 == nil { |
| 2320 | - | templ_7745c5c3_Var107 = templ.NopComponent | 2427 | + | templ_7745c5c3_Var114 = templ.NopComponent |
| 2321 | } | 2428 | } | ||
| 2322 | ctx = templ.ClearChildren(ctx) | 2429 | ctx = templ.ClearChildren(ctx) | ||
| 2323 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 218, "<div class=\"diff-tools mr-bar\" role=\"group\" aria-label=\"Diff view and merge\"><span class=\"dim\">") | 2430 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 228, "<div class=\"diff-tools mr-bar\" role=\"group\" aria-label=\"Diff view and merge\"><span class=\"dim\">") |
| 2324 | if templ_7745c5c3_Err != nil { | 2431 | if templ_7745c5c3_Err != nil { | ||
| 2325 | return templ_7745c5c3_Err | 2432 | return templ_7745c5c3_Err | ||
| 2326 | } | 2433 | } | ||
| 2327 | - | var templ_7745c5c3_Var108 string | 2434 | + | var templ_7745c5c3_Var115 string |
| 2328 | - | templ_7745c5c3_Var108, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files")) | 2435 | + | templ_7745c5c3_Var115, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files")) |
| 2329 | if templ_7745c5c3_Err != nil { | 2436 | if templ_7745c5c3_Err != nil { | ||
| 2330 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 463, Col: 55} | 2437 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 477, Col: 55} |
| 2331 | } | 2438 | } | ||
| 2332 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var108)) | 2439 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var115)) |
| 2333 | if templ_7745c5c3_Err != nil { | 2440 | if templ_7745c5c3_Err != nil { | ||
| 2334 | return templ_7745c5c3_Err | 2441 | return templ_7745c5c3_Err | ||
| 2335 | } | 2442 | } | ||
| 2336 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 219, " · <span class=\"plus\">+") | 2443 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 229, " · <span class=\"plus\">+") |
| 2337 | if templ_7745c5c3_Err != nil { | 2444 | if templ_7745c5c3_Err != nil { | ||
| 2338 | return templ_7745c5c3_Err | 2445 | return templ_7745c5c3_Err | ||
| 2339 | } | 2446 | } | ||
| 2340 | - | var templ_7745c5c3_Var109 string | 2447 | + | var templ_7745c5c3_Var116 string |
| 2341 | - | templ_7745c5c3_Var109, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) | 2448 | + | templ_7745c5c3_Var116, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) |
| 2342 | if templ_7745c5c3_Err != nil { | 2449 | if templ_7745c5c3_Err != nil { | ||
| 2343 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 463, Col: 95} | 2450 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 477, Col: 95} |
| 2344 | } | 2451 | } | ||
| 2345 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var109)) | 2452 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var116)) |
| 2346 | if templ_7745c5c3_Err != nil { | 2453 | if templ_7745c5c3_Err != nil { | ||
| 2347 | return templ_7745c5c3_Err | 2454 | return templ_7745c5c3_Err | ||
| 2348 | } | 2455 | } | ||
| 2349 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 220, "</span> <span class=\"minus\">-") | 2456 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 230, "</span> <span class=\"minus\">-") |
| 2350 | if templ_7745c5c3_Err != nil { | 2457 | if templ_7745c5c3_Err != nil { | ||
| 2351 | return templ_7745c5c3_Err | 2458 | return templ_7745c5c3_Err | ||
| 2352 | } | 2459 | } | ||
| 2353 | - | var templ_7745c5c3_Var110 string | 2460 | + | var templ_7745c5c3_Var117 string |
| 2354 | - | templ_7745c5c3_Var110, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) | 2461 | + | templ_7745c5c3_Var117, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) |
| 2355 | if templ_7745c5c3_Err != nil { | 2462 | if templ_7745c5c3_Err != nil { | ||
| 2356 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 463, Col: 140} | 2463 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 477, Col: 140} |
| 2357 | } | 2464 | } | ||
| 2358 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var110)) | 2465 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var117)) |
| 2359 | if templ_7745c5c3_Err != nil { | 2466 | if templ_7745c5c3_Err != nil { | ||
| 2360 | return templ_7745c5c3_Err | 2467 | return templ_7745c5c3_Err | ||
| 2361 | } | 2468 | } | ||
| 2362 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 221, "</span></span>") | 2469 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 231, "</span></span>") |
| 2363 | if templ_7745c5c3_Err != nil { | 2470 | if templ_7745c5c3_Err != nil { | ||
| 2364 | return templ_7745c5c3_Err | 2471 | return templ_7745c5c3_Err | ||
| 2365 | } | 2472 | } | ||
| @@ -2371,7 +2478,7 @@ func mrBar(p MRPage) templ.Component { | |||||
| 2371 | if templ_7745c5c3_Err != nil { | 2478 | if templ_7745c5c3_Err != nil { | ||
| 2372 | return templ_7745c5c3_Err | 2479 | return templ_7745c5c3_Err | ||
| 2373 | } | 2480 | } | ||
| 2374 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 222, "</div>") | 2481 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 232, "</div>") |
| 2375 | if templ_7745c5c3_Err != nil { | 2482 | if templ_7745c5c3_Err != nil { | ||
| 2376 | return templ_7745c5c3_Err | 2483 | return templ_7745c5c3_Err | ||
| 2377 | } | 2484 | } | ||
| @@ -2403,80 +2510,80 @@ func mergeMenu(p MRPage) templ.Component { | |||||
| 2403 | }() | 2510 | }() | ||
| 2404 | } | 2511 | } | ||
| 2405 | ctx = templ.InitializeContext(ctx) | 2512 | ctx = templ.InitializeContext(ctx) | ||
| 2406 | - | templ_7745c5c3_Var111 := templ.GetChildren(ctx) | 2513 | + | templ_7745c5c3_Var118 := templ.GetChildren(ctx) |
| 2407 | - | if templ_7745c5c3_Var111 == nil { | 2514 | + | if templ_7745c5c3_Var118 == nil { |
| 2408 | - | templ_7745c5c3_Var111 = templ.NopComponent | 2515 | + | templ_7745c5c3_Var118 = templ.NopComponent |
| 2409 | } | 2516 | } | ||
| 2410 | ctx = templ.ClearChildren(ctx) | 2517 | ctx = templ.ClearChildren(ctx) | ||
| 2411 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 223, "<details class=\"menu mmenu\" id=\"merge-menu\" data-state=\"open\"") | 2518 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 233, "<details class=\"menu mmenu\" id=\"merge-menu\" data-state=\"open\"") |
| 2412 | if templ_7745c5c3_Err != nil { | 2519 | if templ_7745c5c3_Err != nil { | ||
| 2413 | return templ_7745c5c3_Err | 2520 | return templ_7745c5c3_Err | ||
| 2414 | } | 2521 | } | ||
| 2415 | if p.Box.Error != "" { | 2522 | if p.Box.Error != "" { | ||
| 2416 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 224, " open") | 2523 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 234, " open") |
| 2417 | if templ_7745c5c3_Err != nil { | 2524 | if templ_7745c5c3_Err != nil { | ||
| 2418 | return templ_7745c5c3_Err | 2525 | return templ_7745c5c3_Err | ||
| 2419 | } | 2526 | } | ||
| 2420 | } | 2527 | } | ||
| 2421 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 225, "><summary class=\"btn primary\" aria-keyshortcuts=\"Shift+M\">") | 2528 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 235, "><summary class=\"btn primary\" aria-keyshortcuts=\"Shift+M\">") |
| 2422 | if templ_7745c5c3_Err != nil { | 2529 | if templ_7745c5c3_Err != nil { | ||
| 2423 | return templ_7745c5c3_Err | 2530 | return templ_7745c5c3_Err | ||
| 2424 | } | 2531 | } | ||
| 2425 | if p.Box.ReadyAction != "" { | 2532 | if p.Box.ReadyAction != "" { | ||
| 2426 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 226, "Draft ") | 2533 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 236, "Draft ") |
| 2427 | if templ_7745c5c3_Err != nil { | 2534 | if templ_7745c5c3_Err != nil { | ||
| 2428 | return templ_7745c5c3_Err | 2535 | return templ_7745c5c3_Err | ||
| 2429 | } | 2536 | } | ||
| 2430 | } else { | 2537 | } else { | ||
| 2431 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 227, "Merge ") | 2538 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 237, "Merge ") |
| 2432 | if templ_7745c5c3_Err != nil { | 2539 | if templ_7745c5c3_Err != nil { | ||
| 2433 | return templ_7745c5c3_Err | 2540 | return templ_7745c5c3_Err | ||
| 2434 | } | 2541 | } | ||
| 2435 | } | 2542 | } | ||
| 2436 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 228, "<kbd aria-hidden=\"true\">M</kbd></summary><div class=\"menu-pop\" role=\"group\" aria-label=\"Merge\">") | 2543 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 238, "<kbd aria-hidden=\"true\">M</kbd></summary><div class=\"menu-pop\" role=\"group\" aria-label=\"Merge\">") |
| 2437 | if templ_7745c5c3_Err != nil { | 2544 | if templ_7745c5c3_Err != nil { | ||
| 2438 | return templ_7745c5c3_Err | 2545 | return templ_7745c5c3_Err | ||
| 2439 | } | 2546 | } | ||
| 2440 | if p.Box.HeadGone { | 2547 | if p.Box.HeadGone { | ||
| 2441 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 229, "<p class=\"dim\">the source branch was deleted</p>") | 2548 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 239, "<p class=\"dim\">the source branch was deleted</p>") |
| 2442 | if templ_7745c5c3_Err != nil { | 2549 | if templ_7745c5c3_Err != nil { | ||
| 2443 | return templ_7745c5c3_Err | 2550 | return templ_7745c5c3_Err | ||
| 2444 | } | 2551 | } | ||
| 2445 | } | 2552 | } | ||
| 2446 | if p.Box.Error != "" { | 2553 | if p.Box.Error != "" { | ||
| 2447 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 230, "<p class=\"d-err\" role=\"alert\">") | 2554 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 240, "<p class=\"d-err\" role=\"alert\">") |
| 2448 | if templ_7745c5c3_Err != nil { | 2555 | if templ_7745c5c3_Err != nil { | ||
| 2449 | return templ_7745c5c3_Err | 2556 | return templ_7745c5c3_Err | ||
| 2450 | } | 2557 | } | ||
| 2451 | - | var templ_7745c5c3_Var112 string | 2558 | + | var templ_7745c5c3_Var119 string |
| 2452 | - | templ_7745c5c3_Var112, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Error) | 2559 | + | templ_7745c5c3_Var119, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Error) |
| 2453 | if templ_7745c5c3_Err != nil { | 2560 | if templ_7745c5c3_Err != nil { | ||
| 2454 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 492, Col: 47} | 2561 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 506, Col: 47} |
| 2455 | } | 2562 | } | ||
| 2456 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var112)) | 2563 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var119)) |
| 2457 | if templ_7745c5c3_Err != nil { | 2564 | if templ_7745c5c3_Err != nil { | ||
| 2458 | return templ_7745c5c3_Err | 2565 | return templ_7745c5c3_Err | ||
| 2459 | } | 2566 | } | ||
| 2460 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 231, "</p>") | 2567 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 241, "</p>") |
| 2461 | if templ_7745c5c3_Err != nil { | 2568 | if templ_7745c5c3_Err != nil { | ||
| 2462 | return templ_7745c5c3_Err | 2569 | return templ_7745c5c3_Err | ||
| 2463 | } | 2570 | } | ||
| 2464 | } | 2571 | } | ||
| 2465 | if p.Box.ReadyAction != "" { | 2572 | if p.Box.ReadyAction != "" { | ||
| 2466 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 232, "<p class=\"d-draft\">this is a draft: it cannot be merged until it is ready for review.</p><form class=\"d-btns\" method=\"post\" action=\"") | 2573 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 242, "<p class=\"d-draft\">this is a draft: it cannot be merged until it is ready for review.</p><form class=\"d-btns\" method=\"post\" action=\"") |
| 2467 | if templ_7745c5c3_Err != nil { | 2574 | if templ_7745c5c3_Err != nil { | ||
| 2468 | return templ_7745c5c3_Err | 2575 | return templ_7745c5c3_Err | ||
| 2469 | } | 2576 | } | ||
| 2470 | - | var templ_7745c5c3_Var113 templ.SafeURL | 2577 | + | var templ_7745c5c3_Var120 templ.SafeURL |
| 2471 | - | templ_7745c5c3_Var113, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadyAction)) | 2578 | + | templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadyAction)) |
| 2472 | if templ_7745c5c3_Err != nil { | 2579 | if templ_7745c5c3_Err != nil { | ||
| 2473 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 496, Col: 80} | 2580 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 510, Col: 80} |
| 2474 | } | 2581 | } | ||
| 2475 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var113)) | 2582 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var120)) |
| 2476 | if templ_7745c5c3_Err != nil { | 2583 | if templ_7745c5c3_Err != nil { | ||
| 2477 | return templ_7745c5c3_Err | 2584 | return templ_7745c5c3_Err | ||
| 2478 | } | 2585 | } | ||
| 2479 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 233, "\"><button type=\"submit\" class=\"btn primary\" data-default title=\"remove the draft prefix from the title\">Ready for review</button></form>") | 2586 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 243, "\"><button type=\"submit\" class=\"btn primary\" data-default title=\"remove the draft prefix from the title\">Ready for review</button></form>") |
| 2480 | if templ_7745c5c3_Err != nil { | 2587 | if templ_7745c5c3_Err != nil { | ||
| 2481 | return templ_7745c5c3_Err | 2588 | return templ_7745c5c3_Err | ||
| 2482 | } | 2589 | } | ||
| @@ -2485,250 +2592,250 @@ func mergeMenu(p MRPage) templ.Component { | |||||
| 2485 | if templ_7745c5c3_Err != nil { | 2592 | if templ_7745c5c3_Err != nil { | ||
| 2486 | return templ_7745c5c3_Err | 2593 | return templ_7745c5c3_Err | ||
| 2487 | } | 2594 | } | ||
| 2488 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 234, " ") | 2595 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 244, " ") |
| 2489 | if templ_7745c5c3_Err != nil { | 2596 | if templ_7745c5c3_Err != nil { | ||
| 2490 | return templ_7745c5c3_Err | 2597 | return templ_7745c5c3_Err | ||
| 2491 | } | 2598 | } | ||
| 2492 | if p.Box.AutoMerge != nil { | 2599 | if p.Box.AutoMerge != nil { | ||
| 2493 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 235, "<form class=\"d-acts\" method=\"post\" action=\"") | 2600 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 245, "<form class=\"d-acts\" method=\"post\" action=\"") |
| 2494 | if templ_7745c5c3_Err != nil { | 2601 | if templ_7745c5c3_Err != nil { | ||
| 2495 | return templ_7745c5c3_Err | 2602 | return templ_7745c5c3_Err | ||
| 2496 | } | 2603 | } | ||
| 2497 | - | var templ_7745c5c3_Var114 templ.SafeURL | 2604 | + | var templ_7745c5c3_Var121 templ.SafeURL |
| 2498 | - | templ_7745c5c3_Var114, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CancelAutoAction)) | 2605 | + | templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CancelAutoAction)) |
| 2499 | if templ_7745c5c3_Err != nil { | 2606 | if templ_7745c5c3_Err != nil { | ||
| 2500 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 502, Col: 86} | 2607 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 516, Col: 86} |
| 2501 | } | 2608 | } | ||
| 2502 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var114)) | 2609 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var121)) |
| 2503 | if templ_7745c5c3_Err != nil { | 2610 | if templ_7745c5c3_Err != nil { | ||
| 2504 | return templ_7745c5c3_Err | 2611 | return templ_7745c5c3_Err | ||
| 2505 | } | 2612 | } | ||
| 2506 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 236, "\"><p class=\"dim\" role=\"status\">Auto-merge: ") | 2613 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 246, "\"><p class=\"dim\" role=\"status\">Auto-merge: ") |
| 2507 | if templ_7745c5c3_Err != nil { | 2614 | if templ_7745c5c3_Err != nil { | ||
| 2508 | return templ_7745c5c3_Err | 2615 | return templ_7745c5c3_Err | ||
| 2509 | } | 2616 | } | ||
| 2510 | - | var templ_7745c5c3_Var115 string | 2617 | + | var templ_7745c5c3_Var122 string |
| 2511 | - | templ_7745c5c3_Var115, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.Mode) | 2618 | + | templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.Mode) |
| 2512 | if templ_7745c5c3_Err != nil { | 2619 | if templ_7745c5c3_Err != nil { | ||
| 2513 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 504, Col: 41} | 2620 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 518, Col: 41} |
| 2514 | } | 2621 | } | ||
| 2515 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var115)) | 2622 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var122)) |
| 2516 | if templ_7745c5c3_Err != nil { | 2623 | if templ_7745c5c3_Err != nil { | ||
| 2517 | return templ_7745c5c3_Err | 2624 | return templ_7745c5c3_Err | ||
| 2518 | } | 2625 | } | ||
| 2519 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 237, " when ready, enabled by ") | 2626 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 247, " when ready, enabled by ") |
| 2520 | if templ_7745c5c3_Err != nil { | 2627 | if templ_7745c5c3_Err != nil { | ||
| 2521 | return templ_7745c5c3_Err | 2628 | return templ_7745c5c3_Err | ||
| 2522 | } | 2629 | } | ||
| 2523 | - | var templ_7745c5c3_Var116 string | 2630 | + | var templ_7745c5c3_Var123 string |
| 2524 | - | templ_7745c5c3_Var116, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.EnabledBy) | 2631 | + | templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.EnabledBy) |
| 2525 | if templ_7745c5c3_Err != nil { | 2632 | if templ_7745c5c3_Err != nil { | ||
| 2526 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 504, Col: 94} | 2633 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 518, Col: 94} |
| 2527 | } | 2634 | } | ||
| 2528 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var116)) | 2635 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var123)) |
| 2529 | if templ_7745c5c3_Err != nil { | 2636 | if templ_7745c5c3_Err != nil { | ||
| 2530 | return templ_7745c5c3_Err | 2637 | return templ_7745c5c3_Err | ||
| 2531 | } | 2638 | } | ||
| 2532 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 238, " ") | 2639 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 248, " ") |
| 2533 | if templ_7745c5c3_Err != nil { | 2640 | if templ_7745c5c3_Err != nil { | ||
| 2534 | return templ_7745c5c3_Err | 2641 | return templ_7745c5c3_Err | ||
| 2535 | } | 2642 | } | ||
| 2536 | if p.Box.AutoMerge.When != "" { | 2643 | if p.Box.AutoMerge.When != "" { | ||
| 2537 | - | var templ_7745c5c3_Var117 string | 2644 | + | var templ_7745c5c3_Var124 string |
| 2538 | - | templ_7745c5c3_Var117, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | 2645 | + | templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.JoinStringErrs(" ") |
| 2539 | if templ_7745c5c3_Err != nil { | 2646 | if templ_7745c5c3_Err != nil { | ||
| 2540 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 506, Col: 13} | 2647 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 520, Col: 13} |
| 2541 | } | 2648 | } | ||
| 2542 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var117)) | 2649 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var124)) |
| 2543 | if templ_7745c5c3_Err != nil { | 2650 | if templ_7745c5c3_Err != nil { | ||
| 2544 | return templ_7745c5c3_Err | 2651 | return templ_7745c5c3_Err | ||
| 2545 | } | 2652 | } | ||
| 2546 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 239, "<time datetime=\"") | 2653 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 249, "<time datetime=\"") |
| 2547 | if templ_7745c5c3_Err != nil { | 2654 | if templ_7745c5c3_Err != nil { | ||
| 2548 | return templ_7745c5c3_Err | 2655 | return templ_7745c5c3_Err | ||
| 2549 | } | 2656 | } | ||
| 2550 | - | var templ_7745c5c3_Var118 string | 2657 | + | var templ_7745c5c3_Var125 string |
| 2551 | - | templ_7745c5c3_Var118, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.AutoMerge.WhenAt) | 2658 | + | templ_7745c5c3_Var125, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.AutoMerge.WhenAt) |
| 2552 | if templ_7745c5c3_Err != nil { | 2659 | if templ_7745c5c3_Err != nil { | ||
| 2553 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 506, Col: 54} | 2660 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 520, Col: 54} |
| 2554 | } | 2661 | } | ||
| 2555 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var118) | 2662 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var125) |
| 2556 | if templ_7745c5c3_Err != nil { | 2663 | if templ_7745c5c3_Err != nil { | ||
| 2557 | return templ_7745c5c3_Err | 2664 | return templ_7745c5c3_Err | ||
| 2558 | } | 2665 | } | ||
| 2559 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 240, "\">") | 2666 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 250, "\">") |
| 2560 | if templ_7745c5c3_Err != nil { | 2667 | if templ_7745c5c3_Err != nil { | ||
| 2561 | return templ_7745c5c3_Err | 2668 | return templ_7745c5c3_Err | ||
| 2562 | } | 2669 | } | ||
| 2563 | - | var templ_7745c5c3_Var119 string | 2670 | + | var templ_7745c5c3_Var126 string |
| 2564 | - | templ_7745c5c3_Var119, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.When) | 2671 | + | templ_7745c5c3_Var126, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.When) |
| 2565 | if templ_7745c5c3_Err != nil { | 2672 | if templ_7745c5c3_Err != nil { | ||
| 2566 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 506, Col: 79} | 2673 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 520, Col: 79} |
| 2567 | } | 2674 | } | ||
| 2568 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var119)) | 2675 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var126)) |
| 2569 | if templ_7745c5c3_Err != nil { | 2676 | if templ_7745c5c3_Err != nil { | ||
| 2570 | return templ_7745c5c3_Err | 2677 | return templ_7745c5c3_Err | ||
| 2571 | } | 2678 | } | ||
| 2572 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 241, "</time> ") | 2679 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 251, "</time> ") |
| 2573 | if templ_7745c5c3_Err != nil { | 2680 | if templ_7745c5c3_Err != nil { | ||
| 2574 | return templ_7745c5c3_Err | 2681 | return templ_7745c5c3_Err | ||
| 2575 | } | 2682 | } | ||
| 2576 | } | 2683 | } | ||
| 2577 | - | var templ_7745c5c3_Var120 string | 2684 | + | var templ_7745c5c3_Var127 string |
| 2578 | - | templ_7745c5c3_Var120, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | 2685 | + | templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.JoinStringErrs(" ") |
| 2579 | if templ_7745c5c3_Err != nil { | 2686 | if templ_7745c5c3_Err != nil { | ||
| 2580 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 508, Col: 12} | 2687 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 522, Col: 12} |
| 2581 | } | 2688 | } | ||
| 2582 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var120)) | 2689 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var127)) |
| 2583 | if templ_7745c5c3_Err != nil { | 2690 | if templ_7745c5c3_Err != nil { | ||
| 2584 | return templ_7745c5c3_Err | 2691 | return templ_7745c5c3_Err | ||
| 2585 | } | 2692 | } | ||
| 2586 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 242, "(head ") | 2693 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 252, "(head ") |
| 2587 | if templ_7745c5c3_Err != nil { | 2694 | if templ_7745c5c3_Err != nil { | ||
| 2588 | return templ_7745c5c3_Err | 2695 | return templ_7745c5c3_Err | ||
| 2589 | } | 2696 | } | ||
| 2590 | - | var templ_7745c5c3_Var121 string | 2697 | + | var templ_7745c5c3_Var128 string |
| 2591 | - | templ_7745c5c3_Var121, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.HeadShort) | 2698 | + | templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.AutoMerge.HeadShort) |
| 2592 | if templ_7745c5c3_Err != nil { | 2699 | if templ_7745c5c3_Err != nil { | ||
| 2593 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 508, Col: 47} | 2700 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 522, Col: 47} |
| 2594 | } | 2701 | } | ||
| 2595 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var121)) | 2702 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128)) |
| 2596 | if templ_7745c5c3_Err != nil { | 2703 | if templ_7745c5c3_Err != nil { | ||
| 2597 | return templ_7745c5c3_Err | 2704 | return templ_7745c5c3_Err | ||
| 2598 | } | 2705 | } | ||
| 2599 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 243, ")</p><div class=\"d-btns\"><button type=\"submit\" class=\"btn\">Cancel auto-merge</button></div></form>") | 2706 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 253, ")</p><div class=\"d-btns\"><button type=\"submit\" class=\"btn\">Cancel auto-merge</button></div></form>") |
| 2600 | if templ_7745c5c3_Err != nil { | 2707 | if templ_7745c5c3_Err != nil { | ||
| 2601 | return templ_7745c5c3_Err | 2708 | return templ_7745c5c3_Err | ||
| 2602 | } | 2709 | } | ||
| 2603 | } | 2710 | } | ||
| 2604 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 244, " <form class=\"d-acts\" method=\"post\" action=\"") | 2711 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 254, " <form class=\"d-acts\" method=\"post\" action=\"") |
| 2605 | if templ_7745c5c3_Err != nil { | 2712 | if templ_7745c5c3_Err != nil { | ||
| 2606 | return templ_7745c5c3_Err | 2713 | return templ_7745c5c3_Err | ||
| 2607 | } | 2714 | } | ||
| 2608 | - | var templ_7745c5c3_Var122 templ.SafeURL | 2715 | + | var templ_7745c5c3_Var129 templ.SafeURL |
| 2609 | - | templ_7745c5c3_Var122, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.MergeAction)) | 2716 | + | templ_7745c5c3_Var129, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.MergeAction)) |
| 2610 | if templ_7745c5c3_Err != nil { | 2717 | if templ_7745c5c3_Err != nil { | ||
| 2611 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 518, Col: 46} | 2718 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 532, Col: 46} |
| 2612 | } | 2719 | } | ||
| 2613 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var122)) | 2720 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var129)) |
| 2614 | if templ_7745c5c3_Err != nil { | 2721 | if templ_7745c5c3_Err != nil { | ||
| 2615 | return templ_7745c5c3_Err | 2722 | return templ_7745c5c3_Err | ||
| 2616 | } | 2723 | } | ||
| 2617 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 245, "\" hx-post=\"") | 2724 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 255, "\" hx-post=\"") |
| 2618 | if templ_7745c5c3_Err != nil { | 2725 | if templ_7745c5c3_Err != nil { | ||
| 2619 | return templ_7745c5c3_Err | 2726 | return templ_7745c5c3_Err | ||
| 2620 | } | 2727 | } | ||
| 2621 | - | var templ_7745c5c3_Var123 string | 2728 | + | var templ_7745c5c3_Var130 string |
| 2622 | - | templ_7745c5c3_Var123, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.MergeAction) | 2729 | + | templ_7745c5c3_Var130, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.MergeAction) |
| 2623 | if templ_7745c5c3_Err != nil { | 2730 | if templ_7745c5c3_Err != nil { | ||
| 2624 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 519, Col: 32} | 2731 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 533, Col: 32} |
| 2625 | } | 2732 | } | ||
| 2626 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var123) | 2733 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var130) |
| 2627 | if templ_7745c5c3_Err != nil { | 2734 | if templ_7745c5c3_Err != nil { | ||
| 2628 | return templ_7745c5c3_Err | 2735 | return templ_7745c5c3_Err | ||
| 2629 | } | 2736 | } | ||
| 2630 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 246, "\" hx-swap=\"none\" hx-sync=\"this:drop\" hx-disable=\"find button[type=submit]\"><input type=\"hidden\" name=\"head_id\" value=\"") | 2737 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 256, "\" hx-swap=\"none\" hx-sync=\"this:drop\" hx-disable=\"find button[type=submit]\"><input type=\"hidden\" name=\"head_id\" value=\"") |
| 2631 | if templ_7745c5c3_Err != nil { | 2738 | if templ_7745c5c3_Err != nil { | ||
| 2632 | return templ_7745c5c3_Err | 2739 | return templ_7745c5c3_Err | ||
| 2633 | } | 2740 | } | ||
| 2634 | - | var templ_7745c5c3_Var124 string | 2741 | + | var templ_7745c5c3_Var131 string |
| 2635 | - | templ_7745c5c3_Var124, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) | 2742 | + | templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) |
| 2636 | if templ_7745c5c3_Err != nil { | 2743 | if templ_7745c5c3_Err != nil { | ||
| 2637 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 524, Col: 59} | 2744 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 538, Col: 59} |
| 2638 | } | 2745 | } | ||
| 2639 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var124) | 2746 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var131) |
| 2640 | if templ_7745c5c3_Err != nil { | 2747 | if templ_7745c5c3_Err != nil { | ||
| 2641 | return templ_7745c5c3_Err | 2748 | return templ_7745c5c3_Err | ||
| 2642 | } | 2749 | } | ||
| 2643 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 247, "\"><fieldset class=\"d-modes\"><legend class=\"sr\">merge mode</legend> ") | 2750 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 257, "\"><fieldset class=\"d-modes\"><legend class=\"sr\">merge mode</legend> ") |
| 2644 | if templ_7745c5c3_Err != nil { | 2751 | if templ_7745c5c3_Err != nil { | ||
| 2645 | return templ_7745c5c3_Err | 2752 | return templ_7745c5c3_Err | ||
| 2646 | } | 2753 | } | ||
| 2647 | for i, m := range p.Box.Modes { | 2754 | for i, m := range p.Box.Modes { | ||
| 2648 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 248, "<label><input type=\"radio\" name=\"mode\" value=\"") | 2755 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 258, "<label><input type=\"radio\" name=\"mode\" value=\"") |
| 2649 | if templ_7745c5c3_Err != nil { | 2756 | if templ_7745c5c3_Err != nil { | ||
| 2650 | return templ_7745c5c3_Err | 2757 | return templ_7745c5c3_Err | ||
| 2651 | } | 2758 | } | ||
| 2652 | - | var templ_7745c5c3_Var125 string | 2759 | + | var templ_7745c5c3_Var132 string |
| 2653 | - | templ_7745c5c3_Var125, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) | 2760 | + | templ_7745c5c3_Var132, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) |
| 2654 | if templ_7745c5c3_Err != nil { | 2761 | if templ_7745c5c3_Err != nil { | ||
| 2655 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 532, Col: 24} | 2762 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 546, Col: 24} |
| 2656 | } | 2763 | } | ||
| 2657 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var125) | 2764 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var132) |
| 2658 | if templ_7745c5c3_Err != nil { | 2765 | if templ_7745c5c3_Err != nil { | ||
| 2659 | return templ_7745c5c3_Err | 2766 | return templ_7745c5c3_Err | ||
| 2660 | } | 2767 | } | ||
| 2661 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 249, "\"") | 2768 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 259, "\"") |
| 2662 | if templ_7745c5c3_Err != nil { | 2769 | if templ_7745c5c3_Err != nil { | ||
| 2663 | return templ_7745c5c3_Err | 2770 | return templ_7745c5c3_Err | ||
| 2664 | } | 2771 | } | ||
| 2665 | if i == p.Box.Checked() { | 2772 | if i == p.Box.Checked() { | ||
| 2666 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 250, " checked") | 2773 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 260, " checked") |
| 2667 | if templ_7745c5c3_Err != nil { | 2774 | if templ_7745c5c3_Err != nil { | ||
| 2668 | return templ_7745c5c3_Err | 2775 | return templ_7745c5c3_Err | ||
| 2669 | } | 2776 | } | ||
| 2670 | } | 2777 | } | ||
| 2671 | if m.Disabled { | 2778 | if m.Disabled { | ||
| 2672 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 251, " disabled") | 2779 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 261, " disabled") |
| 2673 | if templ_7745c5c3_Err != nil { | 2780 | if templ_7745c5c3_Err != nil { | ||
| 2674 | return templ_7745c5c3_Err | 2781 | return templ_7745c5c3_Err | ||
| 2675 | } | 2782 | } | ||
| 2676 | } | 2783 | } | ||
| 2677 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 252, " title=\"") | 2784 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 262, " title=\"") |
| 2678 | if templ_7745c5c3_Err != nil { | 2785 | if templ_7745c5c3_Err != nil { | ||
| 2679 | return templ_7745c5c3_Err | 2786 | return templ_7745c5c3_Err | ||
| 2680 | } | 2787 | } | ||
| 2681 | - | var templ_7745c5c3_Var126 string | 2788 | + | var templ_7745c5c3_Var133 string |
| 2682 | - | templ_7745c5c3_Var126, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Reason) | 2789 | + | templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Reason) |
| 2683 | if templ_7745c5c3_Err != nil { | 2790 | if templ_7745c5c3_Err != nil { | ||
| 2684 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 535, Col: 25} | 2791 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 549, Col: 25} |
| 2685 | } | 2792 | } | ||
| 2686 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var126) | 2793 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var133) |
| 2687 | if templ_7745c5c3_Err != nil { | 2794 | if templ_7745c5c3_Err != nil { | ||
| 2688 | return templ_7745c5c3_Err | 2795 | return templ_7745c5c3_Err | ||
| 2689 | } | 2796 | } | ||
| 2690 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 253, "\" :disabled=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffOk !== true : q('[data-mergeability]').data.mergeOk !== true\" :title=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffReason : q('[data-mergeability]').data.mergeReason\"> ") | 2797 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 263, "\" :disabled=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffOk !== true : q('[data-mergeability]').data.mergeOk !== true\" :title=\"this.value === 'fast-forward' ? q('[data-mergeability]').data.ffReason : q('[data-mergeability]').data.mergeReason\"> ") |
| 2691 | if templ_7745c5c3_Err != nil { | 2798 | if templ_7745c5c3_Err != nil { | ||
| 2692 | return templ_7745c5c3_Err | 2799 | return templ_7745c5c3_Err | ||
| 2693 | } | 2800 | } | ||
| 2694 | - | var templ_7745c5c3_Var127 string | 2801 | + | var templ_7745c5c3_Var134 string |
| 2695 | - | templ_7745c5c3_Var127, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) | 2802 | + | templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) |
| 2696 | if templ_7745c5c3_Err != nil { | 2803 | if templ_7745c5c3_Err != nil { | ||
| 2697 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 539, Col: 17} | 2804 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 553, Col: 17} |
| 2698 | } | 2805 | } | ||
| 2699 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var127)) | 2806 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var134)) |
| 2700 | if templ_7745c5c3_Err != nil { | 2807 | if templ_7745c5c3_Err != nil { | ||
| 2701 | return templ_7745c5c3_Err | 2808 | return templ_7745c5c3_Err | ||
| 2702 | } | 2809 | } | ||
| 2703 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 254, " ") | 2810 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 264, " ") |
| 2704 | if templ_7745c5c3_Err != nil { | 2811 | if templ_7745c5c3_Err != nil { | ||
| 2705 | return templ_7745c5c3_Err | 2812 | return templ_7745c5c3_Err | ||
| 2706 | } | 2813 | } | ||
| 2707 | if i < 9 { | 2814 | if i < 9 { | ||
| 2708 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 255, "<kbd aria-hidden=\"true\">") | 2815 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 265, "<kbd aria-hidden=\"true\">") |
| 2709 | if templ_7745c5c3_Err != nil { | 2816 | if templ_7745c5c3_Err != nil { | ||
| 2710 | return templ_7745c5c3_Err | 2817 | return templ_7745c5c3_Err | ||
| 2711 | } | 2818 | } | ||
| 2712 | - | var templ_7745c5c3_Var128 string | 2819 | + | var templ_7745c5c3_Var135 string |
| 2713 | - | templ_7745c5c3_Var128, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i + 1)) | 2820 | + | templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(i + 1)) |
| 2714 | if templ_7745c5c3_Err != nil { | 2821 | if templ_7745c5c3_Err != nil { | ||
| 2715 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 541, Col: 46} | 2822 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 555, Col: 46} |
| 2716 | } | 2823 | } | ||
| 2717 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var128)) | 2824 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var135)) |
| 2718 | if templ_7745c5c3_Err != nil { | 2825 | if templ_7745c5c3_Err != nil { | ||
| 2719 | return templ_7745c5c3_Err | 2826 | return templ_7745c5c3_Err | ||
| 2720 | } | 2827 | } | ||
| 2721 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 256, "</kbd>") | 2828 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 266, "</kbd>") |
| 2722 | if templ_7745c5c3_Err != nil { | 2829 | if templ_7745c5c3_Err != nil { | ||
| 2723 | return templ_7745c5c3_Err | 2830 | return templ_7745c5c3_Err | ||
| 2724 | } | 2831 | } | ||
| 2725 | } | 2832 | } | ||
| 2726 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 257, "</label>") | 2833 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 267, "</label>") |
| 2727 | if templ_7745c5c3_Err != nil { | 2834 | if templ_7745c5c3_Err != nil { | ||
| 2728 | return templ_7745c5c3_Err | 2835 | return templ_7745c5c3_Err | ||
| 2729 | } | 2836 | } | ||
| 2730 | } | 2837 | } | ||
| 2731 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 258, "</fieldset>") | 2838 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 268, "</fieldset>") |
| 2732 | if templ_7745c5c3_Err != nil { | 2839 | if templ_7745c5c3_Err != nil { | ||
| 2733 | return templ_7745c5c3_Err | 2840 | return templ_7745c5c3_Err | ||
| 2734 | } | 2841 | } | ||
| @@ -2737,154 +2844,154 @@ func mergeMenu(p MRPage) templ.Component { | |||||
| 2737 | return templ_7745c5c3_Err | 2844 | return templ_7745c5c3_Err | ||
| 2738 | } | 2845 | } | ||
| 2739 | if p.Box.CanDeleteBranch { | 2846 | if p.Box.CanDeleteBranch { | ||
| 2740 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 259, "<label class=\"d-check\"><input type=\"checkbox\" name=\"delete_branch\" value=\"1\"> delete ") | 2847 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 269, "<label class=\"d-check\"><input type=\"checkbox\" name=\"delete_branch\" value=\"1\"> delete ") |
| 2741 | if templ_7745c5c3_Err != nil { | 2848 | if templ_7745c5c3_Err != nil { | ||
| 2742 | return templ_7745c5c3_Err | 2849 | return templ_7745c5c3_Err | ||
| 2743 | } | 2850 | } | ||
| 2744 | - | var templ_7745c5c3_Var129 string | 2851 | + | var templ_7745c5c3_Var136 string |
| 2745 | - | templ_7745c5c3_Var129, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) | 2852 | + | templ_7745c5c3_Var136, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) |
| 2746 | if templ_7745c5c3_Err != nil { | 2853 | if templ_7745c5c3_Err != nil { | ||
| 2747 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 548, Col: 102} | 2854 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 562, Col: 102} |
| 2748 | } | 2855 | } | ||
| 2749 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var129)) | 2856 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var136)) |
| 2750 | if templ_7745c5c3_Err != nil { | 2857 | if templ_7745c5c3_Err != nil { | ||
| 2751 | return templ_7745c5c3_Err | 2858 | return templ_7745c5c3_Err | ||
| 2752 | } | 2859 | } | ||
| 2753 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 260, " after the merge <kbd aria-hidden=\"true\">D</kbd></label>") | 2860 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 270, " after the merge <kbd aria-hidden=\"true\">D</kbd></label>") |
| 2754 | if templ_7745c5c3_Err != nil { | 2861 | if templ_7745c5c3_Err != nil { | ||
| 2755 | return templ_7745c5c3_Err | 2862 | return templ_7745c5c3_Err | ||
| 2756 | } | 2863 | } | ||
| 2757 | } | 2864 | } | ||
| 2758 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 261, "<div class=\"d-btns\"><button type=\"submit\" class=\"btn primary\" data-default") | 2865 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 271, "<div class=\"d-btns\"><button type=\"submit\" class=\"btn primary\" data-default") |
| 2759 | if templ_7745c5c3_Err != nil { | 2866 | if templ_7745c5c3_Err != nil { | ||
| 2760 | return templ_7745c5c3_Err | 2867 | return templ_7745c5c3_Err | ||
| 2761 | } | 2868 | } | ||
| 2762 | if !p.Box.CanMerge() { | 2869 | if !p.Box.CanMerge() { | ||
| 2763 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 262, " disabled") | 2870 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 272, " disabled") |
| 2764 | if templ_7745c5c3_Err != nil { | 2871 | if templ_7745c5c3_Err != nil { | ||
| 2765 | return templ_7745c5c3_Err | 2872 | return templ_7745c5c3_Err | ||
| 2766 | } | 2873 | } | ||
| 2767 | } | 2874 | } | ||
| 2768 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 263, " title=\"") | 2875 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 273, " title=\"") |
| 2769 | if templ_7745c5c3_Err != nil { | 2876 | if templ_7745c5c3_Err != nil { | ||
| 2770 | return templ_7745c5c3_Err | 2877 | return templ_7745c5c3_Err | ||
| 2771 | } | 2878 | } | ||
| 2772 | - | var templ_7745c5c3_Var130 string | 2879 | + | var templ_7745c5c3_Var137 string |
| 2773 | - | templ_7745c5c3_Var130, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.MergeTitle()) | 2880 | + | templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.MergeTitle()) |
| 2774 | if templ_7745c5c3_Err != nil { | 2881 | if templ_7745c5c3_Err != nil { | ||
| 2775 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 556, Col: 33} | 2882 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 570, Col: 33} |
| 2776 | } | 2883 | } | ||
| 2777 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var130) | 2884 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var137) |
| 2778 | if templ_7745c5c3_Err != nil { | 2885 | if templ_7745c5c3_Err != nil { | ||
| 2779 | return templ_7745c5c3_Err | 2886 | return templ_7745c5c3_Err | ||
| 2780 | } | 2887 | } | ||
| 2781 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 264, "\" :disabled=\"this.form.classList.contains('htmx-request') || !this.form.querySelector('input[name=mode]:checked:not(:disabled)')\" :title=\"(this.form.querySelector('input[name=mode]:checked') || {}).title || ''\">Merge into ") | 2888 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 274, "\" :disabled=\"this.form.classList.contains('htmx-request') || !this.form.querySelector('input[name=mode]:checked:not(:disabled)')\" :title=\"(this.form.querySelector('input[name=mode]:checked') || {}).title || ''\">Merge into ") |
| 2782 | if templ_7745c5c3_Err != nil { | 2889 | if templ_7745c5c3_Err != nil { | ||
| 2783 | return templ_7745c5c3_Err | 2890 | return templ_7745c5c3_Err | ||
| 2784 | } | 2891 | } | ||
| 2785 | - | var templ_7745c5c3_Var131 string | 2892 | + | var templ_7745c5c3_Var138 string |
| 2786 | - | templ_7745c5c3_Var131, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | 2893 | + | templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) |
| 2787 | if templ_7745c5c3_Err != nil { | 2894 | if templ_7745c5c3_Err != nil { | ||
| 2788 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 559, Col: 28} | 2895 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 573, Col: 28} |
| 2789 | } | 2896 | } | ||
| 2790 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var131)) | 2897 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var138)) |
| 2791 | if templ_7745c5c3_Err != nil { | 2898 | if templ_7745c5c3_Err != nil { | ||
| 2792 | return templ_7745c5c3_Err | 2899 | return templ_7745c5c3_Err | ||
| 2793 | } | 2900 | } | ||
| 2794 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 265, "</button> <span class=\"htmx-indicator\" role=\"status\">Merging…</span></div></form>") | 2901 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 275, "</button> <span class=\"htmx-indicator\" role=\"status\">Merging…</span></div></form>") |
| 2795 | if templ_7745c5c3_Err != nil { | 2902 | if templ_7745c5c3_Err != nil { | ||
| 2796 | return templ_7745c5c3_Err | 2903 | return templ_7745c5c3_Err | ||
| 2797 | } | 2904 | } | ||
| 2798 | if p.Box.CanAutoMerge { | 2905 | if p.Box.CanAutoMerge { | ||
| 2799 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 266, "<form class=\"d-acts\" method=\"post\" action=\"") | 2906 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 276, "<form class=\"d-acts\" method=\"post\" action=\"") |
| 2800 | if templ_7745c5c3_Err != nil { | 2907 | if templ_7745c5c3_Err != nil { | ||
| 2801 | return templ_7745c5c3_Err | 2908 | return templ_7745c5c3_Err | ||
| 2802 | } | 2909 | } | ||
| 2803 | - | var templ_7745c5c3_Var132 templ.SafeURL | 2910 | + | var templ_7745c5c3_Var139 templ.SafeURL |
| 2804 | - | templ_7745c5c3_Var132, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.AutoAction)) | 2911 | + | templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.AutoAction)) |
| 2805 | if templ_7745c5c3_Err != nil { | 2912 | if templ_7745c5c3_Err != nil { | ||
| 2806 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 564, Col: 80} | 2913 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 578, Col: 80} |
| 2807 | } | 2914 | } | ||
| 2808 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var132)) | 2915 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var139)) |
| 2809 | if templ_7745c5c3_Err != nil { | 2916 | if templ_7745c5c3_Err != nil { | ||
| 2810 | return templ_7745c5c3_Err | 2917 | return templ_7745c5c3_Err | ||
| 2811 | } | 2918 | } | ||
| 2812 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 267, "\"><input type=\"hidden\" name=\"head_id\" value=\"") | 2919 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 277, "\"><input type=\"hidden\" name=\"head_id\" value=\"") |
| 2813 | if templ_7745c5c3_Err != nil { | 2920 | if templ_7745c5c3_Err != nil { | ||
| 2814 | return templ_7745c5c3_Err | 2921 | return templ_7745c5c3_Err | ||
| 2815 | } | 2922 | } | ||
| 2816 | - | var templ_7745c5c3_Var133 string | 2923 | + | var templ_7745c5c3_Var140 string |
| 2817 | - | templ_7745c5c3_Var133, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) | 2924 | + | templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) |
| 2818 | if templ_7745c5c3_Err != nil { | 2925 | if templ_7745c5c3_Err != nil { | ||
| 2819 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 565, Col: 60} | 2926 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 579, Col: 60} |
| 2820 | } | 2927 | } | ||
| 2821 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var133) | 2928 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var140) |
| 2822 | if templ_7745c5c3_Err != nil { | 2929 | if templ_7745c5c3_Err != nil { | ||
| 2823 | return templ_7745c5c3_Err | 2930 | return templ_7745c5c3_Err | ||
| 2824 | } | 2931 | } | ||
| 2825 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 268, "\"><fieldset class=\"d-modes\"><legend>Auto-merge mode</legend> ") | 2932 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 278, "\"><fieldset class=\"d-modes\"><legend>Auto-merge mode</legend> ") |
| 2826 | if templ_7745c5c3_Err != nil { | 2933 | if templ_7745c5c3_Err != nil { | ||
| 2827 | return templ_7745c5c3_Err | 2934 | return templ_7745c5c3_Err | ||
| 2828 | } | 2935 | } | ||
| 2829 | for i, m := range p.Box.Modes { | 2936 | for i, m := range p.Box.Modes { | ||
| 2830 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 269, "<label><input type=\"radio\" name=\"mode\" value=\"") | 2937 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 279, "<label><input type=\"radio\" name=\"mode\" value=\"") |
| 2831 | if templ_7745c5c3_Err != nil { | 2938 | if templ_7745c5c3_Err != nil { | ||
| 2832 | return templ_7745c5c3_Err | 2939 | return templ_7745c5c3_Err | ||
| 2833 | } | 2940 | } | ||
| 2834 | - | var templ_7745c5c3_Var134 string | 2941 | + | var templ_7745c5c3_Var141 string |
| 2835 | - | templ_7745c5c3_Var134, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) | 2942 | + | templ_7745c5c3_Var141, templ_7745c5c3_Err = templ.ResolveAttributeValue(m.Value) |
| 2836 | if templ_7745c5c3_Err != nil { | 2943 | if templ_7745c5c3_Err != nil { | ||
| 2837 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 569, Col: 62} | 2944 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 583, Col: 62} |
| 2838 | } | 2945 | } | ||
| 2839 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var134) | 2946 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var141) |
| 2840 | if templ_7745c5c3_Err != nil { | 2947 | if templ_7745c5c3_Err != nil { | ||
| 2841 | return templ_7745c5c3_Err | 2948 | return templ_7745c5c3_Err | ||
| 2842 | } | 2949 | } | ||
| 2843 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 270, "\"") | 2950 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 280, "\"") |
| 2844 | if templ_7745c5c3_Err != nil { | 2951 | if templ_7745c5c3_Err != nil { | ||
| 2845 | return templ_7745c5c3_Err | 2952 | return templ_7745c5c3_Err | ||
| 2846 | } | 2953 | } | ||
| 2847 | if i == 0 { | 2954 | if i == 0 { | ||
| 2848 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 271, " checked") | 2955 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 281, " checked") |
| 2849 | if templ_7745c5c3_Err != nil { | 2956 | if templ_7745c5c3_Err != nil { | ||
| 2850 | return templ_7745c5c3_Err | 2957 | return templ_7745c5c3_Err | ||
| 2851 | } | 2958 | } | ||
| 2852 | } | 2959 | } | ||
| 2853 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 272, "> ") | 2960 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 282, "> ") |
| 2854 | if templ_7745c5c3_Err != nil { | 2961 | if templ_7745c5c3_Err != nil { | ||
| 2855 | return templ_7745c5c3_Err | 2962 | return templ_7745c5c3_Err | ||
| 2856 | } | 2963 | } | ||
| 2857 | - | var templ_7745c5c3_Var135 string | 2964 | + | var templ_7745c5c3_Var142 string |
| 2858 | - | templ_7745c5c3_Var135, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) | 2965 | + | templ_7745c5c3_Var142, templ_7745c5c3_Err = templ.JoinStringErrs(m.Label) |
| 2859 | if templ_7745c5c3_Err != nil { | 2966 | if templ_7745c5c3_Err != nil { | ||
| 2860 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 569, Col: 96} | 2967 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 583, Col: 96} |
| 2861 | } | 2968 | } | ||
| 2862 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var135)) | 2969 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var142)) |
| 2863 | if templ_7745c5c3_Err != nil { | 2970 | if templ_7745c5c3_Err != nil { | ||
| 2864 | return templ_7745c5c3_Err | 2971 | return templ_7745c5c3_Err | ||
| 2865 | } | 2972 | } | ||
| 2866 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 273, "</label>") | 2973 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 283, "</label>") |
| 2867 | if templ_7745c5c3_Err != nil { | 2974 | if templ_7745c5c3_Err != nil { | ||
| 2868 | return templ_7745c5c3_Err | 2975 | return templ_7745c5c3_Err | ||
| 2869 | } | 2976 | } | ||
| 2870 | } | 2977 | } | ||
| 2871 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 274, "</fieldset><div class=\"d-btns\"><button type=\"submit\" class=\"btn\"") | 2978 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 284, "</fieldset><div class=\"d-btns\"><button type=\"submit\" class=\"btn\"") |
| 2872 | if templ_7745c5c3_Err != nil { | 2979 | if templ_7745c5c3_Err != nil { | ||
| 2873 | return templ_7745c5c3_Err | 2980 | return templ_7745c5c3_Err | ||
| 2874 | } | 2981 | } | ||
| 2875 | if len(p.Box.Modes) == 0 { | 2982 | if len(p.Box.Modes) == 0 { | ||
| 2876 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 275, " disabled") | 2983 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 285, " disabled") |
| 2877 | if templ_7745c5c3_Err != nil { | 2984 | if templ_7745c5c3_Err != nil { | ||
| 2878 | return templ_7745c5c3_Err | 2985 | return templ_7745c5c3_Err | ||
| 2879 | } | 2986 | } | ||
| 2880 | } | 2987 | } | ||
| 2881 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 276, " title=\"merge once the checks pass\">Merge when ready</button></div></form>") | 2988 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 286, " title=\"merge once the checks pass\">Merge when ready</button></div></form>") |
| 2882 | if templ_7745c5c3_Err != nil { | 2989 | if templ_7745c5c3_Err != nil { | ||
| 2883 | return templ_7745c5c3_Err | 2990 | return templ_7745c5c3_Err | ||
| 2884 | } | 2991 | } | ||
| 2885 | } | 2992 | } | ||
| 2886 | } | 2993 | } | ||
| 2887 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 277, "</div></details>") | 2994 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 287, "</div></details>") |
| 2888 | if templ_7745c5c3_Err != nil { | 2995 | if templ_7745c5c3_Err != nil { | ||
| 2889 | return templ_7745c5c3_Err | 2996 | return templ_7745c5c3_Err | ||
| 2890 | } | 2997 | } | ||
| @@ -2910,182 +3017,182 @@ func MRMergeability(v MergeabilityView) templ.Component { | |||||
| 2910 | }() | 3017 | }() | ||
| 2911 | } | 3018 | } | ||
| 2912 | ctx = templ.InitializeContext(ctx) | 3019 | ctx = templ.InitializeContext(ctx) | ||
| 2913 | - | templ_7745c5c3_Var136 := templ.GetChildren(ctx) | 3020 | + | templ_7745c5c3_Var143 := templ.GetChildren(ctx) |
| 2914 | - | if templ_7745c5c3_Var136 == nil { | 3021 | + | if templ_7745c5c3_Var143 == nil { |
| 2915 | - | templ_7745c5c3_Var136 = templ.NopComponent | 3022 | + | templ_7745c5c3_Var143 = templ.NopComponent |
| 2916 | } | 3023 | } | ||
| 2917 | ctx = templ.ClearChildren(ctx) | 3024 | ctx = templ.ClearChildren(ctx) | ||
| 2918 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 278, "<span data-mergeability data-state=\"") | 3025 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 288, "<span data-mergeability data-state=\"") |
| 2919 | if templ_7745c5c3_Err != nil { | 3026 | if templ_7745c5c3_Err != nil { | ||
| 2920 | return templ_7745c5c3_Err | 3027 | return templ_7745c5c3_Err | ||
| 2921 | } | 3028 | } | ||
| 2922 | - | var templ_7745c5c3_Var137 string | 3029 | + | var templ_7745c5c3_Var144 string |
| 2923 | - | templ_7745c5c3_Var137, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) | 3030 | + | templ_7745c5c3_Var144, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) |
| 2924 | if templ_7745c5c3_Err != nil { | 3031 | if templ_7745c5c3_Err != nil { | ||
| 2925 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 587, Col: 22} | 3032 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 601, Col: 22} |
| 2926 | } | 3033 | } | ||
| 2927 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var137) | 3034 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var144) |
| 2928 | if templ_7745c5c3_Err != nil { | 3035 | if templ_7745c5c3_Err != nil { | ||
| 2929 | return templ_7745c5c3_Err | 3036 | return templ_7745c5c3_Err | ||
| 2930 | } | 3037 | } | ||
| 2931 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 279, "\" data-ff-ok=\"") | 3038 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 289, "\" data-ff-ok=\"") |
| 2932 | if templ_7745c5c3_Err != nil { | 3039 | if templ_7745c5c3_Err != nil { | ||
| 2933 | return templ_7745c5c3_Err | 3040 | return templ_7745c5c3_Err | ||
| 2934 | } | 3041 | } | ||
| 2935 | - | var templ_7745c5c3_Var138 string | 3042 | + | var templ_7745c5c3_Var145 string |
| 2936 | - | templ_7745c5c3_Var138, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.FFOk)) | 3043 | + | templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.FFOk)) |
| 2937 | if templ_7745c5c3_Err != nil { | 3044 | if templ_7745c5c3_Err != nil { | ||
| 2938 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 588, Col: 41} | 3045 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 602, Col: 41} |
| 2939 | } | 3046 | } | ||
| 2940 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var138) | 3047 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var145) |
| 2941 | if templ_7745c5c3_Err != nil { | 3048 | if templ_7745c5c3_Err != nil { | ||
| 2942 | return templ_7745c5c3_Err | 3049 | return templ_7745c5c3_Err | ||
| 2943 | } | 3050 | } | ||
| 2944 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 280, "\" data-merge-ok=\"") | 3051 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 290, "\" data-merge-ok=\"") |
| 2945 | if templ_7745c5c3_Err != nil { | 3052 | if templ_7745c5c3_Err != nil { | ||
| 2946 | return templ_7745c5c3_Err | 3053 | return templ_7745c5c3_Err | ||
| 2947 | } | 3054 | } | ||
| 2948 | - | var templ_7745c5c3_Var139 string | 3055 | + | var templ_7745c5c3_Var146 string |
| 2949 | - | templ_7745c5c3_Var139, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.MergeOk)) | 3056 | + | templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.ResolveAttributeValue(strconv.FormatBool(v.MergeOk)) |
| 2950 | if templ_7745c5c3_Err != nil { | 3057 | if templ_7745c5c3_Err != nil { | ||
| 2951 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 589, Col: 47} | 3058 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 603, Col: 47} |
| 2952 | } | 3059 | } | ||
| 2953 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var139) | 3060 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var146) |
| 2954 | if templ_7745c5c3_Err != nil { | 3061 | if templ_7745c5c3_Err != nil { | ||
| 2955 | return templ_7745c5c3_Err | 3062 | return templ_7745c5c3_Err | ||
| 2956 | } | 3063 | } | ||
| 2957 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 281, "\" data-ff-reason=\"") | 3064 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 291, "\" data-ff-reason=\"") |
| 2958 | if templ_7745c5c3_Err != nil { | 3065 | if templ_7745c5c3_Err != nil { | ||
| 2959 | return templ_7745c5c3_Err | 3066 | return templ_7745c5c3_Err | ||
| 2960 | } | 3067 | } | ||
| 2961 | - | var templ_7745c5c3_Var140 string | 3068 | + | var templ_7745c5c3_Var147 string |
| 2962 | - | templ_7745c5c3_Var140, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.FFReason) | 3069 | + | templ_7745c5c3_Var147, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.FFReason) |
| 2963 | if templ_7745c5c3_Err != nil { | 3070 | if templ_7745c5c3_Err != nil { | ||
| 2964 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 590, Col: 29} | 3071 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 604, Col: 29} |
| 2965 | } | 3072 | } | ||
| 2966 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var140) | 3073 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var147) |
| 2967 | if templ_7745c5c3_Err != nil { | 3074 | if templ_7745c5c3_Err != nil { | ||
| 2968 | return templ_7745c5c3_Err | 3075 | return templ_7745c5c3_Err | ||
| 2969 | } | 3076 | } | ||
| 2970 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 282, "\" data-merge-reason=\"") | 3077 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 292, "\" data-merge-reason=\"") |
| 2971 | if templ_7745c5c3_Err != nil { | 3078 | if templ_7745c5c3_Err != nil { | ||
| 2972 | return templ_7745c5c3_Err | 3079 | return templ_7745c5c3_Err | ||
| 2973 | } | 3080 | } | ||
| 2974 | - | var templ_7745c5c3_Var141 string | 3081 | + | var templ_7745c5c3_Var148 string |
| 2975 | - | templ_7745c5c3_Var141, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.MergeReason) | 3082 | + | templ_7745c5c3_Var148, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.MergeReason) |
| 2976 | if templ_7745c5c3_Err != nil { | 3083 | if templ_7745c5c3_Err != nil { | ||
| 2977 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 591, Col: 35} | 3084 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 605, Col: 35} |
| 2978 | } | 3085 | } | ||
| 2979 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var141) | 3086 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var148) |
| 2980 | if templ_7745c5c3_Err != nil { | 3087 | if templ_7745c5c3_Err != nil { | ||
| 2981 | return templ_7745c5c3_Err | 3088 | return templ_7745c5c3_Err | ||
| 2982 | } | 3089 | } | ||
| 2983 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 283, "\"><span class=\"badge\" data-state=\"") | 3090 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 293, "\"><span class=\"badge\" data-state=\"") |
| 2984 | if templ_7745c5c3_Err != nil { | 3091 | if templ_7745c5c3_Err != nil { | ||
| 2985 | return templ_7745c5c3_Err | 3092 | return templ_7745c5c3_Err | ||
| 2986 | } | 3093 | } | ||
| 2987 | - | var templ_7745c5c3_Var142 string | 3094 | + | var templ_7745c5c3_Var149 string |
| 2988 | - | templ_7745c5c3_Var142, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) | 3095 | + | templ_7745c5c3_Var149, templ_7745c5c3_Err = templ.ResolveAttributeValue(v.State) |
| 2989 | if templ_7745c5c3_Err != nil { | 3096 | if templ_7745c5c3_Err != nil { | ||
| 2990 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 593, Col: 42} | 3097 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 607, Col: 42} |
| 2991 | } | 3098 | } | ||
| 2992 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var142) | 3099 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var149) |
| 2993 | if templ_7745c5c3_Err != nil { | 3100 | if templ_7745c5c3_Err != nil { | ||
| 2994 | return templ_7745c5c3_Err | 3101 | return templ_7745c5c3_Err | ||
| 2995 | } | 3102 | } | ||
| 2996 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 284, "\">") | 3103 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 294, "\">") |
| 2997 | if templ_7745c5c3_Err != nil { | 3104 | if templ_7745c5c3_Err != nil { | ||
| 2998 | return templ_7745c5c3_Err | 3105 | return templ_7745c5c3_Err | ||
| 2999 | } | 3106 | } | ||
| 3000 | - | var templ_7745c5c3_Var143 string | 3107 | + | var templ_7745c5c3_Var150 string |
| 3001 | - | templ_7745c5c3_Var143, templ_7745c5c3_Err = templ.JoinStringErrs(v.Label) | 3108 | + | templ_7745c5c3_Var150, templ_7745c5c3_Err = templ.JoinStringErrs(v.Label) |
| 3002 | if templ_7745c5c3_Err != nil { | 3109 | if templ_7745c5c3_Err != nil { | ||
| 3003 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 593, Col: 54} | 3110 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 607, Col: 54} |
| 3004 | } | 3111 | } | ||
| 3005 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var143)) | 3112 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var150)) |
| 3006 | if templ_7745c5c3_Err != nil { | 3113 | if templ_7745c5c3_Err != nil { | ||
| 3007 | return templ_7745c5c3_Err | 3114 | return templ_7745c5c3_Err | ||
| 3008 | } | 3115 | } | ||
| 3009 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 285, "</span> ") | 3116 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 295, "</span> ") |
| 3010 | if templ_7745c5c3_Err != nil { | 3117 | if templ_7745c5c3_Err != nil { | ||
| 3011 | return templ_7745c5c3_Err | 3118 | return templ_7745c5c3_Err | ||
| 3012 | } | 3119 | } | ||
| 3013 | if v.Detail != "" { | 3120 | if v.Detail != "" { | ||
| 3014 | - | var templ_7745c5c3_Var144 string | 3121 | + | var templ_7745c5c3_Var151 string |
| 3015 | - | templ_7745c5c3_Var144, templ_7745c5c3_Err = templ.JoinStringErrs(" ") | 3122 | + | templ_7745c5c3_Var151, templ_7745c5c3_Err = templ.JoinStringErrs(" ") |
| 3016 | if templ_7745c5c3_Err != nil { | 3123 | if templ_7745c5c3_Err != nil { | ||
| 3017 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 595, Col: 8} | 3124 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 609, Col: 8} |
| 3018 | } | 3125 | } | ||
| 3019 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var144)) | 3126 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var151)) |
| 3020 | if templ_7745c5c3_Err != nil { | 3127 | if templ_7745c5c3_Err != nil { | ||
| 3021 | return templ_7745c5c3_Err | 3128 | return templ_7745c5c3_Err | ||
| 3022 | } | 3129 | } | ||
| 3023 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 286, "<span class=\"dim\">") | 3130 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 296, "<span class=\"dim\">") |
| 3024 | if templ_7745c5c3_Err != nil { | 3131 | if templ_7745c5c3_Err != nil { | ||
| 3025 | return templ_7745c5c3_Err | 3132 | return templ_7745c5c3_Err | ||
| 3026 | } | 3133 | } | ||
| 3027 | - | var templ_7745c5c3_Var145 string | 3134 | + | var templ_7745c5c3_Var152 string |
| 3028 | - | templ_7745c5c3_Var145, templ_7745c5c3_Err = templ.JoinStringErrs(v.Detail) | 3135 | + | templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinStringErrs(v.Detail) |
| 3029 | if templ_7745c5c3_Err != nil { | 3136 | if templ_7745c5c3_Err != nil { | ||
| 3030 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 595, Col: 38} | 3137 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 609, Col: 38} |
| 3031 | } | 3138 | } | ||
| 3032 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var145)) | 3139 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152)) |
| 3033 | if templ_7745c5c3_Err != nil { | 3140 | if templ_7745c5c3_Err != nil { | ||
| 3034 | return templ_7745c5c3_Err | 3141 | return templ_7745c5c3_Err | ||
| 3035 | } | 3142 | } | ||
| 3036 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 287, "</span>") | 3143 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 297, "</span>") |
| 3037 | if templ_7745c5c3_Err != nil { | 3144 | if templ_7745c5c3_Err != nil { | ||
| 3038 | return templ_7745c5c3_Err | 3145 | return templ_7745c5c3_Err | ||
| 3039 | } | 3146 | } | ||
| 3040 | } | 3147 | } | ||
| 3041 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 288, "</span> ") | 3148 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 298, "</span> ") |
| 3042 | if templ_7745c5c3_Err != nil { | 3149 | if templ_7745c5c3_Err != nil { | ||
| 3043 | return templ_7745c5c3_Err | 3150 | return templ_7745c5c3_Err | ||
| 3044 | } | 3151 | } | ||
| 3045 | if len(v.Paths) > 0 { | 3152 | if len(v.Paths) > 0 { | ||
| 3046 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 289, "<ul class=\"mg-paths\" aria-label=\"conflicting files\">") | 3153 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 299, "<ul class=\"mg-paths\" aria-label=\"conflicting files\">") |
| 3047 | if templ_7745c5c3_Err != nil { | 3154 | if templ_7745c5c3_Err != nil { | ||
| 3048 | return templ_7745c5c3_Err | 3155 | return templ_7745c5c3_Err | ||
| 3049 | } | 3156 | } | ||
| 3050 | for _, path := range v.Paths { | 3157 | for _, path := range v.Paths { | ||
| 3051 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 290, "<li><code>") | 3158 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 300, "<li><code>") |
| 3052 | if templ_7745c5c3_Err != nil { | 3159 | if templ_7745c5c3_Err != nil { | ||
| 3053 | return templ_7745c5c3_Err | 3160 | return templ_7745c5c3_Err | ||
| 3054 | } | 3161 | } | ||
| 3055 | - | var templ_7745c5c3_Var146 string | 3162 | + | var templ_7745c5c3_Var153 string |
| 3056 | - | templ_7745c5c3_Var146, templ_7745c5c3_Err = templ.JoinStringErrs(path) | 3163 | + | templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinStringErrs(path) |
| 3057 | if templ_7745c5c3_Err != nil { | 3164 | if templ_7745c5c3_Err != nil { | ||
| 3058 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 601, Col: 20} | 3165 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 615, Col: 20} |
| 3059 | } | 3166 | } | ||
| 3060 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var146)) | 3167 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153)) |
| 3061 | if templ_7745c5c3_Err != nil { | 3168 | if templ_7745c5c3_Err != nil { | ||
| 3062 | return templ_7745c5c3_Err | 3169 | return templ_7745c5c3_Err | ||
| 3063 | } | 3170 | } | ||
| 3064 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 291, "</code></li>") | 3171 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 301, "</code></li>") |
| 3065 | if templ_7745c5c3_Err != nil { | 3172 | if templ_7745c5c3_Err != nil { | ||
| 3066 | return templ_7745c5c3_Err | 3173 | return templ_7745c5c3_Err | ||
| 3067 | } | 3174 | } | ||
| 3068 | } | 3175 | } | ||
| 3069 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 292, "</ul>") | 3176 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 302, "</ul>") |
| 3070 | if templ_7745c5c3_Err != nil { | 3177 | if templ_7745c5c3_Err != nil { | ||
| 3071 | return templ_7745c5c3_Err | 3178 | return templ_7745c5c3_Err | ||
| 3072 | } | 3179 | } | ||
| 3073 | } | 3180 | } | ||
| 3074 | if v.PathsNote != "" { | 3181 | if v.PathsNote != "" { | ||
| 3075 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 293, "<p class=\"dim\">") | 3182 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 303, "<p class=\"dim\">") |
| 3076 | if templ_7745c5c3_Err != nil { | 3183 | if templ_7745c5c3_Err != nil { | ||
| 3077 | return templ_7745c5c3_Err | 3184 | return templ_7745c5c3_Err | ||
| 3078 | } | 3185 | } | ||
| 3079 | - | var templ_7745c5c3_Var147 string | 3186 | + | var templ_7745c5c3_Var154 string |
| 3080 | - | templ_7745c5c3_Var147, templ_7745c5c3_Err = templ.JoinStringErrs(v.PathsNote) | 3187 | + | templ_7745c5c3_Var154, templ_7745c5c3_Err = templ.JoinStringErrs(v.PathsNote) |
| 3081 | if templ_7745c5c3_Err != nil { | 3188 | if templ_7745c5c3_Err != nil { | ||
| 3082 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 606, Col: 30} | 3189 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 620, Col: 30} |
| 3083 | } | 3190 | } | ||
| 3084 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var147)) | 3191 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var154)) |
| 3085 | if templ_7745c5c3_Err != nil { | 3192 | if templ_7745c5c3_Err != nil { | ||
| 3086 | return templ_7745c5c3_Err | 3193 | return templ_7745c5c3_Err | ||
| 3087 | } | 3194 | } | ||
| 3088 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 294, "</p>") | 3195 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 304, "</p>") |
| 3089 | if templ_7745c5c3_Err != nil { | 3196 | if templ_7745c5c3_Err != nil { | ||
| 3090 | return templ_7745c5c3_Err | 3197 | return templ_7745c5c3_Err | ||
| 3091 | } | 3198 | } | ||
| @@ -3112,12 +3219,12 @@ func mrMergeabilitySlot(v MergeabilityView) templ.Component { | |||||
| 3112 | }() | 3219 | }() | ||
| 3113 | } | 3220 | } | ||
| 3114 | ctx = templ.InitializeContext(ctx) | 3221 | ctx = templ.InitializeContext(ctx) | ||
| 3115 | - | templ_7745c5c3_Var148 := templ.GetChildren(ctx) | 3222 | + | templ_7745c5c3_Var155 := templ.GetChildren(ctx) |
| 3116 | - | if templ_7745c5c3_Var148 == nil { | 3223 | + | if templ_7745c5c3_Var155 == nil { |
| 3117 | - | templ_7745c5c3_Var148 = templ.NopComponent | 3224 | + | templ_7745c5c3_Var155 = templ.NopComponent |
| 3118 | } | 3225 | } | ||
| 3119 | ctx = templ.ClearChildren(ctx) | 3226 | ctx = templ.ClearChildren(ctx) | ||
| 3120 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 295, "<div id=\"mr-mergeability\" class=\"live-slot\" role=\"status\" data-slot>") | 3227 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 305, "<div id=\"mr-mergeability\" class=\"live-slot\" role=\"status\" data-slot>") |
| 3121 | if templ_7745c5c3_Err != nil { | 3228 | if templ_7745c5c3_Err != nil { | ||
| 3122 | return templ_7745c5c3_Err | 3229 | return templ_7745c5c3_Err | ||
| 3123 | } | 3230 | } | ||
| @@ -3125,7 +3232,7 @@ func mrMergeabilitySlot(v MergeabilityView) templ.Component { | |||||
| 3125 | if templ_7745c5c3_Err != nil { | 3232 | if templ_7745c5c3_Err != nil { | ||
| 3126 | return templ_7745c5c3_Err | 3233 | return templ_7745c5c3_Err | ||
| 3127 | } | 3234 | } | ||
| 3128 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 296, "</div>") | 3235 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 306, "</div>") |
| 3129 | if templ_7745c5c3_Err != nil { | 3236 | if templ_7745c5c3_Err != nil { | ||
| 3130 | return templ_7745c5c3_Err | 3237 | return templ_7745c5c3_Err | ||
| 3131 | } | 3238 | } | ||
| @@ -3150,9 +3257,9 @@ func MRMergeabilityFragment(v MergeabilityView) templ.Component { | |||||
| 3150 | }() | 3257 | }() | ||
| 3151 | } | 3258 | } | ||
| 3152 | ctx = templ.InitializeContext(ctx) | 3259 | ctx = templ.InitializeContext(ctx) | ||
| 3153 | - | templ_7745c5c3_Var149 := templ.GetChildren(ctx) | 3260 | + | templ_7745c5c3_Var156 := templ.GetChildren(ctx) |
| 3154 | - | if templ_7745c5c3_Var149 == nil { | 3261 | + | if templ_7745c5c3_Var156 == nil { |
| 3155 | - | templ_7745c5c3_Var149 = templ.NopComponent | 3262 | + | templ_7745c5c3_Var156 = templ.NopComponent |
| 3156 | } | 3263 | } | ||
| 3157 | ctx = templ.ClearChildren(ctx) | 3264 | ctx = templ.ClearChildren(ctx) | ||
| 3158 | templ_7745c5c3_Err = mrMergeabilitySlot(v).Render(ctx, templ_7745c5c3_Buffer) | 3265 | templ_7745c5c3_Err = mrMergeabilitySlot(v).Render(ctx, templ_7745c5c3_Buffer) | ||
| @@ -3181,128 +3288,128 @@ func moreMenu(p MRPage) templ.Component { | |||||
| 3181 | }() | 3288 | }() | ||
| 3182 | } | 3289 | } | ||
| 3183 | ctx = templ.InitializeContext(ctx) | 3290 | ctx = templ.InitializeContext(ctx) | ||
| 3184 | - | templ_7745c5c3_Var150 := templ.GetChildren(ctx) | 3291 | + | templ_7745c5c3_Var157 := templ.GetChildren(ctx) |
| 3185 | - | if templ_7745c5c3_Var150 == nil { | 3292 | + | if templ_7745c5c3_Var157 == nil { |
| 3186 | - | templ_7745c5c3_Var150 = templ.NopComponent | 3293 | + | templ_7745c5c3_Var157 = templ.NopComponent |
| 3187 | } | 3294 | } | ||
| 3188 | ctx = templ.ClearChildren(ctx) | 3295 | ctx = templ.ClearChildren(ctx) | ||
| 3189 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 297, "<details class=\"menu omenu\"><summary class=\"btn icon\" aria-label=\"More actions\" title=\"more actions\">⋯</summary><div class=\"menu-pop\" role=\"group\" aria-label=\"More actions\"><section class=\"merge-settings\"><h2>Merge settings</h2><dl class=\"kv\"><dt>modes</dt><dd>") | 3296 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 307, "<details class=\"menu omenu\"><summary class=\"btn icon\" aria-label=\"More actions\" title=\"more actions\">⋯</summary><div class=\"menu-pop\" role=\"group\" aria-label=\"More actions\"><section class=\"merge-settings\"><h2>Merge settings</h2><dl class=\"kv\"><dt>modes</dt><dd>") |
| 3190 | if templ_7745c5c3_Err != nil { | 3297 | if templ_7745c5c3_Err != nil { | ||
| 3191 | return templ_7745c5c3_Err | 3298 | return templ_7745c5c3_Err | ||
| 3192 | } | 3299 | } | ||
| 3193 | - | var templ_7745c5c3_Var151 string | 3300 | + | var templ_7745c5c3_Var158 string |
| 3194 | - | templ_7745c5c3_Var151, templ_7745c5c3_Err = templ.JoinStringErrs(strings.Join(p.Modes, ", ")) | 3301 | + | templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinStringErrs(strings.Join(p.Modes, ", ")) |
| 3195 | if templ_7745c5c3_Err != nil { | 3302 | if templ_7745c5c3_Err != nil { | ||
| 3196 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 633, Col: 38} | 3303 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 647, Col: 38} |
| 3197 | } | 3304 | } | ||
| 3198 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var151)) | 3305 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158)) |
| 3199 | if templ_7745c5c3_Err != nil { | 3306 | if templ_7745c5c3_Err != nil { | ||
| 3200 | return templ_7745c5c3_Err | 3307 | return templ_7745c5c3_Err | ||
| 3201 | } | 3308 | } | ||
| 3202 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 298, "</dd><dt>checks</dt><dd>") | 3309 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 308, "</dd><dt>checks</dt><dd>") |
| 3203 | if templ_7745c5c3_Err != nil { | 3310 | if templ_7745c5c3_Err != nil { | ||
| 3204 | return templ_7745c5c3_Err | 3311 | return templ_7745c5c3_Err | ||
| 3205 | } | 3312 | } | ||
| 3206 | if p.ChecksBlock { | 3313 | if p.ChecksBlock { | ||
| 3207 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 299, "failing or unfinished checks block the merge") | 3314 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 309, "failing or unfinished checks block the merge") |
| 3208 | if templ_7745c5c3_Err != nil { | 3315 | if templ_7745c5c3_Err != nil { | ||
| 3209 | return templ_7745c5c3_Err | 3316 | return templ_7745c5c3_Err | ||
| 3210 | } | 3317 | } | ||
| 3211 | } else { | 3318 | } else { | ||
| 3212 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 300, "do not block the merge") | 3319 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 310, "do not block the merge") |
| 3213 | if templ_7745c5c3_Err != nil { | 3320 | if templ_7745c5c3_Err != nil { | ||
| 3214 | return templ_7745c5c3_Err | 3321 | return templ_7745c5c3_Err | ||
| 3215 | } | 3322 | } | ||
| 3216 | } | 3323 | } | ||
| 3217 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 301, "</dd></dl></section>") | 3324 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 311, "</dd></dl></section>") |
| 3218 | if templ_7745c5c3_Err != nil { | 3325 | if templ_7745c5c3_Err != nil { | ||
| 3219 | return templ_7745c5c3_Err | 3326 | return templ_7745c5c3_Err | ||
| 3220 | } | 3327 | } | ||
| 3221 | if p.Box != nil { | 3328 | if p.Box != nil { | ||
| 3222 | if p.Box.Signed { | 3329 | if p.Box.Signed { | ||
| 3223 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 302, "<p class=\"d-note\" id=\"mr-signing\">squash and merge commits are signed with ermite's own key (generated on first start). ") | 3330 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 312, "<p class=\"d-note\" id=\"mr-signing\">squash and merge commits are signed with ermite's own key (generated on first start). ") |
| 3224 | if templ_7745c5c3_Err != nil { | 3331 | if templ_7745c5c3_Err != nil { | ||
| 3225 | return templ_7745c5c3_Err | 3332 | return templ_7745c5c3_Err | ||
| 3226 | } | 3333 | } | ||
| 3227 | if p.Box.Fingerprint != "" { | 3334 | if p.Box.Fingerprint != "" { | ||
| 3228 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 303, "fingerprint <code>") | 3335 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 313, "fingerprint <code>") |
| 3229 | if templ_7745c5c3_Err != nil { | 3336 | if templ_7745c5c3_Err != nil { | ||
| 3230 | return templ_7745c5c3_Err | 3337 | return templ_7745c5c3_Err | ||
| 3231 | } | 3338 | } | ||
| 3232 | - | var templ_7745c5c3_Var152 string | 3339 | + | var templ_7745c5c3_Var159 string |
| 3233 | - | templ_7745c5c3_Var152, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Fingerprint) | 3340 | + | templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinStringErrs(p.Box.Fingerprint) |
| 3234 | if templ_7745c5c3_Err != nil { | 3341 | if templ_7745c5c3_Err != nil { | ||
| 3235 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 649, Col: 44} | 3342 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 663, Col: 44} |
| 3236 | } | 3343 | } | ||
| 3237 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var152)) | 3344 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159)) |
| 3238 | if templ_7745c5c3_Err != nil { | 3345 | if templ_7745c5c3_Err != nil { | ||
| 3239 | return templ_7745c5c3_Err | 3346 | return templ_7745c5c3_Err | ||
| 3240 | } | 3347 | } | ||
| 3241 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 304, "</code> ") | 3348 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 314, "</code> ") |
| 3242 | if templ_7745c5c3_Err != nil { | 3349 | if templ_7745c5c3_Err != nil { | ||
| 3243 | return templ_7745c5c3_Err | 3350 | return templ_7745c5c3_Err | ||
| 3244 | } | 3351 | } | ||
| 3245 | } | 3352 | } | ||
| 3246 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 305, "<code>ermite signing-key show</code> prints it.</p>") | 3353 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 315, "<code>ermite signing-key show</code> prints it.</p>") |
| 3247 | if templ_7745c5c3_Err != nil { | 3354 | if templ_7745c5c3_Err != nil { | ||
| 3248 | return templ_7745c5c3_Err | 3355 | return templ_7745c5c3_Err | ||
| 3249 | } | 3356 | } | ||
| 3250 | } | 3357 | } | ||
| 3251 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 306, " ") | 3358 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 316, " ") |
| 3252 | if templ_7745c5c3_Err != nil { | 3359 | if templ_7745c5c3_Err != nil { | ||
| 3253 | return templ_7745c5c3_Err | 3360 | return templ_7745c5c3_Err | ||
| 3254 | } | 3361 | } | ||
| 3255 | if p.Box.CanMarkRead { | 3362 | if p.Box.CanMarkRead { | ||
| 3256 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 307, "<form method=\"post\" action=\"") | 3363 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 317, "<form method=\"post\" action=\"") |
| 3257 | if templ_7745c5c3_Err != nil { | 3364 | if templ_7745c5c3_Err != nil { | ||
| 3258 | return templ_7745c5c3_Err | 3365 | return templ_7745c5c3_Err | ||
| 3259 | } | 3366 | } | ||
| 3260 | - | var templ_7745c5c3_Var153 templ.SafeURL | 3367 | + | var templ_7745c5c3_Var160 templ.SafeURL |
| 3261 | - | templ_7745c5c3_Var153, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadAction)) | 3368 | + | templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.ReadAction)) |
| 3262 | if templ_7745c5c3_Err != nil { | 3369 | if templ_7745c5c3_Err != nil { | ||
| 3263 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 655, Col: 65} | 3370 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 669, Col: 65} |
| 3264 | } | 3371 | } | ||
| 3265 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var153)) | 3372 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160)) |
| 3266 | if templ_7745c5c3_Err != nil { | 3373 | if templ_7745c5c3_Err != nil { | ||
| 3267 | return templ_7745c5c3_Err | 3374 | return templ_7745c5c3_Err | ||
| 3268 | } | 3375 | } | ||
| 3269 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 308, "\"><input type=\"hidden\" name=\"head_id\" value=\"") | 3376 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 318, "\"><input type=\"hidden\" name=\"head_id\" value=\"") |
| 3270 | if templ_7745c5c3_Err != nil { | 3377 | if templ_7745c5c3_Err != nil { | ||
| 3271 | return templ_7745c5c3_Err | 3378 | return templ_7745c5c3_Err | ||
| 3272 | } | 3379 | } | ||
| 3273 | - | var templ_7745c5c3_Var154 string | 3380 | + | var templ_7745c5c3_Var161 string |
| 3274 | - | templ_7745c5c3_Var154, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) | 3381 | + | templ_7745c5c3_Var161, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Box.Head) |
| 3275 | if templ_7745c5c3_Err != nil { | 3382 | if templ_7745c5c3_Err != nil { | ||
| 3276 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 656, Col: 60} | 3383 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 670, Col: 60} |
| 3277 | } | 3384 | } | ||
| 3278 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var154) | 3385 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var161) |
| 3279 | if templ_7745c5c3_Err != nil { | 3386 | if templ_7745c5c3_Err != nil { | ||
| 3280 | return templ_7745c5c3_Err | 3387 | return templ_7745c5c3_Err | ||
| 3281 | } | 3388 | } | ||
| 3282 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 309, "\"> <button type=\"submit\" title=\"the next visit can show only what changed after this head\" class=\"btn\" aria-keyshortcuts=\"Shift+R\" data-read>Mark read <kbd aria-hidden=\"true\">R</kbd></button></form>") | 3389 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 319, "\"> <button type=\"submit\" title=\"the next visit can show only what changed after this head\" class=\"btn\" aria-keyshortcuts=\"Shift+R\" data-read>Mark read <kbd aria-hidden=\"true\">R</kbd></button></form>") |
| 3283 | if templ_7745c5c3_Err != nil { | 3390 | if templ_7745c5c3_Err != nil { | ||
| 3284 | return templ_7745c5c3_Err | 3391 | return templ_7745c5c3_Err | ||
| 3285 | } | 3392 | } | ||
| 3286 | } | 3393 | } | ||
| 3287 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 310, " <form method=\"post\" action=\"") | 3394 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 320, " <form method=\"post\" action=\"") |
| 3288 | if templ_7745c5c3_Err != nil { | 3395 | if templ_7745c5c3_Err != nil { | ||
| 3289 | return templ_7745c5c3_Err | 3396 | return templ_7745c5c3_Err | ||
| 3290 | } | 3397 | } | ||
| 3291 | - | var templ_7745c5c3_Var155 templ.SafeURL | 3398 | + | var templ_7745c5c3_Var162 templ.SafeURL |
| 3292 | - | templ_7745c5c3_Var155, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CloseAction)) | 3399 | + | templ_7745c5c3_Var162, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Box.CloseAction)) |
| 3293 | if templ_7745c5c3_Err != nil { | 3400 | if templ_7745c5c3_Err != nil { | ||
| 3294 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 660, Col: 65} | 3401 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 674, Col: 65} |
| 3295 | } | 3402 | } | ||
| 3296 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var155)) | 3403 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var162)) |
| 3297 | if templ_7745c5c3_Err != nil { | 3404 | if templ_7745c5c3_Err != nil { | ||
| 3298 | return templ_7745c5c3_Err | 3405 | return templ_7745c5c3_Err | ||
| 3299 | } | 3406 | } | ||
| 3300 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 311, "\"><button type=\"submit\" title=\"close without merging; the branch is kept\" class=\"btn danger\">Close</button></form>") | 3407 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 321, "\"><button type=\"submit\" title=\"close without merging; the branch is kept\" class=\"btn danger\">Close</button></form>") |
| 3301 | if templ_7745c5c3_Err != nil { | 3408 | if templ_7745c5c3_Err != nil { | ||
| 3302 | return templ_7745c5c3_Err | 3409 | return templ_7745c5c3_Err | ||
| 3303 | } | 3410 | } | ||
| 3304 | if !p.Box.HeadGone && p.Box.ReadyAction == "" { | 3411 | if !p.Box.HeadGone && p.Box.ReadyAction == "" { | ||
| 3305 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 312, "<details class=\"d-or\"><summary class=\"mute\">or from a terminal</summary>") | 3412 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 322, "<details class=\"d-or\"><summary class=\"mute\">or from a terminal</summary>") |
| 3306 | if templ_7745c5c3_Err != nil { | 3413 | if templ_7745c5c3_Err != nil { | ||
| 3307 | return templ_7745c5c3_Err | 3414 | return templ_7745c5c3_Err | ||
| 3308 | } | 3415 | } | ||
| @@ -3310,13 +3417,13 @@ func moreMenu(p MRPage) templ.Component { | |||||
| 3310 | if templ_7745c5c3_Err != nil { | 3417 | if templ_7745c5c3_Err != nil { | ||
| 3311 | return templ_7745c5c3_Err | 3418 | return templ_7745c5c3_Err | ||
| 3312 | } | 3419 | } | ||
| 3313 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 313, "</details>") | 3420 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 323, "</details>") |
| 3314 | if templ_7745c5c3_Err != nil { | 3421 | if templ_7745c5c3_Err != nil { | ||
| 3315 | return templ_7745c5c3_Err | 3422 | return templ_7745c5c3_Err | ||
| 3316 | } | 3423 | } | ||
| 3317 | } | 3424 | } | ||
| 3318 | } | 3425 | } | ||
| 3319 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 314, "</div></details>") | 3426 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 324, "</div></details>") |
| 3320 | if templ_7745c5c3_Err != nil { | 3427 | if templ_7745c5c3_Err != nil { | ||
| 3321 | return templ_7745c5c3_Err | 3428 | return templ_7745c5c3_Err | ||
| 3322 | } | 3429 | } | ||
| @@ -3340,12 +3447,12 @@ func Compare(l Layout, p ComparePage) templ.Component { | |||||
| 3340 | }() | 3447 | }() | ||
| 3341 | } | 3448 | } | ||
| 3342 | ctx = templ.InitializeContext(ctx) | 3449 | ctx = templ.InitializeContext(ctx) | ||
| 3343 | - | templ_7745c5c3_Var156 := templ.GetChildren(ctx) | 3450 | + | templ_7745c5c3_Var163 := templ.GetChildren(ctx) |
| 3344 | - | if templ_7745c5c3_Var156 == nil { | 3451 | + | if templ_7745c5c3_Var163 == nil { |
| 3345 | - | templ_7745c5c3_Var156 = templ.NopComponent | 3452 | + | templ_7745c5c3_Var163 = templ.NopComponent |
| 3346 | } | 3453 | } | ||
| 3347 | ctx = templ.ClearChildren(ctx) | 3454 | ctx = templ.ClearChildren(ctx) | ||
| 3348 | - | templ_7745c5c3_Var157 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { | 3455 | + | templ_7745c5c3_Var164 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) { |
| 3349 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | 3456 | templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context | ||
| 3350 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | 3457 | templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W) | ||
| 3351 | if !templ_7745c5c3_IsBuffer { | 3458 | if !templ_7745c5c3_IsBuffer { | ||
| @@ -3357,263 +3464,263 @@ func Compare(l Layout, p ComparePage) templ.Component { | |||||
| 3357 | }() | 3464 | }() | ||
| 3358 | } | 3465 | } | ||
| 3359 | ctx = templ.InitializeContext(ctx) | 3466 | ctx = templ.InitializeContext(ctx) | ||
| 3360 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 315, "<header class=\"show mr-h\"><h1>") | 3467 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 325, "<header class=\"show mr-h\"><h1>") |
| 3361 | if templ_7745c5c3_Err != nil { | 3468 | if templ_7745c5c3_Err != nil { | ||
| 3362 | return templ_7745c5c3_Err | 3469 | return templ_7745c5c3_Err | ||
| 3363 | } | 3470 | } | ||
| 3364 | - | var templ_7745c5c3_Var158 string | 3471 | + | var templ_7745c5c3_Var165 string |
| 3365 | - | templ_7745c5c3_Var158, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) | 3472 | + | templ_7745c5c3_Var165, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) |
| 3366 | if templ_7745c5c3_Err != nil { | 3473 | if templ_7745c5c3_Err != nil { | ||
| 3367 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 677, Col: 17} | 3474 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 691, Col: 17} |
| 3368 | } | 3475 | } | ||
| 3369 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var158)) | 3476 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var165)) |
| 3370 | if templ_7745c5c3_Err != nil { | 3477 | if templ_7745c5c3_Err != nil { | ||
| 3371 | return templ_7745c5c3_Err | 3478 | return templ_7745c5c3_Err | ||
| 3372 | } | 3479 | } | ||
| 3373 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 316, " → ") | 3480 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 326, " → ") |
| 3374 | if templ_7745c5c3_Err != nil { | 3481 | if templ_7745c5c3_Err != nil { | ||
| 3375 | return templ_7745c5c3_Err | 3482 | return templ_7745c5c3_Err | ||
| 3376 | } | 3483 | } | ||
| 3377 | - | var templ_7745c5c3_Var159 string | 3484 | + | var templ_7745c5c3_Var166 string |
| 3378 | - | templ_7745c5c3_Var159, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | 3485 | + | templ_7745c5c3_Var166, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) |
| 3379 | if templ_7745c5c3_Err != nil { | 3486 | if templ_7745c5c3_Err != nil { | ||
| 3380 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 677, Col: 34} | 3487 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 691, Col: 34} |
| 3381 | } | 3488 | } | ||
| 3382 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var159)) | 3489 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var166)) |
| 3383 | if templ_7745c5c3_Err != nil { | 3490 | if templ_7745c5c3_Err != nil { | ||
| 3384 | return templ_7745c5c3_Err | 3491 | return templ_7745c5c3_Err | ||
| 3385 | } | 3492 | } | ||
| 3386 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 317, "</h1><dl class=\"kv show-kv\"><dt>branch</dt><dd><a href=\"") | 3493 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 327, "</h1><dl class=\"kv show-kv\"><dt>branch</dt><dd><a href=\"") |
| 3387 | if templ_7745c5c3_Err != nil { | 3494 | if templ_7745c5c3_Err != nil { | ||
| 3388 | return templ_7745c5c3_Err | 3495 | return templ_7745c5c3_Err | ||
| 3389 | } | 3496 | } | ||
| 3390 | - | var templ_7745c5c3_Var160 templ.SafeURL | 3497 | + | var templ_7745c5c3_Var167 templ.SafeURL |
| 3391 | - | templ_7745c5c3_Var160, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref)) | 3498 | + | templ_7745c5c3_Var167, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.SourceHref)) |
| 3392 | if templ_7745c5c3_Err != nil { | 3499 | if templ_7745c5c3_Err != nil { | ||
| 3393 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 680, Col: 45} | 3500 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 694, Col: 45} |
| 3394 | } | 3501 | } | ||
| 3395 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var160)) | 3502 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var167)) |
| 3396 | if templ_7745c5c3_Err != nil { | 3503 | if templ_7745c5c3_Err != nil { | ||
| 3397 | return templ_7745c5c3_Err | 3504 | return templ_7745c5c3_Err | ||
| 3398 | } | 3505 | } | ||
| 3399 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 318, "\">") | 3506 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 328, "\">") |
| 3400 | if templ_7745c5c3_Err != nil { | 3507 | if templ_7745c5c3_Err != nil { | ||
| 3401 | return templ_7745c5c3_Err | 3508 | return templ_7745c5c3_Err | ||
| 3402 | } | 3509 | } | ||
| 3403 | - | var templ_7745c5c3_Var161 string | 3510 | + | var templ_7745c5c3_Var168 string |
| 3404 | - | templ_7745c5c3_Var161, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) | 3511 | + | templ_7745c5c3_Var168, templ_7745c5c3_Err = templ.JoinStringErrs(p.Source) |
| 3405 | if templ_7745c5c3_Err != nil { | 3512 | if templ_7745c5c3_Err != nil { | ||
| 3406 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 680, Col: 58} | 3513 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 694, Col: 58} |
| 3407 | } | 3514 | } | ||
| 3408 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var161)) | 3515 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var168)) |
| 3409 | if templ_7745c5c3_Err != nil { | 3516 | if templ_7745c5c3_Err != nil { | ||
| 3410 | return templ_7745c5c3_Err | 3517 | return templ_7745c5c3_Err | ||
| 3411 | } | 3518 | } | ||
| 3412 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 319, "</a></dd><dt>target</dt><dd><a href=\"") | 3519 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 329, "</a></dd><dt>target</dt><dd><a href=\"") |
| 3413 | if templ_7745c5c3_Err != nil { | 3520 | if templ_7745c5c3_Err != nil { | ||
| 3414 | return templ_7745c5c3_Err | 3521 | return templ_7745c5c3_Err | ||
| 3415 | } | 3522 | } | ||
| 3416 | - | var templ_7745c5c3_Var162 templ.SafeURL | 3523 | + | var templ_7745c5c3_Var169 templ.SafeURL |
| 3417 | - | templ_7745c5c3_Var162, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.TargetHref)) | 3524 | + | templ_7745c5c3_Var169, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.TargetHref)) |
| 3418 | if templ_7745c5c3_Err != nil { | 3525 | if templ_7745c5c3_Err != nil { | ||
| 3419 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 682, Col: 45} | 3526 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 696, Col: 45} |
| 3420 | } | 3527 | } | ||
| 3421 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var162)) | 3528 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var169)) |
| 3422 | if templ_7745c5c3_Err != nil { | 3529 | if templ_7745c5c3_Err != nil { | ||
| 3423 | return templ_7745c5c3_Err | 3530 | return templ_7745c5c3_Err | ||
| 3424 | } | 3531 | } | ||
| 3425 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 320, "\">") | 3532 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 330, "\">") |
| 3426 | if templ_7745c5c3_Err != nil { | 3533 | if templ_7745c5c3_Err != nil { | ||
| 3427 | return templ_7745c5c3_Err | 3534 | return templ_7745c5c3_Err | ||
| 3428 | } | 3535 | } | ||
| 3429 | - | var templ_7745c5c3_Var163 string | 3536 | + | var templ_7745c5c3_Var170 string |
| 3430 | - | templ_7745c5c3_Var163, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | 3537 | + | templ_7745c5c3_Var170, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) |
| 3431 | if templ_7745c5c3_Err != nil { | 3538 | if templ_7745c5c3_Err != nil { | ||
| 3432 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 682, Col: 58} | 3539 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 696, Col: 58} |
| 3433 | } | 3540 | } | ||
| 3434 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var163)) | 3541 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var170)) |
| 3435 | if templ_7745c5c3_Err != nil { | 3542 | if templ_7745c5c3_Err != nil { | ||
| 3436 | return templ_7745c5c3_Err | 3543 | return templ_7745c5c3_Err | ||
| 3437 | } | 3544 | } | ||
| 3438 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 321, "</a></dd><dt>ahead</dt><dd>") | 3545 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 331, "</a></dd><dt>ahead</dt><dd>") |
| 3439 | if templ_7745c5c3_Err != nil { | 3546 | if templ_7745c5c3_Err != nil { | ||
| 3440 | return templ_7745c5c3_Err | 3547 | return templ_7745c5c3_Err | ||
| 3441 | } | 3548 | } | ||
| 3442 | - | var templ_7745c5c3_Var164 string | 3549 | + | var templ_7745c5c3_Var171 string |
| 3443 | - | templ_7745c5c3_Var164, templ_7745c5c3_Err = templ.JoinStringErrs(p.AheadText) | 3550 | + | templ_7745c5c3_Var171, templ_7745c5c3_Err = templ.JoinStringErrs(p.AheadText) |
| 3444 | if templ_7745c5c3_Err != nil { | 3551 | if templ_7745c5c3_Err != nil { | ||
| 3445 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 684, Col: 21} | 3552 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 698, Col: 21} |
| 3446 | } | 3553 | } | ||
| 3447 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var164)) | 3554 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var171)) |
| 3448 | if templ_7745c5c3_Err != nil { | 3555 | if templ_7745c5c3_Err != nil { | ||
| 3449 | return templ_7745c5c3_Err | 3556 | return templ_7745c5c3_Err | ||
| 3450 | } | 3557 | } | ||
| 3451 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 322, "</dd></dl></header>") | 3558 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 332, "</dd></dl></header>") |
| 3452 | if templ_7745c5c3_Err != nil { | 3559 | if templ_7745c5c3_Err != nil { | ||
| 3453 | return templ_7745c5c3_Err | 3560 | return templ_7745c5c3_Err | ||
| 3454 | } | 3561 | } | ||
| 3455 | if p.Note != "" { | 3562 | if p.Note != "" { | ||
| 3456 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 323, "<p class=\"notice\">") | 3563 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 333, "<p class=\"notice\">") |
| 3457 | if templ_7745c5c3_Err != nil { | 3564 | if templ_7745c5c3_Err != nil { | ||
| 3458 | return templ_7745c5c3_Err | 3565 | return templ_7745c5c3_Err | ||
| 3459 | } | 3566 | } | ||
| 3460 | - | var templ_7745c5c3_Var165 string | 3567 | + | var templ_7745c5c3_Var172 string |
| 3461 | - | templ_7745c5c3_Var165, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) | 3568 | + | templ_7745c5c3_Var172, templ_7745c5c3_Err = templ.JoinStringErrs(p.Note) |
| 3462 | if templ_7745c5c3_Err != nil { | 3569 | if templ_7745c5c3_Err != nil { | ||
| 3463 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 688, Col: 29} | 3570 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 702, Col: 29} |
| 3464 | } | 3571 | } | ||
| 3465 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var165)) | 3572 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var172)) |
| 3466 | if templ_7745c5c3_Err != nil { | 3573 | if templ_7745c5c3_Err != nil { | ||
| 3467 | return templ_7745c5c3_Err | 3574 | return templ_7745c5c3_Err | ||
| 3468 | } | 3575 | } | ||
| 3469 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 324, "</p>") | 3576 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 334, "</p>") |
| 3470 | if templ_7745c5c3_Err != nil { | 3577 | if templ_7745c5c3_Err != nil { | ||
| 3471 | return templ_7745c5c3_Err | 3578 | return templ_7745c5c3_Err | ||
| 3472 | } | 3579 | } | ||
| 3473 | } | 3580 | } | ||
| 3474 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 325, " ") | 3581 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 335, " ") |
| 3475 | if templ_7745c5c3_Err != nil { | 3582 | if templ_7745c5c3_Err != nil { | ||
| 3476 | return templ_7745c5c3_Err | 3583 | return templ_7745c5c3_Err | ||
| 3477 | } | 3584 | } | ||
| 3478 | if p.Existing != nil { | 3585 | if p.Existing != nil { | ||
| 3479 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 326, "<p class=\"notice\">an open merge request already covers these branches: <a href=\"") | 3586 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 336, "<p class=\"notice\">an open merge request already covers these branches: <a href=\"") |
| 3480 | if templ_7745c5c3_Err != nil { | 3587 | if templ_7745c5c3_Err != nil { | ||
| 3481 | return templ_7745c5c3_Err | 3588 | return templ_7745c5c3_Err | ||
| 3482 | } | 3589 | } | ||
| 3483 | - | var templ_7745c5c3_Var166 templ.SafeURL | 3590 | + | var templ_7745c5c3_Var173 templ.SafeURL |
| 3484 | - | templ_7745c5c3_Var166, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Existing.Href)) | 3591 | + | templ_7745c5c3_Var173, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Existing.Href)) |
| 3485 | if templ_7745c5c3_Err != nil { | 3592 | if templ_7745c5c3_Err != nil { | ||
| 3486 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 691, Col: 114} | 3593 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 705, Col: 114} |
| 3487 | } | 3594 | } | ||
| 3488 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var166)) | 3595 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var173)) |
| 3489 | if templ_7745c5c3_Err != nil { | 3596 | if templ_7745c5c3_Err != nil { | ||
| 3490 | return templ_7745c5c3_Err | 3597 | return templ_7745c5c3_Err | ||
| 3491 | } | 3598 | } | ||
| 3492 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 327, "\">") | 3599 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 337, "\">") |
| 3493 | if templ_7745c5c3_Err != nil { | 3600 | if templ_7745c5c3_Err != nil { | ||
| 3494 | return templ_7745c5c3_Err | 3601 | return templ_7745c5c3_Err | ||
| 3495 | } | 3602 | } | ||
| 3496 | - | var templ_7745c5c3_Var167 string | 3603 | + | var templ_7745c5c3_Var174 string |
| 3497 | - | templ_7745c5c3_Var167, templ_7745c5c3_Err = templ.JoinStringErrs(p.Existing.Label) | 3604 | + | templ_7745c5c3_Var174, templ_7745c5c3_Err = templ.JoinStringErrs(p.Existing.Label) |
| 3498 | if templ_7745c5c3_Err != nil { | 3605 | if templ_7745c5c3_Err != nil { | ||
| 3499 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 691, Col: 135} | 3606 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 705, Col: 135} |
| 3500 | } | 3607 | } | ||
| 3501 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var167)) | 3608 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var174)) |
| 3502 | if templ_7745c5c3_Err != nil { | 3609 | if templ_7745c5c3_Err != nil { | ||
| 3503 | return templ_7745c5c3_Err | 3610 | return templ_7745c5c3_Err | ||
| 3504 | } | 3611 | } | ||
| 3505 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 328, "</a></p>") | 3612 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 338, "</a></p>") |
| 3506 | if templ_7745c5c3_Err != nil { | 3613 | if templ_7745c5c3_Err != nil { | ||
| 3507 | return templ_7745c5c3_Err | 3614 | return templ_7745c5c3_Err | ||
| 3508 | } | 3615 | } | ||
| 3509 | } | 3616 | } | ||
| 3510 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 329, " ") | 3617 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 339, " ") |
| 3511 | if templ_7745c5c3_Err != nil { | 3618 | if templ_7745c5c3_Err != nil { | ||
| 3512 | return templ_7745c5c3_Err | 3619 | return templ_7745c5c3_Err | ||
| 3513 | } | 3620 | } | ||
| 3514 | if p.Create != nil { | 3621 | if p.Create != nil { | ||
| 3515 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 330, "<form class=\"cform create\" method=\"post\" action=\"") | 3622 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 340, "<form class=\"cform create\" method=\"post\" action=\"") |
| 3516 | if templ_7745c5c3_Err != nil { | 3623 | if templ_7745c5c3_Err != nil { | ||
| 3517 | return templ_7745c5c3_Err | 3624 | return templ_7745c5c3_Err | ||
| 3518 | } | 3625 | } | ||
| 3519 | - | var templ_7745c5c3_Var168 templ.SafeURL | 3626 | + | var templ_7745c5c3_Var175 templ.SafeURL |
| 3520 | - | templ_7745c5c3_Var168, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Create.Action)) | 3627 | + | templ_7745c5c3_Var175, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.Create.Action)) |
| 3521 | if templ_7745c5c3_Err != nil { | 3628 | if templ_7745c5c3_Err != nil { | ||
| 3522 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 694, Col: 83} | 3629 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 708, Col: 83} |
| 3523 | } | 3630 | } | ||
| 3524 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var168)) | 3631 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var175)) |
| 3525 | if templ_7745c5c3_Err != nil { | 3632 | if templ_7745c5c3_Err != nil { | ||
| 3526 | return templ_7745c5c3_Err | 3633 | return templ_7745c5c3_Err | ||
| 3527 | } | 3634 | } | ||
| 3528 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 331, "\"><input type=\"hidden\" name=\"source\" value=\"") | 3635 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 341, "\"><input type=\"hidden\" name=\"source\" value=\"") |
| 3529 | if templ_7745c5c3_Err != nil { | 3636 | if templ_7745c5c3_Err != nil { | ||
| 3530 | return templ_7745c5c3_Err | 3637 | return templ_7745c5c3_Err | ||
| 3531 | } | 3638 | } | ||
| 3532 | - | var templ_7745c5c3_Var169 string | 3639 | + | var templ_7745c5c3_Var176 string |
| 3533 | - | templ_7745c5c3_Var169, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Source) | 3640 | + | templ_7745c5c3_Var176, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Source) |
| 3534 | if templ_7745c5c3_Err != nil { | 3641 | if templ_7745c5c3_Err != nil { | ||
| 3535 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 695, Col: 62} | 3642 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 709, Col: 62} |
| 3536 | } | 3643 | } | ||
| 3537 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var169) | 3644 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var176) |
| 3538 | if templ_7745c5c3_Err != nil { | 3645 | if templ_7745c5c3_Err != nil { | ||
| 3539 | return templ_7745c5c3_Err | 3646 | return templ_7745c5c3_Err | ||
| 3540 | } | 3647 | } | ||
| 3541 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 332, "\"> <input type=\"hidden\" name=\"target\" value=\"") | 3648 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 342, "\"> <input type=\"hidden\" name=\"target\" value=\"") |
| 3542 | if templ_7745c5c3_Err != nil { | 3649 | if templ_7745c5c3_Err != nil { | ||
| 3543 | return templ_7745c5c3_Err | 3650 | return templ_7745c5c3_Err | ||
| 3544 | } | 3651 | } | ||
| 3545 | - | var templ_7745c5c3_Var170 string | 3652 | + | var templ_7745c5c3_Var177 string |
| 3546 | - | templ_7745c5c3_Var170, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Target) | 3653 | + | templ_7745c5c3_Var177, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Target) |
| 3547 | if templ_7745c5c3_Err != nil { | 3654 | if templ_7745c5c3_Err != nil { | ||
| 3548 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 696, Col: 62} | 3655 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 710, Col: 62} |
| 3549 | } | 3656 | } | ||
| 3550 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var170) | 3657 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var177) |
| 3551 | if templ_7745c5c3_Err != nil { | 3658 | if templ_7745c5c3_Err != nil { | ||
| 3552 | return templ_7745c5c3_Err | 3659 | return templ_7745c5c3_Err | ||
| 3553 | } | 3660 | } | ||
| 3554 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 333, "\"> <label for=\"mr-title\">title</label> <input id=\"mr-title\" name=\"title\" type=\"text\" maxlength=\"120\" required value=\"") | 3661 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 343, "\"> <label for=\"mr-title\">title</label> <input id=\"mr-title\" name=\"title\" type=\"text\" maxlength=\"120\" required value=\"") |
| 3555 | if templ_7745c5c3_Err != nil { | 3662 | if templ_7745c5c3_Err != nil { | ||
| 3556 | return templ_7745c5c3_Err | 3663 | return templ_7745c5c3_Err | ||
| 3557 | } | 3664 | } | ||
| 3558 | - | var templ_7745c5c3_Var171 string | 3665 | + | var templ_7745c5c3_Var178 string |
| 3559 | - | templ_7745c5c3_Var171, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Title) | 3666 | + | templ_7745c5c3_Var178, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.Create.Title) |
| 3560 | if templ_7745c5c3_Err != nil { | 3667 | if templ_7745c5c3_Err != nil { | ||
| 3561 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 698, Col: 97} | 3668 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 712, Col: 97} |
| 3562 | } | 3669 | } | ||
| 3563 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var171) | 3670 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var178) |
| 3564 | if templ_7745c5c3_Err != nil { | 3671 | if templ_7745c5c3_Err != nil { | ||
| 3565 | return templ_7745c5c3_Err | 3672 | return templ_7745c5c3_Err | ||
| 3566 | } | 3673 | } | ||
| 3567 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 334, "\" autocomplete=\"off\"> <label for=\"mr-desc\">description</label> <textarea id=\"mr-desc\" name=\"description\" rows=\"4\" maxlength=\"8000\" placeholder=\"Markdown, optional\"></textarea><div class=\"f-btns\"><button type=\"submit\" class=\"btn primary\">Create merge request</button></div></form>") | 3674 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 344, "\" autocomplete=\"off\"> <label for=\"mr-desc\">description</label> <textarea id=\"mr-desc\" name=\"description\" rows=\"4\" maxlength=\"8000\" placeholder=\"Markdown, optional\"></textarea><div class=\"f-btns\"><button type=\"submit\" class=\"btn primary\">Create merge request</button></div></form>") |
| 3568 | if templ_7745c5c3_Err != nil { | 3675 | if templ_7745c5c3_Err != nil { | ||
| 3569 | return templ_7745c5c3_Err | 3676 | return templ_7745c5c3_Err | ||
| 3570 | } | 3677 | } | ||
| 3571 | } | 3678 | } | ||
| 3572 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 335, " ") | 3679 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 345, " ") |
| 3573 | if templ_7745c5c3_Err != nil { | 3680 | if templ_7745c5c3_Err != nil { | ||
| 3574 | return templ_7745c5c3_Err | 3681 | return templ_7745c5c3_Err | ||
| 3575 | } | 3682 | } | ||
| 3576 | if p.HasDiff { | 3683 | if p.HasDiff { | ||
| 3577 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 336, "<div class=\"diff-tools\" role=\"group\" aria-label=\"Diff view\"><span class=\"dim\">") | 3684 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 346, "<div class=\"diff-tools\" role=\"group\" aria-label=\"Diff view\"><span class=\"dim\">") |
| 3578 | if templ_7745c5c3_Err != nil { | 3685 | if templ_7745c5c3_Err != nil { | ||
| 3579 | return templ_7745c5c3_Err | 3686 | return templ_7745c5c3_Err | ||
| 3580 | } | 3687 | } | ||
| 3581 | - | var templ_7745c5c3_Var172 string | 3688 | + | var templ_7745c5c3_Var179 string |
| 3582 | - | templ_7745c5c3_Var172, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files")) | 3689 | + | templ_7745c5c3_Var179, templ_7745c5c3_Err = templ.JoinStringErrs(plural(p.NFiles, "file", "files")) |
| 3583 | if templ_7745c5c3_Err != nil { | 3690 | if templ_7745c5c3_Err != nil { | ||
| 3584 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 708, Col: 57} | 3691 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 722, Col: 57} |
| 3585 | } | 3692 | } | ||
| 3586 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var172)) | 3693 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var179)) |
| 3587 | if templ_7745c5c3_Err != nil { | 3694 | if templ_7745c5c3_Err != nil { | ||
| 3588 | return templ_7745c5c3_Err | 3695 | return templ_7745c5c3_Err | ||
| 3589 | } | 3696 | } | ||
| 3590 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 337, " · <span class=\"plus\">+") | 3697 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 347, " · <span class=\"plus\">+") |
| 3591 | if templ_7745c5c3_Err != nil { | 3698 | if templ_7745c5c3_Err != nil { | ||
| 3592 | return templ_7745c5c3_Err | 3699 | return templ_7745c5c3_Err | ||
| 3593 | } | 3700 | } | ||
| 3594 | - | var templ_7745c5c3_Var173 string | 3701 | + | var templ_7745c5c3_Var180 string |
| 3595 | - | templ_7745c5c3_Var173, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) | 3702 | + | templ_7745c5c3_Var180, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Adds)) |
| 3596 | if templ_7745c5c3_Err != nil { | 3703 | if templ_7745c5c3_Err != nil { | ||
| 3597 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 708, Col: 97} | 3704 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 722, Col: 97} |
| 3598 | } | 3705 | } | ||
| 3599 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var173)) | 3706 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var180)) |
| 3600 | if templ_7745c5c3_Err != nil { | 3707 | if templ_7745c5c3_Err != nil { | ||
| 3601 | return templ_7745c5c3_Err | 3708 | return templ_7745c5c3_Err | ||
| 3602 | } | 3709 | } | ||
| 3603 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 338, "</span> <span class=\"minus\">-") | 3710 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 348, "</span> <span class=\"minus\">-") |
| 3604 | if templ_7745c5c3_Err != nil { | 3711 | if templ_7745c5c3_Err != nil { | ||
| 3605 | return templ_7745c5c3_Err | 3712 | return templ_7745c5c3_Err | ||
| 3606 | } | 3713 | } | ||
| 3607 | - | var templ_7745c5c3_Var174 string | 3714 | + | var templ_7745c5c3_Var181 string |
| 3608 | - | templ_7745c5c3_Var174, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) | 3715 | + | templ_7745c5c3_Var181, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(p.Dels)) |
| 3609 | if templ_7745c5c3_Err != nil { | 3716 | if templ_7745c5c3_Err != nil { | ||
| 3610 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 708, Col: 142} | 3717 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 722, Col: 142} |
| 3611 | } | 3718 | } | ||
| 3612 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var174)) | 3719 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var181)) |
| 3613 | if templ_7745c5c3_Err != nil { | 3720 | if templ_7745c5c3_Err != nil { | ||
| 3614 | return templ_7745c5c3_Err | 3721 | return templ_7745c5c3_Err | ||
| 3615 | } | 3722 | } | ||
| 3616 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 339, "</span></span> <span class=\"grow\"></span>") | 3723 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 349, "</span></span> <span class=\"grow\"></span>") |
| 3617 | if templ_7745c5c3_Err != nil { | 3724 | if templ_7745c5c3_Err != nil { | ||
| 3618 | return templ_7745c5c3_Err | 3725 | return templ_7745c5c3_Err | ||
| 3619 | } | 3726 | } | ||
| @@ -3621,64 +3728,64 @@ func Compare(l Layout, p ComparePage) templ.Component { | |||||
| 3621 | if templ_7745c5c3_Err != nil { | 3728 | if templ_7745c5c3_Err != nil { | ||
| 3622 | return templ_7745c5c3_Err | 3729 | return templ_7745c5c3_Err | ||
| 3623 | } | 3730 | } | ||
| 3624 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 340, "</div>") | 3731 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 350, "</div>") |
| 3625 | if templ_7745c5c3_Err != nil { | 3732 | if templ_7745c5c3_Err != nil { | ||
| 3626 | return templ_7745c5c3_Err | 3733 | return templ_7745c5c3_Err | ||
| 3627 | } | 3734 | } | ||
| 3628 | if p.Invisible { | 3735 | if p.Invisible { | ||
| 3629 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 341, "<p class=\"notice\">this diff holds invisible characters (direction controls, zero-width characters). They are shown as <span class=\"inv\"><U+XXXX></span> markers, never applied.</p>") | 3736 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 351, "<p class=\"notice\">this diff holds invisible characters (direction controls, zero-width characters). They are shown as <span class=\"inv\"><U+XXXX></span> markers, never applied.</p>") |
| 3630 | if templ_7745c5c3_Err != nil { | 3737 | if templ_7745c5c3_Err != nil { | ||
| 3631 | return templ_7745c5c3_Err | 3738 | return templ_7745c5c3_Err | ||
| 3632 | } | 3739 | } | ||
| 3633 | } | 3740 | } | ||
| 3634 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 342, " <div id=\"diffs\"") | 3741 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 352, " <div id=\"diffs\"") |
| 3635 | if templ_7745c5c3_Err != nil { | 3742 | if templ_7745c5c3_Err != nil { | ||
| 3636 | return templ_7745c5c3_Err | 3743 | return templ_7745c5c3_Err | ||
| 3637 | } | 3744 | } | ||
| 3638 | if p.Both { | 3745 | if p.Both { | ||
| 3639 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 343, " data-diff=\"") | 3746 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 353, " data-diff=\"") |
| 3640 | if templ_7745c5c3_Err != nil { | 3747 | if templ_7745c5c3_Err != nil { | ||
| 3641 | return templ_7745c5c3_Err | 3748 | return templ_7745c5c3_Err | ||
| 3642 | } | 3749 | } | ||
| 3643 | - | var templ_7745c5c3_Var175 string | 3750 | + | var templ_7745c5c3_Var182 string |
| 3644 | - | templ_7745c5c3_Var175, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) | 3751 | + | templ_7745c5c3_Var182, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) |
| 3645 | if templ_7745c5c3_Err != nil { | 3752 | if templ_7745c5c3_Err != nil { | ||
| 3646 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 721, Col: 23} | 3753 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 735, Col: 23} |
| 3647 | } | 3754 | } | ||
| 3648 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var175) | 3755 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var182) |
| 3649 | if templ_7745c5c3_Err != nil { | 3756 | if templ_7745c5c3_Err != nil { | ||
| 3650 | return templ_7745c5c3_Err | 3757 | return templ_7745c5c3_Err | ||
| 3651 | } | 3758 | } | ||
| 3652 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 344, "\"") | 3759 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 354, "\"") |
| 3653 | if templ_7745c5c3_Err != nil { | 3760 | if templ_7745c5c3_Err != nil { | ||
| 3654 | return templ_7745c5c3_Err | 3761 | return templ_7745c5c3_Err | ||
| 3655 | } | 3762 | } | ||
| 3656 | } else { | 3763 | } else { | ||
| 3657 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 345, " data-view=\"") | 3764 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 355, " data-view=\"") |
| 3658 | if templ_7745c5c3_Err != nil { | 3765 | if templ_7745c5c3_Err != nil { | ||
| 3659 | return templ_7745c5c3_Err | 3766 | return templ_7745c5c3_Err | ||
| 3660 | } | 3767 | } | ||
| 3661 | - | var templ_7745c5c3_Var176 string | 3768 | + | var templ_7745c5c3_Var183 string |
| 3662 | - | templ_7745c5c3_Var176, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) | 3769 | + | templ_7745c5c3_Var183, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.View) |
| 3663 | if templ_7745c5c3_Err != nil { | 3770 | if templ_7745c5c3_Err != nil { | ||
| 3664 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 723, Col: 23} | 3771 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 737, Col: 23} |
| 3665 | } | 3772 | } | ||
| 3666 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var176) | 3773 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var183) |
| 3667 | if templ_7745c5c3_Err != nil { | 3774 | if templ_7745c5c3_Err != nil { | ||
| 3668 | return templ_7745c5c3_Err | 3775 | return templ_7745c5c3_Err | ||
| 3669 | } | 3776 | } | ||
| 3670 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 346, "\"") | 3777 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 356, "\"") |
| 3671 | if templ_7745c5c3_Err != nil { | 3778 | if templ_7745c5c3_Err != nil { | ||
| 3672 | return templ_7745c5c3_Err | 3779 | return templ_7745c5c3_Err | ||
| 3673 | } | 3780 | } | ||
| 3674 | } | 3781 | } | ||
| 3675 | if p.Both && !p.Pinned { | 3782 | if p.Both && !p.Pinned { | ||
| 3676 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 347, " hx-live=\"this.dataset.diff = sessionStorage.getItem('diff') || this.dataset.diff\"") | 3783 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 357, " hx-live=\"this.dataset.diff = sessionStorage.getItem('diff') || this.dataset.diff\"") |
| 3677 | if templ_7745c5c3_Err != nil { | 3784 | if templ_7745c5c3_Err != nil { | ||
| 3678 | return templ_7745c5c3_Err | 3785 | return templ_7745c5c3_Err | ||
| 3679 | } | 3786 | } | ||
| 3680 | } | 3787 | } | ||
| 3681 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 348, ">") | 3788 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 358, ">") |
| 3682 | if templ_7745c5c3_Err != nil { | 3789 | if templ_7745c5c3_Err != nil { | ||
| 3683 | return templ_7745c5c3_Err | 3790 | return templ_7745c5c3_Err | ||
| 3684 | } | 3791 | } | ||
| @@ -3688,14 +3795,14 @@ func Compare(l Layout, p ComparePage) templ.Component { | |||||
| 3688 | return templ_7745c5c3_Err | 3795 | return templ_7745c5c3_Err | ||
| 3689 | } | 3796 | } | ||
| 3690 | } | 3797 | } | ||
| 3691 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 349, "</div>") | 3798 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 359, "</div>") |
| 3692 | if templ_7745c5c3_Err != nil { | 3799 | if templ_7745c5c3_Err != nil { | ||
| 3693 | return templ_7745c5c3_Err | 3800 | return templ_7745c5c3_Err | ||
| 3694 | } | 3801 | } | ||
| 3695 | } | 3802 | } | ||
| 3696 | return nil | 3803 | return nil | ||
| 3697 | }) | 3804 | }) | ||
| 3698 | - | templ_7745c5c3_Err = Shell(l, compareRail(p)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var157), templ_7745c5c3_Buffer) | 3805 | + | templ_7745c5c3_Err = Shell(l, compareRail(p)).Render(templ.WithChildren(ctx, templ_7745c5c3_Var164), templ_7745c5c3_Buffer) |
| 3699 | if templ_7745c5c3_Err != nil { | 3806 | if templ_7745c5c3_Err != nil { | ||
| 3700 | return templ_7745c5c3_Err | 3807 | return templ_7745c5c3_Err | ||
| 3701 | } | 3808 | } | ||
| @@ -3719,173 +3826,173 @@ func compareRail(p ComparePage) templ.Component { | |||||
| 3719 | }() | 3826 | }() | ||
| 3720 | } | 3827 | } | ||
| 3721 | ctx = templ.InitializeContext(ctx) | 3828 | ctx = templ.InitializeContext(ctx) | ||
| 3722 | - | templ_7745c5c3_Var177 := templ.GetChildren(ctx) | 3829 | + | templ_7745c5c3_Var184 := templ.GetChildren(ctx) |
| 3723 | - | if templ_7745c5c3_Var177 == nil { | 3830 | + | if templ_7745c5c3_Var184 == nil { |
| 3724 | - | templ_7745c5c3_Var177 = templ.NopComponent | 3831 | + | templ_7745c5c3_Var184 = templ.NopComponent |
| 3725 | } | 3832 | } | ||
| 3726 | ctx = templ.ClearChildren(ctx) | 3833 | ctx = templ.ClearChildren(ctx) | ||
| 3727 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 350, "<section aria-labelledby=\"r-ahead\"><h2 id=\"r-ahead\">Commits <span class=\"count\">") | 3834 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 360, "<section aria-labelledby=\"r-ahead\"><h2 id=\"r-ahead\">Commits <span class=\"count\">") |
| 3728 | if templ_7745c5c3_Err != nil { | 3835 | if templ_7745c5c3_Err != nil { | ||
| 3729 | return templ_7745c5c3_Err | 3836 | return templ_7745c5c3_Err | ||
| 3730 | } | 3837 | } | ||
| 3731 | - | var templ_7745c5c3_Var178 string | 3838 | + | var templ_7745c5c3_Var185 string |
| 3732 | - | templ_7745c5c3_Var178, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Ahead))) | 3839 | + | templ_7745c5c3_Var185, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Ahead))) |
| 3733 | if templ_7745c5c3_Err != nil { | 3840 | if templ_7745c5c3_Err != nil { | ||
| 3734 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 739, Col: 67} | 3841 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 753, Col: 67} |
| 3735 | } | 3842 | } | ||
| 3736 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var178)) | 3843 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var185)) |
| 3737 | if templ_7745c5c3_Err != nil { | 3844 | if templ_7745c5c3_Err != nil { | ||
| 3738 | return templ_7745c5c3_Err | 3845 | return templ_7745c5c3_Err | ||
| 3739 | } | 3846 | } | ||
| 3740 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 351, "</span></h2><ul class=\"pcommits\">") | 3847 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 361, "</span></h2><ul class=\"pcommits\">") |
| 3741 | if templ_7745c5c3_Err != nil { | 3848 | if templ_7745c5c3_Err != nil { | ||
| 3742 | return templ_7745c5c3_Err | 3849 | return templ_7745c5c3_Err | ||
| 3743 | } | 3850 | } | ||
| 3744 | for _, c := range p.Ahead { | 3851 | for _, c := range p.Ahead { | ||
| 3745 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 352, "<li><a href=\"") | 3852 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 362, "<li><a href=\"") |
| 3746 | if templ_7745c5c3_Err != nil { | 3853 | if templ_7745c5c3_Err != nil { | ||
| 3747 | return templ_7745c5c3_Err | 3854 | return templ_7745c5c3_Err | ||
| 3748 | } | 3855 | } | ||
| 3749 | - | var templ_7745c5c3_Var179 templ.SafeURL | 3856 | + | var templ_7745c5c3_Var186 templ.SafeURL |
| 3750 | - | templ_7745c5c3_Var179, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref)) | 3857 | + | templ_7745c5c3_Var186, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(c.CHref)) |
| 3751 | if templ_7745c5c3_Err != nil { | 3858 | if templ_7745c5c3_Err != nil { | ||
| 3752 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 743, Col: 37} | 3859 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 757, Col: 37} |
| 3753 | } | 3860 | } | ||
| 3754 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var179)) | 3861 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var186)) |
| 3755 | if templ_7745c5c3_Err != nil { | 3862 | if templ_7745c5c3_Err != nil { | ||
| 3756 | return templ_7745c5c3_Err | 3863 | return templ_7745c5c3_Err | ||
| 3757 | } | 3864 | } | ||
| 3758 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 353, "\">") | 3865 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 363, "\">") |
| 3759 | if templ_7745c5c3_Err != nil { | 3866 | if templ_7745c5c3_Err != nil { | ||
| 3760 | return templ_7745c5c3_Err | 3867 | return templ_7745c5c3_Err | ||
| 3761 | } | 3868 | } | ||
| 3762 | - | var templ_7745c5c3_Var180 string | 3869 | + | var templ_7745c5c3_Var187 string |
| 3763 | - | templ_7745c5c3_Var180, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short) | 3870 | + | templ_7745c5c3_Var187, templ_7745c5c3_Err = templ.JoinStringErrs(c.Short) |
| 3764 | if templ_7745c5c3_Err != nil { | 3871 | if templ_7745c5c3_Err != nil { | ||
| 3765 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 743, Col: 49} | 3872 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 757, Col: 49} |
| 3766 | } | 3873 | } | ||
| 3767 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var180)) | 3874 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var187)) |
| 3768 | if templ_7745c5c3_Err != nil { | 3875 | if templ_7745c5c3_Err != nil { | ||
| 3769 | return templ_7745c5c3_Err | 3876 | return templ_7745c5c3_Err | ||
| 3770 | } | 3877 | } | ||
| 3771 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 354, "</a> <span class=\"s\">") | 3878 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 364, "</a> <span class=\"s\">") |
| 3772 | if templ_7745c5c3_Err != nil { | 3879 | if templ_7745c5c3_Err != nil { | ||
| 3773 | return templ_7745c5c3_Err | 3880 | return templ_7745c5c3_Err | ||
| 3774 | } | 3881 | } | ||
| 3775 | - | var templ_7745c5c3_Var181 string | 3882 | + | var templ_7745c5c3_Var188 string |
| 3776 | - | templ_7745c5c3_Var181, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject) | 3883 | + | templ_7745c5c3_Var188, templ_7745c5c3_Err = templ.JoinStringErrs(c.Subject) |
| 3777 | if templ_7745c5c3_Err != nil { | 3884 | if templ_7745c5c3_Err != nil { | ||
| 3778 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 744, Col: 32} | 3885 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 758, Col: 32} |
| 3779 | } | 3886 | } | ||
| 3780 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var181)) | 3887 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var188)) |
| 3781 | if templ_7745c5c3_Err != nil { | 3888 | if templ_7745c5c3_Err != nil { | ||
| 3782 | return templ_7745c5c3_Err | 3889 | return templ_7745c5c3_Err | ||
| 3783 | } | 3890 | } | ||
| 3784 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 355, "</span> <span class=\"mute\">") | 3891 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 365, "</span> <span class=\"mute\">") |
| 3785 | if templ_7745c5c3_Err != nil { | 3892 | if templ_7745c5c3_Err != nil { | ||
| 3786 | return templ_7745c5c3_Err | 3893 | return templ_7745c5c3_Err | ||
| 3787 | } | 3894 | } | ||
| 3788 | - | var templ_7745c5c3_Var182 string | 3895 | + | var templ_7745c5c3_Var189 string |
| 3789 | - | templ_7745c5c3_Var182, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) | 3896 | + | templ_7745c5c3_Var189, templ_7745c5c3_Err = templ.JoinStringErrs(c.Author) |
| 3790 | if templ_7745c5c3_Err != nil { | 3897 | if templ_7745c5c3_Err != nil { | ||
| 3791 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 746, Col: 16} | 3898 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 760, Col: 16} |
| 3792 | } | 3899 | } | ||
| 3793 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var182)) | 3900 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var189)) |
| 3794 | if templ_7745c5c3_Err != nil { | 3901 | if templ_7745c5c3_Err != nil { | ||
| 3795 | return templ_7745c5c3_Err | 3902 | return templ_7745c5c3_Err | ||
| 3796 | } | 3903 | } | ||
| 3797 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 356, " ") | 3904 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 366, " ") |
| 3798 | if templ_7745c5c3_Err != nil { | 3905 | if templ_7745c5c3_Err != nil { | ||
| 3799 | return templ_7745c5c3_Err | 3906 | return templ_7745c5c3_Err | ||
| 3800 | } | 3907 | } | ||
| 3801 | if c.WhenAt != "" { | 3908 | if c.WhenAt != "" { | ||
| 3802 | - | var templ_7745c5c3_Var183 string | 3909 | + | var templ_7745c5c3_Var190 string |
| 3803 | - | templ_7745c5c3_Var183, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") | 3910 | + | templ_7745c5c3_Var190, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") |
| 3804 | if templ_7745c5c3_Err != nil { | 3911 | if templ_7745c5c3_Err != nil { | ||
| 3805 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 748, Col: 15} | 3912 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 762, Col: 15} |
| 3806 | } | 3913 | } | ||
| 3807 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var183)) | 3914 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var190)) |
| 3808 | if templ_7745c5c3_Err != nil { | 3915 | if templ_7745c5c3_Err != nil { | ||
| 3809 | return templ_7745c5c3_Err | 3916 | return templ_7745c5c3_Err | ||
| 3810 | } | 3917 | } | ||
| 3811 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 357, "<time datetime=\"") | 3918 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 367, "<time datetime=\"") |
| 3812 | if templ_7745c5c3_Err != nil { | 3919 | if templ_7745c5c3_Err != nil { | ||
| 3813 | return templ_7745c5c3_Err | 3920 | return templ_7745c5c3_Err | ||
| 3814 | } | 3921 | } | ||
| 3815 | - | var templ_7745c5c3_Var184 string | 3922 | + | var templ_7745c5c3_Var191 string |
| 3816 | - | templ_7745c5c3_Var184, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) | 3923 | + | templ_7745c5c3_Var191, templ_7745c5c3_Err = templ.ResolveAttributeValue(c.WhenAt) |
| 3817 | if templ_7745c5c3_Err != nil { | 3924 | if templ_7745c5c3_Err != nil { | ||
| 3818 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 748, Col: 42} | 3925 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 762, Col: 42} |
| 3819 | } | 3926 | } | ||
| 3820 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var184) | 3927 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var191) |
| 3821 | if templ_7745c5c3_Err != nil { | 3928 | if templ_7745c5c3_Err != nil { | ||
| 3822 | return templ_7745c5c3_Err | 3929 | return templ_7745c5c3_Err | ||
| 3823 | } | 3930 | } | ||
| 3824 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 358, "\">") | 3931 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 368, "\">") |
| 3825 | if templ_7745c5c3_Err != nil { | 3932 | if templ_7745c5c3_Err != nil { | ||
| 3826 | return templ_7745c5c3_Err | 3933 | return templ_7745c5c3_Err | ||
| 3827 | } | 3934 | } | ||
| 3828 | - | var templ_7745c5c3_Var185 string | 3935 | + | var templ_7745c5c3_Var192 string |
| 3829 | - | templ_7745c5c3_Var185, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) | 3936 | + | templ_7745c5c3_Var192, templ_7745c5c3_Err = templ.JoinStringErrs(c.When) |
| 3830 | if templ_7745c5c3_Err != nil { | 3937 | if templ_7745c5c3_Err != nil { | ||
| 3831 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 748, Col: 53} | 3938 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 762, Col: 53} |
| 3832 | } | 3939 | } | ||
| 3833 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var185)) | 3940 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var192)) |
| 3834 | if templ_7745c5c3_Err != nil { | 3941 | if templ_7745c5c3_Err != nil { | ||
| 3835 | return templ_7745c5c3_Err | 3942 | return templ_7745c5c3_Err | ||
| 3836 | } | 3943 | } | ||
| 3837 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 359, "</time>") | 3944 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 369, "</time>") |
| 3838 | if templ_7745c5c3_Err != nil { | 3945 | if templ_7745c5c3_Err != nil { | ||
| 3839 | return templ_7745c5c3_Err | 3946 | return templ_7745c5c3_Err | ||
| 3840 | } | 3947 | } | ||
| 3841 | } | 3948 | } | ||
| 3842 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 360, "</span></li>") | 3949 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 370, "</span></li>") |
| 3843 | if templ_7745c5c3_Err != nil { | 3950 | if templ_7745c5c3_Err != nil { | ||
| 3844 | return templ_7745c5c3_Err | 3951 | return templ_7745c5c3_Err | ||
| 3845 | } | 3952 | } | ||
| 3846 | } | 3953 | } | ||
| 3847 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 361, "</ul>") | 3954 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 371, "</ul>") |
| 3848 | if templ_7745c5c3_Err != nil { | 3955 | if templ_7745c5c3_Err != nil { | ||
| 3849 | return templ_7745c5c3_Err | 3956 | return templ_7745c5c3_Err | ||
| 3850 | } | 3957 | } | ||
| 3851 | if len(p.Ahead) == 0 { | 3958 | if len(p.Ahead) == 0 { | ||
| 3852 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 362, "<p class=\"dim\">no commit ahead of ") | 3959 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 372, "<p class=\"dim\">no commit ahead of ") |
| 3853 | if templ_7745c5c3_Err != nil { | 3960 | if templ_7745c5c3_Err != nil { | ||
| 3854 | return templ_7745c5c3_Err | 3961 | return templ_7745c5c3_Err | ||
| 3855 | } | 3962 | } | ||
| 3856 | - | var templ_7745c5c3_Var186 string | 3963 | + | var templ_7745c5c3_Var193 string |
| 3857 | - | templ_7745c5c3_Var186, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) | 3964 | + | templ_7745c5c3_Var193, templ_7745c5c3_Err = templ.JoinStringErrs(p.Target) |
| 3858 | if templ_7745c5c3_Err != nil { | 3965 | if templ_7745c5c3_Err != nil { | ||
| 3859 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 755, Col: 47} | 3966 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 769, Col: 47} |
| 3860 | } | 3967 | } | ||
| 3861 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var186)) | 3968 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var193)) |
| 3862 | if templ_7745c5c3_Err != nil { | 3969 | if templ_7745c5c3_Err != nil { | ||
| 3863 | return templ_7745c5c3_Err | 3970 | return templ_7745c5c3_Err | ||
| 3864 | } | 3971 | } | ||
| 3865 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 363, ".</p>") | 3972 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 373, ".</p>") |
| 3866 | if templ_7745c5c3_Err != nil { | 3973 | if templ_7745c5c3_Err != nil { | ||
| 3867 | return templ_7745c5c3_Err | 3974 | return templ_7745c5c3_Err | ||
| 3868 | } | 3975 | } | ||
| 3869 | } | 3976 | } | ||
| 3870 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 364, "</section>") | 3977 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 374, "</section>") |
| 3871 | if templ_7745c5c3_Err != nil { | 3978 | if templ_7745c5c3_Err != nil { | ||
| 3872 | return templ_7745c5c3_Err | 3979 | return templ_7745c5c3_Err | ||
| 3873 | } | 3980 | } | ||
| 3874 | if p.HasDiff { | 3981 | if p.HasDiff { | ||
| 3875 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 365, "<section aria-labelledby=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">") | 3982 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 375, "<section aria-labelledby=\"r-files\"><h2 id=\"r-files\">Files <span class=\"count\">") |
| 3876 | if templ_7745c5c3_Err != nil { | 3983 | if templ_7745c5c3_Err != nil { | ||
| 3877 | return templ_7745c5c3_Err | 3984 | return templ_7745c5c3_Err | ||
| 3878 | } | 3985 | } | ||
| 3879 | - | var templ_7745c5c3_Var187 string | 3986 | + | var templ_7745c5c3_Var194 string |
| 3880 | - | templ_7745c5c3_Var187, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) | 3987 | + | templ_7745c5c3_Var194, templ_7745c5c3_Err = templ.JoinStringErrs(itoa(len(p.Files))) |
| 3881 | if templ_7745c5c3_Err != nil { | 3988 | if templ_7745c5c3_Err != nil { | ||
| 3882 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 760, Col: 66} | 3989 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 774, Col: 66} |
| 3883 | } | 3990 | } | ||
| 3884 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var187)) | 3991 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var194)) |
| 3885 | if templ_7745c5c3_Err != nil { | 3992 | if templ_7745c5c3_Err != nil { | ||
| 3886 | return templ_7745c5c3_Err | 3993 | return templ_7745c5c3_Err | ||
| 3887 | } | 3994 | } | ||
| 3888 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 366, "</span></h2>") | 3995 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 376, "</span></h2>") |
| 3889 | if templ_7745c5c3_Err != nil { | 3996 | if templ_7745c5c3_Err != nil { | ||
| 3890 | return templ_7745c5c3_Err | 3997 | return templ_7745c5c3_Err | ||
| 3891 | } | 3998 | } | ||
| @@ -3893,12 +4000,12 @@ func compareRail(p ComparePage) templ.Component { | |||||
| 3893 | if templ_7745c5c3_Err != nil { | 4000 | if templ_7745c5c3_Err != nil { | ||
| 3894 | return templ_7745c5c3_Err | 4001 | return templ_7745c5c3_Err | ||
| 3895 | } | 4002 | } | ||
| 3896 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 367, "</section>") | 4003 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 377, "</section>") |
| 3897 | if templ_7745c5c3_Err != nil { | 4004 | if templ_7745c5c3_Err != nil { | ||
| 3898 | return templ_7745c5c3_Err | 4005 | return templ_7745c5c3_Err | ||
| 3899 | } | 4006 | } | ||
| 3900 | } | 4007 | } | ||
| 3901 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 368, "<section aria-labelledby=\"r-cli\"><h2 id=\"r-cli\">From a terminal</h2>") | 4008 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 378, "<section aria-labelledby=\"r-cli\"><h2 id=\"r-cli\">From a terminal</h2>") |
| 3902 | if templ_7745c5c3_Err != nil { | 4009 | if templ_7745c5c3_Err != nil { | ||
| 3903 | return templ_7745c5c3_Err | 4010 | return templ_7745c5c3_Err | ||
| 3904 | } | 4011 | } | ||
| @@ -3906,7 +4013,7 @@ func compareRail(p ComparePage) templ.Component { | |||||
| 3906 | if templ_7745c5c3_Err != nil { | 4013 | if templ_7745c5c3_Err != nil { | ||
| 3907 | return templ_7745c5c3_Err | 4014 | return templ_7745c5c3_Err | ||
| 3908 | } | 4015 | } | ||
| 3909 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 369, "</section>") | 4016 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 379, "</section>") |
| 3910 | if templ_7745c5c3_Err != nil { | 4017 | if templ_7745c5c3_Err != nil { | ||
| 3911 | return templ_7745c5c3_Err | 4018 | return templ_7745c5c3_Err | ||
| 3912 | } | 4019 | } | ||
| @@ -3932,35 +4039,35 @@ func MRMergeChecks(c ChecksSummary) templ.Component { | |||||
| 3932 | }() | 4039 | }() | ||
| 3933 | } | 4040 | } | ||
| 3934 | ctx = templ.InitializeContext(ctx) | 4041 | ctx = templ.InitializeContext(ctx) | ||
| 3935 | - | templ_7745c5c3_Var188 := templ.GetChildren(ctx) | 4042 | + | templ_7745c5c3_Var195 := templ.GetChildren(ctx) |
| 3936 | - | if templ_7745c5c3_Var188 == nil { | 4043 | + | if templ_7745c5c3_Var195 == nil { |
| 3937 | - | templ_7745c5c3_Var188 = templ.NopComponent | 4044 | + | templ_7745c5c3_Var195 = templ.NopComponent |
| 3938 | } | 4045 | } | ||
| 3939 | ctx = templ.ClearChildren(ctx) | 4046 | ctx = templ.ClearChildren(ctx) | ||
| 3940 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 370, "<div id=\"mr-merge-checks\" data-keep-checks>") | 4047 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 380, "<div id=\"mr-merge-checks\" data-keep-checks>") |
| 3941 | if templ_7745c5c3_Err != nil { | 4048 | if templ_7745c5c3_Err != nil { | ||
| 3942 | return templ_7745c5c3_Err | 4049 | return templ_7745c5c3_Err | ||
| 3943 | } | 4050 | } | ||
| 3944 | if c.Kind == "bad" || c.Kind == "running" { | 4051 | if c.Kind == "bad" || c.Kind == "running" { | ||
| 3945 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 371, "<p class=\"d-note\">") | 4052 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 381, "<p class=\"d-note\">") |
| 3946 | if templ_7745c5c3_Err != nil { | 4053 | if templ_7745c5c3_Err != nil { | ||
| 3947 | return templ_7745c5c3_Err | 4054 | return templ_7745c5c3_Err | ||
| 3948 | } | 4055 | } | ||
| 3949 | - | var templ_7745c5c3_Var189 string | 4056 | + | var templ_7745c5c3_Var196 string |
| 3950 | - | templ_7745c5c3_Var189, templ_7745c5c3_Err = templ.JoinStringErrs(c.State + ": a failing or unfinished check blocks the merge.") | 4057 | + | templ_7745c5c3_Var196, templ_7745c5c3_Err = templ.JoinStringErrs(c.State + ": a failing or unfinished check blocks the merge.") |
| 3951 | if templ_7745c5c3_Err != nil { | 4058 | if templ_7745c5c3_Err != nil { | ||
| 3952 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 775, Col: 84} | 4059 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 789, Col: 84} |
| 3953 | } | 4060 | } | ||
| 3954 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var189)) | 4061 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var196)) |
| 3955 | if templ_7745c5c3_Err != nil { | 4062 | if templ_7745c5c3_Err != nil { | ||
| 3956 | return templ_7745c5c3_Err | 4063 | return templ_7745c5c3_Err | ||
| 3957 | } | 4064 | } | ||
| 3958 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 372, "</p><label class=\"d-check\"><input type=\"checkbox\" name=\"ignore_checks\"> Ignore checks</label>") | 4065 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 382, "</p><label class=\"d-check\"><input type=\"checkbox\" name=\"ignore_checks\"> Ignore checks</label>") |
| 3959 | if templ_7745c5c3_Err != nil { | 4066 | if templ_7745c5c3_Err != nil { | ||
| 3960 | return templ_7745c5c3_Err | 4067 | return templ_7745c5c3_Err | ||
| 3961 | } | 4068 | } | ||
| 3962 | } | 4069 | } | ||
| 3963 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 373, "</div>") | 4070 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 383, "</div>") |
| 3964 | if templ_7745c5c3_Err != nil { | 4071 | if templ_7745c5c3_Err != nil { | ||
| 3965 | return templ_7745c5c3_Err | 4072 | return templ_7745c5c3_Err | ||
| 3966 | } | 4073 | } | ||
| @@ -3985,9 +4092,9 @@ func MRStateFragment(p MRPage) templ.Component { | |||||
| 3985 | }() | 4092 | }() | ||
| 3986 | } | 4093 | } | ||
| 3987 | ctx = templ.InitializeContext(ctx) | 4094 | ctx = templ.InitializeContext(ctx) | ||
| 3988 | - | templ_7745c5c3_Var190 := templ.GetChildren(ctx) | 4095 | + | templ_7745c5c3_Var197 := templ.GetChildren(ctx) |
| 3989 | - | if templ_7745c5c3_Var190 == nil { | 4096 | + | if templ_7745c5c3_Var197 == nil { |
| 3990 | - | templ_7745c5c3_Var190 = templ.NopComponent | 4097 | + | templ_7745c5c3_Var197 = templ.NopComponent |
| 3991 | } | 4098 | } | ||
| 3992 | ctx = templ.ClearChildren(ctx) | 4099 | ctx = templ.ClearChildren(ctx) | ||
| 3993 | templ_7745c5c3_Err = mrState(p).Render(ctx, templ_7745c5c3_Buffer) | 4100 | templ_7745c5c3_Err = mrState(p).Render(ctx, templ_7745c5c3_Buffer) | ||
| @@ -4018,92 +4125,92 @@ func mrState(p MRPage) templ.Component { | |||||
| 4018 | }() | 4125 | }() | ||
| 4019 | } | 4126 | } | ||
| 4020 | ctx = templ.InitializeContext(ctx) | 4127 | ctx = templ.InitializeContext(ctx) | ||
| 4021 | - | templ_7745c5c3_Var191 := templ.GetChildren(ctx) | 4128 | + | templ_7745c5c3_Var198 := templ.GetChildren(ctx) |
| 4022 | - | if templ_7745c5c3_Var191 == nil { | 4129 | + | if templ_7745c5c3_Var198 == nil { |
| 4023 | - | templ_7745c5c3_Var191 = templ.NopComponent | 4130 | + | templ_7745c5c3_Var198 = templ.NopComponent |
| 4024 | } | 4131 | } | ||
| 4025 | ctx = templ.ClearChildren(ctx) | 4132 | ctx = templ.ClearChildren(ctx) | ||
| 4026 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 374, "<dd id=\"mr-state\" hx-swap-oob=\"true\" class=\"mr-state\" data-state=\"") | 4133 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 384, "<dd id=\"mr-state\" hx-swap-oob=\"true\" class=\"mr-state\" data-state=\"") |
| 4027 | if templ_7745c5c3_Err != nil { | 4134 | if templ_7745c5c3_Err != nil { | ||
| 4028 | return templ_7745c5c3_Err | 4135 | return templ_7745c5c3_Err | ||
| 4029 | } | 4136 | } | ||
| 4030 | - | var templ_7745c5c3_Var192 string | 4137 | + | var templ_7745c5c3_Var199 string |
| 4031 | - | templ_7745c5c3_Var192, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.State) | 4138 | + | templ_7745c5c3_Var199, templ_7745c5c3_Err = templ.ResolveAttributeValue(p.State) |
| 4032 | if templ_7745c5c3_Err != nil { | 4139 | if templ_7745c5c3_Err != nil { | ||
| 4033 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 788, Col: 75} | 4140 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 802, Col: 75} |
| 4034 | } | 4141 | } | ||
| 4035 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var192) | 4142 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var199) |
| 4036 | if templ_7745c5c3_Err != nil { | 4143 | if templ_7745c5c3_Err != nil { | ||
| 4037 | return templ_7745c5c3_Err | 4144 | return templ_7745c5c3_Err | ||
| 4038 | } | 4145 | } | ||
| 4039 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 375, "\">") | 4146 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 385, "\">") |
| 4040 | if templ_7745c5c3_Err != nil { | 4147 | if templ_7745c5c3_Err != nil { | ||
| 4041 | return templ_7745c5c3_Err | 4148 | return templ_7745c5c3_Err | ||
| 4042 | } | 4149 | } | ||
| 4043 | - | var templ_7745c5c3_Var193 string | 4150 | + | var templ_7745c5c3_Var200 string |
| 4044 | - | templ_7745c5c3_Var193, templ_7745c5c3_Err = templ.JoinStringErrs(p.State) | 4151 | + | templ_7745c5c3_Var200, templ_7745c5c3_Err = templ.JoinStringErrs(p.State) |
| 4045 | if templ_7745c5c3_Err != nil { | 4152 | if templ_7745c5c3_Err != nil { | ||
| 4046 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 789, Col: 11} | 4153 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 803, Col: 11} |
| 4047 | } | 4154 | } | ||
| 4048 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var193)) | 4155 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var200)) |
| 4049 | if templ_7745c5c3_Err != nil { | 4156 | if templ_7745c5c3_Err != nil { | ||
| 4050 | return templ_7745c5c3_Err | 4157 | return templ_7745c5c3_Err | ||
| 4051 | } | 4158 | } | ||
| 4052 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 376, " ") | 4159 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 386, " ") |
| 4053 | if templ_7745c5c3_Err != nil { | 4160 | if templ_7745c5c3_Err != nil { | ||
| 4054 | return templ_7745c5c3_Err | 4161 | return templ_7745c5c3_Err | ||
| 4055 | } | 4162 | } | ||
| 4056 | if p.MergedShort != "" { | 4163 | if p.MergedShort != "" { | ||
| 4057 | - | var templ_7745c5c3_Var194 string | 4164 | + | var templ_7745c5c3_Var201 string |
| 4058 | - | templ_7745c5c3_Var194, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") | 4165 | + | templ_7745c5c3_Var201, templ_7745c5c3_Err = templ.JoinStringErrs(" · ") |
| 4059 | if templ_7745c5c3_Err != nil { | 4166 | if templ_7745c5c3_Err != nil { | ||
| 4060 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 791, Col: 11} | 4167 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 805, Col: 11} |
| 4061 | } | 4168 | } | ||
| 4062 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var194)) | 4169 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var201)) |
| 4063 | if templ_7745c5c3_Err != nil { | 4170 | if templ_7745c5c3_Err != nil { | ||
| 4064 | return templ_7745c5c3_Err | 4171 | return templ_7745c5c3_Err | ||
| 4065 | } | 4172 | } | ||
| 4066 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 377, "<a href=\"") | 4173 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 387, "<a href=\"") |
| 4067 | if templ_7745c5c3_Err != nil { | 4174 | if templ_7745c5c3_Err != nil { | ||
| 4068 | return templ_7745c5c3_Err | 4175 | return templ_7745c5c3_Err | ||
| 4069 | } | 4176 | } | ||
| 4070 | - | var templ_7745c5c3_Var195 templ.SafeURL | 4177 | + | var templ_7745c5c3_Var202 templ.SafeURL |
| 4071 | - | templ_7745c5c3_Var195, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.MergedHref)) | 4178 | + | templ_7745c5c3_Var202, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(p.MergedHref)) |
| 4072 | if templ_7745c5c3_Err != nil { | 4179 | if templ_7745c5c3_Err != nil { | ||
| 4073 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 791, Col: 50} | 4180 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 805, Col: 50} |
| 4074 | } | 4181 | } | ||
| 4075 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var195)) | 4182 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var202)) |
| 4076 | if templ_7745c5c3_Err != nil { | 4183 | if templ_7745c5c3_Err != nil { | ||
| 4077 | return templ_7745c5c3_Err | 4184 | return templ_7745c5c3_Err | ||
| 4078 | } | 4185 | } | ||
| 4079 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 378, "\">") | 4186 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 388, "\">") |
| 4080 | if templ_7745c5c3_Err != nil { | 4187 | if templ_7745c5c3_Err != nil { | ||
| 4081 | return templ_7745c5c3_Err | 4188 | return templ_7745c5c3_Err | ||
| 4082 | } | 4189 | } | ||
| 4083 | - | var templ_7745c5c3_Var196 string | 4190 | + | var templ_7745c5c3_Var203 string |
| 4084 | - | templ_7745c5c3_Var196, templ_7745c5c3_Err = templ.JoinStringErrs(p.MergedShort) | 4191 | + | templ_7745c5c3_Var203, templ_7745c5c3_Err = templ.JoinStringErrs(p.MergedShort) |
| 4085 | if templ_7745c5c3_Err != nil { | 4192 | if templ_7745c5c3_Err != nil { | ||
| 4086 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 791, Col: 68} | 4193 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 805, Col: 68} |
| 4087 | } | 4194 | } | ||
| 4088 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var196)) | 4195 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var203)) |
| 4089 | if templ_7745c5c3_Err != nil { | 4196 | if templ_7745c5c3_Err != nil { | ||
| 4090 | return templ_7745c5c3_Err | 4197 | return templ_7745c5c3_Err | ||
| 4091 | } | 4198 | } | ||
| 4092 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 379, "</a>") | 4199 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 389, "</a>") |
| 4093 | if templ_7745c5c3_Err != nil { | 4200 | if templ_7745c5c3_Err != nil { | ||
| 4094 | return templ_7745c5c3_Err | 4201 | return templ_7745c5c3_Err | ||
| 4095 | } | 4202 | } | ||
| 4096 | - | var templ_7745c5c3_Var197 string | 4203 | + | var templ_7745c5c3_Var204 string |
| 4097 | - | templ_7745c5c3_Var197, templ_7745c5c3_Err = templ.JoinStringErrs(" · " + p.MergeMode) | 4204 | + | templ_7745c5c3_Var204, templ_7745c5c3_Err = templ.JoinStringErrs(" · " + p.MergeMode) |
| 4098 | if templ_7745c5c3_Err != nil { | 4205 | if templ_7745c5c3_Err != nil { | ||
| 4099 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 791, Col: 96} | 4206 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 805, Col: 96} |
| 4100 | } | 4207 | } | ||
| 4101 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var197)) | 4208 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var204)) |
| 4102 | if templ_7745c5c3_Err != nil { | 4209 | if templ_7745c5c3_Err != nil { | ||
| 4103 | return templ_7745c5c3_Err | 4210 | return templ_7745c5c3_Err | ||
| 4104 | } | 4211 | } | ||
| 4105 | } | 4212 | } | ||
| 4106 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 380, "</dd>") | 4213 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 390, "</dd>") |
| 4107 | if templ_7745c5c3_Err != nil { | 4214 | if templ_7745c5c3_Err != nil { | ||
| 4108 | return templ_7745c5c3_Err | 4215 | return templ_7745c5c3_Err | ||
| 4109 | } | 4216 | } | ||
| @@ -4127,12 +4234,12 @@ func mrActions(p MRPage, fragment bool) templ.Component { | |||||
| 4127 | }() | 4234 | }() | ||
| 4128 | } | 4235 | } | ||
| 4129 | ctx = templ.InitializeContext(ctx) | 4236 | ctx = templ.InitializeContext(ctx) | ||
| 4130 | - | templ_7745c5c3_Var198 := templ.GetChildren(ctx) | 4237 | + | templ_7745c5c3_Var205 := templ.GetChildren(ctx) |
| 4131 | - | if templ_7745c5c3_Var198 == nil { | 4238 | + | if templ_7745c5c3_Var205 == nil { |
| 4132 | - | templ_7745c5c3_Var198 = templ.NopComponent | 4239 | + | templ_7745c5c3_Var205 = templ.NopComponent |
| 4133 | } | 4240 | } | ||
| 4134 | ctx = templ.ClearChildren(ctx) | 4241 | ctx = templ.ClearChildren(ctx) | ||
| 4135 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 381, "<div id=\"mr-actions\" hx-swap-oob=\"true\" class=\"mr-acts\">") | 4242 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 391, "<div id=\"mr-actions\" hx-swap-oob=\"true\" class=\"mr-acts\">") |
| 4136 | if templ_7745c5c3_Err != nil { | 4243 | if templ_7745c5c3_Err != nil { | ||
| 4137 | return templ_7745c5c3_Err | 4244 | return templ_7745c5c3_Err | ||
| 4138 | } | 4245 | } | ||
| @@ -4151,25 +4258,25 @@ func mrActions(p MRPage, fragment bool) templ.Component { | |||||
| 4151 | return templ_7745c5c3_Err | 4258 | return templ_7745c5c3_Err | ||
| 4152 | } | 4259 | } | ||
| 4153 | if fragment && p.MergeError != "" { | 4260 | if fragment && p.MergeError != "" { | ||
| 4154 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 382, "<p class=\"d-err\" role=\"alert\">") | 4261 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 392, "<p class=\"d-err\" role=\"alert\">") |
| 4155 | if templ_7745c5c3_Err != nil { | 4262 | if templ_7745c5c3_Err != nil { | ||
| 4156 | return templ_7745c5c3_Err | 4263 | return templ_7745c5c3_Err | ||
| 4157 | } | 4264 | } | ||
| 4158 | - | var templ_7745c5c3_Var199 string | 4265 | + | var templ_7745c5c3_Var206 string |
| 4159 | - | templ_7745c5c3_Var199, templ_7745c5c3_Err = templ.JoinStringErrs(p.MergeError) | 4266 | + | templ_7745c5c3_Var206, templ_7745c5c3_Err = templ.JoinStringErrs(p.MergeError) |
| 4160 | if templ_7745c5c3_Err != nil { | 4267 | if templ_7745c5c3_Err != nil { | ||
| 4161 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 804, Col: 47} | 4268 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 818, Col: 47} |
| 4162 | } | 4269 | } | ||
| 4163 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var199)) | 4270 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var206)) |
| 4164 | if templ_7745c5c3_Err != nil { | 4271 | if templ_7745c5c3_Err != nil { | ||
| 4165 | return templ_7745c5c3_Err | 4272 | return templ_7745c5c3_Err | ||
| 4166 | } | 4273 | } | ||
| 4167 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 383, "</p>") | 4274 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 393, "</p>") |
| 4168 | if templ_7745c5c3_Err != nil { | 4275 | if templ_7745c5c3_Err != nil { | ||
| 4169 | return templ_7745c5c3_Err | 4276 | return templ_7745c5c3_Err | ||
| 4170 | } | 4277 | } | ||
| 4171 | } | 4278 | } | ||
| 4172 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 384, "</div>") | 4279 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 394, "</div>") |
| 4173 | if templ_7745c5c3_Err != nil { | 4280 | if templ_7745c5c3_Err != nil { | ||
| 4174 | return templ_7745c5c3_Err | 4281 | return templ_7745c5c3_Err | ||
| 4175 | } | 4282 | } | ||
| @@ -4194,38 +4301,38 @@ func MRActionStatus(message, href string) templ.Component { | |||||
| 4194 | }() | 4301 | }() | ||
| 4195 | } | 4302 | } | ||
| 4196 | ctx = templ.InitializeContext(ctx) | 4303 | ctx = templ.InitializeContext(ctx) | ||
| 4197 | - | templ_7745c5c3_Var200 := templ.GetChildren(ctx) | 4304 | + | templ_7745c5c3_Var207 := templ.GetChildren(ctx) |
| 4198 | - | if templ_7745c5c3_Var200 == nil { | 4305 | + | if templ_7745c5c3_Var207 == nil { |
| 4199 | - | templ_7745c5c3_Var200 = templ.NopComponent | 4306 | + | templ_7745c5c3_Var207 = templ.NopComponent |
| 4200 | } | 4307 | } | ||
| 4201 | ctx = templ.ClearChildren(ctx) | 4308 | ctx = templ.ClearChildren(ctx) | ||
| 4202 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 385, "<div id=\"mr-actions\" class=\"mr-acts\" hx-swap-oob=\"true\"><p class=\"d-err\" role=\"alert\">") | 4309 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 395, "<div id=\"mr-actions\" class=\"mr-acts\" hx-swap-oob=\"true\"><p class=\"d-err\" role=\"alert\">") |
| 4203 | if templ_7745c5c3_Err != nil { | 4310 | if templ_7745c5c3_Err != nil { | ||
| 4204 | return templ_7745c5c3_Err | 4311 | return templ_7745c5c3_Err | ||
| 4205 | } | 4312 | } | ||
| 4206 | - | var templ_7745c5c3_Var201 string | 4313 | + | var templ_7745c5c3_Var208 string |
| 4207 | - | templ_7745c5c3_Var201, templ_7745c5c3_Err = templ.JoinStringErrs(message) | 4314 | + | templ_7745c5c3_Var208, templ_7745c5c3_Err = templ.JoinStringErrs(message) |
| 4208 | if templ_7745c5c3_Err != nil { | 4315 | if templ_7745c5c3_Err != nil { | ||
| 4209 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 812, Col: 40} | 4316 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 826, Col: 41} |
| 4210 | } | 4317 | } | ||
| 4211 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var201)) | 4318 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var208)) |
| 4212 | if templ_7745c5c3_Err != nil { | 4319 | if templ_7745c5c3_Err != nil { | ||
| 4213 | return templ_7745c5c3_Err | 4320 | return templ_7745c5c3_Err | ||
| 4214 | } | 4321 | } | ||
| 4215 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 386, " <a href=\"") | 4322 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 396, " <a href=\"") |
| 4216 | if templ_7745c5c3_Err != nil { | 4323 | if templ_7745c5c3_Err != nil { | ||
| 4217 | return templ_7745c5c3_Err | 4324 | return templ_7745c5c3_Err | ||
| 4218 | } | 4325 | } | ||
| 4219 | - | var templ_7745c5c3_Var202 templ.SafeURL | 4326 | + | var templ_7745c5c3_Var209 templ.SafeURL |
| 4220 | - | templ_7745c5c3_Var202, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href)) | 4327 | + | templ_7745c5c3_Var209, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(href)) |
| 4221 | if templ_7745c5c3_Err != nil { | 4328 | if templ_7745c5c3_Err != nil { | ||
| 4222 | - | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 812, Col: 72} | 4329 | + | return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/adapters/web/mr.templ`, Line: 826, Col: 73} |
| 4223 | } | 4330 | } | ||
| 4224 | - | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var202)) | 4331 | + | _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var209)) |
| 4225 | if templ_7745c5c3_Err != nil { | 4332 | if templ_7745c5c3_Err != nil { | ||
| 4226 | return templ_7745c5c3_Err | 4333 | return templ_7745c5c3_Err | ||
| 4227 | } | 4334 | } | ||
| 4228 | - | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 387, "\">reload</a></p></div>") | 4335 | + | templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 397, "\">reload</a></p></div>") |
| 4229 | if templ_7745c5c3_Err != nil { | 4336 | if templ_7745c5c3_Err != nil { | ||
| 4230 | return templ_7745c5c3_Err | 4337 | return templ_7745c5c3_Err | ||
| 4231 | } | 4338 | } | ||
M internal/adapters/web/mr_test.go +35 -0
| @@ -332,3 +332,38 @@ func TestMergeIgnoreChecks(t *testing.T) { | |||
| 332 | 332 | assert.Equal(t, mrHref("demo", 3), to) | |
| 333 | 333 | } | |
| 334 | 334 | } | |
| 335 | + | ||
| 336 | + | func TestMRLinkedIssuesAndHistory(t *testing.T) { | |
| 337 | + | t.Parallel() | |
| 338 | + | r := newIssueRig(t, domain.IssuesOwner, false) | |
| 339 | + | at := time.Date(2026, 1, 2, 12, 0, 0, 123, time.UTC) | |
| 340 | + | title, err := domain.ParseIssueTitle("Fix <login>") | |
| 341 | + | require.NoError(t, err) | |
| 342 | + | text, err := domain.ParsePlainText("between issue events") | |
| 343 | + | require.NoError(t, err) | |
| 344 | + | r.mrs.EXPECT().Get(mock.Anything, mock.Anything, repoName(t, "proj"), int64(12), mock.Anything).Return(ports.MergeRequestDetail{ | |
| 345 | + | MergeRequest: domain.MergeRequest{Repo: repoName(t, "proj"), Number: 12, State: domain.MRStateMerged, Source: "feature", Target: "main"}, | |
| 346 | + | Issues: []ports.MergeRequestIssue{{Number: 3, Title: title, State: domain.IssueStateResolved, Closes: true}, {Number: 4, Title: title, State: domain.IssueStateOpen}}, | |
| 347 | + | Comments: []domain.Comment{{ID: 7, Author: "owner", Text: text, CreatedAt: at}}, | |
| 348 | + | IssueEvents: []ports.IssueEventDetail{ | |
| 349 | + | {Event: domain.IssueEvent{ID: 1, Issue: 3, Kind: domain.IssueEventReferenced, Actor: "owner", CreatedAt: at.Add(-time.Second)}}, | |
| 350 | + | {Event: domain.IssueEvent{ID: 2, Issue: 3, Kind: domain.IssueEventReferenced, Closes: true, Actor: "owner", CreatedAt: at}}, | |
| 351 | + | {Event: domain.IssueEvent{ID: 3, Issue: 3, Kind: domain.IssueEventResolved, Actor: "owner", CreatedAt: at.Add(time.Second)}}, | |
| 352 | + | {Event: domain.IssueEvent{ID: 1, Issue: 9, Kind: domain.IssueEventReferenced, Actor: "owner", CreatedAt: at.Add(2 * time.Second)}}, | |
| 353 | + | }, | |
| 354 | + | }, nil) | |
| 355 | + | rec := r.do("GET", "/proj/merge-requests/12", false, nil) | |
| 356 | + | require.Equal(t, 200, rec.Code, rec.Body.String()) | |
| 357 | + | body := rec.Body.String() | |
| 358 | + | assert.Contains(t, body, `id="r-issues">Issues`) | |
| 359 | + | assert.Contains(t, body, `href="/proj/issues/3">#3 Fix <login></a>`) | |
| 360 | + | assert.Contains(t, body, `data-state="resolved"`) | |
| 361 | + | assert.Contains(t, body, " · resolves") | |
| 362 | + | assert.Contains(t, body, "owner referenced") | |
| 363 | + | assert.Contains(t, body, "owner will resolve") | |
| 364 | + | assert.Contains(t, body, "owner resolved") | |
| 365 | + | assert.Contains(t, body, `href="/proj/issues/9">#9</a>`, "removed links keep their history") | |
| 366 | + | assert.Less(t, strings.Index(body, `id="e3-1"`), strings.Index(body, `id="c7"`)) | |
| 367 | + | assert.Less(t, strings.Index(body, `id="c7"`), strings.Index(body, `id="e3-2"`)) | |
| 368 | + | assert.Less(t, strings.Index(body, `id="e3-2"`), strings.Index(body, `id="e3-3"`)) | |
| 369 | + | } | |
| @@ -332,3 +332,38 @@ func TestMergeIgnoreChecks(t *testing.T) { | |||||
| 332 | assert.Equal(t, mrHref("demo", 3), to) | 332 | assert.Equal(t, mrHref("demo", 3), to) | ||
| 333 | } | 333 | } | ||
| 334 | } | 334 | } | ||
| 335 | + | ||||
| 336 | + | func TestMRLinkedIssuesAndHistory(t *testing.T) { | |||
| 337 | + | t.Parallel() | |||
| 338 | + | r := newIssueRig(t, domain.IssuesOwner, false) | |||
| 339 | + | at := time.Date(2026, 1, 2, 12, 0, 0, 123, time.UTC) | |||
| 340 | + | title, err := domain.ParseIssueTitle("Fix <login>") | |||
| 341 | + | require.NoError(t, err) | |||
| 342 | + | text, err := domain.ParsePlainText("between issue events") | |||
| 343 | + | require.NoError(t, err) | |||
| 344 | + | r.mrs.EXPECT().Get(mock.Anything, mock.Anything, repoName(t, "proj"), int64(12), mock.Anything).Return(ports.MergeRequestDetail{ | |||
| 345 | + | MergeRequest: domain.MergeRequest{Repo: repoName(t, "proj"), Number: 12, State: domain.MRStateMerged, Source: "feature", Target: "main"}, | |||
| 346 | + | Issues: []ports.MergeRequestIssue{{Number: 3, Title: title, State: domain.IssueStateResolved, Closes: true}, {Number: 4, Title: title, State: domain.IssueStateOpen}}, | |||
| 347 | + | Comments: []domain.Comment{{ID: 7, Author: "owner", Text: text, CreatedAt: at}}, | |||
| 348 | + | IssueEvents: []ports.IssueEventDetail{ | |||
| 349 | + | {Event: domain.IssueEvent{ID: 1, Issue: 3, Kind: domain.IssueEventReferenced, Actor: "owner", CreatedAt: at.Add(-time.Second)}}, | |||
| 350 | + | {Event: domain.IssueEvent{ID: 2, Issue: 3, Kind: domain.IssueEventReferenced, Closes: true, Actor: "owner", CreatedAt: at}}, | |||
| 351 | + | {Event: domain.IssueEvent{ID: 3, Issue: 3, Kind: domain.IssueEventResolved, Actor: "owner", CreatedAt: at.Add(time.Second)}}, | |||
| 352 | + | {Event: domain.IssueEvent{ID: 1, Issue: 9, Kind: domain.IssueEventReferenced, Actor: "owner", CreatedAt: at.Add(2 * time.Second)}}, | |||
| 353 | + | }, | |||
| 354 | + | }, nil) | |||
| 355 | + | rec := r.do("GET", "/proj/merge-requests/12", false, nil) | |||
| 356 | + | require.Equal(t, 200, rec.Code, rec.Body.String()) | |||
| 357 | + | body := rec.Body.String() | |||
| 358 | + | assert.Contains(t, body, `id="r-issues">Issues`) | |||
| 359 | + | assert.Contains(t, body, `href="/proj/issues/3">#3 Fix <login></a>`) | |||
| 360 | + | assert.Contains(t, body, `data-state="resolved"`) | |||
| 361 | + | assert.Contains(t, body, " · resolves") | |||
| 362 | + | assert.Contains(t, body, "owner referenced") | |||
| 363 | + | assert.Contains(t, body, "owner will resolve") | |||
| 364 | + | assert.Contains(t, body, "owner resolved") | |||
| 365 | + | assert.Contains(t, body, `href="/proj/issues/9">#9</a>`, "removed links keep their history") | |||
| 366 | + | assert.Less(t, strings.Index(body, `id="e3-1"`), strings.Index(body, `id="c7"`)) | |||
| 367 | + | assert.Less(t, strings.Index(body, `id="c7"`), strings.Index(body, `id="e3-2"`)) | |||
| 368 | + | assert.Less(t, strings.Index(body, `id="e3-2"`), strings.Index(body, `id="e3-3"`)) | |||
| 369 | + | } | |||
M internal/adapters/web/static/css/60-mr.css +16 -0
| @@ -1,4 +1,12 @@ | |||
| 1 | 1 | @layer components { | |
| 2 | + | .timeline { list-style: none; padding: 0; margin: 0; } | |
| 3 | + | .sys { margin-block: var(--s3); padding: var(--s2) var(--s3); border-left: 2px solid var(--border); color: var(--ink-dim); font-size: var(--fs-s); overflow-wrap: anywhere; } | |
| 4 | + | .sys-icon { margin-inline-end: var(--s2); } | |
| 5 | + | .sys[data-kind="resolved"] .sys-icon { color: var(--teal); } | |
| 6 | + | .sys[data-kind="closed"] .sys-icon { color: var(--red); } | |
| 7 | + | .mr-state[data-state="resolved"]::before { content: "✓ "; color: var(--teal); } | |
| 8 | + | .mrs tr[data-state="resolved"] .c-state::before { content: "✓ "; color: var(--teal); } | |
| 9 | + | ||
| 2 | 10 | /* merge requests: the review page. Hue only where it carries a verdict. */ | |
| 3 | 11 | .mr-h .show-kv { margin-top: 0; } | |
| 4 | 12 | #merge-menu .htmx-indicator { display: none; } | |
| @@ -281,6 +289,14 @@ | |||
| 281 | 289 | } | |
| 282 | 290 | ||
| 283 | 291 | @layer components { | |
| 292 | + | .timeline { list-style: none; padding: 0; margin: 0; } | |
| 293 | + | .sys { margin-block: var(--s3); padding: var(--s2) var(--s3); border-left: 2px solid var(--border); color: var(--ink-dim); font-size: var(--fs-s); overflow-wrap: anywhere; } | |
| 294 | + | .sys-icon { margin-inline-end: var(--s2); } | |
| 295 | + | .sys[data-kind="resolved"] .sys-icon { color: var(--teal); } | |
| 296 | + | .sys[data-kind="closed"] .sys-icon { color: var(--red); } | |
| 297 | + | .mr-state[data-state="resolved"]::before { content: "✓ "; color: var(--teal); } | |
| 298 | + | .mrs tr[data-state="resolved"] .c-state::before { content: "✓ "; color: var(--teal); } | |
| 299 | + | ||
| 284 | 300 | .c-body { white-space: normal; overflow-wrap: anywhere; } | |
| 285 | 301 | .c-body.prose > * { margin-block: .5em; } | |
| 286 | 302 | .c-body .ref { font-variant-numeric: tabular-nums; text-decoration: underline; } | |
| @@ -1,4 +1,12 @@ | |||||
| 1 | @layer components { | 1 | @layer components { | ||
| 2 | + | .timeline { list-style: none; padding: 0; margin: 0; } | |||
| 3 | + | .sys { margin-block: var(--s3); padding: var(--s2) var(--s3); border-left: 2px solid var(--border); color: var(--ink-dim); font-size: var(--fs-s); overflow-wrap: anywhere; } | |||
| 4 | + | .sys-icon { margin-inline-end: var(--s2); } | |||
| 5 | + | .sys[data-kind="resolved"] .sys-icon { color: var(--teal); } | |||
| 6 | + | .sys[data-kind="closed"] .sys-icon { color: var(--red); } | |||
| 7 | + | .mr-state[data-state="resolved"]::before { content: "✓ "; color: var(--teal); } | |||
| 8 | + | .mrs tr[data-state="resolved"] .c-state::before { content: "✓ "; color: var(--teal); } | |||
| 9 | + | ||||
| 2 | /* merge requests: the review page. Hue only where it carries a verdict. */ | 10 | /* merge requests: the review page. Hue only where it carries a verdict. */ | ||
| 3 | .mr-h .show-kv { margin-top: 0; } | 11 | .mr-h .show-kv { margin-top: 0; } | ||
| 4 | #merge-menu .htmx-indicator { display: none; } | 12 | #merge-menu .htmx-indicator { display: none; } | ||
| @@ -281,6 +289,14 @@ | |||||
| 281 | } | 289 | } | ||
| 282 | 290 | ||||
| 283 | @layer components { | 291 | @layer components { | ||
| 292 | + | .timeline { list-style: none; padding: 0; margin: 0; } | |||
| 293 | + | .sys { margin-block: var(--s3); padding: var(--s2) var(--s3); border-left: 2px solid var(--border); color: var(--ink-dim); font-size: var(--fs-s); overflow-wrap: anywhere; } | |||
| 294 | + | .sys-icon { margin-inline-end: var(--s2); } | |||
| 295 | + | .sys[data-kind="resolved"] .sys-icon { color: var(--teal); } | |||
| 296 | + | .sys[data-kind="closed"] .sys-icon { color: var(--red); } | |||
| 297 | + | .mr-state[data-state="resolved"]::before { content: "✓ "; color: var(--teal); } | |||
| 298 | + | .mrs tr[data-state="resolved"] .c-state::before { content: "✓ "; color: var(--teal); } | |||
| 299 | + | ||||
| 284 | .c-body { white-space: normal; overflow-wrap: anywhere; } | 300 | .c-body { white-space: normal; overflow-wrap: anywhere; } | ||
| 285 | .c-body.prose > * { margin-block: .5em; } | 301 | .c-body.prose > * { margin-block: .5em; } | ||
| 286 | .c-body .ref { font-variant-numeric: tabular-nums; text-decoration: underline; } | 302 | .c-body .ref { font-variant-numeric: tabular-nums; text-decoration: underline; } | ||