nodebb-theme-harmony 1.0.0-beta.9 → 1.0.0-beta.90

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 +5 -1
  3. package/library.js +25 -25
  4. package/package.json +1 -1
  5. package/plugin.json +0 -1
  6. package/public/harmony.js +148 -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 +53 -25
  13. package/scss/common.scss +78 -9
  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 +6 -1
  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 +16 -42
  25. package/scss/modules/topics-list.scss +164 -16
  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 +30 -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 +35 -26
  45. package/templates/account/topics.tpl +36 -38
  46. package/templates/account/uploads.tpl +33 -40
  47. package/templates/admin/plugins/harmony.tpl +17 -3
  48. package/templates/categories.tpl +2 -2
  49. package/templates/category.tpl +13 -14
  50. package/templates/chats.tpl +7 -8
  51. package/templates/flags/detail.tpl +160 -193
  52. package/templates/flags/list.tpl +4 -70
  53. package/templates/footer.tpl +2 -2
  54. package/templates/groups/details.tpl +21 -18
  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 +2 -2
  59. package/templates/notifications.tpl +1 -1
  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 +6 -0
  66. package/templates/partials/breadcrumbs.tpl +6 -6
  67. package/templates/partials/buttons/newTopic.tpl +1 -1
  68. package/templates/partials/categories/item.tpl +30 -23
  69. package/templates/partials/categories/lastpost.tpl +2 -2
  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 +7 -7
  73. package/templates/partials/category/subcategory.tpl +1 -1
  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 +30 -6
  77. package/templates/partials/chats/dropdown.tpl +4 -1
  78. package/templates/partials/chats/message-window.tpl +8 -7
  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 +163 -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/memberlist.tpl +1 -1
  89. package/templates/partials/groups/sidebar-left.tpl +1 -1
  90. package/templates/partials/header/brand.tpl +9 -2
  91. package/templates/partials/mobile-footer.tpl +69 -64
  92. package/templates/partials/notifications_list.tpl +11 -8
  93. package/templates/partials/paginator.tpl +11 -9
  94. package/templates/partials/post_bar.tpl +26 -24
  95. package/templates/partials/posts_list_item.tpl +5 -5
  96. package/templates/partials/quick-search-results.tpl +3 -3
  97. package/templates/partials/search-filters.tpl +184 -0
  98. package/templates/partials/search-results.tpl +28 -32
  99. package/templates/partials/sidebar/chats.tpl +22 -33
  100. package/templates/partials/sidebar/drafts.tpl +45 -34
  101. package/templates/partials/sidebar/logged-in-menu.tpl +5 -5
  102. package/templates/partials/sidebar/logged-out-menu.tpl +1 -1
  103. package/templates/partials/sidebar/notifications.tpl +29 -8
  104. package/templates/partials/sidebar/search.tpl +1 -1
  105. package/templates/partials/sidebar/user-menu.tpl +38 -29
  106. package/templates/partials/sidebar-left.tpl +11 -11
  107. package/templates/partials/sidebar-right.tpl +1 -3
  108. package/templates/partials/skin-switcher.tpl +3 -3
  109. package/templates/partials/tags/filter-dropdown-content.tpl +31 -0
  110. package/templates/partials/tags_list.tpl +4 -4
  111. package/templates/partials/topic/browsing-users.tpl +0 -2
  112. package/templates/partials/topic/event.tpl +1 -1
  113. package/templates/partials/topic/navigation-post.tpl +5 -9
  114. package/templates/partials/topic/navigator-mobile.tpl +62 -0
  115. package/templates/partials/topic/navigator.tpl +21 -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 +43 -25
  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 +30 -6
  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 +54 -61
  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 +2 -2
  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
@@ -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,33 @@
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
+ min-width: 150px;
3
+ .scroller-container {
4
+ left: 10px;
5
+ height: 300px;
6
+ border-left: 2px solid $border-color;
7
+
8
+ .scroller-thumb {
9
+ left: -5px;
10
+ &:not(.active) {
11
+ transition: top 100ms linear;
12
+ }
14
13
  cursor: grab;
15
- transition: $transition-base;
16
-
17
- &:active {
18
- transition: none;
14
+ &.active {
19
15
  cursor: grabbing;
20
16
  }
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
17
  }
35
18
 
36
19
  .unread {
37
- width: 2px;
20
+ width: 1px;
38
21
  height: 0; // initial
39
22
  bottom: 0;
40
23
  background: $primary;
41
24
  transition: $transition-base;
25
+ left: -1px;
42
26
 
43
27
  .meta {
44
- left: calc($spacer + 8px);
28
+ left: 5px;
45
29
  font-size: 13px;
46
30
  }
47
31
  }
48
32
  }
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
33
  }
@@ -1,20 +1,168 @@
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 {
2
+ position: relative;
3
+
4
+ li {
5
+ display: flex;
6
+ gap: 1rem;
7
+ border-bottom: 1px solid $border-color;
8
+ padding: 0.75rem 0;
9
+
10
+ @include media-breakpoint-up(sm) { padding: 1.5rem 0; }
11
+
12
+ &.deleted {
13
+ opacity: 0.6;
14
+ .meta { display: none!important; }
8
15
  }
9
- }
10
- .lastpost .post-content {
11
- p { margin-bottom: 0; }
12
- }
13
16
 
14
- &.unread .title {
15
- color: $link-color;
17
+ &.selected {
18
+ border-color: $primary;
19
+
20
+ [component="topic/select"] {
21
+ color: $primary!important;
22
+ }
23
+ }
24
+
25
+ > .thumb-avatar-box {
26
+ flex: none;
27
+ display: none;
28
+ @include media-breakpoint-up(sm) { display: flex; }
29
+ }
30
+
31
+ > .wrapper {
32
+ flex: 1 1 auto;
33
+ display: grid;
34
+ align-items: start;
35
+ gap: 0.5rem;
36
+
37
+ @include media-breakpoint-up(sm) { gap: 1rem; }
38
+ @include media-breakpoint-up(xl) { display: flex; }
39
+ // @container (min-width: 799px) { display: flex; }
40
+
41
+ > .wrapper2 {
42
+ flex: 1 1 auto;
43
+ display: flex;
44
+ gap: 0.5rem;
45
+
46
+ @include media-breakpoint-up(sm) { gap: 1rem; }
47
+
48
+ > .title_badges {
49
+ flex: 1 1 auto;
50
+ display: flex;
51
+ flex-direction: column;
52
+ gap: 0.25rem;
53
+
54
+ @include media-breakpoint-up(sm) { gap: 0.5rem; }
55
+
56
+ > h2 {
57
+ font-size: 1rem !important;
58
+ @include media-breakpoint-up(sm) {
59
+ font-size: 1.125rem !important;
60
+ }
61
+ }
62
+
63
+ > .info {
64
+ display: flex;
65
+ flex-wrap: wrap;
66
+ gap: 0.25rem;
67
+ align-items: center;
68
+ }
69
+ }
70
+
71
+ > .stats {
72
+ flex: none;
73
+ display: none;
74
+ gap: 0.25rem;
75
+ align-items: start;
76
+ grid-auto-rows: min-content;
77
+ @include media-breakpoint-up(md) { display: grid; }
78
+ @include media-breakpoint-up(xl) {
79
+ grid-auto-columns: minmax(0, 1fr);
80
+ grid-auto-flow: column;
81
+ }
82
+
83
+ > .card {
84
+ display: flex;
85
+ flex-direction: row;
86
+ gap: 0.5rem;
87
+ flex-wrap: nowrap;
88
+ align-items: center;
89
+ padding: 0.25rem 0.5rem;
90
+ border: none;
91
+ border-radius: 4px;
92
+ color: $text-muted;
93
+ @include media-breakpoint-up(xl) {
94
+ flex-direction: column;
95
+ padding: 0.5rem;
96
+ gap: 0;
97
+ min-width: 4.4rem;
98
+ min-height:3.4rem;
99
+ }
100
+
101
+ > i.fa {
102
+ display: flex;
103
+ font-size: 0.75rem;
104
+ @include media-breakpoint-up(xl) { display: none; }
105
+ }
106
+ > .human-readable-number {
107
+ line-height: 1;
108
+ font-size: 0.875rem;
109
+ @include media-breakpoint-up(xl) { font-size: 1.25rem; }
110
+ }
111
+ > .text-lowercase {
112
+ display: none;
113
+ @include media-breakpoint-up(xl) { display: flex; }
114
+ }
115
+ }
116
+ }
117
+ }
118
+
119
+ > .teaser {
120
+ flex: none;
121
+ overflow: hidden;
122
+
123
+ @include media-breakpoint-up(xl) {
124
+ width:12rem;
125
+ }
126
+
127
+ > .lastpost {
128
+ @include media-breakpoint-up(xl) {
129
+ min-height: 3.4rem;
130
+ }
131
+ }
132
+
133
+ .post-content {
134
+ @include line-clamp(1);
135
+ @include media-breakpoint-up(xl) {
136
+ @include line-clamp(2);
137
+ }
138
+ }
139
+ }
140
+ }
141
+
142
+ > .checkbox {
143
+ flex: none;
144
+ }
145
+
146
+ .ui-sortable-handle {
147
+ cursor: move;
148
+ }
16
149
  }
17
- .ui-sortable-handle {
18
- cursor: move;
150
+
151
+ &.narrow {
152
+ li {
153
+ .wrapper {
154
+ display: grid !important;
155
+
156
+ .teaser {
157
+ width: auto !important;
158
+
159
+ .post-content {
160
+ -webkit-line-clamp: 1 !important;
161
+ }
162
+ }
163
+ }
164
+ }
19
165
  }
20
- }
166
+
167
+
168
+ }
@@ -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
@@ -1,3 +1,5 @@
1
+ .pagination-block { display: none; }
2
+
1
3
  .page-topic {
2
4
  [component="topic/title"] {
3
5
  font-size: 28px;
@@ -14,21 +16,10 @@
14
16
  line-height: 20px;
15
17
  }
16
18
 
17
- .action-bar {
18
- .dropdown-toggle::after {
19
- border: none;
20
- font-family: "FontAwesome";
21
- content: "\f078";
22
- color: tint-color($primary, 40%);
23
-
24
- position: relative;
25
- top: 2px;
26
- }
27
- }
28
-
29
19
  .topic {
30
20
  .posts {
31
21
  max-width: 960px;
22
+ width: 960px;
32
23
  // fixes code blocks pushing content out on mobile
33
24
  @include media-breakpoint-down(md) {
34
25
  max-width: calc(100vw - $grid-gutter-width);
@@ -49,11 +40,13 @@
49
40
  }
50
41
 
51
42
  [component="post"] {
52
- &.deleted {
43
+ &.deleted .post-container {
53
44
  opacity: .5;
54
45
  }
55
46
 
56
47
  [component="post/content"] {
48
+ @include fix-lists();
49
+
57
50
  pre {
58
51
  max-height: calc($font-size-base * 24);
59
52
  }
@@ -67,6 +60,17 @@
67
60
  [component="post/reply-count"] {
68
61
  font-size: $font-size-base * .75;
69
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
+ }
70
74
  }
71
75
  }
72
76
 
@@ -106,6 +110,15 @@
106
110
  }
107
111
  }
108
112
  }
113
+
114
+ .pagination-block {
115
+ display: block;
116
+ transition: opacity 250ms ease-in;
117
+ opacity: 0;
118
+ &.ready {
119
+ opacity: 1;
120
+ }
121
+ }
109
122
  }
110
123
 
111
124
  @include media-breakpoint-up(sm) {
@@ -115,6 +128,10 @@
115
128
  [component="post/actions"] {
116
129
  opacity: 0;
117
130
  transition: $transition-fade;
131
+
132
+ &:has([aria-expanded="true"]) {
133
+ opacity: 1;
134
+ }
118
135
  }
119
136
 
120
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 -->