package main

import (
	"os"

	"github.com/kataras/iris/v12"
)

type mailData struct {
	Title    string
	Body     string
	RefTitle string
	RefLink  string
}

func main() {
	app := iris.New()
	app.Logger().SetLevel("debug")
	app.RegisterView(iris.HTML("./views", ".html"))

	// you need to call `app.Build` manually before using the `app.View` func,
	// so templates are built in that state.
	app.Build()

	// Or a string-buffered writer to use its body to send an e-mail
	// for sending e-mails you can use the https://github.com/kataras/go-mailer
	// or any other third-party package you like.
	//
	// The template's parsed result will be written to that writer.
	writer := os.Stdout
	err := app.View(writer, "email/simple.html", "shared/email.html", mailData{
		Title:    "This is my e-mail title",
		Body:     "This is my e-mail body",
		RefTitle: "Iris web framework",
		RefLink:  "https://iris-go.com",
	})
	if err != nil {
		app.Logger().Errorf("error from app.View: %v", err)
	}

	app.Listen(":8080")
}
