hunk.code_window:                     currentUserId={this.props.currentUserId}
                       emojiName={emojiName}
                       reactions={reactionsByName.get(emojiName)}
                   />
               );
           });
           return (
  
hunk.labels: keep keep add keep keep keep keep keep
hunk.after_edit:                     emojis={this.props.emojis}
  
hunk.file_path: webapp/components/post_view/components/reaction_list_view.jsx
hunk.type: add
file: package translation
  
  import (
  	"bytes"
  	"encoding"
  	"strings"
  	gotemplate "text/template"
  )
  
  type template struct {
  	tmpl *gotemplate.Template
  	src  string
  }
  
  func newTemplate(src string) (*template, error) {
  	var tmpl template
  	err := tmpl.parseTemplate(src)
  	return &tmpl, err
  }
  
  func mustNewTemplate(src string) *template {
  	t, err := newTemplate(src)
  	if err != nil {
  		panic(err)
  	}
  	return t
  }
  
  func (t *template) String() string {
  	return t.src
  }
  
  func (t *template) Execute(args interface{}) string {
  	if t.tmpl == nil {
  		return t.src
  	}
  	var buf bytes.Buffer
  	if err := t.tmpl.Execute(&buf, args); err != nil {
  		return err.Error()
  	}
  	return buf.String()
  }
  
  func (t *template) MarshalText() ([]byte, error) {
  	return []byte(t.src), nil
  }
  
  func (t *template) UnmarshalText(src []byte) error {
  	return t.parseTemplate(string(src))
  }
  
  func (t *template) parseTemplate(src string) (err error) {
  	t.src = src
  	if strings.Contains(src, "{{") {
  		t.tmpl, err = gotemplate.New(src).Parse(src)
  	}
  	return
  }
  
  var _ = encoding.TextMarshaler(&template{})
  var _ = encoding.TextUnmarshaler(&template{})
  