2997135e80
Fixed two existence checks. Tweaked the profile CSS for Cosora. Added the TopicByReplyID function. Split off the profile logic from Reply into ProfileReply. Moved various hard-coded bits in the profile reply routes into ProfileReply. Moved four reply routes into /routes/reply.go Moved six topic routes into /routes/topic.go We should now capture more suspicious activity. Changed the definition of the revisions table.
130 lines
6.2 KiB
HTML
130 lines
6.2 KiB
HTML
{{template "header.html" . }}
|
|
<main itemscope itemtype="http://schema.org/ItemList">
|
|
|
|
<div class="rowblock rowhead topic_list_title_block">
|
|
<div class="rowitem topic_list_title{{if ne .CurrentUser.ID 0}} has_opt{{end}}"><h1 itemprop="name">All Topics</h1></div>
|
|
{{if ne .CurrentUser.ID 0}}
|
|
{{if .ForumList}}
|
|
<div class="pre_opt auto_hide"></div>
|
|
<div class="opt create_topic_opt" title="Create Topic" aria-label="Create a topic"><a class="create_topic_link" href="/topics/create/"></a></div>
|
|
{{/** TODO: Add a permissions check for this **/}}
|
|
<div class="opt mod_opt" title="Moderate">
|
|
<a class="moderate_link" href="#" aria-label="Moderate Posts"></a>
|
|
</div>
|
|
{{else}}<div class="opt locked_opt" title="You don't have the permissions needed to create a topic" aria-label="You don't have the permissions needed to make a topic anywhere"><a></a></div>{{end}}
|
|
<div style="clear: both;"></div>
|
|
{{end}}
|
|
</div>
|
|
|
|
{{if ne .CurrentUser.ID 0}}
|
|
{{/** TODO: Hide these from unauthorised users? **/}}
|
|
<div class="mod_floater auto_hide">
|
|
<form method="post">
|
|
<div class="mod_floater_head">
|
|
<span>What do you want to do with these 18 topics?</span>
|
|
</div>
|
|
<div class="mod_floater_body">
|
|
<select class="mod_floater_options">
|
|
<option val="delete">Delete them</option>
|
|
<option val="lock">Lock them</option>
|
|
<option val="move">Move them</option>
|
|
</select>
|
|
<button class="mod_floater_submit">Run</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
|
|
{{if .ForumList}}
|
|
{{/** TODO: Have a seperate forum list for moving topics? Maybe an AJAX forum search compatible with plugin_guilds? **/}}
|
|
{{/** TODO: Add ARIA attributes for this **/}}
|
|
<div id="mod_topic_mover" class="modal_pane auto_hide">
|
|
<form action="/topic/move/submit/?session={{.CurrentUser.Session}}" method="post">
|
|
<input id="mover_fid" name="fid" value="0" type="hidden" />
|
|
<div class="pane_header">
|
|
<h3>Move these topics to?</h3>
|
|
</div>
|
|
<div class="pane_body">
|
|
<div class="pane_table">
|
|
{{range .ForumList}}<div id="mover_fid_{{.ID}}" data-fid="{{.ID}}" class="pane_row">{{.Name}}</div>{{end}}
|
|
</div>
|
|
</div>
|
|
<div class="pane_buttons">
|
|
<button id="mover_submit">Move Topics</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
<div class="rowblock topic_create_form quick_create_form" style="display: none;" aria-label="Quick Topic Form">
|
|
<form name="topic_create_form_form" id="topic_create_form_form" enctype="multipart/form-data" action="/topic/create/submit/?session={{.CurrentUser.Session}}" method="post"></form>
|
|
<img class="little_row_avatar" src="{{.CurrentUser.Avatar}}" height="64" alt="Your Avatar" title="Your Avatar" />
|
|
<div class="main_form">
|
|
<div class="topic_meta">
|
|
<div class="formrow topic_board_row real_first_child">
|
|
<div class="formitem"><select form="topic_create_form_form" id="topic_board_input" name="topic-board">
|
|
{{range .ForumList}}<option {{if eq .ID $.DefaultForum}}selected{{end}} value="{{.ID}}">{{.Name}}</option>{{end}}
|
|
</select></div>
|
|
</div>
|
|
<div class="formrow topic_name_row">
|
|
<div class="formitem">
|
|
<input form="topic_create_form_form" name="topic-name" placeholder="What's up?" required>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="formrow topic_content_row">
|
|
<div class="formitem">
|
|
<textarea form="topic_create_form_form" id="input_content" name="topic-content" placeholder="Insert post here" required></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="formrow quick_button_row">
|
|
<div class="formitem">
|
|
<button form="topic_create_form_form" class="formbutton">Create Topic</button>
|
|
{{if .CurrentUser.Perms.UploadFiles}}
|
|
<input name="upload_files" form="topic_create_form_form" id="upload_files" multiple type="file" style="display: none;" />
|
|
<label for="upload_files" class="formbutton add_file_button">Add File</label>
|
|
<div id="upload_file_dock"></div>{{end}}
|
|
<button class="formbutton close_form">Cancel</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{end}}
|
|
{{end}}
|
|
<div id="topic_list" class="rowblock topic_list" aria-label="A list containing topics from every forum">
|
|
{{range .TopicList}}<div class="topic_row" data-tid="{{.ID}}">
|
|
<div class="rowitem topic_left passive datarow {{if .Sticky}}topic_sticky{{else if .IsClosed}}topic_closed{{end}}">
|
|
<span class="selector"></span>
|
|
<a href="{{.Creator.Link}}"><img src="{{.Creator.Avatar}}" height="64" alt="{{.Creator.Name}}'s Avatar" title="{{.Creator.Name}}'s Avatar" /></a>
|
|
<span class="topic_inner_left">
|
|
<a class="rowtopic" href="{{.Link}}" itemprop="itemListElement"><span>{{.Title}}</span></a> {{if .ForumName}}<a class="rowsmall parent_forum" href="{{.ForumLink}}">{{.ForumName}}</a>{{end}}
|
|
<br /><a class="rowsmall starter" href="{{.Creator.Link}}">{{.Creator.Name}}</a>
|
|
{{/** TODO: Avoid the double '|' when both .IsClosed and .Sticky are set to true. We could probably do this with CSS **/}}
|
|
{{if .IsClosed}}<span class="rowsmall topic_status_e topic_status_closed" title="Status: Closed"> | 🔒︎</span>{{end}}
|
|
{{if .Sticky}}<span class="rowsmall topic_status_e topic_status_sticky" title="Status: Pinned"> | 📍︎</span>{{end}}
|
|
</span>
|
|
<span class="topic_inner_right rowsmall" style="float: right;">
|
|
<span class="replyCount">{{.PostCount}}</span><br />
|
|
<span class="likeCount">{{.LikeCount}}</span>
|
|
</span>
|
|
</div>
|
|
<div class="rowitem topic_right passive datarow {{if .Sticky}}topic_sticky{{else if .IsClosed}}topic_closed{{end}}">
|
|
<a href="{{.LastUser.Link}}"><img src="{{.LastUser.Avatar}}" height="64" alt="{{.LastUser.Name}}'s Avatar" title="{{.LastUser.Name}}'s Avatar" /></a>
|
|
<span>
|
|
<a href="{{.LastUser.Link}}" class="lastName" style="font-size: 14px;">{{.LastUser.Name}}</a><br>
|
|
<span class="rowsmall lastReplyAt">{{.RelativeLastReplyAt}}</span>
|
|
</span>
|
|
</div>
|
|
</div>{{else}}<div class="rowitem passive">There aren't any topics yet.{{if .CurrentUser.Perms.CreateTopic}} <a href="/topics/create/">Start one?</a>{{end}}</div>{{end}}
|
|
</div>
|
|
|
|
{{if gt .LastPage 1}}
|
|
<div class="pageset">
|
|
{{if gt .Page 1}}<div class="pageitem"><a href="?page={{subtract .Page 1}}">Prev</a></div>{{end}}
|
|
{{range .PageList}}
|
|
<div class="pageitem"><a href="?page={{.}}">{{.}}</a></div>
|
|
{{end}}
|
|
{{if ne .LastPage .Page}}<div class="pageitem"><a href="?page={{add .Page 1}}">Next</a></div>{{end}}
|
|
</div>
|
|
{{end}}
|
|
|
|
</main>
|
|
{{template "footer.html" . }}
|