rsvp form
parent
ebadba99af
commit
7cb2fd67d1
|
@ -13,6 +13,7 @@ import (
|
||||||
"git.tilde.town/tildetown/town/email"
|
"git.tilde.town/tildetown/town/email"
|
||||||
"github.com/charmbracelet/glamour"
|
"github.com/charmbracelet/glamour"
|
||||||
"github.com/charmbracelet/huh"
|
"github.com/charmbracelet/huh"
|
||||||
|
"gopkg.in/yaml.v3"
|
||||||
)
|
)
|
||||||
|
|
||||||
//go:embed banners/*
|
//go:embed banners/*
|
||||||
|
@ -53,18 +54,27 @@ func info() error {
|
||||||
}
|
}
|
||||||
|
|
||||||
type physicalData struct {
|
type physicalData struct {
|
||||||
|
Arriving string
|
||||||
|
Departing string
|
||||||
|
Transportation bool
|
||||||
|
Lodging bool
|
||||||
|
Allergies string
|
||||||
|
Couch bool
|
||||||
}
|
}
|
||||||
|
|
||||||
type rsvpData struct {
|
type rsvpData struct {
|
||||||
Being string
|
Being string
|
||||||
PhysicalData physicalData
|
PhysicalData *physicalData `yaml:"PhysicalData,omitempty"`
|
||||||
Freeform string
|
Freeform string
|
||||||
}
|
}
|
||||||
|
|
||||||
func sendRSVPEmail(rd rsvpData) error {
|
func sendRSVPEmail(rd rsvpData) error {
|
||||||
body := "TODO"
|
bs, err := yaml.Marshal(rd)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
return email.SendLocalEmail("vilmibm", "RSVP TOWNCON24", body)
|
return email.SendLocalEmail("vilmibm", "RSVP TOWNCON24", string(bs))
|
||||||
}
|
}
|
||||||
|
|
||||||
func rsvp(o opts) error {
|
func rsvp(o opts) error {
|
||||||
|
@ -127,9 +137,25 @@ func rsvp(o opts) error {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO email
|
var pd *physicalData
|
||||||
|
|
||||||
return nil
|
if being == "physical" {
|
||||||
|
pd = &physicalData{
|
||||||
|
Arriving: arriving,
|
||||||
|
Departing: departing,
|
||||||
|
Transportation: transportation,
|
||||||
|
Lodging: lodging,
|
||||||
|
Allergies: allergies,
|
||||||
|
Couch: couch,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
rd := rsvpData{
|
||||||
|
Being: being,
|
||||||
|
Freeform: freeform,
|
||||||
|
PhysicalData: pd}
|
||||||
|
|
||||||
|
return sendRSVPEmail(rd)
|
||||||
}
|
}
|
||||||
|
|
||||||
type opts struct {
|
type opts struct {
|
||||||
|
|
Loading…
Reference in New Issue