package components import ( "dk/internal/helpers/markdown" "dk/internal/news" "dk/internal/users" "fmt" "time" ) func GenerateTownNews() string { title := `
Latest News
` news, err := news.Recent(1) if err == nil && len(news) > 0 { item := news[0] content := fmt.Sprintf(`%s`, item.ReadableTime()) return title + content + fmt.Sprintf(`
%s
`, markdown.MarkdownToHTML(item.Content)) } return title + "
No news!
" } func GenerateTownWhosOnline() string { title := `
Who's Online
` onlineUsers, err := users.Online(10 * time.Minute) if err == nil && len(onlineUsers) > 0 { if len(onlineUsers) == 1 { title += "

There is 1 user online in the last 10 minutes:

" } else { title += fmt.Sprintf("

There are %d users online in the last 10 minutes:

", len(onlineUsers)) } for _, user := range onlineUsers { title += fmt.Sprintf(`
%s
`, user.Username) } return title } return title + "
No one!
" }