index_templ.go 32 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703
  1. // Code generated by templ - DO NOT EDIT.
  2. // templ: version: v0.3.960
  3. package web
  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 (
  8. "fmt"
  9. "github.com/TecharoHQ/anubis"
  10. "github.com/TecharoHQ/anubis/lib/config"
  11. "github.com/TecharoHQ/anubis/lib/localization"
  12. "github.com/TecharoHQ/anubis/xess"
  13. "github.com/google/uuid"
  14. )
  15. func base(title string, body templ.Component, impressum *config.Impressum, challenge any, ogTags map[string]string, localizer *localization.SimpleLocalizer) templ.Component {
  16. return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  17. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  18. if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
  19. return templ_7745c5c3_CtxErr
  20. }
  21. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  22. if !templ_7745c5c3_IsBuffer {
  23. defer func() {
  24. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  25. if templ_7745c5c3_Err == nil {
  26. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  27. }
  28. }()
  29. }
  30. ctx = templ.InitializeContext(ctx)
  31. templ_7745c5c3_Var1 := templ.GetChildren(ctx)
  32. if templ_7745c5c3_Var1 == nil {
  33. templ_7745c5c3_Var1 = templ.NopComponent
  34. }
  35. ctx = templ.ClearChildren(ctx)
  36. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 1, "<!doctype html><html lang=\"")
  37. if templ_7745c5c3_Err != nil {
  38. return templ_7745c5c3_Err
  39. }
  40. var templ_7745c5c3_Var2 string
  41. templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.GetLang())
  42. if templ_7745c5c3_Err != nil {
  43. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 14, Col: 33}
  44. }
  45. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
  46. if templ_7745c5c3_Err != nil {
  47. return templ_7745c5c3_Err
  48. }
  49. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 2, "\"><head><title>")
  50. if templ_7745c5c3_Err != nil {
  51. return templ_7745c5c3_Err
  52. }
  53. var templ_7745c5c3_Var3 string
  54. templ_7745c5c3_Var3, templ_7745c5c3_Err = templ.JoinStringErrs(title)
  55. if templ_7745c5c3_Err != nil {
  56. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 16, Col: 17}
  57. }
  58. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var3))
  59. if templ_7745c5c3_Err != nil {
  60. return templ_7745c5c3_Err
  61. }
  62. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 3, "</title><link rel=\"stylesheet\" href=\"")
  63. if templ_7745c5c3_Err != nil {
  64. return templ_7745c5c3_Err
  65. }
  66. var templ_7745c5c3_Var4 templ.SafeURL
  67. templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinURLErrs(anubis.BasePrefix + xess.URL)
  68. if templ_7745c5c3_Err != nil {
  69. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 17, Col: 61}
  70. }
  71. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
  72. if templ_7745c5c3_Err != nil {
  73. return templ_7745c5c3_Err
  74. }
  75. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 4, "\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><meta name=\"robots\" content=\"noindex,nofollow\">")
  76. if templ_7745c5c3_Err != nil {
  77. return templ_7745c5c3_Err
  78. }
  79. for key, value := range ogTags {
  80. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 5, "<meta property=\"")
  81. if templ_7745c5c3_Err != nil {
  82. return templ_7745c5c3_Err
  83. }
  84. var templ_7745c5c3_Var5 string
  85. templ_7745c5c3_Var5, templ_7745c5c3_Err = templ.JoinStringErrs(key)
  86. if templ_7745c5c3_Err != nil {
  87. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 21, Col: 24}
  88. }
  89. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var5))
  90. if templ_7745c5c3_Err != nil {
  91. return templ_7745c5c3_Err
  92. }
  93. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 6, "\" content=\"")
  94. if templ_7745c5c3_Err != nil {
  95. return templ_7745c5c3_Err
  96. }
  97. var templ_7745c5c3_Var6 string
  98. templ_7745c5c3_Var6, templ_7745c5c3_Err = templ.JoinStringErrs(value)
  99. if templ_7745c5c3_Err != nil {
  100. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 21, Col: 42}
  101. }
  102. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var6))
  103. if templ_7745c5c3_Err != nil {
  104. return templ_7745c5c3_Err
  105. }
  106. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 7, "\">")
  107. if templ_7745c5c3_Err != nil {
  108. return templ_7745c5c3_Err
  109. }
  110. }
  111. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 8, "<style>\n body,\n html {\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n margin-left: auto;\n margin-right: auto;\n }\n\n .centered-div {\n text-align: center;\n }\n\n #status {\n font-variant-numeric: tabular-nums;\n }\n\n #progress {\n display: none;\n width: 90%;\n width: min(20rem, 90%);\n height: 2rem;\n border-radius: 1rem;\n overflow: hidden;\n margin: 1rem 0 2rem;\n outline-offset: 2px;\n outline: #b16286 solid 4px;\n }\n\n .bar-inner {\n background-color: #b16286;\n height: 100%;\n width: 0;\n transition: width 0.25s ease-in;\n }\n \t</style>")
  112. if templ_7745c5c3_Err != nil {
  113. return templ_7745c5c3_Err
  114. }
  115. templ_7745c5c3_Err = templ.JSONScript("anubis_version", anubis.Version).Render(ctx, templ_7745c5c3_Buffer)
  116. if templ_7745c5c3_Err != nil {
  117. return templ_7745c5c3_Err
  118. }
  119. templ_7745c5c3_Err = templ.JSONScript("anubis_challenge", challenge).Render(ctx, templ_7745c5c3_Buffer)
  120. if templ_7745c5c3_Err != nil {
  121. return templ_7745c5c3_Err
  122. }
  123. templ_7745c5c3_Err = templ.JSONScript("anubis_base_prefix", anubis.BasePrefix).Render(ctx, templ_7745c5c3_Buffer)
  124. if templ_7745c5c3_Err != nil {
  125. return templ_7745c5c3_Err
  126. }
  127. templ_7745c5c3_Err = templ.JSONScript("anubis_public_url", anubis.PublicUrl).Render(ctx, templ_7745c5c3_Buffer)
  128. if templ_7745c5c3_Err != nil {
  129. return templ_7745c5c3_Err
  130. }
  131. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 9, "</head><body id=\"top\">")
  132. if templ_7745c5c3_Err != nil {
  133. return templ_7745c5c3_Err
  134. }
  135. templ_7745c5c3_Err = honeypotLink(anubis.BasePrefix+fmt.Sprintf("%shoneypot/%s/init", anubis.APIPrefix, uuid.NewString())).Render(ctx, templ_7745c5c3_Buffer)
  136. if templ_7745c5c3_Err != nil {
  137. return templ_7745c5c3_Err
  138. }
  139. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 10, "<main><h1 id=\"title\" class=\"centered-div\">")
  140. if templ_7745c5c3_Err != nil {
  141. return templ_7745c5c3_Err
  142. }
  143. var templ_7745c5c3_Var7 string
  144. templ_7745c5c3_Var7, templ_7745c5c3_Err = templ.JoinStringErrs(title)
  145. if templ_7745c5c3_Err != nil {
  146. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 69, Col: 47}
  147. }
  148. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var7))
  149. if templ_7745c5c3_Err != nil {
  150. return templ_7745c5c3_Err
  151. }
  152. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 11, "</h1>")
  153. if templ_7745c5c3_Err != nil {
  154. return templ_7745c5c3_Err
  155. }
  156. templ_7745c5c3_Err = body.Render(ctx, templ_7745c5c3_Buffer)
  157. if templ_7745c5c3_Err != nil {
  158. return templ_7745c5c3_Err
  159. }
  160. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 12, "<footer><div class=\"centered-div\"><p>")
  161. if templ_7745c5c3_Err != nil {
  162. return templ_7745c5c3_Err
  163. }
  164. var templ_7745c5c3_Var8 string
  165. templ_7745c5c3_Var8, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("protected_by"))
  166. if templ_7745c5c3_Err != nil {
  167. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 74, Col: 36}
  168. }
  169. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var8))
  170. if templ_7745c5c3_Err != nil {
  171. return templ_7745c5c3_Err
  172. }
  173. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 13, " <a href=\"https://github.com/TecharoHQ/anubis\">Anubis</a> ")
  174. if templ_7745c5c3_Err != nil {
  175. return templ_7745c5c3_Err
  176. }
  177. var templ_7745c5c3_Var9 string
  178. templ_7745c5c3_Var9, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("protected_from"))
  179. if templ_7745c5c3_Err != nil {
  180. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 74, Col: 127}
  181. }
  182. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var9))
  183. if templ_7745c5c3_Err != nil {
  184. return templ_7745c5c3_Err
  185. }
  186. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 14, " <a href=\"https://techaro.lol\">Techaro</a>. ")
  187. if templ_7745c5c3_Err != nil {
  188. return templ_7745c5c3_Err
  189. }
  190. var templ_7745c5c3_Var10 string
  191. templ_7745c5c3_Var10, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("made_with"))
  192. if templ_7745c5c3_Err != nil {
  193. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 76, Col: 40}
  194. }
  195. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var10))
  196. if templ_7745c5c3_Err != nil {
  197. return templ_7745c5c3_Err
  198. }
  199. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 15, ".</p><p>")
  200. if templ_7745c5c3_Err != nil {
  201. return templ_7745c5c3_Err
  202. }
  203. var templ_7745c5c3_Var11 string
  204. templ_7745c5c3_Var11, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("mascot_design"))
  205. if templ_7745c5c3_Err != nil {
  206. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 78, Col: 39}
  207. }
  208. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var11))
  209. if templ_7745c5c3_Err != nil {
  210. return templ_7745c5c3_Err
  211. }
  212. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 16, " <a href=\"https://bsky.app/profile/celphase.bsky.social\">")
  213. if templ_7745c5c3_Err != nil {
  214. return templ_7745c5c3_Err
  215. }
  216. var templ_7745c5c3_Var12 string
  217. templ_7745c5c3_Var12, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("celphase"))
  218. if templ_7745c5c3_Err != nil {
  219. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 78, Col: 123}
  220. }
  221. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var12))
  222. if templ_7745c5c3_Err != nil {
  223. return templ_7745c5c3_Err
  224. }
  225. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 17, "</a>.</p>")
  226. if templ_7745c5c3_Err != nil {
  227. return templ_7745c5c3_Err
  228. }
  229. if impressum != nil {
  230. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 18, "<p>")
  231. if templ_7745c5c3_Err != nil {
  232. return templ_7745c5c3_Err
  233. }
  234. templ_7745c5c3_Err = templ.Raw(impressum.Footer).Render(ctx, templ_7745c5c3_Buffer)
  235. if templ_7745c5c3_Err != nil {
  236. return templ_7745c5c3_Err
  237. }
  238. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 19, "-- <a href=\"")
  239. if templ_7745c5c3_Err != nil {
  240. return templ_7745c5c3_Err
  241. }
  242. var templ_7745c5c3_Var13 templ.SafeURL
  243. templ_7745c5c3_Var13, templ_7745c5c3_Err = templ.JoinURLErrs(templ.SafeURL(anubis.BasePrefix + fmt.Sprintf("%simprint", anubis.APIPrefix)))
  244. if templ_7745c5c3_Err != nil {
  245. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 82, Col: 98}
  246. }
  247. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var13))
  248. if templ_7745c5c3_Err != nil {
  249. return templ_7745c5c3_Err
  250. }
  251. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 20, "\">Imprint</a></p>")
  252. if templ_7745c5c3_Err != nil {
  253. return templ_7745c5c3_Err
  254. }
  255. }
  256. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 21, "<p>")
  257. if templ_7745c5c3_Err != nil {
  258. return templ_7745c5c3_Err
  259. }
  260. var templ_7745c5c3_Var14 string
  261. templ_7745c5c3_Var14, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("version_info"))
  262. if templ_7745c5c3_Err != nil {
  263. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 85, Col: 38}
  264. }
  265. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var14))
  266. if templ_7745c5c3_Err != nil {
  267. return templ_7745c5c3_Err
  268. }
  269. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 22, " <code>")
  270. if templ_7745c5c3_Err != nil {
  271. return templ_7745c5c3_Err
  272. }
  273. var templ_7745c5c3_Var15 string
  274. templ_7745c5c3_Var15, templ_7745c5c3_Err = templ.JoinStringErrs(anubis.Version)
  275. if templ_7745c5c3_Err != nil {
  276. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 85, Col: 63}
  277. }
  278. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var15))
  279. if templ_7745c5c3_Err != nil {
  280. return templ_7745c5c3_Err
  281. }
  282. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 23, "</code>.</p></div></footer></main></body></html>")
  283. if templ_7745c5c3_Err != nil {
  284. return templ_7745c5c3_Err
  285. }
  286. return nil
  287. })
  288. }
  289. func errorPage(message, mail, code string, localizer *localization.SimpleLocalizer) templ.Component {
  290. return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  291. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  292. if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
  293. return templ_7745c5c3_CtxErr
  294. }
  295. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  296. if !templ_7745c5c3_IsBuffer {
  297. defer func() {
  298. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  299. if templ_7745c5c3_Err == nil {
  300. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  301. }
  302. }()
  303. }
  304. ctx = templ.InitializeContext(ctx)
  305. templ_7745c5c3_Var16 := templ.GetChildren(ctx)
  306. if templ_7745c5c3_Var16 == nil {
  307. templ_7745c5c3_Var16 = templ.NopComponent
  308. }
  309. ctx = templ.ClearChildren(ctx)
  310. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 24, "<div class=\"centered-div\"><img id=\"image\" alt=\"Sad Anubis\" style=\"width:100%;max-width:256px;\" src=\"")
  311. if templ_7745c5c3_Err != nil {
  312. return templ_7745c5c3_Err
  313. }
  314. var templ_7745c5c3_Var17 string
  315. templ_7745c5c3_Var17, templ_7745c5c3_Err = templ.JoinStringErrs(anubis.BasePrefix + "/.within.website/x/cmd/anubis/static/img/reject.webp?cacheBuster=" + anubis.Version)
  316. if templ_7745c5c3_Err != nil {
  317. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 95, Col: 181}
  318. }
  319. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var17))
  320. if templ_7745c5c3_Err != nil {
  321. return templ_7745c5c3_Err
  322. }
  323. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 25, "\"><p>")
  324. if templ_7745c5c3_Err != nil {
  325. return templ_7745c5c3_Err
  326. }
  327. var templ_7745c5c3_Var18 string
  328. templ_7745c5c3_Var18, templ_7745c5c3_Err = templ.JoinStringErrs(message)
  329. if templ_7745c5c3_Err != nil {
  330. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 96, Col: 14}
  331. }
  332. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var18))
  333. if templ_7745c5c3_Err != nil {
  334. return templ_7745c5c3_Err
  335. }
  336. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 26, ".</p>")
  337. if templ_7745c5c3_Err != nil {
  338. return templ_7745c5c3_Err
  339. }
  340. if code != "" {
  341. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 27, "<code><pre>")
  342. if templ_7745c5c3_Err != nil {
  343. return templ_7745c5c3_Err
  344. }
  345. var templ_7745c5c3_Var19 string
  346. templ_7745c5c3_Var19, templ_7745c5c3_Err = templ.JoinStringErrs(code)
  347. if templ_7745c5c3_Err != nil {
  348. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 98, Col: 20}
  349. }
  350. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var19))
  351. if templ_7745c5c3_Err != nil {
  352. return templ_7745c5c3_Err
  353. }
  354. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 28, "</pre></code> ")
  355. if templ_7745c5c3_Err != nil {
  356. return templ_7745c5c3_Err
  357. }
  358. }
  359. if mail != "" {
  360. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 29, "<p><a href=\"/\">")
  361. if templ_7745c5c3_Err != nil {
  362. return templ_7745c5c3_Err
  363. }
  364. var templ_7745c5c3_Var20 string
  365. templ_7745c5c3_Var20, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("go_home"))
  366. if templ_7745c5c3_Err != nil {
  367. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 102, Col: 40}
  368. }
  369. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var20))
  370. if templ_7745c5c3_Err != nil {
  371. return templ_7745c5c3_Err
  372. }
  373. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 30, "</a> ")
  374. if templ_7745c5c3_Err != nil {
  375. return templ_7745c5c3_Err
  376. }
  377. var templ_7745c5c3_Var21 string
  378. templ_7745c5c3_Var21, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("contact_webmaster"))
  379. if templ_7745c5c3_Err != nil {
  380. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 102, Col: 81}
  381. }
  382. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var21))
  383. if templ_7745c5c3_Err != nil {
  384. return templ_7745c5c3_Err
  385. }
  386. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 31, " <a href=\"")
  387. if templ_7745c5c3_Err != nil {
  388. return templ_7745c5c3_Err
  389. }
  390. var templ_7745c5c3_Var22 templ.SafeURL
  391. templ_7745c5c3_Var22, templ_7745c5c3_Err = templ.JoinURLErrs("mailto:" + templ.SafeURL(mail))
  392. if templ_7745c5c3_Err != nil {
  393. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 103, Col: 45}
  394. }
  395. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var22))
  396. if templ_7745c5c3_Err != nil {
  397. return templ_7745c5c3_Err
  398. }
  399. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 32, "\">")
  400. if templ_7745c5c3_Err != nil {
  401. return templ_7745c5c3_Err
  402. }
  403. var templ_7745c5c3_Var23 string
  404. templ_7745c5c3_Var23, templ_7745c5c3_Err = templ.JoinStringErrs(mail)
  405. if templ_7745c5c3_Err != nil {
  406. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 104, Col: 11}
  407. }
  408. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var23))
  409. if templ_7745c5c3_Err != nil {
  410. return templ_7745c5c3_Err
  411. }
  412. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 33, "</a></p>")
  413. if templ_7745c5c3_Err != nil {
  414. return templ_7745c5c3_Err
  415. }
  416. } else {
  417. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 34, "<p><a href=\"/\">")
  418. if templ_7745c5c3_Err != nil {
  419. return templ_7745c5c3_Err
  420. }
  421. var templ_7745c5c3_Var24 string
  422. templ_7745c5c3_Var24, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("go_home"))
  423. if templ_7745c5c3_Err != nil {
  424. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 108, Col: 42}
  425. }
  426. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var24))
  427. if templ_7745c5c3_Err != nil {
  428. return templ_7745c5c3_Err
  429. }
  430. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 35, "</a></p>")
  431. if templ_7745c5c3_Err != nil {
  432. return templ_7745c5c3_Err
  433. }
  434. }
  435. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 36, "</div>")
  436. if templ_7745c5c3_Err != nil {
  437. return templ_7745c5c3_Err
  438. }
  439. return nil
  440. })
  441. }
  442. func StaticHappy(localizer *localization.SimpleLocalizer) templ.Component {
  443. return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  444. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  445. if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
  446. return templ_7745c5c3_CtxErr
  447. }
  448. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  449. if !templ_7745c5c3_IsBuffer {
  450. defer func() {
  451. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  452. if templ_7745c5c3_Err == nil {
  453. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  454. }
  455. }()
  456. }
  457. ctx = templ.InitializeContext(ctx)
  458. templ_7745c5c3_Var25 := templ.GetChildren(ctx)
  459. if templ_7745c5c3_Var25 == nil {
  460. templ_7745c5c3_Var25 = templ.NopComponent
  461. }
  462. ctx = templ.ClearChildren(ctx)
  463. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 37, "<div class=\"centered-div\"><img style=\"display:none;\" style=\"width:100%;max-width:256px;\" src=\"")
  464. if templ_7745c5c3_Err != nil {
  465. return templ_7745c5c3_Err
  466. }
  467. var templ_7745c5c3_Var26 string
  468. templ_7745c5c3_Var26, templ_7745c5c3_Err = templ.JoinStringErrs("/.within.website/x/cmd/anubis/static/img/happy.webp?cacheBuster=" +
  469. anubis.Version)
  470. if templ_7745c5c3_Err != nil {
  471. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 119, Col: 18}
  472. }
  473. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var26))
  474. if templ_7745c5c3_Err != nil {
  475. return templ_7745c5c3_Err
  476. }
  477. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 38, "\"><p>")
  478. if templ_7745c5c3_Err != nil {
  479. return templ_7745c5c3_Err
  480. }
  481. var templ_7745c5c3_Var27 string
  482. templ_7745c5c3_Var27, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("static_check_endpoint"))
  483. if templ_7745c5c3_Err != nil {
  484. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 121, Col: 43}
  485. }
  486. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var27))
  487. if templ_7745c5c3_Err != nil {
  488. return templ_7745c5c3_Err
  489. }
  490. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 39, "</p></div>")
  491. if templ_7745c5c3_Err != nil {
  492. return templ_7745c5c3_Err
  493. }
  494. return nil
  495. })
  496. }
  497. func bench(localizer *localization.SimpleLocalizer) templ.Component {
  498. return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
  499. templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
  500. if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
  501. return templ_7745c5c3_CtxErr
  502. }
  503. templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
  504. if !templ_7745c5c3_IsBuffer {
  505. defer func() {
  506. templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
  507. if templ_7745c5c3_Err == nil {
  508. templ_7745c5c3_Err = templ_7745c5c3_BufErr
  509. }
  510. }()
  511. }
  512. ctx = templ.InitializeContext(ctx)
  513. templ_7745c5c3_Var28 := templ.GetChildren(ctx)
  514. if templ_7745c5c3_Var28 == nil {
  515. templ_7745c5c3_Var28 = templ.NopComponent
  516. }
  517. ctx = templ.ClearChildren(ctx)
  518. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 40, "<div style=\"height:20rem;display:flex\"><table style=\"margin-top:1rem;display:grid;grid-template:auto 1fr/auto auto;gap:0 0.5rem\"><thead style=\"border-bottom:1px solid black;padding:0.25rem 0;display:grid;grid-template:1fr/subgrid;grid-column:1/-1\"><tr id=\"table-header\" style=\"display:contents\"><th style=\"width:4.5rem\">")
  519. if templ_7745c5c3_Err != nil {
  520. return templ_7745c5c3_Err
  521. }
  522. var templ_7745c5c3_Var29 string
  523. templ_7745c5c3_Var29, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("time"))
  524. if templ_7745c5c3_Err != nil {
  525. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 132, Col: 51}
  526. }
  527. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var29))
  528. if templ_7745c5c3_Err != nil {
  529. return templ_7745c5c3_Err
  530. }
  531. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 41, "</th><th style=\"width:4rem\">")
  532. if templ_7745c5c3_Err != nil {
  533. return templ_7745c5c3_Err
  534. }
  535. var templ_7745c5c3_Var30 string
  536. templ_7745c5c3_Var30, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("iters"))
  537. if templ_7745c5c3_Err != nil {
  538. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 133, Col: 50}
  539. }
  540. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var30))
  541. if templ_7745c5c3_Err != nil {
  542. return templ_7745c5c3_Err
  543. }
  544. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 42, "</th></tr><tr id=\"table-header-compare\" style=\"display:none\"><th style=\"width:4.5rem\">")
  545. if templ_7745c5c3_Err != nil {
  546. return templ_7745c5c3_Err
  547. }
  548. var templ_7745c5c3_Var31 string
  549. templ_7745c5c3_Var31, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("time_a"))
  550. if templ_7745c5c3_Err != nil {
  551. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 136, Col: 53}
  552. }
  553. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var31))
  554. if templ_7745c5c3_Err != nil {
  555. return templ_7745c5c3_Err
  556. }
  557. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 43, "</th><th style=\"width:4rem\">")
  558. if templ_7745c5c3_Err != nil {
  559. return templ_7745c5c3_Err
  560. }
  561. var templ_7745c5c3_Var32 string
  562. templ_7745c5c3_Var32, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("iters_a"))
  563. if templ_7745c5c3_Err != nil {
  564. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 137, Col: 52}
  565. }
  566. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var32))
  567. if templ_7745c5c3_Err != nil {
  568. return templ_7745c5c3_Err
  569. }
  570. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 44, "</th><th style=\"width:4.5rem\">")
  571. if templ_7745c5c3_Err != nil {
  572. return templ_7745c5c3_Err
  573. }
  574. var templ_7745c5c3_Var33 string
  575. templ_7745c5c3_Var33, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("time_b"))
  576. if templ_7745c5c3_Err != nil {
  577. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 138, Col: 53}
  578. }
  579. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var33))
  580. if templ_7745c5c3_Err != nil {
  581. return templ_7745c5c3_Err
  582. }
  583. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 45, "</th><th style=\"width:4rem\">")
  584. if templ_7745c5c3_Err != nil {
  585. return templ_7745c5c3_Err
  586. }
  587. var templ_7745c5c3_Var34 string
  588. templ_7745c5c3_Var34, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("iters_b"))
  589. if templ_7745c5c3_Err != nil {
  590. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 139, Col: 52}
  591. }
  592. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var34))
  593. if templ_7745c5c3_Err != nil {
  594. return templ_7745c5c3_Err
  595. }
  596. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 46, "</th></tr></thead> <tbody id=\"results\" style=\"padding-top:0.25rem;display:grid;grid-template-columns:subgrid;grid-auto-rows:min-content;grid-column:1/-1;row-gap:0.25rem;overflow-y:auto;font-variant-numeric:tabular-nums\"></tbody></table><div class=\"centered-div\"><img id=\"image\" style=\"width:100%;max-width:256px;\" src=\"")
  597. if templ_7745c5c3_Err != nil {
  598. return templ_7745c5c3_Err
  599. }
  600. var templ_7745c5c3_Var35 string
  601. templ_7745c5c3_Var35, templ_7745c5c3_Err = templ.JoinStringErrs(anubis.BasePrefix + "/.within.website/x/cmd/anubis/static/img/pensive.webp?cacheBuster=" + anubis.Version)
  602. if templ_7745c5c3_Err != nil {
  603. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 148, Col: 166}
  604. }
  605. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var35))
  606. if templ_7745c5c3_Err != nil {
  607. return templ_7745c5c3_Err
  608. }
  609. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 47, "\"><p id=\"status\" style=\"max-width:256px\">")
  610. if templ_7745c5c3_Err != nil {
  611. return templ_7745c5c3_Err
  612. }
  613. var templ_7745c5c3_Var36 string
  614. templ_7745c5c3_Var36, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("loading"))
  615. if templ_7745c5c3_Err != nil {
  616. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 149, Col: 66}
  617. }
  618. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var36))
  619. if templ_7745c5c3_Err != nil {
  620. return templ_7745c5c3_Err
  621. }
  622. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 48, "</p><script async type=\"module\" src=\"")
  623. if templ_7745c5c3_Err != nil {
  624. return templ_7745c5c3_Err
  625. }
  626. var templ_7745c5c3_Var37 string
  627. templ_7745c5c3_Var37, templ_7745c5c3_Err = templ.JoinStringErrs(anubis.BasePrefix + "/.within.website/x/cmd/anubis/static/js/bench.mjs?cacheBuster=" + anubis.Version)
  628. if templ_7745c5c3_Err != nil {
  629. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 150, Col: 138}
  630. }
  631. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var37))
  632. if templ_7745c5c3_Err != nil {
  633. return templ_7745c5c3_Err
  634. }
  635. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 49, "\"></script><div id=\"sparkline\"></div><noscript><p>")
  636. if templ_7745c5c3_Err != nil {
  637. return templ_7745c5c3_Err
  638. }
  639. var templ_7745c5c3_Var38 string
  640. templ_7745c5c3_Var38, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("benchmark_requires_js"))
  641. if templ_7745c5c3_Err != nil {
  642. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 153, Col: 45}
  643. }
  644. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var38))
  645. if templ_7745c5c3_Err != nil {
  646. return templ_7745c5c3_Err
  647. }
  648. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 50, "</p></noscript></div></div><form id=\"controls\" style=\"position:fixed;top:0.5rem;right:0.5rem\"><div style=\"display:flex;justify-content:end\"><label for=\"difficulty-input\" style=\"margin-right:0.5rem\">")
  649. if templ_7745c5c3_Err != nil {
  650. return templ_7745c5c3_Err
  651. }
  652. var templ_7745c5c3_Var39 string
  653. templ_7745c5c3_Var39, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("difficulty"))
  654. if templ_7745c5c3_Err != nil {
  655. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 159, Col: 88}
  656. }
  657. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var39))
  658. if templ_7745c5c3_Err != nil {
  659. return templ_7745c5c3_Err
  660. }
  661. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 51, "</label> <input id=\"difficulty-input\" type=\"number\" name=\"difficulty\" style=\"width:3rem\"></div><div style=\"margin-top:0.25rem;display:flex;justify-content:end\"><label for=\"algorithm-select\" style=\"margin-right:0.5rem\">")
  662. if templ_7745c5c3_Err != nil {
  663. return templ_7745c5c3_Err
  664. }
  665. var templ_7745c5c3_Var40 string
  666. templ_7745c5c3_Var40, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("algorithm"))
  667. if templ_7745c5c3_Err != nil {
  668. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 163, Col: 87}
  669. }
  670. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var40))
  671. if templ_7745c5c3_Err != nil {
  672. return templ_7745c5c3_Err
  673. }
  674. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 52, "</label> <select id=\"algorithm-select\" name=\"algorithm\"></select></div><div style=\"margin-top:0.25rem;display:flex;justify-content:end\"><label for=\"compare-select\" style=\"margin-right:0.5rem\">")
  675. if templ_7745c5c3_Err != nil {
  676. return templ_7745c5c3_Err
  677. }
  678. var templ_7745c5c3_Var41 string
  679. templ_7745c5c3_Var41, templ_7745c5c3_Err = templ.JoinStringErrs(localizer.T("compare"))
  680. if templ_7745c5c3_Err != nil {
  681. return templ.Error{Err: templ_7745c5c3_Err, FileName: `index.templ`, Line: 167, Col: 83}
  682. }
  683. _, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var41))
  684. if templ_7745c5c3_Err != nil {
  685. return templ_7745c5c3_Err
  686. }
  687. templ_7745c5c3_Err = templruntime.WriteString(templ_7745c5c3_Buffer, 53, "</label> <select id=\"compare-select\" name=\"compare\"><option value=\"NONE\">-</option></select></div></form>")
  688. if templ_7745c5c3_Err != nil {
  689. return templ_7745c5c3_Err
  690. }
  691. return nil
  692. })
  693. }
  694. var _ = templruntime.GeneratedTemplate