jams_templ.go 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686
  1. // Code generated by templ - DO NOT EDIT.
  2. // templ: version: v0.3.1020
  3. package views
  4. //lint:file-ignore SA4006 This context is only used if a nested component is present.
  5. import "github.com/a-h/templ"
  6. import templruntime "github.com/a-h/templ/runtime"
  7. import "github.com/pocketbase/pocketbase/core"
  8. // JamList renders the list of all jams.
  9. func JamList(jams []*core.Record, locationNames map[string]string, songCounts map[string]SongCount) templ.Component {
  10. return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  11. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  12. if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
  13. return templ_7745c5c3_CtxErr
  14. }
  15. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  16. if !templ_7745c5c3_IsBuffer {
  17. defer func() {
  18. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  19. if templ_7745c5c3_Err == nil {
  20. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  21. }
  22. }()
  23. }
  24. ctx = templ.InitializeContext(ctx)
  25. templ_7745c5c3_Var1 := templ.GetChildren(ctx)
  26. if templ_7745c5c3_Var1 == nil {
  27. templ_7745c5c3_Var1 = templ.NopComponent
  28. }
  29. ctx = templ.ClearChildren(ctx)
  30. templ_7745c5c3_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  31. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  32. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  33. if !templ_7745c5c3_IsBuffer {
  34. defer func() {
  35. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  36. if templ_7745c5c3_Err == nil {
  37. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  38. }
  39. }()
  40. }
  41. ctx = templ.InitializeContext(ctx)
  42. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<div class=\"level\"><div class=\"level-left\"><h1 class=\"title\">Jams</h1></div><div class=\"level-right\"><a class=\"button is-primary\" href=\"/jams/new\">+ New Jam</a></div></div>")
  43. if templ_7745c5c3_Err != nil {
  44. return templ_7745c5c3_Err
  45. }
  46. if len(jams) == 0 {
  47. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "<p class=\"has-text-grey\">No jams logged yet.</p>")
  48. if templ_7745c5c3_Err != nil {
  49. return templ_7745c5c3_Err
  50. }
  51. } else {
  52. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "<table class=\"table is-fullwidth is-striped is-hoverable\"><thead><tr><th>Date</th><th>Location</th><th>Songs</th></tr></thead> <tbody>")
  53. if templ_7745c5c3_Err != nil {
  54. return templ_7745c5c3_Err
  55. }
  56. for _, j := range jams {
  57. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "<tr><td><a href=\"")
  58. if templ_7745c5c3_Err != nil {
  59. return templ_7745c5c3_Err
  60. }
  61. var templ_7745c5c3_Var3 templ.SafeURL
  62. templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("/jams/" + j.Id))
  63. if templ_7745c5c3_Err != nil {
  64. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 26, Col: 51}
  65. }
  66. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
  67. if templ_7745c5c3_Err != nil {
  68. return templ_7745c5c3_Err
  69. }
  70. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "\">")
  71. if templ_7745c5c3_Err != nil {
  72. return templ_7745c5c3_Err
  73. }
  74. var templ_7745c5c3_Var4 string
  75. templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(dateOnly(j.GetString("date")))
  76. if templ_7745c5c3_Err != nil {
  77. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 26, Col: 85}
  78. }
  79. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
  80. if templ_7745c5c3_Err != nil {
  81. return templ_7745c5c3_Err
  82. }
  83. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "</a></td><td>")
  84. if templ_7745c5c3_Err != nil {
  85. return templ_7745c5c3_Err
  86. }
  87. var templ_7745c5c3_Var5 string
  88. templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(locationNames[j.GetString("location")])
  89. if templ_7745c5c3_Err != nil {
  90. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 27, Col: 51}
  91. }
  92. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
  93. if templ_7745c5c3_Err != nil {
  94. return templ_7745c5c3_Err
  95. }
  96. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "</td><td>")
  97. if templ_7745c5c3_Err != nil {
  98. return templ_7745c5c3_Err
  99. }
  100. var templ_7745c5c3_Var6 string
  101. templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(songCountDisplay(songCounts[j.Id]))
  102. if templ_7745c5c3_Err != nil {
  103. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 28, Col: 47}
  104. }
  105. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
  106. if templ_7745c5c3_Err != nil {
  107. return templ_7745c5c3_Err
  108. }
  109. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "</td></tr>")
  110. if templ_7745c5c3_Err != nil {
  111. return templ_7745c5c3_Err
  112. }
  113. }
  114. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "</tbody></table>")
  115. if templ_7745c5c3_Err != nil {
  116. return templ_7745c5c3_Err
  117. }
  118. }
  119. return nil
  120. })
  121. templ_7745c5c3_Err = Layout("Jams").Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
  122. if templ_7745c5c3_Err != nil {
  123. return templ_7745c5c3_Err
  124. }
  125. return nil
  126. })
  127. }
  128. // JamNew renders the new-jam creation form.
  129. func JamNew(locations []*core.Record) templ.Component {
  130. return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  131. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  132. if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
  133. return templ_7745c5c3_CtxErr
  134. }
  135. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  136. if !templ_7745c5c3_IsBuffer {
  137. defer func() {
  138. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  139. if templ_7745c5c3_Err == nil {
  140. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  141. }
  142. }()
  143. }
  144. ctx = templ.InitializeContext(ctx)
  145. templ_7745c5c3_Var7 := templ.GetChildren(ctx)
  146. if templ_7745c5c3_Var7 == nil {
  147. templ_7745c5c3_Var7 = templ.NopComponent
  148. }
  149. ctx = templ.ClearChildren(ctx)
  150. templ_7745c5c3_Var8 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  151. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  152. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  153. if !templ_7745c5c3_IsBuffer {
  154. defer func() {
  155. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  156. if templ_7745c5c3_Err == nil {
  157. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  158. }
  159. }()
  160. }
  161. ctx = templ.InitializeContext(ctx)
  162. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "<h1 class=\"title\">New Jam</h1><form method=\"POST\" action=\"/jams\" class=\"box\" style=\"max-width:480px\"><div class=\"field\"><label class=\"label\">Date</label><div class=\"control\"><input class=\"input\" type=\"date\" name=\"date\" required></div></div><div class=\"field\"><label class=\"label\">Location</label><div class=\"control\"><div class=\"select is-fullwidth\"><select name=\"location\" required><option value=\"\">— select —</option> ")
  163. if templ_7745c5c3_Err != nil {
  164. return templ_7745c5c3_Err
  165. }
  166. for _, loc := range locations {
  167. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "<option value=\"")
  168. if templ_7745c5c3_Err != nil {
  169. return templ_7745c5c3_Err
  170. }
  171. var templ_7745c5c3_Var9 string
  172. templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.ResolveAttributeValue(loc.Id)
  173. if templ_7745c5c3_Err != nil {
  174. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 55, Col: 30}
  175. }
  176. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var9)
  177. if templ_7745c5c3_Err != nil {
  178. return templ_7745c5c3_Err
  179. }
  180. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "\">")
  181. if templ_7745c5c3_Err != nil {
  182. return templ_7745c5c3_Err
  183. }
  184. var templ_7745c5c3_Var10 string
  185. templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(loc.GetString("name"))
  186. if templ_7745c5c3_Err != nil {
  187. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 55, Col: 56}
  188. }
  189. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
  190. if templ_7745c5c3_Err != nil {
  191. return templ_7745c5c3_Err
  192. }
  193. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, "</option>")
  194. if templ_7745c5c3_Err != nil {
  195. return templ_7745c5c3_Err
  196. }
  197. }
  198. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, "</select></div></div></div><div class=\"field\"><label class=\"label\">Notes</label><div class=\"control\"><textarea class=\"textarea\" name=\"notes\" rows=\"2\"></textarea></div></div><div class=\"field mt-4\"><div class=\"control\"><button class=\"button is-primary\" type=\"submit\">Create Jam</button> <a class=\"button ml-2\" href=\"/jams\">Cancel</a></div></div></form>")
  199. if templ_7745c5c3_Err != nil {
  200. return templ_7745c5c3_Err
  201. }
  202. return nil
  203. })
  204. templ_7745c5c3_Err = Layout("New Jam").Render(templ.WithChildren(ctx, templ_7745c5c3_Var8), templ_7745c5c3_Buffer)
  205. if templ_7745c5c3_Err != nil {
  206. return templ_7745c5c3_Err
  207. }
  208. return nil
  209. })
  210. }
  211. // SetlistRow is the view model for a single row in the setlist table.
  212. type SetlistRow struct {
  213. ID string
  214. Artist string
  215. Title string
  216. Played bool
  217. }
  218. // JamDetail renders a single jam and its setlist.
  219. func JamDetail(jam *core.Record, location *core.Record, rows []SetlistRow) templ.Component {
  220. return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  221. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  222. if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
  223. return templ_7745c5c3_CtxErr
  224. }
  225. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  226. if !templ_7745c5c3_IsBuffer {
  227. defer func() {
  228. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  229. if templ_7745c5c3_Err == nil {
  230. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  231. }
  232. }()
  233. }
  234. ctx = templ.InitializeContext(ctx)
  235. templ_7745c5c3_Var11 := templ.GetChildren(ctx)
  236. if templ_7745c5c3_Var11 == nil {
  237. templ_7745c5c3_Var11 = templ.NopComponent
  238. }
  239. ctx = templ.ClearChildren(ctx)
  240. templ_7745c5c3_Var12 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  241. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  242. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  243. if !templ_7745c5c3_IsBuffer {
  244. defer func() {
  245. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  246. if templ_7745c5c3_Err == nil {
  247. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  248. }
  249. }()
  250. }
  251. ctx = templ.InitializeContext(ctx)
  252. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, "<div class=\"level\"><div class=\"level-left\"><h1 class=\"title\">")
  253. if templ_7745c5c3_Err != nil {
  254. return templ_7745c5c3_Err
  255. }
  256. var templ_7745c5c3_Var13 string
  257. templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinStringErrs(dateOnly(jam.GetString("date")))
  258. if templ_7745c5c3_Err != nil {
  259. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 90, Col: 55}
  260. }
  261. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
  262. if templ_7745c5c3_Err != nil {
  263. return templ_7745c5c3_Err
  264. }
  265. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, " — <a href=\"")
  266. if templ_7745c5c3_Err != nil {
  267. return templ_7745c5c3_Err
  268. }
  269. var templ_7745c5c3_Var14 templ.SafeURL
  270. templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL("/locations/" + location.Id))
  271. if templ_7745c5c3_Err != nil {
  272. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 90, Col: 114}
  273. }
  274. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
  275. if templ_7745c5c3_Err != nil {
  276. return templ_7745c5c3_Err
  277. }
  278. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "\">")
  279. if templ_7745c5c3_Err != nil {
  280. return templ_7745c5c3_Err
  281. }
  282. var templ_7745c5c3_Var15 string
  283. templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(location.GetString("name"))
  284. if templ_7745c5c3_Err != nil {
  285. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 90, Col: 145}
  286. }
  287. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
  288. if templ_7745c5c3_Err != nil {
  289. return templ_7745c5c3_Err
  290. }
  291. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "</a></h1></div></div><div class=\"columns\"><div class=\"column is-two-thirds\"><h2 class=\"subtitle\">Setlist</h2><table class=\"table is-fullwidth\" id=\"setlist\"><thead><tr><th>Artist</th><th>Title</th><th>Played</th><th></th></tr></thead> <tbody id=\"setlist-rows\">")
  292. if templ_7745c5c3_Err != nil {
  293. return templ_7745c5c3_Err
  294. }
  295. for _, row := range rows {
  296. templ_7745c5c3_Err = SetlistRowFrag(jam.Id, row).Render(ctx, templ_7745c5c3_Buffer)
  297. if templ_7745c5c3_Err != nil {
  298. return templ_7745c5c3_Err
  299. }
  300. }
  301. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "</tbody></table><div class=\"mt-4\" id=\"song-add-form\">")
  302. if templ_7745c5c3_Err != nil {
  303. return templ_7745c5c3_Err
  304. }
  305. templ_7745c5c3_Err = SongAddForm(jam.Id).Render(ctx, templ_7745c5c3_Buffer)
  306. if templ_7745c5c3_Err != nil {
  307. return templ_7745c5c3_Err
  308. }
  309. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "</div></div><div class=\"column\">")
  310. if templ_7745c5c3_Err != nil {
  311. return templ_7745c5c3_Err
  312. }
  313. if jam.GetString("notes") != "" {
  314. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "<p><strong>Notes:</strong> ")
  315. if templ_7745c5c3_Err != nil {
  316. return templ_7745c5c3_Err
  317. }
  318. var templ_7745c5c3_Var16 string
  319. templ_7745c5c3_Var16, templ_7745c5c3_Err = templ.JoinStringErrs(jam.GetString("notes"))
  320. if templ_7745c5c3_Err != nil {
  321. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 112, Col: 56}
  322. }
  323. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var16))
  324. if templ_7745c5c3_Err != nil {
  325. return templ_7745c5c3_Err
  326. }
  327. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, "</p>")
  328. if templ_7745c5c3_Err != nil {
  329. return templ_7745c5c3_Err
  330. }
  331. }
  332. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "</div></div>")
  333. if templ_7745c5c3_Err != nil {
  334. return templ_7745c5c3_Err
  335. }
  336. return nil
  337. })
  338. templ_7745c5c3_Err = Layout("Jam — "+dateOnly(jam.GetString("date"))).Render(templ.WithChildren(ctx, templ_7745c5c3_Var12), templ_7745c5c3_Buffer)
  339. if templ_7745c5c3_Err != nil {
  340. return templ_7745c5c3_Err
  341. }
  342. return nil
  343. })
  344. }
  345. // SetlistRowFrag renders a single setlist row (used for HTMX swap).
  346. func SetlistRowFrag(jamID string, row SetlistRow) templ.Component {
  347. return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  348. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  349. if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
  350. return templ_7745c5c3_CtxErr
  351. }
  352. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  353. if !templ_7745c5c3_IsBuffer {
  354. defer func() {
  355. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  356. if templ_7745c5c3_Err == nil {
  357. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  358. }
  359. }()
  360. }
  361. ctx = templ.InitializeContext(ctx)
  362. templ_7745c5c3_Var17 := templ.GetChildren(ctx)
  363. if templ_7745c5c3_Var17 == nil {
  364. templ_7745c5c3_Var17 = templ.NopComponent
  365. }
  366. ctx = templ.ClearChildren(ctx)
  367. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "<tr id=\"")
  368. if templ_7745c5c3_Err != nil {
  369. return templ_7745c5c3_Err
  370. }
  371. var templ_7745c5c3_Var18 string
  372. templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.ResolveAttributeValue("row-" + row.ID)
  373. if templ_7745c5c3_Err != nil {
  374. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 121, Col: 25}
  375. }
  376. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var18)
  377. if templ_7745c5c3_Err != nil {
  378. return templ_7745c5c3_Err
  379. }
  380. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "\"><td>")
  381. if templ_7745c5c3_Err != nil {
  382. return templ_7745c5c3_Err
  383. }
  384. var templ_7745c5c3_Var19 string
  385. templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(row.Artist)
  386. if templ_7745c5c3_Err != nil {
  387. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 122, Col: 18}
  388. }
  389. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
  390. if templ_7745c5c3_Err != nil {
  391. return templ_7745c5c3_Err
  392. }
  393. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, "</td><td>")
  394. if templ_7745c5c3_Err != nil {
  395. return templ_7745c5c3_Err
  396. }
  397. var templ_7745c5c3_Var20 string
  398. templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(row.Title)
  399. if templ_7745c5c3_Err != nil {
  400. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 123, Col: 17}
  401. }
  402. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
  403. if templ_7745c5c3_Err != nil {
  404. return templ_7745c5c3_Err
  405. }
  406. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "</td><td><input type=\"checkbox\"")
  407. if templ_7745c5c3_Err != nil {
  408. return templ_7745c5c3_Err
  409. }
  410. if row.Played {
  411. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, " checked")
  412. if templ_7745c5c3_Err != nil {
  413. return templ_7745c5c3_Err
  414. }
  415. }
  416. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, " hx-patch=\"")
  417. if templ_7745c5c3_Err != nil {
  418. return templ_7745c5c3_Err
  419. }
  420. var templ_7745c5c3_Var21 string
  421. templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.ResolveAttributeValue("/setlist/" + row.ID + "/played")
  422. if templ_7745c5c3_Err != nil {
  423. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 130, Col: 47}
  424. }
  425. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var21)
  426. if templ_7745c5c3_Err != nil {
  427. return templ_7745c5c3_Err
  428. }
  429. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "\" hx-target=\"")
  430. if templ_7745c5c3_Err != nil {
  431. return templ_7745c5c3_Err
  432. }
  433. var templ_7745c5c3_Var22 string
  434. templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.ResolveAttributeValue("#row-" + row.ID)
  435. if templ_7745c5c3_Err != nil {
  436. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 131, Col: 32}
  437. }
  438. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var22)
  439. if templ_7745c5c3_Err != nil {
  440. return templ_7745c5c3_Err
  441. }
  442. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, "\" hx-swap=\"outerHTML\"></td><td><button class=\"button is-small is-ghost\" hx-get=\"")
  443. if templ_7745c5c3_Err != nil {
  444. return templ_7745c5c3_Err
  445. }
  446. var templ_7745c5c3_Var23 string
  447. templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.ResolveAttributeValue("/setlist/" + row.ID + "/edit")
  448. if templ_7745c5c3_Err != nil {
  449. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 138, Col: 43}
  450. }
  451. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var23)
  452. if templ_7745c5c3_Err != nil {
  453. return templ_7745c5c3_Err
  454. }
  455. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "\" hx-target=\"")
  456. if templ_7745c5c3_Err != nil {
  457. return templ_7745c5c3_Err
  458. }
  459. var templ_7745c5c3_Var24 string
  460. templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.ResolveAttributeValue("#row-" + row.ID)
  461. if templ_7745c5c3_Err != nil {
  462. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 139, Col: 32}
  463. }
  464. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var24)
  465. if templ_7745c5c3_Err != nil {
  466. return templ_7745c5c3_Err
  467. }
  468. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "\" hx-swap=\"outerHTML\">✎</button> <button class=\"delete\" hx-delete=\"")
  469. if templ_7745c5c3_Err != nil {
  470. return templ_7745c5c3_Err
  471. }
  472. var templ_7745c5c3_Var25 string
  473. templ_7745c5c3_Var25, templ_7745c5c3_Err = templ.ResolveAttributeValue("/setlist/" + row.ID)
  474. if templ_7745c5c3_Err != nil {
  475. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 144, Col: 36}
  476. }
  477. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var25)
  478. if templ_7745c5c3_Err != nil {
  479. return templ_7745c5c3_Err
  480. }
  481. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "\" hx-target=\"")
  482. if templ_7745c5c3_Err != nil {
  483. return templ_7745c5c3_Err
  484. }
  485. var templ_7745c5c3_Var26 string
  486. templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.ResolveAttributeValue("#row-" + row.ID)
  487. if templ_7745c5c3_Err != nil {
  488. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 145, Col: 32}
  489. }
  490. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var26)
  491. if templ_7745c5c3_Err != nil {
  492. return templ_7745c5c3_Err
  493. }
  494. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "\" hx-swap=\"outerHTML\" hx-confirm=\"Remove this song from the setlist?\"></button></td></tr>")
  495. if templ_7745c5c3_Err != nil {
  496. return templ_7745c5c3_Err
  497. }
  498. return nil
  499. })
  500. }
  501. // SetlistEditFrag renders a setlist row as an inline edit form.
  502. func SetlistEditFrag(row SetlistRow) templ.Component {
  503. return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  504. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  505. if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
  506. return templ_7745c5c3_CtxErr
  507. }
  508. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  509. if !templ_7745c5c3_IsBuffer {
  510. defer func() {
  511. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  512. if templ_7745c5c3_Err == nil {
  513. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  514. }
  515. }()
  516. }
  517. ctx = templ.InitializeContext(ctx)
  518. templ_7745c5c3_Var27 := templ.GetChildren(ctx)
  519. if templ_7745c5c3_Var27 == nil {
  520. templ_7745c5c3_Var27 = templ.NopComponent
  521. }
  522. ctx = templ.ClearChildren(ctx)
  523. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "<tr id=\"")
  524. if templ_7745c5c3_Err != nil {
  525. return templ_7745c5c3_Err
  526. }
  527. var templ_7745c5c3_Var28 string
  528. templ_7745c5c3_Var28, templ_7745c5c3_Err = templ.ResolveAttributeValue("row-" + row.ID)
  529. if templ_7745c5c3_Err != nil {
  530. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 155, Col: 25}
  531. }
  532. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var28)
  533. if templ_7745c5c3_Err != nil {
  534. return templ_7745c5c3_Err
  535. }
  536. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "\"><td><input class=\"input is-small\" type=\"text\" name=\"artist\" value=\"")
  537. if templ_7745c5c3_Err != nil {
  538. return templ_7745c5c3_Err
  539. }
  540. var templ_7745c5c3_Var29 string
  541. templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.ResolveAttributeValue(row.Artist)
  542. if templ_7745c5c3_Err != nil {
  543. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 156, Col: 80}
  544. }
  545. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var29)
  546. if templ_7745c5c3_Err != nil {
  547. return templ_7745c5c3_Err
  548. }
  549. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "\" required></td><td><input class=\"input is-small\" type=\"text\" name=\"title\" value=\"")
  550. if templ_7745c5c3_Err != nil {
  551. return templ_7745c5c3_Err
  552. }
  553. var templ_7745c5c3_Var30 string
  554. templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.ResolveAttributeValue(row.Title)
  555. if templ_7745c5c3_Err != nil {
  556. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 157, Col: 78}
  557. }
  558. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var30)
  559. if templ_7745c5c3_Err != nil {
  560. return templ_7745c5c3_Err
  561. }
  562. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "\" required></td><td><input type=\"checkbox\" name=\"played\"")
  563. if templ_7745c5c3_Err != nil {
  564. return templ_7745c5c3_Err
  565. }
  566. if row.Played {
  567. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, " checked")
  568. if templ_7745c5c3_Err != nil {
  569. return templ_7745c5c3_Err
  570. }
  571. }
  572. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "></td><td><button class=\"button is-small is-primary mr-1\" hx-patch=\"")
  573. if templ_7745c5c3_Err != nil {
  574. return templ_7745c5c3_Err
  575. }
  576. var templ_7745c5c3_Var31 string
  577. templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.ResolveAttributeValue("/setlist/" + row.ID)
  578. if templ_7745c5c3_Err != nil {
  579. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 170, Col: 35}
  580. }
  581. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var31)
  582. if templ_7745c5c3_Err != nil {
  583. return templ_7745c5c3_Err
  584. }
  585. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "\" hx-include=\"closest tr\" hx-target=\"")
  586. if templ_7745c5c3_Err != nil {
  587. return templ_7745c5c3_Err
  588. }
  589. var templ_7745c5c3_Var32 string
  590. templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.ResolveAttributeValue("#row-" + row.ID)
  591. if templ_7745c5c3_Err != nil {
  592. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 172, Col: 32}
  593. }
  594. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var32)
  595. if templ_7745c5c3_Err != nil {
  596. return templ_7745c5c3_Err
  597. }
  598. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "\" hx-swap=\"outerHTML\">Save</button> <button class=\"button is-small\" hx-get=\"")
  599. if templ_7745c5c3_Err != nil {
  600. return templ_7745c5c3_Err
  601. }
  602. var templ_7745c5c3_Var33 string
  603. templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.ResolveAttributeValue("/setlist/" + row.ID + "/view")
  604. if templ_7745c5c3_Err != nil {
  605. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 177, Col: 43}
  606. }
  607. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var33)
  608. if templ_7745c5c3_Err != nil {
  609. return templ_7745c5c3_Err
  610. }
  611. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "\" hx-target=\"")
  612. if templ_7745c5c3_Err != nil {
  613. return templ_7745c5c3_Err
  614. }
  615. var templ_7745c5c3_Var34 string
  616. templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.ResolveAttributeValue("#row-" + row.ID)
  617. if templ_7745c5c3_Err != nil {
  618. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 178, Col: 32}
  619. }
  620. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var34)
  621. if templ_7745c5c3_Err != nil {
  622. return templ_7745c5c3_Err
  623. }
  624. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "\" hx-swap=\"outerHTML\">Cancel</button></td></tr>")
  625. if templ_7745c5c3_Err != nil {
  626. return templ_7745c5c3_Err
  627. }
  628. return nil
  629. })
  630. }
  631. // SongAddForm renders the add-song form for a jam. Artist has a typeahead
  632. // datalist (suggestions only; free-form text is always accepted).
  633. func SongAddForm(jamID string) templ.Component {
  634. return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  635. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  636. if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
  637. return templ_7745c5c3_CtxErr
  638. }
  639. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  640. if !templ_7745c5c3_IsBuffer {
  641. defer func() {
  642. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  643. if templ_7745c5c3_Err == nil {
  644. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  645. }
  646. }()
  647. }
  648. ctx = templ.InitializeContext(ctx)
  649. templ_7745c5c3_Var35 := templ.GetChildren(ctx)
  650. if templ_7745c5c3_Var35 == nil {
  651. templ_7745c5c3_Var35 = templ.NopComponent
  652. }
  653. ctx = templ.ClearChildren(ctx)
  654. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "<form hx-post=\"")
  655. if templ_7745c5c3_Err != nil {
  656. return templ_7745c5c3_Err
  657. }
  658. var templ_7745c5c3_Var36 string
  659. templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.ResolveAttributeValue("/jams/" + jamID + "/songs")
  660. if templ_7745c5c3_Err != nil {
  661. return templ.Error{Err: templ_7745c5c3_Err, FileName: `views/jams.templ`, Line: 189, Col: 39}
  662. }
  663. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ_7745c5c3_Var36)
  664. if templ_7745c5c3_Err != nil {
  665. return templ_7745c5c3_Err
  666. }
  667. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "\" hx-target=\"#setlist-rows\" hx-swap=\"beforeend\" hx-on--after-request=\"if(event.detail.requestConfig.verb==='post') { this.reset(); const a=this.querySelector('[name=artist]'); setTimeout(()=>{a.focus();a.scrollIntoView({behavior:'smooth',block:'nearest'});},0); }\"><div class=\"field has-addons\"><div class=\"control is-expanded\"><input class=\"input\" type=\"text\" name=\"artist\" placeholder=\"Artist\" list=\"song-artist-list\" hx-get=\"/songs/search\" hx-trigger=\"input changed delay:300ms, change from:[name=title]\" hx-target=\"#song-artist-list\" hx-swap=\"innerHTML\" hx-include=\"[name=title]\" autocomplete=\"off\" required> <datalist id=\"song-artist-list\"></datalist></div><div class=\"control is-expanded\"><input class=\"input\" type=\"text\" name=\"title\" placeholder=\"Title\" list=\"song-title-list\" hx-get=\"/songs/search\" hx-vals='{\"field\":\"title\"}' hx-trigger=\"input changed delay:300ms, change from:[name=artist]\" hx-target=\"#song-title-list\" hx-swap=\"innerHTML\" hx-include=\"[name=artist]\" autocomplete=\"off\" required> <datalist id=\"song-title-list\"></datalist></div><div class=\"control\"><label class=\"checkbox\" style=\"padding: 0.5em 0.75em\"><input type=\"checkbox\" name=\"played\"> Played</label></div><div class=\"control\"><button class=\"button is-link\" type=\"submit\">Add</button></div></div></form>")
  668. if templ_7745c5c3_Err != nil {
  669. return templ_7745c5c3_Err
  670. }
  671. return nil
  672. })
  673. }
  674. var _ = templruntime.GeneratedTemplate
PANIC: session(release): write data/sessions/2/6/26706cf4f2eb5f08: no space left on device

PANIC

session(release): write data/sessions/2/6/26706cf4f2eb5f08: no space left on device
/my/cache/.heroku/go/go-path/pkg/mod/github.com/go-macaron/session@v1.0.3/session.go:204 (0xb13e07)
/my/cache/.heroku/go/go-path/pkg/mod/gopkg.in/macaron.v1@v1.5.1/context.go:80 (0x967b75)
/my/cache/.heroku/go/go-path/pkg/mod/github.com/go-macaron/inject@v0.0.0-20200308113650-138e5925c53b/inject.go:157 (0x9512ee)
/my/cache/.heroku/go/go-path/pkg/mod/github.com/go-macaron/inject@v0.0.0-20200308113650-138e5925c53b/inject.go:135 (0x951205)
/my/cache/.heroku/go/go-path/pkg/mod/gopkg.in/macaron.v1@v1.5.1/context.go:124 (0x967cc4)
/my/cache/.heroku/go/go-path/pkg/mod/gopkg.in/macaron.v1@v1.5.1/context.go:114 (0x967bf6)
/my/cache/.heroku/go/go-path/pkg/mod/gopkg.in/macaron.v1@v1.5.1/recovery.go:161 (0x15baec4)
/my/cache/.heroku/go/go-path/pkg/mod/gopkg.in/macaron.v1@v1.5.1/logger.go:40 (0x96b257)
/my/cache/.heroku/go/go-path/pkg/mod/github.com/go-macaron/inject@v0.0.0-20200308113650-138e5925c53b/inject.go:157 (0x9512ee)
/my/cache/.heroku/go/go-path/pkg/mod/github.com/go-macaron/inject@v0.0.0-20200308113650-138e5925c53b/inject.go:135 (0x951205)
/my/cache/.heroku/go/go-path/pkg/mod/gopkg.in/macaron.v1@v1.5.1/context.go:124 (0x967cc4)
/my/cache/.heroku/go/go-path/pkg/mod/gopkg.in/macaron.v1@v1.5.1/router.go:187 (0x972959)
/my/cache/.heroku/go/go-path/pkg/mod/gopkg.in/macaron.v1@v1.5.1/router.go:304 (0x973a01)
/my/cache/.heroku/go/go-path/pkg/mod/gopkg.in/macaron.v1@v1.5.1/macaron.go:218 (0x96c572)
/my/cache/.heroku/go/go1.26.3/go/src/net/http/server.go:3311 (0x85a5cd)
/my/cache/.heroku/go/go1.26.3/go/src/net/http/server.go:2073 (0x837f6f)
/my/cache/.heroku/go/go1.26.3/go/src/runtime/asm_amd64.s:1771 (0x493380)