aboutsummaryrefslogtreecommitdiff
path: root/views/new.templ
blob: c83a4a93f2f790f24f42287d4da82bff7ff090ac (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package views

import (
	"fmt"
	"gitrepo.ru/neonxp/gorum/models"
	"gitrepo.ru/neonxp/gorum/utils"
	"strconv"
)

templ NewPost(parent *models.Node) {
	@Layout(parent.Parent) {
		<article>
			<header class="post-header">
				<span>
					{ parent.Author.Username }
				</span>
				<span>
					{ utils.FormatDate(parent.CreatedAt) }
				</span>
			</header>
			@templ.Raw(utils.MarkdownToHTML(parent.Text))
		</article>
		@NewPostForm(parent)
	}
}
templ NewTopic(parent *models.Node) {
	@Layout(parent.Parent) {
		<h1>{parent.Text}</h1>
		@NewTopicForm(parent)
	}
}

templ NewPostForm(parent *models.Node) {
	<form method="post" action={ templ.URL(fmt.Sprintf("/p/%d/new", parent.ID)) }>
		@CSRF()
		<input type="hidden" name="type" value={ strconv.Itoa(int(models.PostType)) }/>
		<label for="text"><strong>Ответ</strong></label>
		<textarea name="text" id="text" placeholder="текст..." rows="5"></textarea>
		<input type="submit" value="Создать"/>
	</form>
}

templ NewTopicForm(parent *models.Node) {
	<form method="post" action={ templ.URL(fmt.Sprintf("/t/%d/new", parent.ID)) }>
		@CSRF()
		<input type="hidden" name="type" value={ strconv.Itoa(int(models.TopicType)) }/>
		<label for="text"><strong>Новая тема</strong></label>
		<input type="text" name="text" id="text" placeholder="название темы..." />
		<input type="submit" value="Создать"/>
	</form>
}