gosora/template_topics.go
Azareal 91f70d2a4a Add a per-user theme switcher. The CSS might be slightly broken in the themes, that'll be fixed in a follow-up commit.
Added basic support for server sync.

Re-added a few missing defers.
Renamed TO-DO to TODO across the entire codebase.
Renamed StaticForumStore to MemoryForumStore.
The ForumStore is now built on a sync.Map with a view slice for generating /forums rather than a slice.
Renamed many more functions and variables to satisfy the linter.
increase_post_user_stats() and decrease_post_user_stats() are now methods on the User struct. We also fix a bug where they take the moderator's score rather than the target user's into account when recalculating their level after a post / topic is deleted.
Transitioned the topic list to CSS Grid for Tempra Simple, with a float fallback.
Cosmo and Cosmo Conflux are now hidden from the theme list.
Fixed more data races.
Added more debug data to the template compiler logs.
2017-09-10 17:57:22 +01:00

171 lines
3.8 KiB
Go

// +build !no_templategen
// Code generated by Gosora. More below:
/* This file was automatically generated by the software. Please don't edit it as your changes may be overwritten at any moment. */
package main
import "net/http"
import "strconv"
// nolint
func init() {
template_topics_handle = template_topics
//o_template_topics_handle = template_topics
ctemplates = append(ctemplates,"topics")
tmplPtrMap["topics"] = &template_topics_handle
tmplPtrMap["o_topics"] = template_topics
}
// nolint
func template_topics(tmpl_topics_vars TopicsPage, w http.ResponseWriter) {
w.Write(header_0)
w.Write([]byte(tmpl_topics_vars.Title))
w.Write(header_1)
w.Write([]byte(tmpl_topics_vars.Header.ThemeName))
w.Write(header_2)
if len(tmpl_topics_vars.Header.Stylesheets) != 0 {
for _, item := range tmpl_topics_vars.Header.Stylesheets {
w.Write(header_3)
w.Write([]byte(item))
w.Write(header_4)
}
}
w.Write(header_5)
if len(tmpl_topics_vars.Header.Scripts) != 0 {
for _, item := range tmpl_topics_vars.Header.Scripts {
w.Write(header_6)
w.Write([]byte(item))
w.Write(header_7)
}
}
w.Write(header_8)
w.Write([]byte(tmpl_topics_vars.CurrentUser.Session))
w.Write(header_9)
if !tmpl_topics_vars.CurrentUser.IsSuperMod {
w.Write(header_10)
}
w.Write(header_11)
w.Write(menu_0)
w.Write(menu_1)
w.Write([]byte(tmpl_topics_vars.Header.Site.Name))
w.Write(menu_2)
if tmpl_topics_vars.CurrentUser.Loggedin {
w.Write(menu_3)
w.Write([]byte(tmpl_topics_vars.CurrentUser.Link))
w.Write(menu_4)
w.Write([]byte(tmpl_topics_vars.CurrentUser.Session))
w.Write(menu_5)
} else {
w.Write(menu_6)
}
w.Write(menu_7)
w.Write(header_12)
if tmpl_topics_vars.Header.Widgets.RightSidebar != "" {
w.Write(header_13)
}
w.Write(header_14)
if len(tmpl_topics_vars.Header.NoticeList) != 0 {
for _, item := range tmpl_topics_vars.Header.NoticeList {
w.Write(header_15)
w.Write([]byte(item))
w.Write(header_16)
}
}
w.Write(topics_0)
if len(tmpl_topics_vars.ItemList) != 0 {
for _, item := range tmpl_topics_vars.ItemList {
w.Write(topics_1)
if item.Sticky {
w.Write(topics_2)
} else {
if item.IsClosed {
w.Write(topics_3)
}
}
w.Write(topics_4)
if item.Creator.Avatar != "" {
w.Write(topics_5)
w.Write([]byte(item.Creator.Avatar))
w.Write(topics_6)
}
w.Write(topics_7)
w.Write([]byte(strconv.Itoa(item.PostCount)))
w.Write(topics_8)
w.Write([]byte(item.LastReplyAt))
w.Write(topics_9)
w.Write([]byte(item.Link))
w.Write(topics_10)
w.Write([]byte(item.Title))
w.Write(topics_11)
if item.ForumName != "" {
w.Write(topics_12)
w.Write([]byte(item.ForumLink))
w.Write(topics_13)
w.Write([]byte(item.ForumName))
w.Write(topics_14)
}
w.Write(topics_15)
w.Write([]byte(item.Creator.Link))
w.Write(topics_16)
w.Write([]byte(item.Creator.Name))
w.Write(topics_17)
if item.IsClosed {
w.Write(topics_18)
}
if item.Sticky {
w.Write(topics_19)
}
w.Write(topics_20)
if item.Sticky {
w.Write(topics_21)
} else {
if item.IsClosed {
w.Write(topics_22)
}
}
w.Write(topics_23)
if item.LastUser.Avatar != "" {
w.Write(topics_24)
w.Write([]byte(item.LastUser.Avatar))
w.Write(topics_25)
}
w.Write(topics_26)
w.Write([]byte(item.LastUser.Link))
w.Write(topics_27)
w.Write([]byte(item.LastUser.Name))
w.Write(topics_28)
w.Write([]byte(item.LastReplyAt))
w.Write(topics_29)
}
} else {
w.Write(topics_30)
if tmpl_topics_vars.CurrentUser.Perms.CreateTopic {
w.Write(topics_31)
}
w.Write(topics_32)
}
w.Write(topics_33)
w.Write(footer_0)
if len(tmpl_topics_vars.Header.Themes) != 0 {
for _, item := range tmpl_topics_vars.Header.Themes {
if !item.HideFromThemes {
w.Write(footer_1)
w.Write([]byte(item.Name))
w.Write(footer_2)
if tmpl_topics_vars.Header.ThemeName == item.Name {
w.Write(footer_3)
}
w.Write(footer_4)
w.Write([]byte(item.FriendlyName))
w.Write(footer_5)
}
}
}
w.Write(footer_6)
if tmpl_topics_vars.Header.Widgets.RightSidebar != "" {
w.Write(footer_7)
w.Write([]byte(string(tmpl_topics_vars.Header.Widgets.RightSidebar)))
w.Write(footer_8)
}
w.Write(footer_9)
}