nodebb-theme-harmony 3.1.15 → 3.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "nodebb-theme-harmony",
3
- "version": "3.1.15",
3
+ "version": "3.2.1",
4
4
  "nbbpm": {
5
- "compatibility": "^4.14.0"
5
+ "compatibility": "^4.15.0"
6
6
  },
7
7
  "description": "Harmony theme for NodeBB",
8
8
  "main": "library.js",
@@ -247,7 +247,7 @@
247
247
 
248
248
  <div component="account/moderation-note/content-area" class="d-flex flex-column">
249
249
  <div class="content text-secondary">
250
- {{txEscape(./note)}}
250
+ {{./note}}
251
251
  </div>
252
252
  {{{ if isAdmin }}}
253
253
  <div class="d-flex gap-1 justify-content-end">
@@ -10,7 +10,7 @@
10
10
 
11
11
  {{{ if aboutme }}}
12
12
  <div component="aboutme" class="text-sm text-break">
13
- {{txEscape(aboutmeParsed)}}
13
+ {{aboutmeParsed}}
14
14
  </div>
15
15
  {{{ end }}}
16
16
 
@@ -10,27 +10,30 @@
10
10
  <div class="alert alert-warning text-center">{{tx("uploads:no-uploads-found")}}</div>
11
11
  {{{ end }}}
12
12
 
13
- <div class="table-responsive">
14
- <table class="table table-sm w-100">
15
- <thead>
16
- <tr>
17
- <th></th>
18
- <th></th>
19
- </tr>
20
- </thead>
21
- <tbody>
22
- {{{ each uploads }}}
23
- <tr data-name="{./name}">
24
- <td class="align-middle">
25
- <a class="text-break text-reset text-sm" href="{config.relative_path}{./url}">{./url}</a>
26
- </td>
27
- <td style="width: 1%; white-space: nowrap;">
28
- <button class="btn btn-danger btn-sm" data-action="delete" aria-label="{{tx("aria:delete-upload-button")}}"><i class="fa fa-trash"></i></button>
29
- </td>
30
- </tr>
31
- {{{ end }}}
32
- </tbody>
33
- </table>
13
+ <div class="row row-cols-2 row-cols-lg-3 row-cols-xl-4 g-4">
14
+ {{{ each uploads }}}
15
+ <div class="" data-name="{./name}">
16
+ <div class="card h-100">
17
+ <div class="card-body d-flex flex-column justify-content-between">
18
+ <div class="mb-2 text-center d-flex flex-column gap-2">
19
+ <a class="text-sm" href="{config.relative_path}{./url}" target="_blank">
20
+ {{{ if ./isImage}}}
21
+ <img src="{config.relative_path}{./url}" class="img-fluid rounded mb-2" alt="{./name}" style="width:auto; max-width: 6.33rem; height: 6.0rem; object-fit: contain;">
22
+ {{{ else }}}
23
+ <div class="mx-auto d-flex align-items-center justify-content-center" style="width:auto; max-width: 6.33rem; height: 6.0rem; object-fit: contain;">
24
+ <i class="fa-regular fa-file-lines fa-4x mb-2 text-secondary" ></i>
25
+ </div>
26
+ {{{ end }}}
27
+ </a>
28
+ <a class="text-xs text-break text-secondary" target="_blank" href="{config.relative_path}{./url}">{./name}</a>
29
+ </div>
30
+ <div class="d-flex justify-content-center">
31
+ <button class="btn btn-ghost btn-sm" data-action="delete" aria-label="{{tx("aria:delete-upload-button")}}"><i class="fa fa-trash text-danger"></i> {{tx("uploads:delete-upload")}}</button>
32
+ </div>
33
+ </div>
34
+ </div>
35
+ </div>
36
+ {{{ end }}}
34
37
  </div>
35
38
 
36
39
  <!-- IMPORT partials/paginator.tpl -->
@@ -8,7 +8,7 @@
8
8
  </div>
9
9
  <div class="post-content text-xs text-break line-clamp-sm-2 lh-sm position-relative flex-fill">
10
10
  <a class="stretched-link" tabindex="-1" href="{config.relative_path}/topic/{./topic.slug}{{{ if ./index }}}/{./index}{{{ end }}}" aria-label="{{tx("global:lastpost")}}"></a>
11
- {{txEscape(./content)}}
11
+ {{./content}}
12
12
  </div>
13
13
  </div>
14
14
  {{{ end }}}
@@ -14,7 +14,7 @@
14
14
  </div>
15
15
 
16
16
  <div component="post/content" class="content text-sm text-break">
17
- {{{ if ./txContent }}}{{tx(./content)}}{{{ else }}}{{txEscape(./content)}}{{{ end }}}
17
+ {{{ if ./txContent }}}{{tx(./content)}}{{{ else }}}{{./content}}{{{ end }}}
18
18
  </div>
19
19
  </div>
20
20
  <div class="mb-3 d-flex flex-wrap gap-1 w-100">
@@ -8,4 +8,4 @@
8
8
  <span class="timeago text-nowrap text-muted" title="{post.timestampISO}"></span>
9
9
  </div>
10
10
 
11
- <div class="text-sm">{{{ if post.txContent }}}{{tx(posts.content)}}{{{ else }}}{{txEscape(post.content)}}{{{ end }}}</div>
11
+ <div class="text-sm">{{{ if post.txContent }}}{{tx(posts.content)}}{{{ else }}}{{post.content}}{{{ end }}}</div>
@@ -78,12 +78,12 @@
78
78
  </div>
79
79
 
80
80
  <div class="content text-break" component="post/content" itemprop="text">
81
- {{{ if posts.txContent }}}{{tx(posts.content)}}{{{ else }}}{{txEscape(posts.content)}}{{{ end }}}
81
+ {{{ if posts.txContent }}}{{tx(posts.content)}}{{{ else }}}{{posts.content}}{{{ end }}}
82
82
  </div>
83
83
 
84
84
  <div component="post/footer" class="post-footer border-bottom pb-2">
85
85
  {{{ if posts.user.signature }}}
86
- <div component="post/signature" data-uid="{posts.user.uid}" class="text-xs text-muted mt-2">{{txEscape(posts.user.signature)}}</div>
86
+ <div component="post/signature" data-uid="{posts.user.uid}" class="text-xs text-muted mt-2">{{posts.user.signature}}</div>
87
87
  {{{ end }}}
88
88
 
89
89
  <div class="d-flex flex-wrap-reverse gap-2 {{{ if (hideReplies || !posts.replies.count) }}}justify-content-end{{{ else }}}justify-content-between{{{ end }}}">
@@ -120,7 +120,7 @@
120
120
  </div>
121
121
  <div class="post-content text-xs ps-2 line-clamp-sm-2 lh-sm text-break position-relative flex-fill">
122
122
  <a class="stretched-link" tabindex="-1" href="{config.relative_path}/topic/{./slug}/{./teaser.index}" aria-label="{{tx("global:lastpost")}}"></a>
123
- {{txEscape(./teaser.content)}}
123
+ {{./teaser.content}}
124
124
  </div>
125
125
  {{{ end }}}
126
126
  {{{ end }}}