xmr-remote-nodes/internal/handler/views/home_templ.go

86 lines
18 KiB
Go
Raw Normal View History

2024-10-29 20:41:22 +07:00
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.778
package views
//lint:file-ignore SA4006 This context is only used if a nested component is present.
import "github.com/a-h/templ"
import templruntime "github.com/a-h/templ/runtime"
func Home() templ.Component {
return templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
if templ_7745c5c3_CtxErr := ctx.Err(); templ_7745c5c3_CtxErr != nil {
return templ_7745c5c3_CtxErr
}
templ_7745c5c3_Buffer, templ_7745c5c3_IsBuffer := templruntime.GetBuffer(templ_7745c5c3_W)
if !templ_7745c5c3_IsBuffer {
defer func() {
templ_7745c5c3_BufErr := templruntime.ReleaseBuffer(templ_7745c5c3_Buffer)
if templ_7745c5c3_Err == nil {
templ_7745c5c3_Err = templ_7745c5c3_BufErr
}
}()
}
ctx = templ.InitializeContext(ctx)
templ_7745c5c3_Var1 := templ.GetChildren(ctx)
if templ_7745c5c3_Var1 == nil {
templ_7745c5c3_Var1 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<!-- Hero --><section class=\"relative overflow-hidden pt-6\"><!-- Gradients --><div aria-hidden=\"true\" class=\"flex absolute -top-96 start-1/2 transform -translate-x-1/2\"><div class=\"bg-gradient-to-r blur-3xl w-[25rem] h-[44rem] rotate-[-60deg] transform -translate-x-[10rem] from-amber-800/30 to-orange-800/40\"></div><div class=\"bg-gradient-to-tl blur-3xl w-[90rem] h-[50rem] rounded-fulls origin-top-left -rotate-12 -translate-x-[15rem] from-orange-900/60 via-orange-900/40 to-amber-900/80\"></div></div><!-- End Gradients --><div class=\"relative z-10\"><div class=\"max-w-4xl mx-auto px-4 pt-10 pb-6 sm:px-6 lg:px-8 lg:pt-16\"><div class=\"text-center\"><h1 class=\"block font-extrabold text-4xl md:text-5xl lg:text-6xl text-neutral-200 mt-5\">Monero Remote Node</h1><p class=\"text-lg text-neutral-300 mt-2\">A website that helps you monitor your favourite Monero remote nodes, but YOU BETTER RUN AND USE YOUR OWN NODE.</p><div class=\"mt-3 gap-2\"><a href=\"https://www.getmonero.org/\" target=\"_blank\" rel=\"noopener\" class=\"btn-link\"><svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4\" viewBox=\"0 0 496 512\" fill=\"currentColor\"><path d=\"M352 384h108.4C417 455.9 338.1 504 248 504S79 455.9 35.6 384H144V256.2L248 361l104-105v128zM88 336V128l159.4 159.4L408 128v208h74.8c8.5-25.1 13.2-52 13.2-80C496 119 385 8 248 8S0 119 0 256c0 28 4.6 54.9 13.2 80H88z\"></path></svg> GetMonero.org</a> <a href=\"https://github.com/monero-project\" target=\"_blank\" rel=\"noopener\" class=\"btn-link\"><svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 22v-4a4.8 4.8 0 0 0-1-3.5c3 0 6-2 6-5.5.08-1.25-.27-2.48-1-3.5.28-1.15.28-2.35 0-3.5 0 0-1 0-3 1.5-2.64-.5-5.36-.5-8 0C6 2 5 2 5 2c-.3 1.15-.3 2.35 0 3.5A5.403 5.403 0 0 0 4 9c0 3.5 3 5.5 6 5.5-.39.49-.68 1.05-.85 1.65-.17.6-.22 1.23-.15 1.85v4\"></path><path d=\"M9 18c-4.51 2-5-2-7-2\"></path></svg> monero-project</a> <a href=\"https://www.reddit.com/r/Monero/\" target=\"_blank\" rel=\"noopener\" class=\"btn-link\"><svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4\" fill=\"currentColor\" viewBox=\"0 0 512 512\"><path d=\"M373 138.6c-25.2 0-46.3-17.5-51.9-41l0 0c-30.6 4.3-54.2 30.7-54.2 62.4l0 .2c47.4 1.8 90.6 15.1 124.9 36.3c12.6-9.7 28.4-15.5 45.5-15.5c41.3 0 74.7 33.4 74.7 74.7c0 29.8-17.4 55.5-42.7 67.5c-2.4 86.8-97 156.6-213.2 156.6S45.5 410.1 43 323.4C17.6 311.5 0 285.7 0 255.7c0-41.3 33.4-74.7 74.7-74.7c17.2 0 33 5.8 45.7 15.6c34-21.1 76.8-34.4 123.7-36.4l0-.3c0-44.3 33.7-80.9 76.8-85.5C325.8 50.2 347.2 32 373 32c29.4 0 53.3 23.9 53.3 53.3s-23.9 53.3-53.3 53.3zM157.5 255.3c-20.9 0-38.9 20.8-40.2 47.9s17.1 38.1 38 38.1s36.6-9.8 37.8-36.9s-14.7-49.1-35.7-49.1zM395 303.1c-1.2-27.1-19.2-47.9-40.2-47.9s-36.9 22-35.7 49.1c1.2 27.1 16.9 36.9 37.8 36.9s39.3-11 38-38.1zm-60.1 70.8c1.5-3.6-1-7.7-4.9-8.1c-23-2.3-47.9-3.6-73.8-3.6s-50.8 1.3-73.8 3.6c-3.9 .4-6.4 4.5-4.9 8.1c12.9 30.8 43.3 52.4 78.7 52.4s65.8-21.6 78.7-52.4z\"></path></svg> r/Monero</a> <a href=\"https://x.com/monero\" target=\"_blank\" rel=\"noopener\" class=\"btn-link\"><svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4\" fill=\"currentColor\" viewBox=\"0 0 512 512\"><path d=\"M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z\"></path></svg> ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var2 string
templ_7745c5c3_Var2, templ_7745c5c3_Err = templ.JoinStringErrs("@monero")
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/handler/views/home.templ`, Line: 32, Col: 18}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var2))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a> <a href=\"https://www.facebook.com/monerocurrency/\" target=\"_blank\" rel=\"noopener\" class=\"btn-link\"><svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4\" fill=\"currentColor\" viewBox=\"0 0 512 512\"><path d=\"M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256C0 376 82.7 476.8 194.2 504.5V334.2H141.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287V510.1C413.8 494.8 512 386.9 512 256h0z\"></path></svg> monerocurrency</a> <a href=\"https://telegram.me/monero\" target=\"_blank\" rel=\"noopener\" class=\"btn-link\"><svg xmlns=\"http://www.w3.org/2000/svg\" class=\"h-4 w-4\" fill=\"currentColor\" viewBox=\"0 0 496 512\"><path d=\"M248 8C111 8 0 119 0 256S111 504 248 504 496 393 496 256 385 8 248 8zM363 176.7c-3.7 39.2-19.9 134.4-28.1 178.3-3.5 18.6-10.3 24.8-16.9 25.4-14.4 1.3-25.3-9.5-39.3-18.7-21.8-14.3-34.2-23.2-55.3-37.2-24.5-16.1-8.6-25 5.3-39.5 3.7-3.8 67.1-61.5 68.3-66.7 .2-.7 .3-3.1-1.2-4.4s-3.6-.8-5.1-.5q-3.3 .7-104.6 69.1-14.8 10.2-26.9 9.9c-8.9-.2-25.9-5-38.6-9.1-15.5-5-27.9-7.7-26.8-16.3q.8-6.7 18.5-13.7 108.4-47.2 144.6-62.3c68.9-28.6 83.2-33.6 92.5-33.8 2.1 0 6.6 .5 9.6 2.9a10.5 10.5 0 0 1 3.5 6.7A43.8 43.8 0 0 1 363 176.7z\"></path></svg> monero</a></div></div><div class=\"max-w-2xl text-center mx-auto mt-8 prose prose-invert\"><p>If you're new to Monero, the official links above is a perfect place to start.</p><p>Of course, there are lots of personal and community sites which generally discusses a lot about Monero, such as ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
for _, link := range communityLinks {
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<a href=\"")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var3 templ.SafeURL = templ.URL(link.URI)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(string(templ_7745c5c3_Var3)))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("\" class=\"external\" target=\"_blank\" rel=\"noopener\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
var templ_7745c5c3_Var4 string
templ_7745c5c3_Var4, templ_7745c5c3_Err = templ.JoinStringErrs(link.Text)
if templ_7745c5c3_Err != nil {
return templ.Error{Err: templ_7745c5c3_Err, FileName: `internal/handler/views/home.templ`, Line: 49, Col: 98}
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(templ.EscapeString(templ_7745c5c3_Var4))
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</a>, ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
}
2024-10-31 18:09:02 +07:00
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("etc; can be an other good reference for you.</p></div></div></div></section><!-- End Hero --><!-- Alt Nav Section --><section class=\"max-w-5xl px-4 pb-10 sm:px-6 lg:px-8 mx-auto\"><div class=\"grid sm:grid-cols-2 gap-3 sm:gap-6\"><a href=\"/remote-nodes\" class=\"group flex flex-col text-center bg-neutral-900 border border-orange-400 shadow-sm rounded-xl transition hover:shadow-md hover:brightness-125\"><div class=\"p-4 md:p-5\"><div class=\"grow\"><p class=\"font-semibold text-orange-400\">Remote Nodes</p><p class=\"text-sm\">List of submitted Monero remote nodes you can use when you <strong>cannot</strong> run your own node.</p></div></div></a> <a href=\"/remote-nodes\" class=\"group flex flex-col text-center bg-neutral-900 border border-orange-400 shadow-sm rounded-xl transition hover:shadow-md hover:brightness-125\"><div class=\"p-4 md:p-5\"><div class=\"grow\"><p class=\"font-semibold text-orange-400\">Add Node</p><p class=\"text-sm\">Add your Monero public node to be monitored and see how it performs.</p></div></div></a></div></section><!-- End Alt Nav Section --><!-- My Public Nodes Section --><section id=\"my-nodes\" class=\"bg-neutral-800\"><div class=\"max-w-5xl px-4 py-10 sm:px-6 lg:px-8 mx-auto\"><div class=\"max-w-2xl text-center mx-auto mb-8 prose prose-invert\"><p>You can find few resources I provide related to Monero below:</p></div><!-- Grid --><div class=\"grid gap-2 sm:grid-cols-2 sm:gap-3\"><!-- Card --><div class=\"group flex flex-col text-center gap-2\"><h2 class=\"font-semibold text-neutral-200 text-3xl\">My Stagenet Public Node</h2><p>Stagenet is what you need to learn Monero safely. Stagenet is technically equivalent to mainnet, both in terms of features and consensus rules.</p><div><label for=\"stagenet-p2p\" class=\"sr-only\">Stagenet P2P</label><div class=\"flex rounded-lg shadow-sm\"><span class=\"px-4 inline-flex items-center min-w-fit rounded-s-md border border-e-0 border-neutral-700 bg-neutral-700 text-sm\"><span class=\"text-sm text-neutral-400\">P2P</span></span> <input type=\"text\" id=\"stagenet-p2p\" name=\"stagenet-p2p\" class=\"py-3 px-4 block w-full text-neutral-400 bg-neutral-900 border-neutral-700 shadow-sm rounded-0 text-sm focus:z-10 focus:border-orange-500 focus:ring-orange-500\" value=\"stagenet.xmr.ditatompel.com:38080\" readonly> <button class=\"clipboard copy-input\" data-clipboard-target=\"#stagenet-p2p\">Copy</button></div></div><div><label for=\"stagenet-rpc\" class=\"sr-only\">Stagenet RPC</label><div class=\"flex rounded-lg shadow-sm\"><span class=\"px-4 inline-flex items-center min-w-fit rounded-s-md border border-e-0 border-neutral-700 bg-neutral-700 text-sm\"><span class=\"text-sm text-neutral-400\">RPC</span></span> <input type=\"text\" id=\"stagenet-rpc\" name=\"stagenet-rpc\" class=\"py-3 px-4 block w-full text-neutral-400 bg-neutral-900 border-neutral-700 shadow-sm rounded-0 text-sm focus:z-10 focus:border-orange-500 focus:ring-orange-500\" value=\"stagenet.xmr.ditatompel.com:38089\" readonly> <button class=\"clipboard copy-input\" data-clipboard-target=\"#stagenet-rpc\">Copy</button></div></div><div><label for=\"stagenet-ssl\" class=\"sr-only\">Stagenet RPC SSL</label><div class=\"flex rounded-lg shadow-sm\"><span class=\"px-4 inline-flex items-center min-w-fit rounded-s-md border border-e-0 border-neutral-700 bg-neutral-700 text-sm\"><span class=\"text-sm text-neutral-400\">RPC SSL</span></span> <input type=\"text\" id=\"stagenet-ssl\" name=\"stagenet-ssl\" class=\"py-3 px-4 block w-full text-neutral-400 bg-neutral-900 border-neutral-700 shadow-sm rounded-0 text-sm focus:z-10 focus:border-orange-500 focus:ring-orange-500\" value=\"stagenet.xmr.ditatompel.com:443\" readonly> <button class=\"clipboard copy-input\" data-clipboard-target=\"#stagenet-ssl\">Copy</button></div></div></div><!-- Card --><div class=\"group flex flex-col text-center gap-2\"><h2 class=\"font-semibold text-neutral-200 text-3xl\">My Testnet Public Node</h2><p>Testnet is the <em>\"experimental\"</em> network and blockchain where
2024-10-30 14:23:45 +07:00
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
2024-10-29 20:41:22 +07:00
return templ_7745c5c3_Err
})
}
var _ = templruntime.GeneratedTemplate