package partials import ( "fmt" "net/url" "strings" "yoten.app/internal/db" ) func getResourceIcon(resourceType db.ResourceType) string { switch resourceType { case db.Book: return "book" case db.Video: return "video" case db.Website: return "globe" case db.Course: return "monitor" case db.App: return "smartphone" case db.Podcast: return "podcast" case db.Article: return "file-text" case db.Other: return "file" default: return "file" } } templ studySessionAction(params StudySessionProps) {
} templ StudySession(params StudySessionProps) { {{ elementId := SanitiseHtmlId(fmt.Sprintf("study-session-%s-%s", params.StudySession.Did, params.StudySession.Rkey)) }} {{ studySessionUrl := templ.SafeURL("/" + params.StudySession.Did + "/session/" + params.StudySession.Rkey) }}
if params.StudySession.BskyProfile.Avatar == "" {
} else { }
{ params.StudySession.ProfileDisplayName }

{ params.StudySession.ProfileLevel }

@{ params.StudySession.BskyProfile.Handle }

if params.DoesOwn {
@studySessionAction(params)
}
{ params.StudySession.Language.Flag } { params.StudySession.Language.Name } if params.StudySession.Language.NativeName != nil { ({ *params.StudySession.Language.NativeName }) }
if params.DoesOwn { }
{ params.StudySession.StudySession.Activity.Name } if params.StudySession.StudySession.Description != "" {

{ params.StudySession.StudySession.Description }

} if params.StudySession.Resource != nil {
{ params.StudySession.Resource.Title }
if params.StudySession.Resource.Link != nil { {{ parsedURL, err := url.Parse(*params.StudySession.Resource.Link) }} if err == nil { {{ hostname := strings.TrimPrefix(parsedURL.Hostname(), "www.") }}
{ hostname }
} }
}
@NewReactions(NewReactionsProps{ User: params.User, SessionDid: params.StudySession.Did, SessionRkey: params.StudySession.Rkey, ReactionEvents: params.StudySession.Reactions, }) { params.StudySession.CommentCount }
{ FormatDuration(params.StudySession.StudySession.Duration) }
{ params.StudySession.StudySession.Date.Format("January 2, 2006") }
}