nodebb-theme-harmony 1.0.0-beta.11 → 1.0.0-beta.111

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 (151) hide show
  1. package/README.md +12 -1
  2. package/languages/en-GB/harmony.json +6 -1
  3. package/library.js +46 -25
  4. package/package.json +1 -1
  5. package/plugin.json +0 -1
  6. package/public/harmony.js +133 -9
  7. package/public/settings.js +1 -0
  8. package/screenshots/categories.png +0 -0
  9. package/screenshots/recent.png +0 -0
  10. package/screenshots/topic.png +0 -0
  11. package/scss/account.scss +1 -1
  12. package/scss/chats.scss +66 -25
  13. package/scss/common.scss +84 -10
  14. package/scss/flags.scss +5 -0
  15. package/scss/groups.scss +2 -2
  16. package/scss/harmony.scss +3 -0
  17. package/scss/mixins.scss +7 -3
  18. package/scss/modals.scss +5 -3
  19. package/scss/modules/bottom-sheet.scss +1 -1
  20. package/scss/modules/composer.scss +0 -4
  21. package/scss/modules/cover.scss +1 -11
  22. package/scss/modules/filters.scss +8 -0
  23. package/scss/modules/paginator.scss +24 -0
  24. package/scss/modules/topic-navigator.scss +18 -42
  25. package/scss/modules/topics-list.scss +32 -17
  26. package/scss/modules/user-menu.scss +6 -0
  27. package/scss/overrides.scss +4 -1
  28. package/scss/sidebar.scss +39 -11
  29. package/scss/topic.scss +19 -13
  30. package/templates/account/blocks.tpl +35 -40
  31. package/templates/account/categories.tpl +47 -29
  32. package/templates/account/consent.tpl +66 -10
  33. package/templates/account/edit/password.tpl +25 -30
  34. package/templates/account/edit/username.tpl +21 -26
  35. package/templates/account/edit.tpl +105 -116
  36. package/templates/account/followers.tpl +12 -19
  37. package/templates/account/following.tpl +12 -18
  38. package/templates/account/groups.tpl +12 -17
  39. package/templates/account/info.tpl +178 -206
  40. package/templates/account/posts.tpl +31 -36
  41. package/templates/account/profile.tpl +66 -73
  42. package/templates/account/sessions.tpl +8 -30
  43. package/templates/account/settings.tpl +222 -203
  44. package/templates/account/theme.tpl +39 -25
  45. package/templates/account/topics.tpl +36 -38
  46. package/templates/account/uploads.tpl +33 -40
  47. package/templates/admin/plugins/harmony.tpl +21 -3
  48. package/templates/categories.tpl +3 -6
  49. package/templates/category.tpl +13 -14
  50. package/templates/chats.tpl +9 -10
  51. package/templates/flags/detail.tpl +160 -193
  52. package/templates/flags/list.tpl +3 -70
  53. package/templates/footer.tpl +2 -2
  54. package/templates/groups/details.tpl +22 -19
  55. package/templates/groups/list.tpl +1 -1
  56. package/templates/groups/members.tpl +0 -2
  57. package/templates/header.tpl +2 -2
  58. package/templates/login.tpl +4 -4
  59. package/templates/notifications.tpl +5 -5
  60. package/templates/partials/account/admin-menu.tpl +9 -9
  61. package/templates/partials/account/category-item.tpl +14 -17
  62. package/templates/partials/account/footer.tpl +3 -0
  63. package/templates/partials/account/header.tpl +78 -81
  64. package/templates/partials/account/session-list.tpl +18 -0
  65. package/templates/partials/account/sidebar-left.tpl +31 -25
  66. package/templates/partials/breadcrumbs.tpl +6 -6
  67. package/templates/partials/buttons/newTopic.tpl +1 -1
  68. package/templates/partials/categories/item.tpl +31 -27
  69. package/templates/partials/categories/lastpost.tpl +7 -7
  70. package/templates/partials/category/filter-dropdown-content.tpl +37 -0
  71. package/templates/partials/{category-selector-content.tpl → category/selector-dropdown-content.tpl} +7 -7
  72. package/templates/partials/category/sort.tpl +22 -7
  73. package/templates/partials/category/subcategory.tpl +2 -3
  74. package/templates/partials/category/tags.tpl +0 -2
  75. package/templates/partials/category/tools.tpl +28 -25
  76. package/templates/partials/category/watch.tpl +39 -6
  77. package/templates/partials/chats/dropdown.tpl +4 -1
  78. package/templates/partials/chats/message-window.tpl +10 -9
  79. package/templates/partials/chats/message.tpl +4 -6
  80. package/templates/partials/chats/options.tpl +14 -6
  81. package/templates/partials/chats/recent_room.tpl +41 -32
  82. package/templates/partials/cookie-consent.tpl +5 -5
  83. package/templates/partials/flags/bulk-actions.tpl +9 -0
  84. package/templates/partials/flags/filters.tpl +165 -78
  85. package/templates/partials/flags/results.tpl +38 -0
  86. package/templates/partials/groups/admin.tpl +4 -4
  87. package/templates/partials/groups/badge.tpl +1 -1
  88. package/templates/partials/groups/list.tpl +2 -2
  89. package/templates/partials/groups/memberlist.tpl +1 -1
  90. package/templates/partials/groups/sidebar-left.tpl +10 -10
  91. package/templates/partials/header/brand.tpl +9 -2
  92. package/templates/partials/mobile-footer.tpl +13 -13
  93. package/templates/partials/notifications_list.tpl +11 -8
  94. package/templates/partials/paginator.tpl +11 -9
  95. package/templates/partials/post_bar.tpl +26 -25
  96. package/templates/partials/posts_list_item.tpl +5 -5
  97. package/templates/partials/quick-search-results.tpl +3 -3
  98. package/templates/partials/search-filters.tpl +184 -0
  99. package/templates/partials/search-results.tpl +28 -35
  100. package/templates/partials/sidebar/chats.tpl +22 -33
  101. package/templates/partials/sidebar/drafts.tpl +45 -34
  102. package/templates/partials/sidebar/logged-in-menu.tpl +5 -5
  103. package/templates/partials/sidebar/logged-out-menu.tpl +1 -1
  104. package/templates/partials/sidebar/notifications.tpl +28 -7
  105. package/templates/partials/sidebar/search.tpl +1 -1
  106. package/templates/partials/sidebar/user-menu.tpl +38 -29
  107. package/templates/partials/sidebar-left.tpl +11 -11
  108. package/templates/partials/sidebar-right.tpl +1 -3
  109. package/templates/partials/skin-switcher.tpl +3 -3
  110. package/templates/partials/tags/filter-dropdown-content.tpl +34 -0
  111. package/templates/partials/tags_list.tpl +4 -4
  112. package/templates/partials/topic/browsing-users.tpl +0 -2
  113. package/templates/partials/topic/event.tpl +1 -1
  114. package/templates/partials/topic/navigator-mobile.tpl +30 -11
  115. package/templates/partials/topic/navigator.tpl +23 -17
  116. package/templates/partials/topic/post-editor.tpl +0 -2
  117. package/templates/partials/topic/post-menu-list.tpl +60 -62
  118. package/templates/partials/topic/post-menu.tpl +16 -11
  119. package/templates/partials/topic/post.tpl +45 -27
  120. package/templates/partials/topic/quickreply.tpl +5 -5
  121. package/templates/partials/topic/reply-button.tpl +3 -3
  122. package/templates/partials/topic/sort.tpl +17 -5
  123. package/templates/partials/topic/tools.tpl +2 -2
  124. package/templates/partials/topic/topic-menu-list.tpl +22 -24
  125. package/templates/partials/topic/watch.tpl +42 -9
  126. package/templates/partials/topic-filters.tpl +6 -3
  127. package/templates/partials/topic-list-bar.tpl +50 -46
  128. package/templates/partials/topic-terms.tpl +6 -3
  129. package/templates/partials/topics_list.tpl +88 -93
  130. package/templates/partials/userFilter-placeholders.tpl +5 -0
  131. package/templates/partials/users/filter-dropdown-content.tpl +23 -0
  132. package/templates/partials/users/item.tpl +25 -27
  133. package/templates/partials/users_list.tpl +1 -1
  134. package/templates/popular.tpl +3 -1
  135. package/templates/post-queue.tpl +166 -0
  136. package/templates/recent.tpl +3 -2
  137. package/templates/register.tpl +4 -4
  138. package/templates/search.tpl +39 -177
  139. package/templates/tags.tpl +3 -3
  140. package/templates/top.tpl +3 -1
  141. package/templates/topic.tpl +74 -68
  142. package/templates/unread.tpl +3 -1
  143. package/templates/users.tpl +7 -3
  144. package/templates/modules/usercard.tpl +0 -39
  145. package/templates/partials/acceptTos.tpl +0 -11
  146. package/templates/partials/category-filter-content.tpl +0 -30
  147. package/templates/partials/category-filter-right.tpl +0 -5
  148. package/templates/partials/category-filter.tpl +0 -3
  149. package/templates/partials/category-selector-right.tpl +0 -5
  150. package/templates/partials/category-selector.tpl +0 -3
  151. package/templates/partials/slideout-menu.tpl +0 -6
package/scss/mixins.scss CHANGED
@@ -124,9 +124,13 @@
124
124
  display: none;
125
125
  }
126
126
 
127
- .timeline-event {
128
- .timeline-text.timeago {
129
- display: none;
127
+
128
+ [component="topic/event"], [component="topic/necro-post"] {
129
+ &.timeline-event {
130
+ .timeline-text {
131
+ line-height: 16px;
132
+ font-size: 0.75rem;
133
+ }
130
134
  }
131
135
  }
132
136
  }
package/scss/modals.scss CHANGED
@@ -1,4 +1,6 @@
1
1
  .tool-modal {
2
- bottom: $spacer * 3;
3
- right: $spacer * 4;
4
- }
2
+ @include media-breakpoint-up(md) {
3
+ bottom: $spacer * 3;
4
+ right: $spacer * 4;
5
+ }
6
+ }
@@ -8,7 +8,7 @@
8
8
  inset: auto 0 0 0!important;
9
9
 
10
10
  margin: 0 -1px -1px -1px;
11
- padding: 0 5px 4rem 5px!important;
11
+ padding: $spacer * 0.25 !important;
12
12
  max-height: 60%;
13
13
 
14
14
  box-shadow: 0 2px 6px rgba(0,0,0,0.35);
@@ -6,10 +6,6 @@ $composer-bg: $body-bg !default;
6
6
  background-color: $bg !important;
7
7
  }
8
8
 
9
- .composer {
10
- z-index: 3 !important;
11
- }
12
-
13
9
  .skin-noskin {
14
10
  // only using colors when there is no bootswatch skin applied
15
11
  $composer-color: $secondary;
@@ -12,12 +12,11 @@
12
12
 
13
13
  &:hover {
14
14
  .controls {
15
- opacity: 0.8;
15
+ opacity: 1;
16
16
  }
17
17
  }
18
18
 
19
19
  .controls {
20
- text-align: center;
21
20
  height: 200px;
22
21
  line-height: 200px;
23
22
  opacity: 0;
@@ -28,15 +27,6 @@
28
27
  > * {
29
28
  pointer-events: all;
30
29
  }
31
-
32
- .fa {
33
- color: white;
34
- background-color: #333;
35
- opacity: 1;
36
- margin: 15px;
37
- padding: 5px;
38
- border-radius: 4px;
39
- }
40
30
  }
41
31
 
42
32
  &.active {
@@ -0,0 +1,8 @@
1
+ [component="search/filters"], [component="flags/filters"] {
2
+ .filter-btn {
3
+ border-color: $gray-300!important;
4
+ &.active-filter {
5
+ border-color: $primary!important;
6
+ }
7
+ }
8
+ }
@@ -0,0 +1,24 @@
1
+ .skin-noskin [component="pagination"] {
2
+ .page-item.active:not(.disabled) .page-link {
3
+ color: $body-color;
4
+ background-color: $gray-300;
5
+ border-color: $gray-300;
6
+ }
7
+
8
+ .page-item:not(.disabled):hover .page-link {
9
+ color: $body-color;
10
+ }
11
+ }
12
+
13
+ [component="pagination"] {
14
+ .page-item.active:not(.disabled) .page-link {
15
+ color: $pagination-active-color;
16
+ }
17
+ .page-item:not(.disabled):hover .page-link {
18
+ color: $pagination-hover-color;
19
+ background-color: $pagination-hover-bg;
20
+ }
21
+ .page-item:not(.disabled) .page-link {
22
+ color: $body-color;
23
+ }
24
+ }
@@ -1,59 +1,35 @@
1
- body:not(.page-topic) [component="topic/navigator"] {
2
- display: none!important;
3
- }
4
-
5
- [component="topic/navigator"] {
6
- max-height: calc(200px + (2rem * 4));
7
- user-select: none;
8
-
9
- .track {
10
- width: 2px;
11
- background-color: mix($dark, $light, 10%);
12
-
13
- .handle {
1
+ .topic .pagination-block {
2
+ .scroller-content {
3
+ min-width: 150px;
4
+ }
5
+ .scroller-container {
6
+ left: 10px;
7
+ height: 300px;
8
+ border-left: 2px solid $border-color;
9
+
10
+ .scroller-thumb {
11
+ left: -5px;
12
+ &:not(.active) {
13
+ transition: top 100ms linear;
14
+ }
14
15
  cursor: grab;
15
- transition: $transition-base;
16
-
17
- &:active {
18
- transition: none;
16
+ &.active {
19
17
  cursor: grabbing;
20
18
  }
21
-
22
- .meta {
23
- top: -8px;
24
- left: calc($spacer + 8px);
25
- font-size: 13px;
26
- }
27
- }
28
-
29
- .knob {
30
- width: 16px;
31
- height: 16px;
32
- background-color: $link-color;
33
- margin-left: 1px;
34
19
  }
35
20
 
36
21
  .unread {
37
- width: 2px;
22
+ width: 1px;
38
23
  height: 0; // initial
39
24
  bottom: 0;
40
25
  background: $primary;
41
26
  transition: $transition-base;
27
+ left: -1px;
42
28
 
43
29
  .meta {
44
- left: calc($spacer + 8px);
30
+ left: 5px;
45
31
  font-size: 13px;
46
32
  }
47
33
  }
48
34
  }
49
- }
50
-
51
- .sidebar.open {
52
- [component="topic/navigator"] {
53
- align-self: flex-start;
54
- }
55
-
56
- [component="topic/navigator"].d-sm-flex.mt-auto + .mt-auto {
57
- margin-top: 0 !important;
58
- }
59
35
  }
@@ -1,20 +1,35 @@
1
- .topic-list {
2
- overflow-x: hidden!important;
3
- }
4
- [component="category/topic"] {
5
- &.selected {
6
- [component="topic/select"] {
7
- color: $success!important;
1
+ ul.topics-list, ul.categories-list {
2
+ li {
3
+ &.deleted {
4
+ opacity: 0.6;
5
+ .meta { display: none!important; }
8
6
  }
9
- }
10
- .lastpost .post-content {
11
- p { margin-bottom: 0; }
12
- }
13
7
 
14
- &.unread .title {
15
- color: $link-color;
16
- }
17
- .ui-sortable-handle {
18
- cursor: move;
8
+ &.selected {
9
+ background-color: mix($body-bg, $body-color, 90%);
10
+ [component="topic/select"] {
11
+ color: $success!important;
12
+ }
13
+ }
14
+ p {
15
+ margin: 0 !important;
16
+ }
17
+
18
+ // all other skins use link-color for unread titles
19
+ &.unread .title {
20
+ color: $link-color;
21
+ }
22
+
23
+ .ui-sortable-handle {
24
+ cursor: move;
25
+ }
26
+
27
+ // if only one thumb don't display
28
+ [data-numthumbs="1"] { display: none; }
19
29
  }
20
- }
30
+ }
31
+
32
+ // on default skin use primary color for unread titles
33
+ .skin-noskin ul.topics-list li.unread .title {
34
+ color: $primary;
35
+ }
@@ -2,4 +2,10 @@
2
2
  [component="header/profilelink"] > div, .user-status > div {
3
3
  min-width: 1.25em; // match fontawesome fixed width
4
4
  }
5
+ .user-status i.fa-check {
6
+ display: none;
7
+ }
8
+ .user-status.selected i.fa-check {
9
+ display: block;
10
+ }
5
11
  }
@@ -39,6 +39,8 @@ $text-muted: $gray-600 !default;
39
39
  $border-color: $gray-200 !default;
40
40
  $link-color: shade-color($blue, 20%) !default;
41
41
 
42
+ $btn-ghost-hover-color: mix($light, $dark, 90%);
43
+
42
44
  // no caret on dropdown-toggle
43
45
  $enable-caret: false;
44
46
 
@@ -53,8 +55,9 @@ $link-hover-decoration: underline;
53
55
 
54
56
  // Custom fonts
55
57
  $font-family-sans-serif: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
56
- $font-family-secondary: "Poppins" !default;
58
+ $font-family-secondary: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
57
59
  $font-weight-semibold: 500 !default;
60
+ $small-font-size: 0.875rem !default;
58
61
 
59
62
  $breadcrumb-divider: quote("→");
60
63
  $breadcrumb-divider-color: $gray-500 !default;
package/scss/sidebar.scss CHANGED
@@ -1,10 +1,10 @@
1
1
  .skin-noskin {
2
2
  // only using colors when there is no bootswatch skin applied
3
- nav.sidebar, .bottombar {
3
+ nav.sidebar, .bottombar-nav {
4
4
  color: $secondary !important;
5
5
  background-color: $light !important;
6
6
  }
7
- .bottombar {
7
+ .bottombar-nav {
8
8
  .dropdown-menu {
9
9
  color: $secondary !important;
10
10
  background-color: $light !important;
@@ -13,7 +13,7 @@
13
13
  }
14
14
 
15
15
  .sidebar {
16
- $hover-color: mix($light, $dark, 90);
16
+ $hover-color: mix($light, $dark, 90%);
17
17
 
18
18
  @include media-breakpoint-up(lg) {
19
19
  &.open {
@@ -45,11 +45,17 @@
45
45
  }
46
46
 
47
47
  .nav-link {
48
+ @extend .ff-secondary;
48
49
  padding: 0;
49
50
  &.active {
50
51
  background-color: $hover-color;
51
52
  }
52
53
  }
54
+ .nav-item {
55
+ .dropdown-menu .dropdown-item {
56
+ @extend .rounded-1;
57
+ }
58
+ }
53
59
  #user_dropdown .avatar {
54
60
  margin: 2px 0; // fixes the avatar so its height is same as the icons on right sidebar
55
61
  }
@@ -76,7 +82,7 @@
76
82
  .chats-dropdown, .notifications-dropdown, .drafts-dropdown {
77
83
  min-width: 300px;
78
84
  width: 300px;
79
- ul {
85
+ .list-container {
80
86
  max-height: 400px;
81
87
  overflow-y: auto;
82
88
  }
@@ -87,7 +93,8 @@
87
93
  line-height: 12px;
88
94
  &.visible-open {
89
95
  font-size:12px;
90
- line-height: 16px;
96
+ line-height: 12px;
97
+ font-weight: normal;
91
98
  }
92
99
  }
93
100
 
@@ -97,7 +104,22 @@
97
104
  }
98
105
 
99
106
  .bottombar {
100
- z-index: $zindex-dropdown;
107
+ transition: bottom 150ms linear;
108
+
109
+ .pagination-block {
110
+ .scroller-container {
111
+ border-right: 3px solid;
112
+ margin-right: 5.5px;
113
+ .scroller-thumb {
114
+ right: -6px;
115
+ padding-right: 15px;
116
+ margin-right: -15px;
117
+ }
118
+ }
119
+ }
120
+ }
121
+
122
+ .bottombar-nav {
101
123
  .nav-text {
102
124
  font-size: 1rem;
103
125
  color: $body-color;
@@ -128,15 +150,21 @@
128
150
  overflow: auto!important;
129
151
  }
130
152
  .search-dropdown .quick-search-results {
131
- max-height: 250px!important;
153
+ max-height: 225px!important;
132
154
  overflow-y: auto!important;
133
155
  }
134
156
  .search-dropdown, .chats-dropdown, .notifications-dropdown, .drafts-dropdown {
135
- left: 0!important;
136
- right: 0!important;
137
- bottom: $spacer!important;
157
+ left: 0 !important;
158
+ right: 0 !important;
159
+ bottom: $spacer * 0.7 !important;
138
160
  box-shadow: none!important;
139
- ul {
161
+
162
+ border-left: 0;
163
+ border-right: 0;
164
+ border-bottom: 0;
165
+ border-radius: 0;
166
+
167
+ .list-container {
140
168
  max-height: 60vh!important;
141
169
  overflow-y: auto!important;
142
170
  }
package/scss/topic.scss CHANGED
@@ -16,21 +16,10 @@
16
16
  line-height: 20px;
17
17
  }
18
18
 
19
- .action-bar {
20
- .dropdown-toggle::after {
21
- border: none;
22
- font-family: "FontAwesome";
23
- content: "\f078";
24
- color: tint-color($primary, 40%);
25
-
26
- position: relative;
27
- top: 2px;
28
- }
29
- }
30
-
31
19
  .topic {
32
20
  .posts {
33
21
  max-width: 960px;
22
+ width: 960px;
34
23
  // fixes code blocks pushing content out on mobile
35
24
  @include media-breakpoint-down(md) {
36
25
  max-width: calc(100vw - $grid-gutter-width);
@@ -51,11 +40,13 @@
51
40
  }
52
41
 
53
42
  [component="post"] {
54
- &.deleted {
43
+ &.deleted .post-container {
55
44
  opacity: .5;
56
45
  }
57
46
 
58
47
  [component="post/content"] {
48
+ @include fix-lists();
49
+
59
50
  pre {
60
51
  max-height: calc($font-size-base * 24);
61
52
  }
@@ -69,6 +60,17 @@
69
60
  [component="post/reply-count"] {
70
61
  font-size: $font-size-base * .75;
71
62
  }
63
+
64
+ [component="post/upvote"], [component="post/downvote"] {
65
+ &.upvoted, &.downvoted {
66
+ background-color: lighten($btn-ghost-hover-color, 5%);
67
+
68
+ &:hover {
69
+ background-color: $btn-ghost-hover-color;
70
+
71
+ }
72
+ }
73
+ }
72
74
  }
73
75
  }
74
76
 
@@ -126,6 +128,10 @@
126
128
  [component="post/actions"] {
127
129
  opacity: 0;
128
130
  transition: $transition-fade;
131
+
132
+ &:has([aria-expanded="true"]) {
133
+ opacity: 1;
134
+ }
129
135
  }
130
136
 
131
137
  &:hover {
@@ -1,45 +1,40 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
3
- <div class="d-flex flex-column flex-md-row">
4
- <!-- IMPORT partials/account/sidebar-left.tpl -->
5
- <div class="flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
6
- <div class="d-flex justify-content-between mb-3">
7
- <h3 class="fw-semibold fs-5">[[pages:account/blocks, {username}]]</h3>
8
- <div class="justify-content-end">
9
- <div class="dropdown">
10
- <div class="input-group">
11
- <input class="form-control form-control-sm" type="text" id="user-search" placeholder="[[users:enter_username]]" data-bs-toggle="dropdown" autocomplete="off"/>
12
- <button class="btn btn-primary btn-sm" type="button">
13
- <i class="fa fa-search"></i>
14
- </button>
15
- </div>
1
+ <!-- IMPORT partials/account/header.tpl -->
2
+ <div class="d-flex justify-content-between mb-3">
3
+ <h3 class="fw-semibold fs-5">[[pages:account/blocks, {username}]]</h3>
4
+ <div class="justify-content-end">
5
+ <div class="dropdown">
6
+ <div class="input-group">
7
+ <input class="form-control form-control-sm" type="text" id="user-search" placeholder="[[users:enter_username]]" data-bs-toggle="dropdown" autocomplete="off"/>
16
8
 
17
- <ul component="blocks/search/list" class="dropdown-menu dropdown-menu-end block-edit overflow-auto" style="max-height:300px;">
18
- <li><a href="#" class="dropdown-item">[[admin/menu:search.start-typing]]</a></li>
19
- {{{ each edit }}}
20
- <li class="">
21
- <div class="dropdown-item d-flex flex-nowrap gap-2 justify-content-between">
22
- <div class="text-truncate">
23
- <a href="{config.relative_path}/uid/{./uid}" class="text-decoration-none">{buildAvatar(edit, "24px", true)} {./username}</a>
24
- </div>
25
- <button class="btn btn-sm btn-primary text-nowrap" data-uid="{./uid}" data-action="toggle">[[user:block_toggle]]</button>
26
- </div>
27
- </li>
28
- {{{ end }}}
29
- </ul>
30
- </div>
31
- </div>
32
- </div>
33
- <div class="users">
34
- <div id="users-container" class="row row-cols-2 row-cols-lg-3 row-cols-xl-4 g-2">
35
- {{{ each users }}}
36
- <!-- IMPORT partials/users/item.tpl -->
9
+ <ul component="blocks/search/list" class="dropdown-menu dropdown-menu-end p-1 text-sm block-edit overflow-auto" style="max-height:300px;">
10
+ <li><a href="#" class="dropdown-item">[[admin/menu:search.start-typing]]</a></li>
11
+ {{{ each edit }}}
12
+ <li class="">
13
+ <div class="dropdown-item d-flex flex-nowrap gap-2 justify-content-between">
14
+ <div class="text-truncate">
15
+ <a href="{config.relative_path}/uid/{./uid}" class="text-decoration-none">{buildAvatar(edit, "24px", true)} {./username}</a>
16
+ </div>
17
+ <button class="btn btn-sm btn-primary text-nowrap" data-uid="{./uid}" data-action="toggle">[[user:block_toggle]]</button>
18
+ </div>
19
+ </li>
37
20
  {{{ end }}}
38
- </div>
39
- <div class="alert alert-warning text-center"{{{ if users.length }}} style="display: none;"{{{ end }}}>[[user:has_no_blocks]]</div>
40
- <!-- IMPORT partials/paginator.tpl -->
21
+ </ul>
22
+
23
+ <button class="btn btn-primary btn-sm" type="button">
24
+ <i class="fa fa-search"></i>
25
+ </button>
41
26
  </div>
42
27
  </div>
43
-
44
28
  </div>
45
- </div>
29
+ </div>
30
+ <div class="users">
31
+ <div id="users-container" class="row row-cols-2 row-cols-lg-3 row-cols-xl-4 g-2">
32
+ {{{ each users }}}
33
+ <!-- IMPORT partials/users/item.tpl -->
34
+ {{{ end }}}
35
+ </div>
36
+ <div class="alert alert-warning text-center"{{{ if users.length }}} style="display: none;"{{{ end }}}>[[user:has_no_blocks]]</div>
37
+ <!-- IMPORT partials/paginator.tpl -->
38
+ </div>
39
+
40
+ <!-- IMPORT partials/account/footer.tpl -->
@@ -1,34 +1,52 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
1
+ <!-- IMPORT partials/account/header.tpl -->
3
2
 
4
- <div class="d-flex flex-column flex-md-row">
5
- <!-- IMPORT partials/account/sidebar-left.tpl -->
6
- <div class="flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
7
- <h3 class="fw-semibold fs-5">{title}</h3>
3
+ <div class="d-flex justify-content-between align-items-center mb-3">
4
+ <div class="d-flex gap-1">
5
+ <h3 class="fw-semibold fs-5 mb-0">{title}</h3>
6
+ </div>
8
7
 
9
- <div class="row">
10
- <div class="col-lg-12 mb-2">
11
- <div class="btn-group bottom-sheet" component="category/watch/all">
12
- <button class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button">
13
- <span>[[user:change_all]]</span>
14
- <span class="caret"></span>
15
- </button>
16
- <ul class="dropdown-menu">
17
- <li><a class="dropdown-item" href="#" component="category/watching" data-state="watching"><i class="fa fa-fw fa-inbox"></i> [[category:watching]]<p class="help-text"><small>[[category:watching.description]]</small></p></a></li>
18
- <li><a class="dropdown-item" href="#" component="category/notwatching" data-state="notwatching"><i class="fa fa-fw fa-clock-o"></i> [[category:not-watching]]<p class="help-text"><small>[[category:not-watching.description]]</small></p></a></li>
19
- <li><a class="dropdown-item" href="#" component="category/ignoring" data-state="ignoring"><i class="fa fa-fw fa-eye-slash"></i> [[category:ignoring]]<p class="help-text"><small>[[category:ignoring.description]]</small></p></a></li>
20
- </ul>
21
- </div>
22
- </div>
23
- <div class="col-lg-12">
24
- <ul class="categories list-unstyled" itemscope itemtype="http://www.schema.org/ItemList">
25
- {{{each categories}}}
26
- <!-- IMPORT partials/account/category-item.tpl -->
27
- {{{end}}}
28
- </ul>
29
- <!-- IMPORT partials/paginator.tpl -->
30
- </div>
31
- </div>
8
+ <div class="d-flex gap-1">
9
+ <div class="btn-group bottom-sheet" component="category/watch/all">
10
+ <button class="btn-ghost-sm fw-semibold dropdown-toggle" data-bs-toggle="dropdown" type="button">
11
+ <span>[[user:change_all]]</span>
12
+ </button>
13
+ <ul class="dropdown-menu p-1 text-sm dropdown-menu-end">
14
+ <li><a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/watching" data-state="watching">
15
+ <div class="d-flex align-items-center gap-2">
16
+ <i class="flex-shrink-0 fa fa-fw fa-inbox"></i>
17
+ <span class="flex-grow-1 fw-semibold">[[category:watching]]</span>
18
+ </div>
19
+ <div class="help-text text-muted text-xs">[[category:watching.description]]</div>
20
+ </a>
21
+ </li>
22
+ <li><a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/notwatching" data-state="notwatching">
23
+ <div class="d-flex align-items-center gap-2">
24
+ <i class="flex-shrink-0 fa fa-fw fa-clock-o"></i>
25
+ <span class="flex-grow-1 fw-semibold">[[category:not-watching]]</span>
26
+ </div>
27
+ <div class="help-text text-muted text-xs">[[category:not-watching.description]]</div>
28
+ </a>
29
+ </li>
30
+ <li><a class="dropdown-item rounded-1 d-flex flex-column p-2" href="#" component="category/ignoring" data-state="ignoring">
31
+ <div class="d-flex align-items-center gap-2">
32
+ <i class="flex-shrink-0 fa fa-fw fa-eye-slash"></i>
33
+ <span class="flex-grow-1 fw-semibold">[[category:ignoring]]</span>
34
+ </div>
35
+ <div class="help-text text-muted text-xs">[[category:ignoring.description]]</div>
36
+ </a>
37
+ </li>
38
+ </ul>
32
39
  </div>
33
40
  </div>
34
41
  </div>
42
+
43
+ <div>
44
+ <ul class="categories list-unstyled" itemscope itemtype="http://www.schema.org/ItemList">
45
+ {{{each categories}}}
46
+ <!-- IMPORT partials/account/category-item.tpl -->
47
+ {{{end}}}
48
+ </ul>
49
+ <!-- IMPORT partials/paginator.tpl -->
50
+ </div>
51
+
52
+ <!-- IMPORT partials/account/footer.tpl -->