feat(ui): implement profile page

This commit is contained in:
Prad Nukala
2024-09-22 02:51:52 -04:00
parent df96e8d562
commit ee7c4531c2
31 changed files with 214 additions and 198 deletions
+23
View File
@@ -0,0 +1,23 @@
package pages
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
templ Home(c echo.Context) {
@blocks.Card("home-view", blocks.SizeLarge) {
@blocks.H1("Sonr.ID")
@blocks.Text("A Decentralized Web Node Client for the Sonr Network.")
@blocks.Spacer()
<div class="flex flex-col gap-3">
@blocks.Button(blocks.GET("/register", "#home-view"), blocks.PrimaryButtonStyle()) {
@blocks.Text("Get Started")
}
@blocks.Button(blocks.GET("/login", "#home-view")) {
@blocks.Text("Login")
}
</div>
@blocks.PoweredBySonr()
}
}
+135
View File
@@ -0,0 +1,135 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.778
package pages
//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"
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
func Home(c echo.Context) 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_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
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_Err = blocks.H1("Sonr.ID").Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = blocks.Text("A Decentralized Web Node Client for the Sonr Network.").Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = blocks.Spacer().Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" <div class=\"flex flex-col gap-3\">")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Var3 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
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_Err = blocks.Text("Get Started").Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = blocks.Button(blocks.GET("/register", "#home-view"), blocks.PrimaryButtonStyle()).Render(templ.WithChildren(ctx, templ_7745c5c3_Var3), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Var4 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
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_Err = blocks.Text("Login").Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = blocks.Button(blocks.GET("/login", "#home-view")).Render(templ.WithChildren(ctx, templ_7745c5c3_Var4), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("</div>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = blocks.PoweredBySonr().Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = blocks.Card("home-view", blocks.SizeLarge).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return templ_7745c5c3_Err
})
}
var _ = templruntime.GeneratedTemplate
+19
View File
@@ -0,0 +1,19 @@
package pages
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
templ Login(c echo.Context) {
@blocks.Card("login-view", blocks.SizeLarge) {
@blocks.H1("Sonr.ID")
@blocks.Text("Neo-tree is a file manager for NeoFS.")
@blocks.Spacer()
@blocks.RadioGroup()
@blocks.Spacer()
@blocks.Button(blocks.GET("/", "#login-view")) {
@blocks.Text("Cancel")
}
}
}
@@ -1,7 +1,7 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.778
package views
package pages
//lint:file-ignore SA4006 This context is only used if a nested component is present.
@@ -13,11 +13,7 @@ import (
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
func LoginView(c echo.Context) error {
return echoComponentResponse(c, renderLoginView())
}
func renderLoginView() templ.Component {
func Login(c echo.Context) 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 {
+13
View File
@@ -0,0 +1,13 @@
package pages
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
templ Authorize(c echo.Context) {
@blocks.Card("authorize-view", blocks.SizeMedium) {
@blocks.H1("Sonr.ID")
@blocks.Text("Neo-tree is a file manager for NeoFS.")
}
}
@@ -1,7 +1,7 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.778
package views
package pages
//lint:file-ignore SA4006 This context is only used if a nested component is present.
@@ -13,11 +13,7 @@ import (
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
func AuthorizeView(c echo.Context) error {
return echoComponentResponse(c, renderAuthorizeView())
}
func renderAuthorizeView() templ.Component {
func Authorize(c echo.Context) 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 {
+13
View File
@@ -0,0 +1,13 @@
package pages
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
templ Profile(c echo.Context) {
@blocks.Card("profile-view", blocks.SizeLarge) {
@blocks.ProfileCard()
@blocks.Tabs()
}
}
@@ -1,7 +1,7 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.778
package views
package pages
//lint:file-ignore SA4006 This context is only used if a nested component is present.
@@ -13,11 +13,7 @@ import (
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
func ProfileView(c echo.Context) error {
return echoComponentResponse(c, renderProfileView())
}
func renderProfileView() templ.Component {
func Profile(c echo.Context) 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 {
+20
View File
@@ -0,0 +1,20 @@
package pages
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/blocks"
"github.com/onsonr/sonr/pkg/nebula/islands"
)
templ Register(c echo.Context) {
@blocks.Card("register-view", blocks.SizeMedium) {
@blocks.H2("Account Registration")
@blocks.Spacer()
@blocks.Breadcrumbs()
@islands.BasicInfo(c, islands.InitialForm)
@blocks.Spacer()
@blocks.Button(blocks.GET("/", "#register-view")) {
@blocks.Text("Cancel")
}
}
}
@@ -1,7 +1,7 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.778
package views
package pages
//lint:file-ignore SA4006 This context is only used if a nested component is present.
@@ -14,11 +14,7 @@ import (
"github.com/onsonr/sonr/pkg/nebula/islands"
)
func RegisterView(c echo.Context) error {
return echoComponentResponse(c, renderRegisterView(c))
}
func renderRegisterView(c echo.Context) templ.Component {
func Register(c echo.Context) 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 {
+7 -6
View File
@@ -2,13 +2,14 @@ package nebula
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/views"
"github.com/onsonr/sonr/pkg/nebula/routes"
"github.com/onsonr/sonr/pkg/nebula/view"
)
func RouteViews(e *echo.Echo) {
e.GET("/home", views.HomeView)
e.GET("/login", views.LoginView)
e.GET("/register", views.RegisterView)
e.GET("/profile", views.ProfileView)
e.GET("/authorize", views.AuthorizeView)
e.GET("/home", view.Render(routes.HomeRoute))
e.GET("/login", view.Render(routes.LoginRoute))
e.GET("/register", view.Render(routes.RegisterRoute))
e.GET("/profile", view.Render(routes.ProfileRoute))
e.GET("/authorize", view.Render(routes.AuthorizeRoute))
}
+37
View File
@@ -0,0 +1,37 @@
package routes
import (
"github.com/a-h/templ"
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/pages"
)
type Route string
const (
HomeRoute Route = "/home"
LoginRoute Route = "/login"
RegisterRoute Route = "/register"
ProfileRoute Route = "/profile"
AuthorizeRoute Route = "/authorize"
)
func (r Route) Route() string {
return string(r)
}
func (r Route) Component(c echo.Context) templ.Component {
switch r {
case HomeRoute:
return pages.Home(c)
case LoginRoute:
return pages.Login(c)
case RegisterRoute:
return pages.Register(c)
case ProfileRoute:
return pages.Profile(c)
case AuthorizeRoute:
return pages.Authorize(c)
}
return nil
}
+29
View File
@@ -0,0 +1,29 @@
package view
import (
"bytes"
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/routes"
)
// render renders a templ.Component
func Render(r routes.Route) echo.HandlerFunc {
return func(c echo.Context) error {
// Create a buffer to store the rendered HTML
buf := bytes.NewBuffer(nil)
// Render the component to the buffer
err := r.Component(c).Render(c.Request().Context(), buf)
if err != nil {
return err
}
// Set the content type
c.Response().Header().Set(echo.HeaderContentType, echo.MIMETextHTML)
// Write the buffered content to the response
_, err = c.Response().Write(buf.Bytes())
return err
}
}
-24
View File
@@ -1,24 +0,0 @@
package views
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
func LoginView(c echo.Context) error {
return echoComponentResponse(c, renderLoginView())
}
templ renderLoginView() {
@blocks.Card("login-view", blocks.SizeLarge) {
@blocks.H1("Sonr.ID")
@blocks.Text("Neo-tree is a file manager for NeoFS.")
@blocks.Spacer()
@blocks.RadioGroup()
@blocks.Spacer()
@blocks.Button(blocks.GET("/", "#login-view")) {
@blocks.Text("Cancel")
}
}
}
-18
View File
@@ -1,18 +0,0 @@
package views
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
func ProfileView(c echo.Context) error {
return echoComponentResponse(c, renderProfileView())
}
templ renderProfileView() {
@blocks.Card("profile-view", blocks.SizeLarge) {
@blocks.ProfileCard()
@blocks.Tabs()
}
}
-24
View File
@@ -1,24 +0,0 @@
package views
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/blocks"
"github.com/onsonr/sonr/pkg/nebula/islands"
)
func RegisterView(c echo.Context) error {
return echoComponentResponse(c, renderRegisterView(c))
}
templ renderRegisterView(c echo.Context) {
@blocks.Card("register-view", blocks.SizeMedium) {
@blocks.H2("Account Registration")
@blocks.Spacer()
@blocks.Breadcrumbs()
@islands.BasicInfo(c, islands.InitialForm)
@blocks.Spacer()
@blocks.Button(blocks.GET("/", "#register-view")) {
@blocks.Text("Cancel")
}
}
}
+18
View File
@@ -0,0 +1,18 @@
# sonr.id
A public decentralized web node client for the Sonr Network.
## Development
### Prerequisites
- Bun
- Devbox
- Docker
### Setup
1. Install [Devbox](https://github.com/jetpack-io/devbox)
2. Install [Bun](https://bun.sh/docs/installation)
3. Install [Docker](https://docs.docker.com/get-docker/)
4. Run `devbox run dev`
+25
View File
@@ -0,0 +1,25 @@
//go:build wasm
package main
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/proxy/routes"
"github.com/syumai/workers"
)
// # Sonr.ID
//
// This App is used as an IPFS gateway proxy for exissting Sonr DWN nodes
func main() {
// TODO: Route from /ipfs/cid and /ipns/did to the gateway
// 1. Display Generic Homepage
e := echo.New()
// Configure the server
e.GET("/", routes.HomeView)
e.GET("/allocate", routes.AllocateView)
// 2. Present Terms Agreement and Checkbox to Accept
// 3. Collect UserAgent, Set-Cookie, and Client Headers
// 4. Redirect to DWN Node
workers.Serve(e)
}
@@ -1,12 +1,11 @@
package views
package routes
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/blocks"
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
func AuthorizeView(c echo.Context) error {
func AllocateView(c echo.Context) error {
return echoComponentResponse(c, renderAuthorizeView())
}
@@ -16,3 +15,4 @@ templ renderAuthorizeView() {
@blocks.Text("Neo-tree is a file manager for NeoFS.")
}
}
+75
View File
@@ -0,0 +1,75 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.778
package routes
//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"
import (
"github.com/labstack/echo/v4"
"github.com/onsonr/sonr/pkg/nebula/blocks"
)
func AllocateView(c echo.Context) error {
return echoComponentResponse(c, renderAuthorizeView())
}
func renderAuthorizeView() 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_Var2 := templruntime.GeneratedTemplate(func(templ_7745c5c3_Input templruntime.GeneratedComponentInput) (templ_7745c5c3_Err error) {
templ_7745c5c3_W, ctx := templ_7745c5c3_Input.Writer, templ_7745c5c3_Input.Context
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_Err = blocks.H1("Sonr.ID").Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString(" ")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
templ_7745c5c3_Err = blocks.Text("Neo-tree is a file manager for NeoFS.").Render(ctx, templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return templ_7745c5c3_Err
})
templ_7745c5c3_Err = blocks.Card("authorize-view", blocks.SizeMedium).Render(templ.WithChildren(ctx, templ_7745c5c3_Var2), templ_7745c5c3_Buffer)
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return templ_7745c5c3_Err
})
}
var _ = templruntime.GeneratedTemplate
@@ -1,4 +1,4 @@
package views
package routes
import (
"github.com/labstack/echo/v4"
@@ -25,3 +25,4 @@ templ renderHomeView() {
@blocks.PoweredBySonr()
}
}
@@ -1,7 +1,7 @@
// Code generated by templ - DO NOT EDIT.
// templ: version: v0.2.778
package views
package routes
//lint:file-ignore SA4006 This context is only used if a nested component is present.
@@ -1,4 +1,4 @@
package views
package routes
import (
"bytes"
+10
View File
@@ -0,0 +1,10 @@
name = "sonr-id"
main = "./build/worker.mjs"
compatibility_date = "2024-07-26"
[dev]
ip = "localhost"
port = 4202
[build]
command = "devbox run build:motr"
+33 -5
View File
@@ -106,10 +106,39 @@ func indexFile(cfg string) templ.Component {
})
}
func serviceWorker() 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_Var4 := templ.GetChildren(ctx)
if templ_7745c5c3_Var4 == nil {
templ_7745c5c3_Var4 = templ.NopComponent
}
ctx = templ.ClearChildren(ctx)
_, templ_7745c5c3_Err = templ_7745c5c3_Buffer.WriteString("<script>\n</script>")
if templ_7745c5c3_Err != nil {
return templ_7745c5c3_Err
}
return templ_7745c5c3_Err
})
}
func initializeMotr(config string) templ.ComponentScript {
return templ.ComponentScript{
Name: `__templ_initializeMotr_4943`,
Function: `function __templ_initializeMotr_4943(config){const motr = new Motr(JSON.parse(config));
Name: `__templ_initializeMotr_d70f`,
Function: `function __templ_initializeMotr_d70f(config){const motr = new Motr(JSON.parse(config));
async function demo() {
try {
@@ -157,12 +186,11 @@ func initializeMotr(config string) templ.ComponentScript {
document.getElementById('output').innerHTML = ` + "`" + `<p>Error: ${error.message}</p>` + "`" + `;
}
}
// Run the demo when the page loads
window.onload = demo;
}`,
Call: templ.SafeScript(`__templ_initializeMotr_4943`, config),
CallInline: templ.SafeScriptInline(`__templ_initializeMotr_4943`, config),
Call: templ.SafeScript(`__templ_initializeMotr_d70f`, config),
CallInline: templ.SafeScriptInline(`__templ_initializeMotr_d70f`, config),
}
}