nodebb-theme-harmony 0.0.1 → 0.0.3

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 (139) hide show
  1. package/languages/en-GB/harmony.json +5 -0
  2. package/library.js +101 -26
  3. package/package.json +5 -2
  4. package/plugin.json +14 -2
  5. package/public/harmony.js +101 -0
  6. package/scss/account.scss +38 -0
  7. package/scss/chats.scss +72 -0
  8. package/scss/common.scss +65 -0
  9. package/scss/fonts.scss +17 -0
  10. package/scss/groups.scss +30 -0
  11. package/scss/harmony.scss +23 -3
  12. package/scss/header.scss +16 -0
  13. package/scss/mixins.scss +183 -0
  14. package/scss/modals.scss +4 -0
  15. package/scss/modules/bottom-sheet.scss +52 -0
  16. package/scss/modules/breadcrumbs.scss +16 -0
  17. package/scss/modules/composer.scss +21 -0
  18. package/scss/modules/cover.scss +115 -0
  19. package/scss/modules/tags.scss +6 -0
  20. package/scss/modules/topic-navigator.scss +61 -0
  21. package/scss/modules/topics-list.scss +20 -0
  22. package/scss/modules/user-menu.scss +5 -0
  23. package/scss/overrides.scss +65 -0
  24. package/scss/sidebar.scss +125 -0
  25. package/scss/skins.scss +13 -0
  26. package/scss/status.scss +25 -0
  27. package/scss/topic.scss +128 -0
  28. package/templates/account/best.tpl +0 -2
  29. package/templates/account/blocks.tpl +31 -26
  30. package/templates/account/bookmarks.tpl +0 -2
  31. package/templates/account/categories.tpl +1 -3
  32. package/templates/account/controversial.tpl +0 -2
  33. package/templates/account/downvoted.tpl +0 -2
  34. package/templates/account/followers.tpl +14 -10
  35. package/templates/account/following.tpl +14 -10
  36. package/templates/account/groups.tpl +13 -11
  37. package/templates/account/ignored.tpl +0 -2
  38. package/templates/account/posts.tpl +29 -10
  39. package/templates/account/profile.tpl +76 -159
  40. package/templates/account/topics.tpl +32 -21
  41. package/templates/account/uploads.tpl +38 -35
  42. package/templates/account/upvoted.tpl +0 -2
  43. package/templates/account/watched.tpl +0 -2
  44. package/templates/admin/plugins/harmony.tpl +17 -0
  45. package/templates/categories.tpl +5 -5
  46. package/templates/category.tpl +26 -26
  47. package/templates/chat.tpl +9 -9
  48. package/templates/chats.tpl +5 -7
  49. package/templates/footer.tpl +11 -7
  50. package/templates/groups/details.tpl +74 -64
  51. package/templates/groups/list.tpl +19 -14
  52. package/templates/header.tpl +34 -21
  53. package/templates/login.tpl +51 -45
  54. package/templates/partials/account/admin-menu.tpl +36 -0
  55. package/templates/partials/account/category-item.tpl +17 -17
  56. package/templates/partials/account/header.tpl +77 -35
  57. package/templates/partials/account/sidebar-left.tpl +82 -0
  58. package/templates/partials/breadcrumbs.tpl +4 -12
  59. package/templates/partials/categories/item.tpl +48 -44
  60. package/templates/partials/categories/lastpost.tpl +17 -19
  61. package/templates/partials/categories/link.tpl +5 -13
  62. package/templates/partials/category/sort.tpl +4 -7
  63. package/templates/partials/category/subcategory.tpl +4 -4
  64. package/templates/partials/category/tools.tpl +6 -9
  65. package/templates/partials/category/watch.tpl +7 -11
  66. package/templates/partials/category-filter-content.tpl +5 -6
  67. package/templates/partials/category-filter.tpl +0 -2
  68. package/templates/partials/category-selector-content.tpl +4 -5
  69. package/templates/partials/category-selector.tpl +0 -2
  70. package/templates/partials/chats/dropdown.tpl +24 -32
  71. package/templates/partials/chats/message-window.tpl +7 -7
  72. package/templates/partials/chats/message.tpl +34 -34
  73. package/templates/partials/chats/recent_room.tpl +16 -29
  74. package/templates/partials/chats/system-message.tpl +4 -4
  75. package/templates/partials/chats/user.tpl +1 -3
  76. package/templates/partials/groups/admin.tpl +82 -183
  77. package/templates/partials/groups/badge.tpl +1 -3
  78. package/templates/partials/groups/invited.tpl +33 -0
  79. package/templates/partials/groups/list.tpl +14 -21
  80. package/templates/partials/groups/memberlist.tpl +28 -24
  81. package/templates/partials/groups/pending.tpl +30 -0
  82. package/templates/partials/groups/sidebar-left.tpl +27 -0
  83. package/templates/partials/mobile-footer.tpl +70 -0
  84. package/templates/partials/notifications_list.tpl +19 -27
  85. package/templates/partials/paginator.tpl +22 -24
  86. package/templates/partials/post_bar.tpl +23 -18
  87. package/templates/partials/posts_list.tpl +0 -2
  88. package/templates/partials/posts_list_item.tpl +14 -29
  89. package/templates/partials/quick-search-results.tpl +36 -25
  90. package/templates/partials/search-results.tpl +4 -1
  91. package/templates/partials/sidebar/chats.tpl +53 -0
  92. package/templates/partials/sidebar/drafts.tpl +41 -0
  93. package/templates/partials/sidebar/logged-out-menu.tpl +38 -0
  94. package/templates/partials/sidebar/notifications.tpl +28 -0
  95. package/templates/partials/sidebar/search-mobile.tpl +29 -0
  96. package/templates/partials/sidebar/search.tpl +30 -0
  97. package/templates/partials/sidebar/user-menu.tpl +87 -0
  98. package/templates/partials/sidebar-left.tpl +40 -0
  99. package/templates/partials/sidebar-right.tpl +41 -0
  100. package/templates/partials/skin-switcher.tpl +35 -0
  101. package/templates/partials/tags_list.tpl +0 -2
  102. package/templates/partials/toast.tpl +6 -8
  103. package/templates/partials/topic/event.tpl +4 -20
  104. package/templates/partials/topic/navigator.tpl +20 -41
  105. package/templates/partials/topic/necro-post.tpl +5 -4
  106. package/templates/partials/topic/post-menu.tpl +23 -2
  107. package/templates/partials/topic/post-placeholder.tpl +15 -0
  108. package/templates/partials/topic/post.tpl +67 -64
  109. package/templates/partials/topic/quickreply.tpl +12 -14
  110. package/templates/partials/topic/reactions.tpl +0 -2
  111. package/templates/partials/topic/reply-button.tpl +16 -20
  112. package/templates/partials/topic/selection-tooltip.tpl +0 -2
  113. package/templates/partials/topic/sort.tpl +8 -6
  114. package/templates/partials/topic/stats.tpl +15 -14
  115. package/templates/partials/topic/tag.tpl +1 -3
  116. package/templates/partials/topic/tags.tpl +1 -5
  117. package/templates/partials/topic/tools.tpl +13 -0
  118. package/templates/partials/topic/watch.tpl +15 -13
  119. package/templates/partials/topic-filters.tpl +4 -5
  120. package/templates/partials/topic-list-bar.tpl +54 -0
  121. package/templates/partials/topic-terms.tpl +4 -5
  122. package/templates/partials/topics_list.tpl +109 -100
  123. package/templates/partials/users/item.tpl +7 -0
  124. package/templates/partials/users_list.tpl +11 -60
  125. package/templates/partials/users_list_menu.tpl +10 -18
  126. package/templates/popular.tpl +1 -18
  127. package/templates/recent.tpl +8 -24
  128. package/templates/register.tpl +74 -60
  129. package/templates/tag.tpl +3 -15
  130. package/templates/tags.tpl +3 -4
  131. package/templates/top.tpl +1 -18
  132. package/templates/topic.tpl +39 -43
  133. package/templates/unread.tpl +1 -22
  134. package/templates/users.tpl +17 -17
  135. package/templates/admin/plugins/persona.tpl +0 -29
  136. package/templates/partials/account/menu.tpl +0 -103
  137. package/templates/partials/header/user-menu.tpl +0 -87
  138. package/templates/partials/menu.tpl +0 -188
  139. package/templates/partials/thread_tools.tpl +0 -10
@@ -1,29 +0,0 @@
1
- <!-- THIS FILE IS STILL PERSONA -->
2
-
3
- <div class="row">
4
- <div class="col-sm-2 col-12 settings-header">Theme Settings</div>
5
- <div class="col-sm-10 col-12">
6
- <form role="form" class="persona-settings">
7
- <div class="checkbox">
8
- <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect">
9
- <input class="mdl-switch__input" type="checkbox" id="hideSubCategories" name="hideSubCategories">
10
- <span class="mdl-switch__label"><strong>Hide subcategories on categories view</strong></span>
11
- </label>
12
- </div>
13
- <div class="checkbox">
14
- <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect">
15
- <input class="mdl-switch__input" type="checkbox" id="hideCategoryLastPost" name="hideCategoryLastPost">
16
- <span class="mdl-switch__label"><strong>Hide last post on categories view</strong></span>
17
- </label>
18
- </div>
19
- <div class="checkbox">
20
- <label class="mdl-switch mdl-js-switch mdl-js-ripple-effect">
21
- <input class="mdl-switch__input" type="checkbox" id="enableQuickReply" name="enableQuickReply">
22
- <span class="mdl-switch__label"><strong>Enable quick reply</strong></span>
23
- </label>
24
- </div>
25
- </form>
26
- </div>
27
- </div>
28
-
29
- <!-- IMPORT admin/partials/save_button.tpl -->
@@ -1,103 +0,0 @@
1
- <!-- THIS FILE IS STILL PERSONA -->
2
-
3
- <div class="btn-group account-fab bottom-sheet">
4
- <button type="button" class="persona-fab dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
5
- <i class="fa fa-ellipsis-v"></i>
6
- </button>
7
- <ul class="dropdown-menu dropdown-menu-end account-sub-links">
8
- <!-- IF loggedIn -->
9
- <!-- IF !isSelf -->
10
- <!-- IF !banned -->
11
- <!-- IF !config.disableChat -->
12
- <li class="<!-- IF !hasPrivateChat -->hidden<!-- ENDIF !hasPrivateChat -->">
13
- <a class="dropdown-item" component="account/chat" href="#">[[user:chat_with, {username}]]</a>
14
- </li>
15
- <li>
16
- <a class="dropdown-item" component="account/new-chat" href="#">[[user:new_chat_with, {username}]]</a>
17
- </li>
18
- <!-- ENDIF !config.disableChat -->
19
- <li>
20
- <a class="dropdown-item" component="account/flag" href="#">[[user:flag-profile]]</a>
21
- </li>
22
- <li>
23
- <a class="dropdown-item" component="account/block" href="#"><!-- IF !../isBlocked -->[[user:block_user]]<!-- ELSE -->[[user:unblock_user]]<!-- END --></a>
24
- </li>
25
- <li role="separator" class="dropdown-divider"></li>
26
- <!-- ENDIF !banned -->
27
- <!-- ENDIF !isSelf -->
28
- <!-- ENDIF loggedIn -->
29
- <li>
30
- <a class="dropdown-item" href="{config.relative_path}/user/{userslug}" class="d-inline-block" id="profile">[[user:profile]]</a>
31
- </li>
32
- <!-- IF canEdit -->
33
- <li><a class="dropdown-item" href="{config.relative_path}/user/{userslug}/edit">[[user:edit]]</a></li>
34
- <li><a class="dropdown-item" href="{config.relative_path}/user/{userslug}/settings">[[user:settings]]</a></li>
35
- <!-- ENDIF canEdit -->
36
-
37
- <!-- IF !isSelf -->
38
- {{{ if (canBan || canMute) }}}
39
- <li role="separator" class="dropdown-divider"></li>
40
- <li class="dropdown-header">[[user:admin_actions_label]]</li>
41
- {{{ end }}}
42
- {{{ if canBan }}}
43
- <li class="<!-- IF banned -->hide<!-- ENDIF banned -->">
44
- <a class="dropdown-item" component="account/ban" href="#">[[user:ban_account]]</a>
45
- </li>
46
- <li class="<!-- IF !banned -->hide<!-- ENDIF !banned -->">
47
- <a class="dropdown-item" component="account/unban" href="#">[[user:unban_account]]</a>
48
- </li>
49
- {{{ end }}}
50
- {{{ if canMute }}}
51
- <li class="<!-- IF muted -->hide<!-- ENDIF muted -->">
52
- <a class="dropdown-item" component="account/mute" href="#">[[user:mute_account]]</a>
53
- </li>
54
- <li class="<!-- IF !muted -->hide<!-- ENDIF !muted -->">
55
- <a class="dropdown-item" component="account/unmute" href="#">[[user:unmute_account]]</a>
56
- </li>
57
- {{{ end }}}
58
- <!-- IF isAdmin -->
59
- <li>
60
- <a component="account/delete-account" href="#" class="dropdown-item">[[user:delete_account_as_admin]]</a>
61
- <a component="account/delete-content" href="#" class="dropdown-item">[[user:delete_content]]</a>
62
- <a component="account/delete-all" href="#" class="dropdown-item">[[user:delete_all]]</a>
63
- </li>
64
- <!-- ENDIF isAdmin -->
65
- <!-- ENDIF !isSelf -->
66
-
67
- <li role="separator" class="dropdown-divider"></li>
68
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/following">[[user:following]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.following}">{counts.following}</span></a></li>
69
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/followers">[[user:followers]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.followers}">{counts.followers}</span></a></li>
70
- <!-- IF canEdit -->
71
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/blocks">[[user:blocks]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.blocks}">{counts.blocks}</span></a></li>
72
- <!-- ENDIF canEdit -->
73
- <li role="separator" class="dropdown-divider"></li>
74
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/topics">[[global:topics]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.topics}">{counts.topics}</span></a></li>
75
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/posts">[[global:posts]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.posts}">{counts.posts}</span></a></li>
76
- <!-- IF !reputation:disabled -->
77
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/best">[[global:best]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.best}">{counts.best}</span></a></li>
78
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/controversial">[[global:controversial]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.controversial}">{counts.controversial}</span></a></li>
79
- <!-- ENDIF !reputation:disabled -->
80
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/groups">[[global:header.groups]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.groups}">{counts.groups}</span></a></li>
81
-
82
- <!-- IF canEdit -->
83
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/categories">[[user:watched_categories]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.categoriesWatched}">{counts.categoriesWatched}</span></a></li>
84
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/bookmarks">[[user:bookmarks]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.bookmarks}">{counts.bookmarks}</span></a></li>
85
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/watched">[[user:watched]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.watched}">{counts.watched}</span></a></li>
86
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/ignored">[[user:ignored]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.ignored}">{counts.ignored}</span></a></li>
87
- <!-- IF !reputation:disabled -->
88
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/upvoted">[[global:upvoted]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.upvoted}">{counts.upvoted}</span></a></li>
89
- <!-- IF !downvote:disabled -->
90
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/downvoted">[[global:downvoted]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.downvoted}">{counts.downvoted}</span></a></li>
91
- <!-- ENDIF !downvote:disabled -->
92
- <!-- ENDIF !reputation:disabled -->
93
- <li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/uploads">[[global:uploads]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.uploaded}">{counts.uploaded}</span></a></li>
94
- <!-- ENDIF canEdit -->
95
-
96
- {{{each profile_links}}}
97
- <!-- IF @first -->
98
- <li role="separator" class="dropdown-divider"></li>
99
- <!-- ENDIF @first -->
100
- <li id="{profile_links.id}" class="plugin-link <!-- IF profile_links.public -->public<!-- ELSE -->private<!-- ENDIF profile_links.public -->"><a class="dropdown-item" href="{config.relative_path}/user/{userslug}/{profile_links.route}"><!-- IF ../icon --><i class="fa fa-fw {profile_links.icon}"></i> <!-- END -->{profile_links.name}</a></li>
101
- {{{end}}}
102
- </ul>
103
- </div>
@@ -1,87 +0,0 @@
1
- <!-- THIS FILE IS STILL PERSONA -->
2
-
3
- <li id="user_label" class="nav-item dropdown" title="[[global:header.profile]]">
4
- <label for="user-control-list-check" class="" data-bs-toggle="dropdown" id="user_dropdown" role="button">
5
- {buildAvatar(user, "32px", true)}
6
- <span id="user-header-name" class="d-block d-sm-none">{user.username}</span>
7
- </label>
8
- <input type="checkbox" class="hidden" id="user-control-list-check" aria-hidden="true">
9
- <ul id="user-control-list" component="header/usercontrol" class="dropdown-menu dropdown-menu-end" aria-labelledby="user_dropdown">
10
- <li>
11
- <a class="dropdown-item" component="header/profilelink" href="{relative_path}/user/{user.userslug}">
12
- <i component="user/status" class="fa fa-fw fa-circle status {user.status}"></i> <span component="header/username">{user.username}</span>
13
- </a>
14
- </li>
15
- <li role="presentation" class="dropdown-divider"></li>
16
- <li><h6 class="dropdown-header">[[global:status]]</h6></li>
17
- <li>
18
- <a href="#" class="dropdown-item user-status" data-status="online">
19
- <i class="fa fa-fw fa-circle status online"></i><span <!-- IF user.online -->class="bold"<!-- ENDIF user.online -->> [[global:online]]</span>
20
- </a>
21
- </li>
22
- <li>
23
- <a href="#" class="dropdown-item user-status" data-status="away">
24
- <i class="fa fa-fw fa-circle status away"></i><span <!-- IF user.away -->class="bold"<!-- ENDIF user.away -->> [[global:away]]</span>
25
- </a>
26
- </li>
27
- <li>
28
- <a href="#" class="dropdown-item user-status" data-status="dnd">
29
- <i class="fa fa-fw fa-circle status dnd"></i><span <!-- IF user.dnd -->class="bold"<!-- ENDIF user.dnd -->> [[global:dnd]]</span>
30
- </a>
31
- </li>
32
- <li>
33
- <a href="#" class="dropdown-item user-status" data-status="offline">
34
- <i class="fa fa-fw fa-circle status offline"></i><span <!-- IF user.offline -->class="bold"<!-- ENDIF user.offline -->> [[global:invisible]]</span>
35
- </a>
36
- </li>
37
- <li role="presentation" class="dropdown-divider"></li>
38
- <li>
39
- <a class="dropdown-item" component="header/profilelink/edit" href="{relative_path}/user/{user.userslug}/edit">
40
- <i class="fa fa-fw fa-edit"></i> <span>[[user:edit-profile]]</span>
41
- </a>
42
- </li>
43
- <li>
44
- <a class="dropdown-item" component="header/profilelink/settings" href="{relative_path}/user/{user.userslug}/settings">
45
- <i class="fa fa-fw fa-gear"></i> <span>[[user:settings]]</span>
46
- </a>
47
- </li>
48
- {{{ if showModMenu }}}
49
- <li role="presentation" class="dropdown-divider"></li>
50
- <li><h6 class="dropdown-header">[[pages:moderator-tools]]</h6></li>
51
- <li>
52
- <a class="dropdown-item" href="{relative_path}/flags">
53
- <i class="fa fa-fw fa-flag"></i> <span>[[pages:flagged-content]]</span>
54
- </a>
55
- </li>
56
- <li>
57
- <a class="dropdown-item" href="{relative_path}/post-queue">
58
- <i class="fa fa-fw fa-list-alt"></i> <span>[[pages:post-queue]]</span>
59
- </a>
60
- </li>
61
- <li>
62
- <a class="dropdown-item" href="{relative_path}/ip-blacklist">
63
- <i class="fa fa-fw fa-ban"></i> <span>[[pages:ip-blacklist]]</span>
64
- </a>
65
- </li>
66
- {{{ else }}}
67
- {{{ if postQueueEnabled }}}
68
- <li>
69
- <a class="dropdown-item" href="{relative_path}/post-queue">
70
- <i class="fa fa-fw fa-list-alt"></i> <span>[[pages:post-queue]]</span>
71
- </a>
72
- </li>
73
- {{{ end }}}
74
- {{{ end }}}
75
-
76
- <li role="presentation" class="dropdown-divider"></li>
77
- <li component="user/logout">
78
- <form method="post" action="{relative_path}/logout">
79
- <input type="hidden" name="_csrf" value="{config.csrf_token}">
80
- <input type="hidden" name="noscript" value="true">
81
- <button type="submit" class="dropdown-item">
82
- <i class="fa fa-fw fa-sign-out"></i><span> [[global:logout]]</span>
83
- </button>
84
- </form>
85
- </li>
86
- </ul>
87
- </li>
@@ -1,188 +0,0 @@
1
- <!-- THIS FILE IS STILL PERSONA -->
2
-
3
- <div class="d-flex align-items-center me-auto" style="min-width: 0px;">
4
- <button type="button" class="navbar-toggler border-0" id="mobile-menu">
5
- <i class="fa fa-lg fa-fw fa-bars unread-count" ></i>
6
- <span component="unread/icon" class="notification-icon fa fa-fw fa-book unread-count" data-content="{unreadCount.mobileUnread}" data-unread-url="{unreadCount.unreadUrl}"></span>
7
- </button>
8
- <div class="d-inline-flex align-items-center" style="min-width: 0px;">
9
- {{{ if brand:logo }}}
10
- <a class="navbar-brand" href="{{{ if brand:logo:url }}}{brand:logo:url}{{{ else }}}{relative_path}/{{{ end }}}">
11
- <img alt="{brand:logo:alt}" class="{brand:logo:display} forum-logo d-inline-block align-text-bottom" src="{brand:logo}?{config.cache-buster}" />
12
- </a>
13
- {{{ end }}}
14
- {{{ if config.showSiteTitle }}}
15
- <a class="navbar-brand text-truncate" href="{{{ if title:url }}}{title:url}{{{ else }}}{relative_path}/{{{ end }}}">
16
- {config.siteTitle}
17
- </a>
18
- {{{ end }}}
19
- </div>
20
- </div>
21
-
22
- {{{ if config.searchEnabled }}}
23
- <div class="navbar-search visible-xs">
24
- <form action="{config.relative_path}/search" method="GET">
25
- <button type="button" class="btn btn-link"><i class="fa fa-lg fa-fw fa-search" title="[[global:header.search]]"></i></button>
26
- <input autocomplete="off" type="text" class="form-control hidden" name="term" placeholder="[[global:search]]"/>
27
- <button class="btn btn-primary hidden" type="submit"></button>
28
- <input type="text" class="hidden" name="in" value="{config.searchDefaultInQuick}" />
29
- </form>
30
- <div class="quick-search-container hidden">
31
- <div class="quick-search-results-container"></div>
32
- </div>
33
- </div>
34
- {{{ end }}}
35
-
36
- {{{ if config.loggedIn }}}
37
- <button type="button" class="navbar-toggler border-0" id="mobile-chats">
38
- <span component="notifications/icon" class="notification-icon fa fa-fw fa-bell-o unread-count" data-content="{unreadCount.notification}"></span>
39
- <span component="chat/icon" class="notification-icon fa fa-fw fa-comments unread-count" data-content="{unreadCount.chat}"></span>
40
- {buildAvatar(user, "32px", true)}
41
- </button>
42
- {{{ end }}}
43
-
44
- <div component="navbar/title" class="visible-xs hidden">
45
- <span></span>
46
- </div>
47
-
48
- <div id="nav-dropdown" class="collapse navbar-collapse d-none d-lg-block">
49
- <ul id="main-nav" class="navbar-nav me-auto mb-2 mb-lg-0">
50
- {{{each navigation}}}
51
- <!-- IF function.displayMenuItem, @index -->
52
- <li class="nav-item {navigation.class}{{{ if navigation.dropdown }}} dropdown{{{ end }}}" title="{navigation.title}">
53
- <a class="nav-link navigation-link {{{ if navigation.dropdown }}}dropdown-toggle{{{ end }}}"
54
- {{{ if navigation.dropdown }}} href="#" role="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" {{{ else }}} href="{navigation.route}"{{{ end }}} {{{ if navigation.id }}}id="{navigation.id}"{{{ end }}}{{{ if navigation.targetBlank }}} target="_blank"{{{ end }}}>
55
- {{{ if navigation.iconClass }}}
56
- <i class="fa fa-fw {navigation.iconClass}" data-content="{navigation.content}"></i>
57
- {{{ end }}}
58
- {{{ if navigation.text }}}
59
- <span class="{navigation.textClass}">{navigation.text}</span>
60
- {{{ end }}}
61
- {{{ if navigation.dropdown}}}
62
- <i class="fa fa-caret-down"></i>
63
- {{{ end }}}
64
- </a>
65
- {{{ if navigation.dropdown }}}
66
- <ul class="dropdown-menu">
67
- {navigation.dropdownContent}
68
- </ul>
69
- {{{ end }}}
70
- </li>
71
- <!-- ENDIF function.displayMenuItem -->
72
- {{{end}}}
73
- </ul>
74
- <ul class="navbar-nav mb-2 mb-lg-0 hidden-xs">
75
- <li class="nav-item">
76
- <a href="#" id="reconnect" class="nav-link hide" title="[[global:reconnecting-message, {config.siteTitle}]]">
77
- <i class="fa fa-check"></i>
78
- </a>
79
- </li>
80
- </ul>
81
- {{{ if config.searchEnabled }}}
82
- <div class="navbar-nav mb-2 mb-lg-0 position-relative">
83
- <form component="search/form" id="search-form" class="d-flex justify-content-end align-items-center" role="search" method="GET">
84
- <div component="search/fields" class="hidden" id="search-fields">
85
- <div class="input-group flex-nowrap">
86
- <input autocomplete="off" type="text" class="form-control" placeholder="[[global:search]]" name="query" value="">
87
-
88
- <button href="#" class="btn btn-outline-secondary">
89
- <i class="fa fa-gears fa-fw advanced-search-link"></i>
90
- </button>
91
- </div>
92
-
93
- <div id="quick-search-container" class="quick-search-container dropdown-menu d-block mt-2 hidden">
94
- <div class="form-check filter-category mb-2 ms-4">
95
- <input class="form-check-input" type="checkbox" checked>
96
- <label class="form-check-label name"></label>
97
- </div>
98
-
99
- <div class="text-center loading-indicator"><i class="fa fa-spinner fa-spin"></i></div>
100
- <div class="quick-search-results-container"></div>
101
- </div>
102
- <button type="submit" class="btn btn-outline-secondary hide">[[global:search]]</button>
103
- </div>
104
-
105
- <li id="" class="nav-item"><a component="search/button" id="search-button" href="#" class="nav-link"><i class="fa fa-search fa-fw" title="Search"></i></a></li>
106
- </form>
107
-
108
- </div>
109
- {{{ end }}}
110
-
111
- {{{ if !maintenanceHeader }}}
112
- {{{ if config.loggedIn }}}
113
- <ul id="logged-in-menu" class="navbar-nav me-0 mb-2 mb-lg-0 align-items-center">
114
- <li class="nav-item notifications dropdown d-none d-sm-block" component="notifications" title="[[global:header.notifications]]">
115
- <a href="{relative_path}/notifications" class="nav-link" data-bs-toggle="dropdown" id="notif_dropdown" data-ajaxify="false" role="button">
116
- <i component="notifications/icon" class="fa fa-fw {{{ if unreadCount.notification}}}fa-bell{{{ else }}}fa-bell-o{{{ end }}} unread-count" data-content="{unreadCount.notification}"></i>
117
- </a>
118
- <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="notif_dropdown">
119
- <li>
120
- <ul component="notifications/list" class="notification-list">
121
- <li class="loading-text">
122
- <a href="#"><i class="fa fa-refresh fa-spin"></i> [[global:notifications.loading]]</a>
123
- </li>
124
- </ul>
125
- </li>
126
- <li class="notif-dropdown-link">
127
- <div class="btn-group d-flex justify-content-center">
128
- <a role="button" href="#" class="btn btn-light mark-all-read"><i class="fa fa-check-double"></i> [[notifications:mark_all_read]]</a>
129
- <a class="btn btn-light" href="{relative_path}/notifications"><i class="fa fa-list"></i> [[notifications:see_all]]</a>
130
- </div>
131
- </li>
132
- </ul>
133
- </li>
134
-
135
- <!-- IF canChat -->
136
- <li class="nav-item chats dropdown" title="[[global:header.chats]]">
137
- <a class="nav-link" data-bs-toggle="dropdown" href="{relative_path}/user/{user.userslug}/chats" id="chat_dropdown" component="chat/dropdown" data-ajaxify="false" role="button">
138
- <i component="chat/icon" class="fa fa-comment-o fa-fw unread-count" data-content="{unreadCount.chat}"></i> <span class="d-inline d-sm-none">[[global:header.chats]]</span>
139
- </a>
140
- <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="chat_dropdown">
141
- <li>
142
- <ul component="chat/list" class="chat-list chats-list">
143
- <li class="loading-text">
144
- <a href="#"><i class="fa fa-refresh fa-spin"></i> [[global:chats.loading]]</a>
145
- </li>
146
- </ul>
147
- </li>
148
- <li class="notif-dropdown-link">
149
- <div class="btn-group d-flex justify-content-center">
150
- <a class="btn btn-light mark-all-read" href="#" component="chats/mark-all-read"><i class="fa fa-check-double"></i> [[modules:chat.mark_all_read]]</a>
151
- <a class="btn btn-light" href="{relative_path}/user/{user.userslug}/chats"><i class="fa fa-comments"></i> [[modules:chat.see_all]]</a>
152
- </div>
153
- </li>
154
- </ul>
155
- </li>
156
- <!-- ENDIF canChat -->
157
-
158
- <!-- IMPORT partials/header/user-menu.tpl -->
159
- </ul>
160
- {{{ else }}}
161
- <ul id="logged-out-menu" class="navbar-nav me-0 mb-2 mb-lg-0 align-items-center">
162
- {{{ if allowRegistration }}}
163
- <li class="nav-item">
164
- <a class="nav-link" href="{relative_path}/register">
165
- <i class="fa fa-pencil fa-fw d-inline-block d-sm-none"></i>
166
- <span>[[global:register]]</span>
167
- </a>
168
- </li>
169
- {{{ end }}}
170
- <li class="nav-item">
171
- <a class="nav-link" href="{relative_path}/login">
172
- <i class="fa fa-sign-in fa-fw d-inline-block d-sm-none"></i>
173
- <span>[[global:login]]</span>
174
- </a>
175
- </li>
176
- </ul>
177
- {{{ end }}}
178
- {{{ else }}}
179
- <ul class="navbar-nav me-0 mb-2 mb-lg-0"></ul>
180
- <li class="nav-item">
181
- <a href="{relative_path}/login">
182
- <i class="fa fa-sign-in fa-fw d-block d-sm-none"></i>
183
- <span>[[global:login]]</span>
184
- </a>
185
- </li>
186
- </ul>
187
- {{{ end }}}
188
- </div>
@@ -1,10 +0,0 @@
1
- <!-- THIS FILE IS STILL PERSONA -->
2
-
3
- {{{ if privileges.view_thread_tools }}}
4
- <div title="[[topic:thread_tools.title]]" class="btn-group thread-tools bottom-sheet">
5
- <button class="btn btn-sm btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button">
6
- <i class="fa fa-fw fa-gear"></i>
7
- </button>
8
- <ul class="dropdown-menu dropdown-menu-end"></ul>
9
- </div>
10
- {{{ end }}}