package email
import "strings"
// mail related images hosted on github
var (
	netmakerLogoTeal = "https://raw.githubusercontent.com/gravitl/netmaker/netmaker_logos/img/logos/netmaker-logo-2.png"
)
type EmailBodyBuilder interface {
	WithHeadline(text string) EmailBodyBuilder
	WithParagraph(text string) EmailBodyBuilder
	WithHtml(text string) EmailBodyBuilder
	WithSignature() EmailBodyBuilder
	Build() string
}
type EmailBodyBuilderWithH1HeadlineAndImage struct {
	headline     string
	bodyContent  []string
	hasSignature bool
}
func (b *EmailBodyBuilderWithH1HeadlineAndImage) WithHeadline(text string) EmailBodyBuilder {
	b.headline = text
	return b
}
func (b *EmailBodyBuilderWithH1HeadlineAndImage) WithParagraph(text string) EmailBodyBuilder {
	b.bodyContent = append(b.bodyContent, styledParagraph(text))
	return b
}
func (b *EmailBodyBuilderWithH1HeadlineAndImage) WithHtml(text string) EmailBodyBuilder {
	b.bodyContent = append(b.bodyContent, text)
	return b
}
func (b *EmailBodyBuilderWithH1HeadlineAndImage) WithSignature() EmailBodyBuilder {
	b.hasSignature = true
	return b
}
func (b *EmailBodyBuilderWithH1HeadlineAndImage) Build() string {
	bodyContent := strings.Join(b.bodyContent, "")
	// TODO: Edit design to add signature.
	//signature := ""
	//if b.hasSignature {
	//	signature = styledSignature()
	//}
	return `
  
    
    
    Simple Transactional Email
    
  
  
    
      
        |  | 
            
            
              
              
                |  ` + bodyContent + ` |  |  | 
    
  
`
}
func styledParagraph(text string) string {
	return `` + text + `
`
}