From ce3111b0efe91e275ce070f9511b5b1b9801a46d Mon Sep 17 00:00:00 2001 From: Alexander NeonXP Kiryukhin Date: Sun, 21 Jul 2024 19:26:56 +0300 Subject: Множество улучшений MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- views/nodes.templ | 93 ++++++++++++++++++++++++++++++++----------------------- 1 file changed, 55 insertions(+), 38 deletions(-) (limited to 'views/nodes.templ') diff --git a/views/nodes.templ b/views/nodes.templ index c9baf2e..e6a120c 100644 --- a/views/nodes.templ +++ b/views/nodes.templ @@ -4,44 +4,46 @@ import ( "fmt" "gitrepo.ru/neonxp/gorum/models" "gitrepo.ru/neonxp/gorum/utils" + "strconv" ) -templ Node(node *models.Node, nodes []*models.Node, count int) { - @Layout() { -

{ node.Text }

- - - - - - - - - - for _, n := range nodes { - if n.Type == models.TopicType { - @Topic(n) - } - } - if len(nodes) == 0 { +templ Node(node *models.Node, topics []*models.Node, nodes []*models.Node) { + @Layout(node.Parent) { + switch node.Type { + case models.TopicType: +

{ node.Text }

+
+ Новая подтема +
+ case models.PostType: +

Пост

+ @Post(node, 0, false) + } + if len(topics) != 0 { +
ТемаДатаАвтор
+ - + + + + - } - -
- Тем нет - ТемаТем/ОтветовДатаАвтор
+ + + for _, n := range topics { + @Topic(n) + } + + + } if len(nodes) == 0 { Постов нет } for _, n := range nodes { - if n.Type == models.PostType { - @Post(n) - } + @Post(n, level(node), true) } if isAuthorized(ctx) { - @NewNode(node) + @NewPostForm(node) } else { Войдите чтобы ответить в тему. } @@ -51,7 +53,10 @@ templ Node(node *models.Node, nodes []*models.Node, count int) { templ Topic(n *models.Node) { - { n.Text } + { n.Text } + + + { strconv.Itoa(len(n.Children)) } { utils.FormatDate(n.CreatedAt) } @@ -62,21 +67,33 @@ templ Topic(n *models.Node) { } -templ Post(n *models.Node) { -
+css levelStyle(level int) { + margin-left: { fmt.Sprintf("%dem", level) }; +} + +templ Post(n *models.Node, level int, withFooter bool) { + } + +func level(node *models.Node) int { + if node.Type == models.PostType { + return 1 + } + return 0 +} -- cgit v1.2.3