The profile route is now compiled again. A custom struct is now used for it instead of the generic Page struct. Added the group list to the Control Panel. Tweaked the navbar CSS. Non-mods can no longer post in locked topics. Locked topics now have a gray background on the topic view header, the forum view, and the topiclist, The reply content box no longer shows up on topics which don't have any replies.
104 lines
3.5 KiB
Go
104 lines
3.5 KiB
Go
package main
|
|
import "io"
|
|
import "strconv"
|
|
|
|
func init() {
|
|
template_forum_handle = template_forum
|
|
}
|
|
|
|
func template_forum(tmpl_forum_vars Page, w io.Writer) {
|
|
w.Write([]byte(`<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>` + tmpl_forum_vars.Title + `</title>
|
|
<link href="/static/main.css" rel="stylesheet" type="text/css">
|
|
<script type="text/javascript" src="/static/jquery-1.12.3.min.js"></script>
|
|
<script type="text/javascript">
|
|
var session = "` + tmpl_forum_vars.CurrentUser.Session + `";
|
|
</script>
|
|
<script type="text/javascript" src="/static/global.js"></script>
|
|
<meta name="viewport" content="width=device-width,initial-scale = 1.0, maximum-scale=1.0,user-scalable=no" />
|
|
</head>
|
|
<body>
|
|
<div class="container">
|
|
<div class="nav">
|
|
<div class="move_left">
|
|
<div class="move_right">
|
|
<ul>
|
|
<li class="menu_left menu_overview"><a href="/">Overview</a></li>
|
|
<li class="menu_left menu_forums"><a href="/forums/">Forums</a></li>
|
|
<li class="menu_left menu_topics"><a href="/">Topics</a></li>
|
|
<li class="menu_left menu_create_topic"><a href="/topics/create/">Create Topic</a></li>
|
|
`))
|
|
if tmpl_forum_vars.CurrentUser.Loggedin {
|
|
w.Write([]byte(`
|
|
<li class="menu_left menu_account"><a href="/user/edit/critical/">Account</a></li>
|
|
<li class="menu_left menu_profile"><a href="/user/` + strconv.Itoa(tmpl_forum_vars.CurrentUser.ID) + `">Profile</a></li>
|
|
`))
|
|
if tmpl_forum_vars.CurrentUser.Is_Super_Mod {
|
|
w.Write([]byte(`<li class="menu_left menu_account"><a href="/panel/">Panel</a></li>`))
|
|
}
|
|
w.Write([]byte(`
|
|
<li class="menu_left menu_logout"><a href="/accounts/logout?session=` + tmpl_forum_vars.CurrentUser.Session + `">Logout</a></li>
|
|
`))
|
|
} else {
|
|
w.Write([]byte(`
|
|
<li class="menu_left menu_register"><a href="/accounts/create/">Register</a></li>
|
|
<li class="menu_left menu_login"><a href="/accounts/login/">Login</a></li>
|
|
`))
|
|
}
|
|
w.Write([]byte(`
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
<div style="clear: both;"></div>
|
|
</div>
|
|
`))
|
|
if len(tmpl_forum_vars.NoticeList) != 0 {
|
|
for _, item := range tmpl_forum_vars.NoticeList {
|
|
w.Write([]byte(`<div class="alert">` + item + `</div>`))
|
|
}
|
|
}
|
|
w.Write([]byte(`
|
|
<div class="rowblock">
|
|
<div class="rowitem"><a>` + tmpl_forum_vars.Title + `</a></div>
|
|
</div>
|
|
<div class="rowblock">
|
|
`))
|
|
if len(tmpl_forum_vars.ItemList) != 0 {
|
|
for _, item := range tmpl_forum_vars.ItemList {
|
|
w.Write([]byte(`<div class="rowitem passive" style="`))
|
|
if item.(TopicUser).Avatar != "" {
|
|
w.Write([]byte(`background-image: url(` + item.(TopicUser).Avatar + `);background-position: left;background-repeat: no-repeat;background-size: 64px;padding-left: 72px;`))
|
|
}
|
|
if item.(TopicUser).Sticky {
|
|
w.Write([]byte(`background-color: #FFFFCC;`))
|
|
} else {
|
|
if item.(TopicUser).Is_Closed {
|
|
w.Write([]byte(`background-color: #eaeaea;`))
|
|
}
|
|
}
|
|
w.Write([]byte(`">
|
|
<a href="/topic/` + strconv.Itoa(item.(TopicUser).ID) + `">` + item.(TopicUser).Title + `</a> `))
|
|
if item.(TopicUser).Is_Closed {
|
|
w.Write([]byte(`<span class="username topic_status_e topic_status_closed" style="float: right;">closed</span>
|
|
`))
|
|
} else {
|
|
w.Write([]byte(`<span class="username hide_on_micro topic_status_e topic_status_open" style="float: right;">open</span>`))
|
|
}
|
|
w.Write([]byte(`
|
|
<span class="username hide_on_micro" style="border-right: 0;float: right;">Status</span>
|
|
</div>
|
|
`))
|
|
}
|
|
} else {
|
|
w.Write([]byte(`<div class="rowitem passive">There aren't any topics in this forum yet.</div>`))
|
|
}
|
|
w.Write([]byte(`
|
|
</div>
|
|
<!--<link rel="stylesheet" href="https://use.fontawesome.com/8670aa03ca.css">-->
|
|
</div>
|
|
</body>
|
|
</html>`))
|
|
}
|