nodebb-theme-harmony 2.0.0 → 2.0.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.
Files changed (145) hide show
  1. package/.eslintrc +3 -3
  2. package/README.md +22 -22
  3. package/lib/controllers.js +29 -29
  4. package/library.js +183 -183
  5. package/package.json +48 -48
  6. package/plugin.json +24 -24
  7. package/public/.eslintrc +3 -3
  8. package/public/admin.js +15 -15
  9. package/public/harmony.js +287 -287
  10. package/public/settings.js +31 -31
  11. package/renovate.json +6 -6
  12. package/scss/account.scss +27 -27
  13. package/scss/category.scss +3 -3
  14. package/scss/chats.scss +11 -11
  15. package/scss/common.scss +122 -122
  16. package/scss/fonts.scss +19 -19
  17. package/scss/groups.scss +22 -22
  18. package/scss/harmony.scss +24 -24
  19. package/scss/header.scss +15 -15
  20. package/scss/mixins.scss +183 -183
  21. package/scss/modals.scss +6 -6
  22. package/scss/modules/breadcrumbs.scss +15 -15
  23. package/scss/modules/cover.scss +102 -102
  24. package/scss/modules/filters.scss +7 -7
  25. package/scss/modules/nprogress.scss +80 -80
  26. package/scss/modules/paginator.scss +23 -23
  27. package/scss/modules/tags.scss +5 -5
  28. package/scss/modules/topic-navigator.scss +52 -52
  29. package/scss/modules/topics-list.scss +40 -40
  30. package/scss/modules/user-menu.scss +10 -10
  31. package/scss/overrides.scss +65 -65
  32. package/scss/sidebar.scss +188 -188
  33. package/scss/skins.scss +58 -58
  34. package/scss/status.scss +24 -24
  35. package/scss/topic.scss +130 -130
  36. package/templates/account/blocks.tpl +51 -51
  37. package/templates/account/categories.tpl +63 -63
  38. package/templates/account/consent.tpl +73 -73
  39. package/templates/account/edit/password.tpl +34 -34
  40. package/templates/account/edit/username.tpl +29 -29
  41. package/templates/account/edit.tpl +137 -137
  42. package/templates/account/followers.tpl +14 -14
  43. package/templates/account/following.tpl +15 -15
  44. package/templates/account/groups.tpl +15 -15
  45. package/templates/account/info.tpl +270 -270
  46. package/templates/account/posts.tpl +35 -35
  47. package/templates/account/profile.tpl +92 -92
  48. package/templates/account/sessions.tpl +8 -8
  49. package/templates/account/settings.tpl +236 -236
  50. package/templates/account/shares.tpl +19 -19
  51. package/templates/account/tags.tpl +12 -12
  52. package/templates/account/theme.tpl +63 -63
  53. package/templates/account/topics.tpl +44 -44
  54. package/templates/account/uploads.tpl +37 -37
  55. package/templates/admin/plugins/harmony.tpl +57 -57
  56. package/templates/categories.tpl +29 -29
  57. package/templates/category.tpl +72 -72
  58. package/templates/footer.tpl +17 -17
  59. package/templates/groups/details.tpl +86 -86
  60. package/templates/groups/list.tpl +58 -58
  61. package/templates/groups/members.tpl +9 -9
  62. package/templates/header.tpl +45 -45
  63. package/templates/notifications.tpl +32 -32
  64. package/templates/partials/account/admin-menu.tpl +36 -36
  65. package/templates/partials/account/category-item.tpl +22 -22
  66. package/templates/partials/account/footer.tpl +2 -2
  67. package/templates/partials/account/header.tpl +98 -98
  68. package/templates/partials/account/session-list.tpl +18 -18
  69. package/templates/partials/account/sidebar-left.tpl +116 -116
  70. package/templates/partials/breadcrumbs-json-ld.tpl +15 -15
  71. package/templates/partials/breadcrumbs.tpl +12 -12
  72. package/templates/partials/buttons/newTopic.tpl +22 -22
  73. package/templates/partials/categories/item.tpl +56 -56
  74. package/templates/partials/categories/lastpost.tpl +24 -24
  75. package/templates/partials/categories/link.tpl +4 -4
  76. package/templates/partials/category/subcategory.tpl +18 -18
  77. package/templates/partials/category/tags.tpl +3 -3
  78. package/templates/partials/cookie-consent.tpl +6 -6
  79. package/templates/partials/groups/admin.tpl +95 -95
  80. package/templates/partials/groups/invited.tpl +32 -32
  81. package/templates/partials/groups/list.tpl +15 -15
  82. package/templates/partials/groups/memberlist.tpl +46 -46
  83. package/templates/partials/groups/pending.tpl +29 -29
  84. package/templates/partials/groups/sidebar-left.tpl +27 -27
  85. package/templates/partials/header/brand.tpl +27 -27
  86. package/templates/partials/mobile-footer.tpl +95 -95
  87. package/templates/partials/notifications_list.tpl +44 -44
  88. package/templates/partials/paginator.tpl +46 -46
  89. package/templates/partials/post_bar.tpl +27 -27
  90. package/templates/partials/posts_list.tpl +7 -7
  91. package/templates/partials/posts_list_item.tpl +19 -19
  92. package/templates/partials/quick-search-results.tpl +46 -46
  93. package/templates/partials/search-filters.tpl +183 -183
  94. package/templates/partials/search-results.tpl +54 -54
  95. package/templates/partials/sidebar/chats.tpl +45 -45
  96. package/templates/partials/sidebar/drafts.tpl +63 -63
  97. package/templates/partials/sidebar/logged-in-menu.tpl +22 -22
  98. package/templates/partials/sidebar/logged-out-menu.tpl +44 -44
  99. package/templates/partials/sidebar/notifications.tpl +49 -49
  100. package/templates/partials/sidebar/search-mobile.tpl +28 -28
  101. package/templates/partials/sidebar/search.tpl +30 -30
  102. package/templates/partials/sidebar/user-menu.tpl +103 -103
  103. package/templates/partials/sidebar-left.tpl +39 -39
  104. package/templates/partials/sidebar-right.tpl +16 -16
  105. package/templates/partials/skin-switcher.tpl +50 -50
  106. package/templates/partials/tags_list.tpl +7 -7
  107. package/templates/partials/toast.tpl +19 -19
  108. package/templates/partials/topic/event.tpl +12 -12
  109. package/templates/partials/topic/navigation-post.tpl +9 -9
  110. package/templates/partials/topic/navigator-mobile.tpl +61 -61
  111. package/templates/partials/topic/navigator.tpl +26 -26
  112. package/templates/partials/topic/necro-post.tpl +5 -5
  113. package/templates/partials/topic/post-menu-list.tpl +156 -156
  114. package/templates/partials/topic/post-menu.tpl +4 -4
  115. package/templates/partials/topic/post-placeholder.tpl +14 -14
  116. package/templates/partials/topic/post.tpl +146 -146
  117. package/templates/partials/topic/quickreply.tpl +28 -28
  118. package/templates/partials/topic/reply-button.tpl +26 -26
  119. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  120. package/templates/partials/topic/sort.tpl +27 -27
  121. package/templates/partials/topic/stats.tpl +14 -14
  122. package/templates/partials/topic/thumbs.tpl +4 -4
  123. package/templates/partials/topic/tools.tpl +8 -8
  124. package/templates/partials/topic/topic-menu-list.tpl +73 -73
  125. package/templates/partials/topic/watch.tpl +59 -59
  126. package/templates/partials/topic-filters.tpl +15 -15
  127. package/templates/partials/topic-list-bar.tpl +54 -54
  128. package/templates/partials/topic-terms.tpl +15 -15
  129. package/templates/partials/topics_list.tpl +131 -131
  130. package/templates/partials/users/item.tpl +39 -39
  131. package/templates/partials/users_list.tpl +4 -4
  132. package/templates/partials/users_list_menu.tpl +14 -14
  133. package/templates/popular.tpl +34 -34
  134. package/templates/post-queue.tpl +211 -211
  135. package/templates/recent.tpl +42 -42
  136. package/templates/search.tpl +46 -46
  137. package/templates/tag.tpl +34 -34
  138. package/templates/tags.tpl +49 -49
  139. package/templates/top.tpl +34 -34
  140. package/templates/topic.tpl +123 -123
  141. package/templates/unread.tpl +31 -31
  142. package/templates/users.tpl +39 -39
  143. package/templates/world.tpl +66 -66
  144. package/theme.json +6 -6
  145. package/package-lock.json +0 -2338
@@ -1,62 +1,62 @@
1
- <div class="d-flex w-100">
2
- <div class="pagination-block text-bg-light m-2 rounded-1 border border-gray-300 w-100" style="height:30px;">
3
- <div class="position-relative">
4
- <div class="progress-bar rounded-1 bg-info d-block position-absolute" style="height:28px;"></div>
5
- </div>
6
- <div class="wrapper dropup-center d-flex align-items-center justify-content-between w-100 h-100" style="padding: 5px 0px;">
7
- <div class="d-flex">
8
- <div class="lh-1 px-2">
9
- <i class="fa fa-angles-left pointer fa-fw pagetop fs-5" style="z-index: 1;"></i>
10
- </div>
11
- {{{ if config.usePagination }}}
12
- <div class="lh-1 px-2">
13
- <i class="fa fa-angle-left pointer fa-fw pageprev fs-5" style="z-index: 1;"></i>
14
- </div>
15
- {{{ end }}}
16
- </div>
17
-
18
- <a href="#" class="text-reset dropdown-toggle d-inline-block px-3 text-decoration-none" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
19
- <span class="d-inline-flex gap-2 align-items-center pagination-text position-relative fw-bold"></span>
20
- </a>
21
-
22
- <div class="d-flex">
23
- {{{ if config.usePagination }}}
24
- <div class="lh-1 px-2">
25
- <i class="fa fa-angle-right pointer fa-fw pagenext fs-5" style="z-index: 1;"></i>
26
- </div>
27
- {{{ end }}}
28
- <div class="lh-1 px-2">
29
- <i class="fa fa-angles-right pointer fa-fw pagebottom fs-5" style="z-index: 1;"></i>
30
- </div>
31
- </div>
32
-
33
- <ul class="dropdown-menu p-0" role="menu" style="width: 100%;">
34
- <li class="p-3">
35
- <div class="row">
36
- <div class="col-8 post-content overflow-hidden mb-3" style="height: 350px;"></div>
37
- <div class="col-4 ps-0 text-end">
38
- <div class="scroller-content">
39
- <span class="pointer pagetop">[[topic:first-post]] <i class="fa fa-angle-double-up"></i></span>
40
- <div class="scroller-container border-gray-200" style="height: 300px;">
41
- <div class="scroller-thumb position-relative text-nowrap" style="height: 40px;">
42
- <span class="thumb-text text-sm fw-bold user-select-none position-relative pe-2" style="top: -15px;"></span>
43
- <div class="rounded-2 scroller-thumb-icon bg-primary d-inline-block position-relative" style="width: 9px; height:40px;"></div>
44
- </div>
45
- </div>
46
- <span class="pointer pagebottom">[[topic:last-post]] <i class="fa fa-angle-double-down"></i></span>
47
- </div>
48
- </div>
49
- </div>
50
- <div class="row">
51
- <div class="col-6">
52
- <button id="myNextPostBtn" class="btn btn-outline-secondary form-control text-truncate" disabled>[[topic:go-to-my-next-post]]</button>
53
- </div>
54
- <div class="col-6">
55
- <input type="number" class="form-control" id="indexInput" placeholder="[[global:pagination.enter-index]]">
56
- </div>
57
- </div>
58
- </li>
59
- </ul>
60
- </div>
61
- </div>
1
+ <div class="d-flex w-100">
2
+ <div class="pagination-block text-bg-light m-2 rounded-1 border border-gray-300 w-100" style="height:30px;">
3
+ <div class="position-relative">
4
+ <div class="progress-bar rounded-1 bg-info d-block position-absolute" style="height:28px;"></div>
5
+ </div>
6
+ <div class="wrapper dropup-center d-flex align-items-center justify-content-between w-100 h-100" style="padding: 5px 0px;">
7
+ <div class="d-flex">
8
+ <div class="lh-1 px-2">
9
+ <i class="fa fa-angles-left pointer fa-fw pagetop fs-5" style="z-index: 1;"></i>
10
+ </div>
11
+ {{{ if config.usePagination }}}
12
+ <div class="lh-1 px-2">
13
+ <i class="fa fa-angle-left pointer fa-fw pageprev fs-5" style="z-index: 1;"></i>
14
+ </div>
15
+ {{{ end }}}
16
+ </div>
17
+
18
+ <a href="#" class="text-reset dropdown-toggle d-inline-block px-3 text-decoration-none" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
19
+ <span class="d-inline-flex gap-2 align-items-center pagination-text position-relative fw-bold"></span>
20
+ </a>
21
+
22
+ <div class="d-flex">
23
+ {{{ if config.usePagination }}}
24
+ <div class="lh-1 px-2">
25
+ <i class="fa fa-angle-right pointer fa-fw pagenext fs-5" style="z-index: 1;"></i>
26
+ </div>
27
+ {{{ end }}}
28
+ <div class="lh-1 px-2">
29
+ <i class="fa fa-angles-right pointer fa-fw pagebottom fs-5" style="z-index: 1;"></i>
30
+ </div>
31
+ </div>
32
+
33
+ <ul class="dropdown-menu p-0" role="menu" style="width: 100%;">
34
+ <li class="p-3">
35
+ <div class="row">
36
+ <div class="col-8 post-content overflow-hidden mb-3" style="height: 350px;"></div>
37
+ <div class="col-4 ps-0 text-end">
38
+ <div class="scroller-content">
39
+ <span class="pointer pagetop">[[topic:first-post]] <i class="fa fa-angle-double-up"></i></span>
40
+ <div class="scroller-container border-gray-200" style="height: 300px;">
41
+ <div class="scroller-thumb position-relative text-nowrap" style="height: 40px;">
42
+ <span class="thumb-text text-sm fw-bold user-select-none position-relative pe-2" style="top: -15px;"></span>
43
+ <div class="rounded-2 scroller-thumb-icon bg-primary d-inline-block position-relative" style="width: 9px; height:40px;"></div>
44
+ </div>
45
+ </div>
46
+ <span class="pointer pagebottom">[[topic:last-post]] <i class="fa fa-angle-double-down"></i></span>
47
+ </div>
48
+ </div>
49
+ </div>
50
+ <div class="row">
51
+ <div class="col-6">
52
+ <button id="myNextPostBtn" class="btn btn-outline-secondary form-control text-truncate" disabled>[[topic:go-to-my-next-post]]</button>
53
+ </div>
54
+ <div class="col-6">
55
+ <input type="number" class="form-control" id="indexInput" placeholder="[[global:pagination.enter-index]]">
56
+ </div>
57
+ </div>
58
+ </li>
59
+ </ul>
60
+ </div>
61
+ </div>
62
62
  </div>
@@ -1,26 +1,26 @@
1
- <div class="pagination-block d-none d-lg-block flex-grow-1 mb-4">
2
- <div class="d-flex justify-content-end sticky-top mt-4" style="top:6rem;z-index:1;">
3
- <div class="ps-1 ps-md-0 d-inline-block">
4
- <div class="scroller-content d-flex gap-2 flex-column align-items-start">
5
- <button class="pagetop btn btn-ghost btn-sm ff-secondary d-inline-flex border-0 align-items-center gap-2" style="padding: 4px;"><i class="fa fa-chevron-up"></i> <span class="timeago text-xs text-muted text-nowrap" title="{./timestampISO}"></span></button>
6
- <div class="scroller-container position-relative">
7
- <div class="scroller-thumb d-flex gap-2 text-nowrap position-relative" style="height: 40px;">
8
- <div class="scroller-thumb-icon bg-primary rounded d-inline-block" style="width:9px; height: 40px;"></div>
9
- <div>
10
- <p class="small thumb-text d-none d-md-inline-block ff-secondary fw-semibold user-select-none mb-0"></p>
11
- <p class="meta thumb-timestamp timeago text-xs text-muted ff-secondary fw-semibold mb-0 user-select-none"></p>
12
- </div>
13
- </div>
14
-
15
- <div class="unread d-inline-block position-absolute bottom-0">
16
- <div class="meta small position-absolute top-50 translate-middle-y text-nowrap fw-semibold ms-2">
17
- <a class="text-decoration-none" href="{url}" tabindex="-1" aria-disabled="true" aria-label="[[topic:unread-posts-link]]"></a>
18
- </div>
19
- </div>
20
- </div>
21
- <button class="pagebottom btn btn-ghost btn-sm ff-secondary d-inline-flex border-0 align-items-center gap-2" style="padding: 4px;"><i class="fa fa-chevron-down"></i> <span class="timeago text-xs text-muted text-nowrap" title="{./lastposttimeISO}"></span></button>
22
- </div>
23
- </div>
24
- </div>
25
- </div>
26
-
1
+ <div class="pagination-block d-none d-lg-block flex-grow-1 mb-4">
2
+ <div class="d-flex justify-content-end sticky-top mt-4" style="top:6rem;z-index:1;">
3
+ <div class="ps-1 ps-md-0 d-inline-block">
4
+ <div class="scroller-content d-flex gap-2 flex-column align-items-start">
5
+ <button class="pagetop btn btn-ghost btn-sm ff-secondary d-inline-flex border-0 align-items-center gap-2" style="padding: 4px;"><i class="fa fa-chevron-up"></i> <span class="timeago text-xs text-muted text-nowrap" title="{./timestampISO}"></span></button>
6
+ <div class="scroller-container position-relative">
7
+ <div class="scroller-thumb d-flex gap-2 text-nowrap position-relative" style="height: 40px;">
8
+ <div class="scroller-thumb-icon bg-primary rounded d-inline-block" style="width:9px; height: 40px;"></div>
9
+ <div>
10
+ <p class="small thumb-text d-none d-md-inline-block ff-secondary fw-semibold user-select-none mb-0"></p>
11
+ <p class="meta thumb-timestamp timeago text-xs text-muted ff-secondary fw-semibold mb-0 user-select-none"></p>
12
+ </div>
13
+ </div>
14
+
15
+ <div class="unread d-inline-block position-absolute bottom-0">
16
+ <div class="meta small position-absolute top-50 translate-middle-y text-nowrap fw-semibold ms-2">
17
+ <a class="text-decoration-none" href="{url}" tabindex="-1" aria-disabled="true" aria-label="[[topic:unread-posts-link]]"></a>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ <button class="pagebottom btn btn-ghost btn-sm ff-secondary d-inline-flex border-0 align-items-center gap-2" style="padding: 4px;"><i class="fa fa-chevron-down"></i> <span class="timeago text-xs text-muted text-nowrap" title="{./lastposttimeISO}"></span></button>
22
+ </div>
23
+ </div>
24
+ </div>
25
+ </div>
26
+
@@ -1,6 +1,6 @@
1
- <li component="topic/necro-post" class="necro-post text-muted timeline-event d-flex gap-2 pt-4">
2
- <div class="timeline-badge">
3
- <i class="fa fa-clock small"></i>
4
- </div>
5
- <span class="timeline-text small fw-semibold">{text}</span>
1
+ <li component="topic/necro-post" class="necro-post text-muted timeline-event d-flex gap-2 pt-4">
2
+ <div class="timeline-badge">
3
+ <i class="fa fa-clock small"></i>
4
+ </div>
5
+ <span class="timeline-text small fw-semibold">{text}</span>
6
6
  </li>
@@ -1,156 +1,156 @@
1
- {{{ if posts.display_moderator_tools }}}
2
- <li>
3
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/edit" role="menuitem" href="#">
4
- <span class="menu-icon"><i class="fa fa-fw text-secondary fa-pencil"></i></span> [[topic:edit]]
5
- </a>
6
- </li>
7
- {{{ if posts.display_delete_tools }}}
8
- <li {{{ if posts.deleted }}}hidden{{{ end }}}>
9
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/delete" role="menuitem" href="#" class="{{{ if posts.deleted }}}hidden{{{ end }}}">
10
- <span class="menu-icon"><i class="fa fa-fw text-secondary fa-trash-o"></i></span> [[topic:delete]]
11
- </a>
12
- </li>
13
- <li {{{ if !posts.deleted }}}hidden{{{ end }}}>
14
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/restore" role="menuitem" href="#" class="{{{ if !posts.deleted }}}hidden{{{ end }}}">
15
- <span class="menu-icon"><i class="fa fa-fw text-secondary fa-history"></i></span> [[topic:restore]]
16
- </a>
17
- </li>
18
- {{{ end }}}
19
- {{{ if posts.display_purge_tools }}}
20
- <li {{{ if !posts.deleted }}}hidden{{{ end }}}>
21
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/purge" role="menuitem" href="#" class="{{{ if !posts.deleted }}}hidden{{{ end }}}">
22
- <span class="menu-icon"><i class="fa fa-fw text-secondary fa-eraser"></i></span> [[topic:purge]]
23
- </a>
24
- </li>
25
- {{{ end }}}
26
-
27
- {{{ if posts.display_move_tools }}}
28
- <li>
29
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/move" role="menuitem" href="#">
30
- <span class="menu-icon"><i class="fa fa-fw text-secondary fa-arrows"></i></span> [[topic:move]]
31
- </a>
32
- </li>
33
- {{{ end }}}
34
-
35
- {{{ if posts.display_change_owner_tools }}}
36
- <li>
37
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/change-owner" role="menuitem" href="#">
38
- <span class="menu-icon"><i class="fa fa-fw text-secondary fa-user"></i></span> [[topic:change-owner]]
39
- </a>
40
- </li>
41
- {{{ end }}}
42
-
43
- {{{ if posts.display_manage_editors_tools }}}
44
- <li>
45
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/manage-editors" role="menuitem" href="#">
46
- <span class="menu-icon"><i class="fa fa-fw text-secondary fa-user-pen"></i></span> [[topic:manage-editors]]
47
- </a>
48
- </li>
49
- {{{ end }}}
50
-
51
- {{{ if posts.ip }}}
52
- <li>
53
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/copy-ip" role="menuitem" href="#" data-clipboard-text="{posts.ip}">
54
- <span class="menu-icon" ><i class="fa fa-fw text-secondary fa-copy"></i></span> [[topic:copy-ip]] {posts.ip}
55
- </a>
56
- </li>
57
- {{{ if posts.display_ip_ban }}}
58
- <li>
59
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/ban-ip" role="menuitem" href="#" data-ip="{posts.ip}">
60
- <span class="menu-icon"><i class="fa fa-fw text-secondary fa-ban"></i></span> [[topic:ban-ip]] {posts.ip}
61
- </a>
62
- </li>
63
- {{{ end }}}
64
- {{{ end }}}
65
- {{{ end }}}
66
-
67
- {{{ each posts.tools }}}
68
- <li {{{ if ./disabled }}}class="disabled" {{{ end }}}>
69
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" {{{ if ./action}}}component="{./action}"{{{ end }}} role="menuitem" href="{{{ if ./href }}}{./href}{{{ else }}}#{{{ end }}}">
70
- <span class="menu-icon"><i class="fa fa-fw text-secondary {./icon}"></i></span> {{./html}}
71
- </a>
72
- </li>
73
- {{{ end }}}
74
-
75
- {{{ if !posts.deleted }}}
76
- {{{ if posts.display_history}}}
77
- <li>
78
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/view-history" role="menuitem" href="#">
79
- <span class="menu-icon"><i class="fa fa-fw text-secondary fa-history"></i></span> [[topic:view-history]]
80
- </a>
81
- </li>
82
- {{{ end }}}
83
-
84
- {{{ if config.loggedIn }}}
85
- <li>
86
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/bookmark" role="menuitem" href="#" data-bookmarked="{posts.bookmarked}">
87
- <span class="menu-icon">
88
- <i component="post/bookmark/on" class="fa fa-fw text-secondary fa-bookmark {{{ if !posts.bookmarked }}}hidden{{{ end }}}"></i>
89
- <i component="post/bookmark/off" class="fa fa-fw text-secondary fa-bookmark-o {{{ if posts.bookmarked }}}hidden{{{ end }}}"></i>
90
- </span>
91
- <span class="bookmark-text">[[topic:bookmark]]</span>
92
- <span component="post/bookmark-count" class="bookmarkCount badge bg-secondary" data-bookmarks="{posts.bookmarks}">{posts.bookmarks}</span>&nbsp;
93
- </a>
94
- </li>
95
- {{{ end }}}
96
-
97
-
98
- {{{ if !posts.display_original_url }}}
99
- <li>
100
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#" data-clipboard-text="{posts.absolute_url}">
101
- <i class="fa fa-fw text-secondary fa-link"></i> [[topic:copy-permalink]]
102
- </a>
103
- </li>
104
- {{{ else }}}
105
- <li>
106
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#" data-clipboard-text="{{{ if posts.url }}}{posts.url}{{{ else }}}{posts.pid}{{{ end }}}">
107
- <i class="fa fa-fw text-secondary fa-link"></i> [[topic:copy-permalink]]
108
- </a>
109
- </li>
110
- <li>
111
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" target="_self" href="{{{ if posts.url }}}{posts.url}{{{ else }}}{posts.pid}{{{ end }}}">
112
- <i class="fa fa-fw text-secondary fa-external-link"></i> [[topic:go-to-original]]
113
- </a>
114
- </li>
115
- {{{ end }}}
116
-
117
- {{{ if postSharing.length }}}
118
- {{{ if config.loggedIn }}}<li class="dropdown-divider"></li>{{{ end }}}
119
- <li class="dropdown-header">[[topic:share-this-post]]</li>
120
- {{{ end }}}
121
- <li class="d-flex gap-2 px-3">
122
- {{{ each postSharing }}}
123
- <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-secondary {./class}"></i></a>
124
- {{{ end }}}
125
- </li>
126
- {{{ end }}}
127
-
128
- {{{ if posts.display_flag_tools }}}
129
- <li class="dropdown-divider"></li>
130
-
131
- <li {{{ if posts.flags.flagged }}}hidden{{{ end }}}>
132
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flag" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:flag-post]]</a>
133
- </li>
134
- <li {{{ if !posts.flags.flagged }}}hidden{{{ end }}} class="disabled text-secondary">
135
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/already-flagged" role="menuitem" href="#" data-flag-id="{posts.flagId}"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:already-flagged]]</a>
136
- </li>
137
-
138
- {{{ if (!posts.selfPost && posts.uid) }}}
139
- <li>
140
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagUser" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:flag-user]]</a>
141
- </li>
142
- {{{ end }}}
143
- {{{ end }}}
144
-
145
- {{{ if posts.display_moderator_tools }}}
146
- {{{ if posts.flags.exists }}}
147
- <li>
148
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{config.relative_path}/flags/{posts.flags.flagId}"><i class="fa fa-fw text-secondary fa-exclamation-circle"></i> [[topic:view-flag-report]]</a>
149
- </li>
150
- {{{ if (posts.flags.state == "open") }}}
151
- <li>
152
- <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagResolve" data-flagId="{posts.flags.flagId}" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-check"></i> [[topic:resolve-flag]]</a>
153
- </li>
154
- {{{ end }}}
155
- {{{ end }}}
156
- {{{ end }}}
1
+ {{{ if posts.display_moderator_tools }}}
2
+ <li>
3
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/edit" role="menuitem" href="#">
4
+ <span class="menu-icon"><i class="fa fa-fw text-secondary fa-pencil"></i></span> [[topic:edit]]
5
+ </a>
6
+ </li>
7
+ {{{ if posts.display_delete_tools }}}
8
+ <li {{{ if posts.deleted }}}hidden{{{ end }}}>
9
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/delete" role="menuitem" href="#" class="{{{ if posts.deleted }}}hidden{{{ end }}}">
10
+ <span class="menu-icon"><i class="fa fa-fw text-secondary fa-trash-o"></i></span> [[topic:delete]]
11
+ </a>
12
+ </li>
13
+ <li {{{ if !posts.deleted }}}hidden{{{ end }}}>
14
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/restore" role="menuitem" href="#" class="{{{ if !posts.deleted }}}hidden{{{ end }}}">
15
+ <span class="menu-icon"><i class="fa fa-fw text-secondary fa-history"></i></span> [[topic:restore]]
16
+ </a>
17
+ </li>
18
+ {{{ end }}}
19
+ {{{ if posts.display_purge_tools }}}
20
+ <li {{{ if !posts.deleted }}}hidden{{{ end }}}>
21
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/purge" role="menuitem" href="#" class="{{{ if !posts.deleted }}}hidden{{{ end }}}">
22
+ <span class="menu-icon"><i class="fa fa-fw text-secondary fa-eraser"></i></span> [[topic:purge]]
23
+ </a>
24
+ </li>
25
+ {{{ end }}}
26
+
27
+ {{{ if posts.display_move_tools }}}
28
+ <li>
29
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/move" role="menuitem" href="#">
30
+ <span class="menu-icon"><i class="fa fa-fw text-secondary fa-arrows"></i></span> [[topic:move]]
31
+ </a>
32
+ </li>
33
+ {{{ end }}}
34
+
35
+ {{{ if posts.display_change_owner_tools }}}
36
+ <li>
37
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/change-owner" role="menuitem" href="#">
38
+ <span class="menu-icon"><i class="fa fa-fw text-secondary fa-user"></i></span> [[topic:change-owner]]
39
+ </a>
40
+ </li>
41
+ {{{ end }}}
42
+
43
+ {{{ if posts.display_manage_editors_tools }}}
44
+ <li>
45
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/manage-editors" role="menuitem" href="#">
46
+ <span class="menu-icon"><i class="fa fa-fw text-secondary fa-user-pen"></i></span> [[topic:manage-editors]]
47
+ </a>
48
+ </li>
49
+ {{{ end }}}
50
+
51
+ {{{ if posts.ip }}}
52
+ <li>
53
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/copy-ip" role="menuitem" href="#" data-clipboard-text="{posts.ip}">
54
+ <span class="menu-icon" ><i class="fa fa-fw text-secondary fa-copy"></i></span> [[topic:copy-ip]] {posts.ip}
55
+ </a>
56
+ </li>
57
+ {{{ if posts.display_ip_ban }}}
58
+ <li>
59
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/ban-ip" role="menuitem" href="#" data-ip="{posts.ip}">
60
+ <span class="menu-icon"><i class="fa fa-fw text-secondary fa-ban"></i></span> [[topic:ban-ip]] {posts.ip}
61
+ </a>
62
+ </li>
63
+ {{{ end }}}
64
+ {{{ end }}}
65
+ {{{ end }}}
66
+
67
+ {{{ each posts.tools }}}
68
+ <li {{{ if ./disabled }}}class="disabled" {{{ end }}}>
69
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" {{{ if ./action}}}component="{./action}"{{{ end }}} role="menuitem" href="{{{ if ./href }}}{./href}{{{ else }}}#{{{ end }}}">
70
+ <span class="menu-icon"><i class="fa fa-fw text-secondary {./icon}"></i></span> {{./html}}
71
+ </a>
72
+ </li>
73
+ {{{ end }}}
74
+
75
+ {{{ if !posts.deleted }}}
76
+ {{{ if posts.display_history}}}
77
+ <li>
78
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/view-history" role="menuitem" href="#">
79
+ <span class="menu-icon"><i class="fa fa-fw text-secondary fa-history"></i></span> [[topic:view-history]]
80
+ </a>
81
+ </li>
82
+ {{{ end }}}
83
+
84
+ {{{ if config.loggedIn }}}
85
+ <li>
86
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/bookmark" role="menuitem" href="#" data-bookmarked="{posts.bookmarked}">
87
+ <span class="menu-icon">
88
+ <i component="post/bookmark/on" class="fa fa-fw text-secondary fa-bookmark {{{ if !posts.bookmarked }}}hidden{{{ end }}}"></i>
89
+ <i component="post/bookmark/off" class="fa fa-fw text-secondary fa-bookmark-o {{{ if posts.bookmarked }}}hidden{{{ end }}}"></i>
90
+ </span>
91
+ <span class="bookmark-text">[[topic:bookmark]]</span>
92
+ <span component="post/bookmark-count" class="bookmarkCount badge bg-secondary" data-bookmarks="{posts.bookmarks}">{posts.bookmarks}</span>&nbsp;
93
+ </a>
94
+ </li>
95
+ {{{ end }}}
96
+
97
+
98
+ {{{ if !posts.display_original_url }}}
99
+ <li>
100
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#" data-clipboard-text="{posts.absolute_url}">
101
+ <i class="fa fa-fw text-secondary fa-link"></i> [[topic:copy-permalink]]
102
+ </a>
103
+ </li>
104
+ {{{ else }}}
105
+ <li>
106
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="#" data-clipboard-text="{{{ if posts.url }}}{posts.url}{{{ else }}}{posts.pid}{{{ end }}}">
107
+ <i class="fa fa-fw text-secondary fa-link"></i> [[topic:copy-permalink]]
108
+ </a>
109
+ </li>
110
+ <li>
111
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" target="_self" href="{{{ if posts.url }}}{posts.url}{{{ else }}}{posts.pid}{{{ end }}}">
112
+ <i class="fa fa-fw text-secondary fa-external-link"></i> [[topic:go-to-original]]
113
+ </a>
114
+ </li>
115
+ {{{ end }}}
116
+
117
+ {{{ if postSharing.length }}}
118
+ {{{ if config.loggedIn }}}<li class="dropdown-divider"></li>{{{ end }}}
119
+ <li class="dropdown-header">[[topic:share-this-post]]</li>
120
+ {{{ end }}}
121
+ <li class="d-flex gap-2 px-3">
122
+ {{{ each postSharing }}}
123
+ <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-secondary {./class}"></i></a>
124
+ {{{ end }}}
125
+ </li>
126
+ {{{ end }}}
127
+
128
+ {{{ if posts.display_flag_tools }}}
129
+ <li class="dropdown-divider"></li>
130
+
131
+ <li {{{ if posts.flags.flagged }}}hidden{{{ end }}}>
132
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flag" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:flag-post]]</a>
133
+ </li>
134
+ <li {{{ if !posts.flags.flagged }}}hidden{{{ end }}} class="disabled text-secondary">
135
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/already-flagged" role="menuitem" href="#" data-flag-id="{posts.flagId}"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:already-flagged]]</a>
136
+ </li>
137
+
138
+ {{{ if (!posts.selfPost && posts.uid) }}}
139
+ <li>
140
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagUser" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-flag"></i> [[topic:flag-user]]</a>
141
+ </li>
142
+ {{{ end }}}
143
+ {{{ end }}}
144
+
145
+ {{{ if posts.display_moderator_tools }}}
146
+ {{{ if posts.flags.exists }}}
147
+ <li>
148
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" role="menuitem" href="{config.relative_path}/flags/{posts.flags.flagId}"><i class="fa fa-fw text-secondary fa-exclamation-circle"></i> [[topic:view-flag-report]]</a>
149
+ </li>
150
+ {{{ if (posts.flags.state == "open") }}}
151
+ <li>
152
+ <a class="dropdown-item rounded-1 d-flex align-items-center gap-2" component="post/flagResolve" data-flagId="{posts.flags.flagId}" role="menuitem" href="#"><i class="fa fa-fw text-secondary fa-check"></i> [[topic:resolve-flag]]</a>
153
+ </li>
154
+ {{{ end }}}
155
+ {{{ end }}}
156
+ {{{ end }}}
@@ -1,4 +1,4 @@
1
- <span component="post/tools" class="dropdown bottom-sheet {{{ if !./display_post_menu }}}hidden{{{ end }}}">
2
- <a class="btn btn-ghost btn-sm ff-secondary dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="[[topic:post-tools]]"><i class="fa fa-fw fa-ellipsis-v text-primary"></i></a>
3
- <ul class="dropdown-menu dropdown-menu-end p-1 text-sm" role="menu"></ul>
4
- </span>
1
+ <span component="post/tools" class="dropdown bottom-sheet {{{ if !./display_post_menu }}}hidden{{{ end }}}">
2
+ <a class="btn btn-ghost btn-sm ff-secondary dropdown-toggle" href="#" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" aria-label="[[topic:post-tools]]"><i class="fa fa-fw fa-ellipsis-v text-primary"></i></a>
3
+ <ul class="dropdown-menu dropdown-menu-end p-1 text-sm" role="menu"></ul>
4
+ </span>
@@ -1,15 +1,15 @@
1
- <div class="d-flex align-items-start gap-3">
2
- <div class="icon py-1 bg-body d-none d-sm-block">
3
- <div class="placeholder bg-secondary rounded-circle" style="width: 48px; height: 48px;"></div>
4
- </div>
5
-
6
- <div class="d-flex flex-grow-1 flex-column placeholder-wave">
7
- <div class="d-flex align-items-center gap-1 flex-wrap w-100 post-header mt-1">
8
- <div class="placeholder bg-secondary rounded-1 col-2">&nbsp;</div>
9
- </div>
10
-
11
- <div class="content mt-2 placeholder bg-secondary rounded-1 col-5" component="post/content" itemprop="text">
12
- <p>&nbsp;</p>
13
- </div>
14
- </div>
1
+ <div class="d-flex align-items-start gap-3">
2
+ <div class="icon py-1 bg-body d-none d-sm-block">
3
+ <div class="placeholder bg-secondary rounded-circle" style="width: 48px; height: 48px;"></div>
4
+ </div>
5
+
6
+ <div class="d-flex flex-grow-1 flex-column placeholder-wave">
7
+ <div class="d-flex align-items-center gap-1 flex-wrap w-100 post-header mt-1">
8
+ <div class="placeholder bg-secondary rounded-1 col-2">&nbsp;</div>
9
+ </div>
10
+
11
+ <div class="content mt-2 placeholder bg-secondary rounded-1 col-5" component="post/content" itemprop="text">
12
+ <p>&nbsp;</p>
13
+ </div>
14
+ </div>
15
15
  </div>