package posts import ( "encoding/json" "fmt" "github.com/puregarlic/space/models" "github.com/samber/lo" "go.hacdias.com/indielib/microformats" ) var ImplementedPostTypes = []microformats.Type{ microformats.TypeNote, microformats.TypePhoto, } func GetPostJSONProperty(post *models.Post, name string) []string { var tmp map[string]any if err := json.Unmarshal(post.Properties, &tmp); err != nil { panic(err) } prop, ok := tmp[name] if !ok { return []string{""} } var out []string for _, val := range prop.([]any) { out = append(out, val.(string)) } return out } func formatPostTypeName(mfType microformats.Type) string { has := lo.ContainsBy(ImplementedPostTypes, func(postType microformats.Type) bool { return postType == mfType }) if has { return string(mfType) } else { return fmt.Sprintf("%s (oops!)", string(mfType)) } } templ PostFeedHeader(post *models.Post) {
} templ PostDetails(post *models.Post) {