package main // initials returns up to two uppercase initials for a name. Used as an avatar // fallback so the card renders cleanly when no portrait is provided. func initials(name string) string { if name == "" { return "" } out := []rune{} prevSpace := true for _, r := range name { if r == ' ' { prevSpace = true continue } if prevSpace { if r >= 'a' && r <= 'z' { r -= 32 } out = append(out, r) prevSpace = false if len(out) >= 2 { break } } } return string(out) } // testimonialSoftComponent renders the deckle-edged testimonial card. templ testimonialSoftComponent(data TestimonialSoftData) {
if data.Rating > 0 {
for i := 0; i < data.Rating; i++ { }
}
@templ.Raw(data.Quote)
if data.Name != "" || data.Role != "" {
if data.Avatar != "" { { } else if data.Name != "" { { initials(data.Name) } }
if data.Name != "" {

{ data.Name }

} if data.Role != "" {

{ data.Role }

}
}
}