nodebb-theme-persona 13.3.29 → 13.3.32

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.
Files changed (146) hide show
  1. package/.eslintrc +2 -2
  2. package/README.md +20 -20
  3. package/lib/controllers.js +24 -24
  4. package/library.js +97 -97
  5. package/package.json +52 -52
  6. package/plugin.json +20 -20
  7. package/public/.eslintrc +2 -2
  8. package/public/admin.js +15 -15
  9. package/public/modules/autohidingnavbar.js +220 -220
  10. package/public/modules/mobile-menu.js +190 -190
  11. package/public/modules/taskbar.js +65 -65
  12. package/public/persona.js +257 -257
  13. package/public/settings.js +53 -53
  14. package/scss/account.scss +336 -336
  15. package/scss/categories.scss +205 -205
  16. package/scss/category.scss +161 -161
  17. package/scss/chats.scss +14 -14
  18. package/scss/flags.scss +42 -42
  19. package/scss/footer.scss +16 -16
  20. package/scss/groups.scss +166 -166
  21. package/scss/header.scss +361 -361
  22. package/scss/keyframes.scss +152 -152
  23. package/scss/mixins.scss +129 -129
  24. package/scss/mobile.scss +331 -331
  25. package/scss/modules/composer.scss +20 -20
  26. package/scss/modules/cookie-consent.scss +12 -12
  27. package/scss/modules/fab.scss +32 -32
  28. package/scss/modules/morph.scss +268 -268
  29. package/scss/modules/necro-post.scss +8 -8
  30. package/scss/modules/nprogress.scss +80 -80
  31. package/scss/modules/taskbar.scss +160 -160
  32. package/scss/modules/user-menu.scss +7 -7
  33. package/scss/modules/usercard.scss +64 -64
  34. package/scss/noscript.scss +80 -80
  35. package/scss/overrides.scss +39 -39
  36. package/scss/persona.scss +34 -35
  37. package/scss/posts_list.scss +127 -127
  38. package/scss/search.scss +48 -48
  39. package/scss/style.scss +256 -270
  40. package/scss/tags.scss +10 -10
  41. package/scss/topic.scss +571 -571
  42. package/scss/topics_list.scss +16 -16
  43. package/scss/variables.scss +6 -6
  44. package/templates/account/blocks.tpl +46 -46
  45. package/templates/account/categories.tpl +28 -28
  46. package/templates/account/consent.tpl +68 -68
  47. package/templates/account/edit/password.tpl +29 -29
  48. package/templates/account/edit/username.tpl +25 -25
  49. package/templates/account/edit.tpl +136 -136
  50. package/templates/account/followers.tpl +17 -17
  51. package/templates/account/following.tpl +17 -17
  52. package/templates/account/groups.tpl +16 -16
  53. package/templates/account/info.tpl +291 -291
  54. package/templates/account/posts.tpl +18 -18
  55. package/templates/account/profile.tpl +166 -166
  56. package/templates/account/sessions.tpl +31 -31
  57. package/templates/account/settings.tpl +251 -251
  58. package/templates/account/tags.tpl +9 -9
  59. package/templates/account/theme.tpl +25 -25
  60. package/templates/account/topics.tpl +29 -29
  61. package/templates/account/uploads.tpl +42 -42
  62. package/templates/admin/plugins/persona.tpl +24 -24
  63. package/templates/categories.tpl +31 -31
  64. package/templates/category.tpl +63 -63
  65. package/templates/flags/detail.tpl +208 -208
  66. package/templates/flags/list.tpl +71 -71
  67. package/templates/footer.tpl +11 -11
  68. package/templates/groups/details.tpl +77 -77
  69. package/templates/groups/list.tpl +48 -48
  70. package/templates/groups/members.tpl +5 -5
  71. package/templates/header.tpl +47 -47
  72. package/templates/modules/taskbar.tpl +2 -2
  73. package/templates/modules/usercard.tpl +36 -36
  74. package/templates/notifications.tpl +66 -66
  75. package/templates/partials/account/category-item.tpl +23 -23
  76. package/templates/partials/account/header.tpl +47 -47
  77. package/templates/partials/account/menu.tpl +108 -108
  78. package/templates/partials/breadcrumbs.tpl +18 -18
  79. package/templates/partials/buttons/newTopic.tpl +22 -22
  80. package/templates/partials/categories/item.tpl +60 -60
  81. package/templates/partials/categories/lastpost.tpl +26 -26
  82. package/templates/partials/category/filter-dropdown-content.tpl +31 -31
  83. package/templates/partials/category/selector-dropdown-content.tpl +32 -32
  84. package/templates/partials/category/sort.tpl +14 -14
  85. package/templates/partials/category/subcategory.tpl +17 -17
  86. package/templates/partials/category/tags.tpl +3 -3
  87. package/templates/partials/category/tools.tpl +86 -86
  88. package/templates/partials/category/watch.tpl +55 -55
  89. package/templates/partials/chats-menu.tpl +40 -40
  90. package/templates/partials/cookie-consent.tpl +4 -4
  91. package/templates/partials/flags/filters.tpl +173 -173
  92. package/templates/partials/groups/admin.tpl +200 -200
  93. package/templates/partials/groups/filter-dropdown-content.tpl +24 -24
  94. package/templates/partials/groups/list.tpl +20 -20
  95. package/templates/partials/groups/memberlist.tpl +42 -42
  96. package/templates/partials/header/chats.tpl +18 -18
  97. package/templates/partials/header/notifications.tpl +18 -18
  98. package/templates/partials/header/search.tpl +24 -24
  99. package/templates/partials/header/user-menu.tpl +96 -96
  100. package/templates/partials/menu.tpl +128 -128
  101. package/templates/partials/notifications_list.tpl +30 -30
  102. package/templates/partials/paginator.tpl +44 -44
  103. package/templates/partials/post_bar.tpl +20 -20
  104. package/templates/partials/posts_list.tpl +7 -7
  105. package/templates/partials/posts_list_item.tpl +31 -31
  106. package/templates/partials/quick-search-results.tpl +33 -33
  107. package/templates/partials/search-filters.tpl +183 -183
  108. package/templates/partials/search-results.tpl +54 -54
  109. package/templates/partials/slideout-menu.tpl +4 -4
  110. package/templates/partials/tags/filter-dropdown-content.tpl +33 -33
  111. package/templates/partials/tags/watch.tpl +35 -35
  112. package/templates/partials/tags_list.tpl +4 -4
  113. package/templates/partials/toast.tpl +19 -19
  114. package/templates/partials/topic/event.tpl +12 -12
  115. package/templates/partials/topic/navigation-post.tpl +11 -11
  116. package/templates/partials/topic/navigator.tpl +39 -39
  117. package/templates/partials/topic/necro-post.tpl +2 -2
  118. package/templates/partials/topic/post-menu-list.tpl +132 -132
  119. package/templates/partials/topic/post-menu.tpl +4 -4
  120. package/templates/partials/topic/post.tpl +128 -128
  121. package/templates/partials/topic/quickreply.tpl +28 -28
  122. package/templates/partials/topic/reply-button.tpl +26 -26
  123. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  124. package/templates/partials/topic/sort.tpl +9 -9
  125. package/templates/partials/topic/stats.tpl +11 -11
  126. package/templates/partials/topic/tags.tpl +2 -2
  127. package/templates/partials/topic/tools.tpl +7 -7
  128. package/templates/partials/topic/topic-menu-list.tpl +74 -74
  129. package/templates/partials/topic/watch.tpl +47 -47
  130. package/templates/partials/topic-filters.tpl +11 -11
  131. package/templates/partials/topic-terms.tpl +11 -11
  132. package/templates/partials/topics_list.tpl +117 -117
  133. package/templates/partials/users/filter-dropdown-content.tpl +20 -20
  134. package/templates/partials/users/item.tpl +43 -43
  135. package/templates/partials/users_list.tpl +14 -14
  136. package/templates/partials/users_list_menu.tpl +20 -20
  137. package/templates/popular.tpl +35 -35
  138. package/templates/recent.tpl +37 -37
  139. package/templates/search.tpl +47 -47
  140. package/templates/tag.tpl +34 -34
  141. package/templates/tags.tpl +32 -32
  142. package/templates/top.tpl +35 -35
  143. package/templates/topic.tpl +129 -129
  144. package/templates/unread.tpl +37 -37
  145. package/templates/users.tpl +34 -34
  146. package/scss/register.scss +0 -71
@@ -1,36 +1,36 @@
1
- {{{ if config.loggedIn }}}
2
- <div class="btn-group bottom-sheet" component="tag/watch"
3
- data-bs-toggle="tooltip">
4
- <button class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false">
5
- <span component="tag/following/menu" {{{ if !isFollowing }}}class="hidden"{{{ end }}}>
6
- <i class="fa fa-fw fa-bell-o"></i>
7
- <span class="d-none d-md-inline">[[tags:watching]]</span>
8
- </span>
9
- <span component="tag/not-following/menu" {{{ if isFollowing }}}class="hidden"{{{ end }}}>
10
- <i class="fa fa-fw fa-bell-slash-o"></i>
11
- <span class="d-none d-md-inline">[[tags:not-watching]]</span>
12
- </span>
13
- </button>
14
- <ul class="dropdown-menu dropdown-menu-end" role="menu">
15
- <li>
16
- <a class="dropdown-item d-flex" href="#" component="tag/following" role="menuitem">
17
- <span><i component="tag/following/check" class="fa fa-fw {{{ if isFollowing }}}fa-check{{{ end }}}"></i></span>
18
- <div class="d-flex flex-column">
19
- <span><i class="fa fa-fw fa-bell-o"></i> [[tags:watching]]</span>
20
- <p class="help-text text-muted"><small>[[tags:watching.description]]</small></p>
21
- </div>
22
- </a>
23
- </li>
24
-
25
- <li>
26
- <a class="dropdown-item d-flex" href="#" component="tag/not-following" role="menuitem">
27
- <span><i component="tag/not-following/check" class="fa fa-fw {{{ if !isFollowing }}}fa-check{{{ end }}}"></i></span>
28
- <div class="d-flex flex-column">
29
- <span><i class="fa fa-fw fa-bell-slash-o"></i> [[tags:not-watching]]</span>
30
- <p class="help-text text-muted"><small>[[tags:not-watching.description]]</small></p>
31
- </div>
32
- </a>
33
- </li>
34
- </ul>
35
- </div>
1
+ {{{ if config.loggedIn }}}
2
+ <div class="btn-group bottom-sheet" component="tag/watch"
3
+ data-bs-toggle="tooltip">
4
+ <button class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false">
5
+ <span component="tag/following/menu" {{{ if !isFollowing }}}class="hidden"{{{ end }}}>
6
+ <i class="fa fa-fw fa-bell-o"></i>
7
+ <span class="d-none d-md-inline">[[tags:watching]]</span>
8
+ </span>
9
+ <span component="tag/not-following/menu" {{{ if isFollowing }}}class="hidden"{{{ end }}}>
10
+ <i class="fa fa-fw fa-bell-slash-o"></i>
11
+ <span class="d-none d-md-inline">[[tags:not-watching]]</span>
12
+ </span>
13
+ </button>
14
+ <ul class="dropdown-menu dropdown-menu-end" role="menu">
15
+ <li>
16
+ <a class="dropdown-item d-flex" href="#" component="tag/following" role="menuitem">
17
+ <span><i component="tag/following/check" class="fa fa-fw {{{ if isFollowing }}}fa-check{{{ end }}}"></i></span>
18
+ <div class="d-flex flex-column">
19
+ <span><i class="fa fa-fw fa-bell-o"></i> [[tags:watching]]</span>
20
+ <p class="help-text text-muted"><small>[[tags:watching.description]]</small></p>
21
+ </div>
22
+ </a>
23
+ </li>
24
+
25
+ <li>
26
+ <a class="dropdown-item d-flex" href="#" component="tag/not-following" role="menuitem">
27
+ <span><i component="tag/not-following/check" class="fa fa-fw {{{ if !isFollowing }}}fa-check{{{ end }}}"></i></span>
28
+ <div class="d-flex flex-column">
29
+ <span><i class="fa fa-fw fa-bell-slash-o"></i> [[tags:not-watching]]</span>
30
+ <p class="help-text text-muted"><small>[[tags:not-watching.description]]</small></p>
31
+ </div>
32
+ </a>
33
+ </li>
34
+ </ul>
35
+ </div>
36
36
  {{{ end }}}
@@ -1,5 +1,5 @@
1
- {{{each tags}}}
2
- <h5 class="float-start tag-container me-4 mb-4 fw-bold">
3
- <a href="{config.relative_path}/tags/{tags.valueEncoded}" data-tag="{tags.valueEscaped}"><span class="tag-item text-muted text-uppercase text-nowrap tag-class-{tags.class} me-2" data-tag="{tags.valueEscaped}">{tags.valueEscaped}</span><span class="tag-topic-count text-primary text-nowrap" title="{tags.score}">{formattedNumber(tags.score)}</span></a>
4
- </h5>
1
+ {{{each tags}}}
2
+ <h5 class="float-start tag-container me-4 mb-4 fw-bold">
3
+ <a href="{config.relative_path}/tags/{tags.valueEncoded}" data-tag="{tags.valueEscaped}"><span class="tag-item text-muted text-uppercase text-nowrap tag-class-{tags.class} me-2" data-tag="{tags.valueEscaped}">{tags.valueEscaped}</span><span class="tag-topic-count text-primary text-nowrap" title="{tags.score}">{formattedNumber(tags.score)}</span></a>
4
+ </h5>
5
5
  {{{end}}}
@@ -1,19 +1,19 @@
1
- <div id="{alert_id}" role="alert" class="alert alert-dismissible alert-{type} fade show" component="toaster/toast">
2
- <div class="alert-progress position-absolute top-0 start-0 bottom-0 h-100 z-0" style=" opacity:0.1;"></div>
3
- <div class="d-flex flex-wrap gap-2 position-relative">
4
- {{{ if image }}}
5
- <img src="{image}" height="80" style="width: auto;" />
6
- {{{ end }}}
7
- <div class="d-flex flex-column gap-2">
8
- {{{ if title }}}
9
- <strong>{title}</strong>
10
- {{{ end }}}
11
-
12
- {{{ if message }}}
13
- <p class="m-0">{message}</p>
14
- {{{ end }}}
15
- </div>
16
- </div>
17
-
18
- <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="close"></button>
19
- </div>
1
+ <div id="{alert_id}" role="alert" class="alert alert-dismissible alert-{type} fade show" component="toaster/toast">
2
+ <div class="alert-progress position-absolute top-0 start-0 bottom-0 h-100 z-0" style=" opacity:0.1;"></div>
3
+ <div class="d-flex flex-wrap gap-2 position-relative">
4
+ {{{ if image }}}
5
+ <img src="{image}" height="80" style="width: auto;" />
6
+ {{{ end }}}
7
+ <div class="d-flex flex-column gap-2">
8
+ {{{ if title }}}
9
+ <strong>{title}</strong>
10
+ {{{ end }}}
11
+
12
+ {{{ if message }}}
13
+ <p class="m-0">{message}</p>
14
+ {{{ end }}}
15
+ </div>
16
+ </div>
17
+
18
+ <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="close"></button>
19
+ </div>
@@ -1,12 +1,12 @@
1
- <li component="topic/event" class="timeline-event text-muted" data-topic-event-id="{./id}" data-topic-event-type="{./type}">
2
- <div class="timeline-badge">
3
- <i class="fa {{{ if ./icon }}}{./icon}{{{ else }}}fa-circle{{{ end }}}"></i>
4
- </div>
5
- <span class="timeline-text">
6
- {./text}
7
- </span>
8
- {{{ if (privileges.isAdminOrMod && ./id) }}}
9
- &nbsp;<span component="topic/event/delete" data-topic-event-id="{./id}" data-topic-event-type="{./type}" class="timeline-text pointer" title="[[topic:delete-event]]"><i class="fa fa-trash"></i></span>
10
- {{{ end }}}
11
- </li>
12
-
1
+ <li component="topic/event" class="timeline-event text-muted" data-topic-event-id="{./id}" data-topic-event-type="{./type}">
2
+ <div class="timeline-badge">
3
+ <i class="fa {{{ if ./icon }}}{./icon}{{{ else }}}fa-circle{{{ end }}}"></i>
4
+ </div>
5
+ <span class="timeline-text">
6
+ {./text}
7
+ </span>
8
+ {{{ if (privileges.isAdminOrMod && ./id) }}}
9
+ &nbsp;<span component="topic/event/delete" data-topic-event-id="{./id}" data-topic-event-type="{./type}" class="timeline-text pointer" title="[[topic:delete-event]]"><i class="fa fa-trash"></i></span>
10
+ {{{ end }}}
11
+ </li>
12
+
@@ -1,12 +1,12 @@
1
- <div class="clearfix">
2
- <div class="icon float-start">
3
- <a href="<!-- IF post.user.userslug -->{config.relative_path}/user/{post.user.userslug}<!-- ELSE -->#<!-- ENDIF post.user.userslug -->">
4
- {buildAvatar(post.user, "24px", true, "", "user/picture")} {post.user.username}
5
- </a>
6
- </div>
7
- <small class="float-end">
8
- <span class="timeago" title="{post.timestampISO}"></span>
9
- </small>
10
- </div>
11
-
1
+ <div class="clearfix">
2
+ <div class="icon float-start">
3
+ <a href="<!-- IF post.user.userslug -->{config.relative_path}/user/{post.user.userslug}<!-- ELSE -->#<!-- ENDIF post.user.userslug -->">
4
+ {buildAvatar(post.user, "24px", true, "", "user/picture")} {post.user.username}
5
+ </a>
6
+ </div>
7
+ <small class="float-end">
8
+ <span class="timeago" title="{post.timestampISO}"></span>
9
+ </small>
10
+ </div>
11
+
12
12
  <div>{post.content}</div>
@@ -1,39 +1,39 @@
1
- <div class="pagination-block border border-1 text-bg-light text-center">
2
- <div class="progress-bar bg-info"></div>
3
- <div class="wrapper dropup">
4
- <i class="fa fa-2x fa-angle-double-up pointer fa-fw pagetop"></i>
5
-
6
- <a href="#" class="dropdown-toggle d-inline-block text-decoration-none" data-bs-toggle="dropdown" data-bs-reference="parent" aria-haspopup="true" aria-expanded="false">
7
- <span class="pagination-text"></span>
8
- </a>
9
-
10
- <i class="fa fa-2x fa-angle-double-down pointer fa-fw pagebottom"></i>
11
- <ul class="dropdown-menu dropdown-menu-end" role="menu">
12
- <li>
13
- <div class="row">
14
- <div class="col-8 post-content"></div>
15
- <div class="col-4 text-end">
16
- <div class="scroller-content">
17
- <span class="pointer pagetop">[[topic:first-post]] <i class="fa fa-angle-double-up"></i></span>
18
- <div class="scroller-container">
19
- <div class="scroller-thumb">
20
- <span class="thumb-text"></span>
21
- <div class="scroller-thumb-icon"></div>
22
- </div>
23
- </div>
24
- <span class="pointer pagebottom">[[topic:last-post]] <i class="fa fa-angle-double-down"></i></span>
25
- </div>
26
- </div>
27
- </div>
28
- <div class="row">
29
- <div class="col-6">
30
- <button id="myNextPostBtn" class="btn btn-outline-secondary form-control" disabled>[[topic:go-to-my-next-post]]</button>
31
- </div>
32
- <div class="col-6">
33
- <input type="number" class="form-control" id="indexInput" placeholder="[[global:pagination.enter-index]]">
34
- </div>
35
- </div>
36
- </li>
37
- </ul>
38
- </div>
39
- </div>
1
+ <div class="pagination-block border border-1 text-bg-light text-center">
2
+ <div class="progress-bar bg-info"></div>
3
+ <div class="wrapper dropup">
4
+ <i class="fa fa-2x fa-angle-double-up pointer fa-fw pagetop"></i>
5
+
6
+ <a href="#" class="dropdown-toggle d-inline-block text-decoration-none" data-bs-toggle="dropdown" data-bs-reference="parent" aria-haspopup="true" aria-expanded="false">
7
+ <span class="pagination-text"></span>
8
+ </a>
9
+
10
+ <i class="fa fa-2x fa-angle-double-down pointer fa-fw pagebottom"></i>
11
+ <ul class="dropdown-menu dropdown-menu-end" role="menu">
12
+ <li>
13
+ <div class="row">
14
+ <div class="col-8 post-content"></div>
15
+ <div class="col-4 text-end">
16
+ <div class="scroller-content">
17
+ <span class="pointer pagetop">[[topic:first-post]] <i class="fa fa-angle-double-up"></i></span>
18
+ <div class="scroller-container">
19
+ <div class="scroller-thumb">
20
+ <span class="thumb-text"></span>
21
+ <div class="scroller-thumb-icon"></div>
22
+ </div>
23
+ </div>
24
+ <span class="pointer pagebottom">[[topic:last-post]] <i class="fa fa-angle-double-down"></i></span>
25
+ </div>
26
+ </div>
27
+ </div>
28
+ <div class="row">
29
+ <div class="col-6">
30
+ <button id="myNextPostBtn" class="btn btn-outline-secondary form-control" disabled>[[topic:go-to-my-next-post]]</button>
31
+ </div>
32
+ <div class="col-6">
33
+ <input type="number" class="form-control" id="indexInput" placeholder="[[global:pagination.enter-index]]">
34
+ </div>
35
+ </div>
36
+ </li>
37
+ </ul>
38
+ </div>
39
+ </div>
@@ -1,3 +1,3 @@
1
- <li component="topic/necro-post" class="necro-post text-muted timeline-event">
2
- <span class="timeline-text">{text}</span>
1
+ <li component="topic/necro-post" class="necro-post text-muted timeline-event">
2
+ <span class="timeline-text">{text}</span>
3
3
  </li>
@@ -1,132 +1,132 @@
1
- <!-- IF posts.display_moderator_tools -->
2
- <li>
3
- <a class="dropdown-item" component="post/edit" role="menuitem" href="#">
4
- <span class="menu-icon"><i class="fa fa-fw fa-pencil"></i></span> [[topic:edit]]
5
- </a>
6
- </li>
7
- <li <!-- IF posts.deleted -->hidden<!-- ENDIF posts.deleted -->>
8
- <a class="dropdown-item" component="post/delete" role="menuitem" href="#" class="<!-- IF posts.deleted -->hidden<!-- ENDIF posts.deleted -->">
9
- <span class="menu-icon"><i class="fa fa-fw fa-trash-o"></i><span> [[topic:delete]]
10
- </a>
11
- </li>
12
- <li <!-- IF !posts.deleted -->hidden<!-- ENDIF !posts.deleted -->>
13
- <a class="dropdown-item" component="post/restore" role="menuitem" href="#" class="<!-- IF !posts.deleted -->hidden<!-- ENDIF !posts.deleted -->">
14
- <span class="menu-icon"><i class="fa fa-fw fa-history"></i><span> [[topic:restore]]
15
- </a>
16
- </li>
17
- <!-- IF posts.display_purge_tools -->
18
- <li <!-- IF !posts.deleted -->hidden<!-- ENDIF !posts.deleted -->>
19
- <a class="dropdown-item" component="post/purge" role="menuitem" href="#" class="<!-- IF !posts.deleted -->hidden<!-- ENDIF !posts.deleted -->">
20
- <span class="menu-icon"><i class="fa fa-fw fa-eraser"></i></span> [[topic:purge]]
21
- </a>
22
- </li>
23
- <!-- END -->
24
-
25
- <!-- IF posts.display_move_tools -->
26
- <li>
27
- <a class="dropdown-item" component="post/move" role="menuitem" href="#">
28
- <span class="menu-icon"><i class="fa fa-fw fa-arrows"></i></span> [[topic:move]]
29
- </a>
30
- </li>
31
- <!-- ENDIF posts.display_move_tools -->
32
-
33
- <!-- IF posts.display_change_owner_tools -->
34
- <li>
35
- <a class="dropdown-item" component="post/change-owner" role="menuitem" href="#">
36
- <span class="menu-icon"><i class="fa fa-fw fa-user"></i></span> [[topic:change-owner]]
37
- </a>
38
- </li>
39
- <!-- ENDIF posts.display_change_owner_tools -->
40
-
41
- <!-- IF posts.ip -->
42
- <li>
43
- <a class="dropdown-item" component="post/copy-ip" role="menuitem" href="#" data-clipboard-text="{posts.ip}">
44
- <span class="menu-icon" ><i class="fa fa-fw fa-copy"></i></span> [[topic:copy-ip]] {posts.ip}
45
- </a>
46
- </li>
47
- <!-- IF posts.display_ip_ban -->
48
- <li>
49
- <a class="dropdown-item" component="post/ban-ip" role="menuitem" href="#" data-ip="{posts.ip}">
50
- <span class="menu-icon"><i class="fa fa-fw fa-ban"></i></span> [[topic:ban-ip]] {posts.ip}
51
- </a>
52
- </li>
53
- <!-- ENDIF posts.display_ip_ban -->
54
- <!-- ENDIF posts.ip -->
55
- <!-- ENDIF posts.display_moderator_tools -->
56
-
57
- {{{each posts.tools}}}
58
- <li {{{ if ./disabled }}}class="disabled" {{{ end }}}>
59
- <a class="dropdown-item" {{{ if ./action}}}component="{./action}"{{{ end }}} role="menuitem" href="{{{ if ./href }}}{./href}{{{ else }}}#{{{ end }}}">
60
- <span class="menu-icon"><i class="fa fa-fw {posts.tools.icon}"></i></span> {{posts.tools.html}}
61
- </a>
62
- </li>
63
- {{{end}}}
64
-
65
- <!-- IF !posts.deleted -->
66
- <!-- IF posts.display_history -->
67
- <li>
68
- <a class="dropdown-item" component="post/view-history" role="menuitem" href="#">
69
- <span class="menu-icon"><i class="fa fa-fw fa-history"></i></span> [[topic:view-history]]
70
- </a>
71
- </li>
72
- <!-- END -->
73
-
74
- {{{ if config.loggedIn }}}
75
- <li>
76
- <a class="dropdown-item" component="post/bookmark" role="menuitem" href="#" data-bookmarked="{posts.bookmarked}">
77
- <span class="menu-icon">
78
- <i component="post/bookmark/on" class="fa fa-fw fa-heart <!-- IF !posts.bookmarked -->hidden<!-- ENDIF !posts.bookmarked -->"></i>
79
- <i component="post/bookmark/off" class="fa fa-fw fa-heart-o <!-- IF posts.bookmarked -->hidden<!-- ENDIF posts.bookmarked -->"></i>
80
- </span>
81
- <span class="bookmark-text">[[topic:bookmark]]</span>
82
- <span component="post/bookmark-count" class="bookmarkCount badge" data-bookmarks="{posts.bookmarks}">{posts.bookmarks}</span>&nbsp;
83
- </a>
84
- </li>
85
- {{{ end }}}
86
-
87
- <li>
88
- <a class="dropdown-item" role="menuitem" href="#" data-clipboard-text="{posts.absolute_url}">
89
- <i class="fa fa-fw fa-link"></i> [[topic:copy-permalink]]
90
- </a>
91
- </li>
92
-
93
- <!-- IF postSharing.length -->
94
- <!-- IF config.loggedIn --><li class="dropdown-divider"></li><!-- ENDIF config.loggedIn -->
95
- <li class="dropdown-header">[[topic:share-this-post]]</li>
96
- <!-- ENDIF postSharing.length -->
97
- <li class="d-flex gap-2 px-3">
98
- {{{ each postSharing }}}
99
- <a class="dropdown-item rounded-1 d-flex align-items-center px-1 py-2 w-auto" role="menuitem" component="share/{./id}" href="#" title="{./name}"><i class="fa-fw text-muted {./class}"></i></a>
100
- {{{ end }}}
101
- </li>
102
- <!-- ENDIF !posts.deleted -->
103
-
104
- {{{ if posts.display_flag_tools }}}
105
- <li class="dropdown-divider"></li>
106
-
107
- <li {{{ if posts.flags.flagged }}}hidden{{{ end }}}>
108
- <a class="dropdown-item" component="post/flag" role="menuitem" href="#"><i class="fa fa-fw fa-flag"></i> [[topic:flag-post]]</a>
109
- </li>
110
- <li {{{ if !posts.flags.flagged }}}hidden{{{ end }}} class="disabled text-muted">
111
- <a class="dropdown-item" component="post/already-flagged" role="menuitem" href="#"><i class="fa fa-fw fa-flag"></i> [[topic:already-flagged]]</a>
112
- </li>
113
-
114
- {{{ if (!posts.selfPost && posts.uid) }}}
115
- <li>
116
- <a class="dropdown-item" component="post/flagUser" role="menuitem" href="#"><i class="fa fa-fw fa-flag"></i> [[topic:flag-user]]</a>
117
- </li>
118
- {{{ end }}}
119
- {{{ end }}}
120
-
121
- <!-- IF posts.display_moderator_tools -->
122
- {{{ if posts.flags.exists }}}
123
- <li>
124
- <a class="dropdown-item" role="menuitem" href="{config.relative_path}/flags/{posts.flags.flagId}"><i class="fa fa-fw fa-exclamation-circle"></i> [[topic:view-flag-report]]</a>
125
- </li>
126
- {{{ if (posts.flags.state == "open") }}}
127
- <li>
128
- <a class="dropdown-item" component="post/flagResolve" data-flagId="{posts.flags.flagId}" role="menuitem" href="#"><i class="fa fa-fw fa-check"></i> [[topic:resolve-flag]]</a>
129
- </li>
130
- {{{ end }}}
131
- {{{ end }}}
132
- <!-- ENDIF posts.display_moderator_tools -->
1
+ <!-- IF posts.display_moderator_tools -->
2
+ <li>
3
+ <a class="dropdown-item" component="post/edit" role="menuitem" href="#">
4
+ <span class="menu-icon"><i class="fa fa-fw fa-pencil"></i></span> [[topic:edit]]
5
+ </a>
6
+ </li>
7
+ <li <!-- IF posts.deleted -->hidden<!-- ENDIF posts.deleted -->>
8
+ <a class="dropdown-item" component="post/delete" role="menuitem" href="#" class="<!-- IF posts.deleted -->hidden<!-- ENDIF posts.deleted -->">
9
+ <span class="menu-icon"><i class="fa fa-fw fa-trash-o"></i><span> [[topic:delete]]
10
+ </a>
11
+ </li>
12
+ <li <!-- IF !posts.deleted -->hidden<!-- ENDIF !posts.deleted -->>
13
+ <a class="dropdown-item" component="post/restore" role="menuitem" href="#" class="<!-- IF !posts.deleted -->hidden<!-- ENDIF !posts.deleted -->">
14
+ <span class="menu-icon"><i class="fa fa-fw fa-history"></i><span> [[topic:restore]]
15
+ </a>
16
+ </li>
17
+ <!-- IF posts.display_purge_tools -->
18
+ <li <!-- IF !posts.deleted -->hidden<!-- ENDIF !posts.deleted -->>
19
+ <a class="dropdown-item" component="post/purge" role="menuitem" href="#" class="<!-- IF !posts.deleted -->hidden<!-- ENDIF !posts.deleted -->">
20
+ <span class="menu-icon"><i class="fa fa-fw fa-eraser"></i></span> [[topic:purge]]
21
+ </a>
22
+ </li>
23
+ <!-- END -->
24
+
25
+ <!-- IF posts.display_move_tools -->
26
+ <li>
27
+ <a class="dropdown-item" component="post/move" role="menuitem" href="#">
28
+ <span class="menu-icon"><i class="fa fa-fw fa-arrows"></i></span> [[topic:move]]
29
+ </a>
30
+ </li>
31
+ <!-- ENDIF posts.display_move_tools -->
32
+
33
+ <!-- IF posts.display_change_owner_tools -->
34
+ <li>
35
+ <a class="dropdown-item" component="post/change-owner" role="menuitem" href="#">
36
+ <span class="menu-icon"><i class="fa fa-fw fa-user"></i></span> [[topic:change-owner]]
37
+ </a>
38
+ </li>
39
+ <!-- ENDIF posts.display_change_owner_tools -->
40
+
41
+ <!-- IF posts.ip -->
42
+ <li>
43
+ <a class="dropdown-item" component="post/copy-ip" role="menuitem" href="#" data-clipboard-text="{posts.ip}">
44
+ <span class="menu-icon" ><i class="fa fa-fw fa-copy"></i></span> [[topic:copy-ip]] {posts.ip}
45
+ </a>
46
+ </li>
47
+ <!-- IF posts.display_ip_ban -->
48
+ <li>
49
+ <a class="dropdown-item" component="post/ban-ip" role="menuitem" href="#" data-ip="{posts.ip}">
50
+ <span class="menu-icon"><i class="fa fa-fw fa-ban"></i></span> [[topic:ban-ip]] {posts.ip}
51
+ </a>
52
+ </li>
53
+ <!-- ENDIF posts.display_ip_ban -->
54
+ <!-- ENDIF posts.ip -->
55
+ <!-- ENDIF posts.display_moderator_tools -->
56
+
57
+ {{{each posts.tools}}}
58
+ <li {{{ if ./disabled }}}class="disabled" {{{ end }}}>
59
+ <a class="dropdown-item" {{{ if ./action}}}component="{./action}"{{{ end }}} role="menuitem" href="{{{ if ./href }}}{./href}{{{ else }}}#{{{ end }}}">
60
+ <span class="menu-icon"><i class="fa fa-fw {posts.tools.icon}"></i></span> {{posts.tools.html}}
61
+ </a>
62
+ </li>
63
+ {{{end}}}
64
+
65
+ <!-- IF !posts.deleted -->
66
+ <!-- IF posts.display_history -->
67
+ <li>
68
+ <a class="dropdown-item" component="post/view-history" role="menuitem" href="#">
69
+ <span class="menu-icon"><i class="fa fa-fw fa-history"></i></span> [[topic:view-history]]
70
+ </a>
71
+ </li>
72
+ <!-- END -->
73
+
74
+ {{{ if config.loggedIn }}}
75
+ <li>
76
+ <a class="dropdown-item" component="post/bookmark" role="menuitem" href="#" data-bookmarked="{posts.bookmarked}">
77
+ <span class="menu-icon">
78
+ <i component="post/bookmark/on" class="fa fa-fw fa-heart <!-- IF !posts.bookmarked -->hidden<!-- ENDIF !posts.bookmarked -->"></i>
79
+ <i component="post/bookmark/off" class="fa fa-fw fa-heart-o <!-- IF posts.bookmarked -->hidden<!-- ENDIF posts.bookmarked -->"></i>
80
+ </span>
81
+ <span class="bookmark-text">[[topic:bookmark]]</span>
82
+ <span component="post/bookmark-count" class="bookmarkCount badge" data-bookmarks="{posts.bookmarks}">{posts.bookmarks}</span>&nbsp;
83
+ </a>
84
+ </li>
85
+ {{{ end }}}
86
+
87
+ <li>
88
+ <a class="dropdown-item" role="menuitem" href="#" data-clipboard-text="{posts.absolute_url}">
89
+ <i class="fa fa-fw fa-link"></i> [[topic:copy-permalink]]
90
+ </a>
91
+ </li>
92
+
93
+ <!-- IF postSharing.length -->
94
+ <!-- IF config.loggedIn --><li class="dropdown-divider"></li><!-- ENDIF config.loggedIn -->
95
+ <li class="dropdown-header">[[topic:share-this-post]]</li>
96
+ <!-- ENDIF postSharing.length -->
97
+ <li class="d-flex gap-2 px-3">
98
+ {{{ each postSharing }}}
99
+ <a class="dropdown-item rounded-1 d-flex align-items-center px-1 py-2 w-auto" role="menuitem" component="share/{./id}" href="#" title="{./name}"><i class="fa-fw text-muted {./class}"></i></a>
100
+ {{{ end }}}
101
+ </li>
102
+ <!-- ENDIF !posts.deleted -->
103
+
104
+ {{{ if posts.display_flag_tools }}}
105
+ <li class="dropdown-divider"></li>
106
+
107
+ <li {{{ if posts.flags.flagged }}}hidden{{{ end }}}>
108
+ <a class="dropdown-item" component="post/flag" role="menuitem" href="#"><i class="fa fa-fw fa-flag"></i> [[topic:flag-post]]</a>
109
+ </li>
110
+ <li {{{ if !posts.flags.flagged }}}hidden{{{ end }}} class="disabled text-muted">
111
+ <a class="dropdown-item" component="post/already-flagged" role="menuitem" href="#"><i class="fa fa-fw fa-flag"></i> [[topic:already-flagged]]</a>
112
+ </li>
113
+
114
+ {{{ if (!posts.selfPost && posts.uid) }}}
115
+ <li>
116
+ <a class="dropdown-item" component="post/flagUser" role="menuitem" href="#"><i class="fa fa-fw fa-flag"></i> [[topic:flag-user]]</a>
117
+ </li>
118
+ {{{ end }}}
119
+ {{{ end }}}
120
+
121
+ <!-- IF posts.display_moderator_tools -->
122
+ {{{ if posts.flags.exists }}}
123
+ <li>
124
+ <a class="dropdown-item" role="menuitem" href="{config.relative_path}/flags/{posts.flags.flagId}"><i class="fa fa-fw fa-exclamation-circle"></i> [[topic:view-flag-report]]</a>
125
+ </li>
126
+ {{{ if (posts.flags.state == "open") }}}
127
+ <li>
128
+ <a class="dropdown-item" component="post/flagResolve" data-flagId="{posts.flags.flagId}" role="menuitem" href="#"><i class="fa fa-fw fa-check"></i> [[topic:resolve-flag]]</a>
129
+ </li>
130
+ {{{ end }}}
131
+ {{{ end }}}
132
+ <!-- ENDIF posts.display_moderator_tools -->
@@ -1,4 +1,4 @@
1
- <span component="post/tools" class="dropdown bottom-sheet d-inline-block {{{ if !posts.display_post_menu }}}hidden{{{ end }}}">
2
- <a class="dropdown-toggle d-block" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-fw fa-ellipsis-v"></i></a>
3
- <ul class="dropdown-menu dropdown-menu-end" role="menu"></ul>
4
- </span>
1
+ <span component="post/tools" class="dropdown bottom-sheet d-inline-block {{{ if !posts.display_post_menu }}}hidden{{{ end }}}">
2
+ <a class="dropdown-toggle d-block" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-fw fa-ellipsis-v"></i></a>
3
+ <ul class="dropdown-menu dropdown-menu-end" role="menu"></ul>
4
+ </span>