6
1
mirror of https://git.mills.io/saltyim/saltyim.git synced 2024-07-03 00:33:38 +00:00
prologic-saltyim/internal/pwa/components/dialog.go
James Mills 832fb124fe Improve the registration process, add feedback to the PWA's UX adn use an API for registration (#147)
Co-authored-by: James Mills <prologic@shortcircuit.net.au>
Reviewed-on: https://git.mills.io/saltyim/saltyim/pulls/147
Reviewed-by: xuu <xuu@noreply@mills.io>
Co-authored-by: James Mills <james@mills.io>
Co-committed-by: James Mills <james@mills.io>
2022-04-04 16:04:38 +00:00

54 lines
1.3 KiB
Go

package components
import (
"github.com/maxence-charriere/go-app/v9/pkg/app"
"github.com/mlctrez/goapp-mdc/pkg/button"
"github.com/mlctrez/goapp-mdc/pkg/dialog"
log "github.com/sirupsen/logrus"
)
type ModalDialog struct {
app.Compo
dialog *dialog.Dialog
}
func (m *ModalDialog) Render() app.UI {
if m.dialog == nil {
m.dialog = &dialog.Dialog{Id: "notification-dialog"}
m.dialog.Title = []app.UI{app.Div().Text("Error")}
m.dialog.Content = []app.UI{}
m.dialog.Buttons = []app.UI{
&button.Button{Id: "notification-dialog-dismiss",
Dialog: true, DialogAction: "dismiss", Label: "dismiss"},
}
}
return m.dialog
}
func (m *ModalDialog) ShowError(msg ...string) {
if m.dialog == nil {
log.Debug("ModalDialog.dialog is nil, unable to display message", msg)
return
}
m.dialog.Content = []app.UI{}
for _, s := range msg {
m.dialog.Content = append(m.dialog.Content, app.Div().Text(s))
}
m.dialog.Update()
m.dialog.Open()
}
func (m *ModalDialog) ShowDialog(title string, msg ...string) {
if m.dialog == nil {
log.Debug("ModalDialog.dialog is nil, unable to display message", msg)
return
}
m.dialog.Title = []app.UI{app.Div().Text(title)}
m.dialog.Content = []app.UI{}
for _, s := range msg {
m.dialog.Content = append(m.dialog.Content, app.Div().Text(s))
}
m.dialog.Update()
m.dialog.Open()
}