nodebb-theme-harmony 1.0.0 → 1.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 (155) hide show
  1. package/README.md +12 -1
  2. package/languages/en-GB/harmony.json +6 -1
  3. package/library.js +56 -25
  4. package/package.json +1 -1
  5. package/plugin.json +0 -1
  6. package/public/harmony.js +165 -41
  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 +81 -26
  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/tags.scss +2 -2
  25. package/scss/modules/topic-navigator.scss +18 -42
  26. package/scss/modules/topics-list.scss +32 -17
  27. package/scss/modules/user-menu.scss +6 -0
  28. package/scss/overrides.scss +4 -1
  29. package/scss/sidebar.scss +61 -8
  30. package/scss/topic.scss +36 -13
  31. package/templates/account/blocks.tpl +35 -40
  32. package/templates/account/categories.tpl +47 -29
  33. package/templates/account/consent.tpl +66 -10
  34. package/templates/account/edit/password.tpl +25 -30
  35. package/templates/account/edit/username.tpl +21 -26
  36. package/templates/account/edit.tpl +105 -116
  37. package/templates/account/followers.tpl +12 -19
  38. package/templates/account/following.tpl +12 -18
  39. package/templates/account/groups.tpl +12 -17
  40. package/templates/account/info.tpl +178 -206
  41. package/templates/account/posts.tpl +31 -36
  42. package/templates/account/profile.tpl +82 -72
  43. package/templates/account/sessions.tpl +8 -30
  44. package/templates/account/settings.tpl +222 -203
  45. package/templates/account/theme.tpl +39 -25
  46. package/templates/account/topics.tpl +36 -38
  47. package/templates/account/uploads.tpl +33 -40
  48. package/templates/admin/plugins/harmony.tpl +21 -3
  49. package/templates/categories.tpl +3 -6
  50. package/templates/category.tpl +13 -14
  51. package/templates/chats.tpl +9 -10
  52. package/templates/flags/detail.tpl +160 -193
  53. package/templates/flags/list.tpl +3 -70
  54. package/templates/footer.tpl +2 -2
  55. package/templates/groups/details.tpl +22 -19
  56. package/templates/groups/list.tpl +1 -1
  57. package/templates/groups/members.tpl +0 -2
  58. package/templates/header.tpl +2 -2
  59. package/templates/login.tpl +4 -4
  60. package/templates/notifications.tpl +5 -5
  61. package/templates/partials/account/admin-menu.tpl +9 -9
  62. package/templates/partials/account/category-item.tpl +14 -17
  63. package/templates/partials/account/footer.tpl +3 -0
  64. package/templates/partials/account/header.tpl +78 -81
  65. package/templates/partials/account/session-list.tpl +18 -0
  66. package/templates/partials/account/sidebar-left.tpl +31 -25
  67. package/templates/partials/breadcrumbs.tpl +6 -6
  68. package/templates/partials/buttons/newTopic.tpl +1 -1
  69. package/templates/partials/categories/item.tpl +31 -27
  70. package/templates/partials/categories/lastpost.tpl +7 -7
  71. package/templates/partials/category/filter-dropdown-content.tpl +37 -0
  72. package/templates/partials/{category-selector-content.tpl → category/selector-dropdown-content.tpl} +7 -7
  73. package/templates/partials/category/sort.tpl +22 -7
  74. package/templates/partials/category/subcategory.tpl +2 -3
  75. package/templates/partials/category/tags.tpl +0 -2
  76. package/templates/partials/category/tools.tpl +28 -25
  77. package/templates/partials/category/watch.tpl +39 -6
  78. package/templates/partials/chats/dropdown.tpl +4 -1
  79. package/templates/partials/chats/message-window.tpl +12 -8
  80. package/templates/partials/chats/message.tpl +8 -10
  81. package/templates/partials/chats/options.tpl +14 -6
  82. package/templates/partials/chats/recent_room.tpl +41 -32
  83. package/templates/partials/cookie-consent.tpl +5 -5
  84. package/templates/partials/flags/bulk-actions.tpl +9 -0
  85. package/templates/partials/flags/filters.tpl +165 -78
  86. package/templates/partials/flags/results.tpl +38 -0
  87. package/templates/partials/groups/admin.tpl +4 -4
  88. package/templates/partials/groups/badge.tpl +1 -1
  89. package/templates/partials/groups/invited.tpl +1 -1
  90. package/templates/partials/groups/list.tpl +2 -2
  91. package/templates/partials/groups/memberlist.tpl +2 -2
  92. package/templates/partials/groups/sidebar-left.tpl +10 -10
  93. package/templates/partials/header/brand.tpl +9 -2
  94. package/templates/partials/mobile-footer.tpl +69 -61
  95. package/templates/partials/notifications_list.tpl +11 -8
  96. package/templates/partials/paginator.tpl +11 -9
  97. package/templates/partials/post_bar.tpl +26 -24
  98. package/templates/partials/posts_list_item.tpl +5 -5
  99. package/templates/partials/quick-search-results.tpl +3 -3
  100. package/templates/partials/search-filters.tpl +184 -0
  101. package/templates/partials/search-results.tpl +28 -35
  102. package/templates/partials/sidebar/chats.tpl +26 -34
  103. package/templates/partials/sidebar/drafts.tpl +45 -34
  104. package/templates/partials/sidebar/logged-in-menu.tpl +5 -5
  105. package/templates/partials/sidebar/logged-out-menu.tpl +1 -1
  106. package/templates/partials/sidebar/notifications.tpl +30 -9
  107. package/templates/partials/sidebar/search-mobile.tpl +1 -1
  108. package/templates/partials/sidebar/search.tpl +1 -1
  109. package/templates/partials/sidebar/user-menu.tpl +38 -29
  110. package/templates/partials/sidebar-left.tpl +14 -11
  111. package/templates/partials/sidebar-right.tpl +1 -3
  112. package/templates/partials/skin-switcher.tpl +3 -3
  113. package/templates/partials/tags/filter-dropdown-content.tpl +34 -0
  114. package/templates/partials/tags_list.tpl +4 -4
  115. package/templates/partials/topic/browsing-users.tpl +0 -2
  116. package/templates/partials/topic/event.tpl +1 -1
  117. package/templates/partials/topic/navigation-post.tpl +5 -9
  118. package/templates/partials/topic/navigator-mobile.tpl +62 -0
  119. package/templates/partials/topic/navigator.tpl +23 -17
  120. package/templates/partials/topic/post-editor.tpl +0 -2
  121. package/templates/partials/topic/post-menu-list.tpl +60 -62
  122. package/templates/partials/topic/post-menu.tpl +16 -11
  123. package/templates/partials/topic/post.tpl +45 -27
  124. package/templates/partials/topic/quickreply.tpl +8 -8
  125. package/templates/partials/topic/reply-button.tpl +7 -7
  126. package/templates/partials/topic/sort.tpl +17 -5
  127. package/templates/partials/topic/tools.tpl +2 -2
  128. package/templates/partials/topic/topic-menu-list.tpl +22 -24
  129. package/templates/partials/topic/watch.tpl +42 -9
  130. package/templates/partials/topic-filters.tpl +6 -3
  131. package/templates/partials/topic-list-bar.tpl +50 -46
  132. package/templates/partials/topic-terms.tpl +6 -3
  133. package/templates/partials/topics_list.tpl +88 -93
  134. package/templates/partials/userFilter-placeholders.tpl +5 -0
  135. package/templates/partials/users/filter-dropdown-content.tpl +23 -0
  136. package/templates/partials/users/item.tpl +25 -27
  137. package/templates/partials/users_list.tpl +1 -1
  138. package/templates/popular.tpl +3 -1
  139. package/templates/post-queue.tpl +166 -0
  140. package/templates/recent.tpl +3 -2
  141. package/templates/register.tpl +4 -4
  142. package/templates/search.tpl +39 -177
  143. package/templates/tags.tpl +3 -3
  144. package/templates/top.tpl +3 -1
  145. package/templates/topic.tpl +74 -68
  146. package/templates/unread.tpl +3 -1
  147. package/templates/users.tpl +7 -3
  148. package/templates/modules/usercard.tpl +0 -39
  149. package/templates/partials/acceptTos.tpl +0 -11
  150. package/templates/partials/category-filter-content.tpl +0 -30
  151. package/templates/partials/category-filter-right.tpl +0 -5
  152. package/templates/partials/category-filter.tpl +0 -3
  153. package/templates/partials/category-selector-right.tpl +0 -5
  154. package/templates/partials/category-selector.tpl +0 -3
  155. package/templates/partials/slideout-menu.tpl +0 -6
package/scss/common.scss CHANGED
@@ -1,27 +1,88 @@
1
1
 
2
2
  body {
3
3
  overflow-y: scroll;
4
+ -webkit-font-smoothing: antialiased;
5
+ -moz-osx-font-smoothing: grayscale;
6
+ text-rendering: optimizeLegibility;
4
7
  }
8
+
9
+ // fixes chrome font boosting :/ https://stackoverflow.com/questions/13430897/how-to-override-font-boosting-in-mobile-chrome
10
+ body * {
11
+ max-height:1000000px;
12
+ text-size-adjust: none;
13
+ -webkit-text-size-adjust: none;
14
+ -moz-text-size-adjust: none;
15
+ }
16
+
17
+ hr {
18
+ border-top-color: $border-color;
19
+ opacity: 1;
20
+ }
21
+
5
22
  .ff-base {
6
- font-family: $font-family-base;
23
+ font-family: $font-family-base !important;
24
+ }
25
+ .ff-sans {
26
+ font-family: $font-family-sans-serif !important;
7
27
  }
8
28
  .ff-secondary {
9
29
  font-family: $font-family-secondary;
10
30
  }
11
- .tracking-tight { letter-spacing: -0.025em; }
31
+ .tracking-tight { letter-spacing: -0.02em; }
32
+
33
+ .caret {
34
+ &::after {
35
+ border: none;
36
+ font-family: "FontAwesome";
37
+ content: "\f078";
38
+ color: tint-color($primary, 40%);
39
+ }
40
+ }
41
+
42
+ .placeholder-wave {
43
+ opacity: 0.5;
44
+ }
45
+
46
+ .bg-card-cap {
47
+ --bs-bg-opacity: 1;
48
+ background-color: $card-cap-bg!important;
49
+ }
12
50
 
13
- .text-md { font-size: 1.125rem!important; } // 18px
14
- .text-sm { font-size: 0.875rem!important; } // 14px
15
- .text-xs { font-size: 0.75rem!important; } // 12px
51
+ blockquote {
52
+ background-color: $light;
53
+ font-style: normal;
54
+ border-left: 2px solid $border-color;
55
+ padding: 1rem;
56
+ p:last-child {
57
+ margin-bottom: 0;
58
+ }
59
+ }
16
60
 
17
- .btn-link:hover {
18
- text-decoration: none;
61
+ body:not(.page-user) {
62
+ #content {
63
+ transition: opacity 150ms linear;
64
+ &.ajaxifying {
65
+ -moz-opacity: 0;
66
+ opacity: 0;
67
+ }
68
+ }
69
+ }
70
+ .page-user {
71
+ #content {
72
+ transition: opacity 150ms linear;
73
+ &.ajaxifying .account-content {
74
+ transition: opacity 150ms linear;
75
+ -moz-opacity: 0;
76
+ opacity: 0;
77
+ }
78
+ }
19
79
  }
20
80
 
21
81
  .sticky-tools {
22
82
  position: sticky;
23
83
  z-index: 3;
24
- top: calc($spacer * 0.5);
84
+ top: 0;
85
+ padding: 0.25rem 0;
25
86
  background-color: $body-bg;
26
87
  }
27
88
  // quartz doesn't need body-bg for tool background
@@ -35,6 +96,13 @@ body {
35
96
  }
36
97
  }
37
98
 
99
+ .btn-link {
100
+ &:hover, &.active {
101
+ background-color: $btn-ghost-hover-color;
102
+ text-decoration: none;
103
+ }
104
+ }
105
+
38
106
  @mixin btn-ghost-base {
39
107
  display: flex;
40
108
  align-items: center;
@@ -48,10 +116,10 @@ body {
48
116
  text-align: left;
49
117
  --bs-text-opacity: 1;
50
118
  color: inherit !important;
51
- $hover-color: mix($light, $dark, 90);
119
+ font-family: $font-family-secondary;
52
120
  cursor: pointer;
53
121
  &:hover, &.active {
54
- background-color: $hover-color;
122
+ background-color: $btn-ghost-hover-color;
55
123
  text-decoration: none;
56
124
  }
57
125
  }
@@ -59,12 +127,18 @@ body {
59
127
  .btn-ghost {
60
128
  @include btn-ghost-base();
61
129
  line-height: 1.5rem;
130
+ > i {
131
+ line-height: 1.5rem;
132
+ }
62
133
  }
63
134
 
64
135
  .btn-ghost-sm {
65
136
  @include btn-ghost-base();
66
137
  font-size: 0.875rem;
67
138
  line-height: 1.25rem;
139
+ > i {
140
+ line-height: 1.25rem;
141
+ }
68
142
  }
69
143
 
70
144
  .btn-outline {
@@ -0,0 +1,5 @@
1
+ .page-flags {
2
+ [component="flag/history"] {
3
+ max-height: 30rem;
4
+ }
5
+ }
package/scss/groups.scss CHANGED
@@ -3,8 +3,8 @@
3
3
  }
4
4
 
5
5
  .group-hover-bg {
6
- $hover-color: mix($light, $dark, 97);
7
- $border-color: mix($light, $dark, 90);
6
+ $hover-color: mix($light, $dark, 97%);
7
+ $border-color: mix($light, $dark, 90%);
8
8
  .card-body {
9
9
  border-color: $border-color!important;
10
10
  }
package/scss/harmony.scss CHANGED
@@ -9,6 +9,7 @@
9
9
  @import "status";
10
10
  @import "account";
11
11
  @import "groups";
12
+ @import "flags";
12
13
  @import "modals";
13
14
 
14
15
  @import "modules/breadcrumbs";
@@ -20,5 +21,7 @@
20
21
  @import "modules/topics-list";
21
22
  @import "modules/cover";
22
23
  @import "modules/nprogress";
24
+ @import "modules/paginator";
25
+ @import "modules/filters";
23
26
 
24
27
  @import "skins";
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,6 +1,6 @@
1
1
  .tag-list {
2
2
  .tag {
3
- background-color: $gray-200;
4
- color: $gray-700;
3
+ background-color: $gray-200!important;
4
+ color: $gray-700!important;
5
5
  }
6
6
  }
@@ -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;
@@ -113,7 +135,38 @@
113
135
  font-size: 9px;
114
136
  line-height: 12px;
115
137
  }
116
- .search.bottom-sheet .dropdown-menu {
117
- max-height: 100%;
138
+
139
+ .navigation-dropdown, .user-dropdown {
140
+ > li {
141
+ > a, .dropdown-item {
142
+ padding: 10px 20px!important;
143
+ }
144
+ }
145
+ left: 0!important;
146
+ right: 0!important;
147
+ bottom: $spacer!important;
148
+ box-shadow: none!important;
149
+ max-height: 60vh!important;
150
+ overflow: auto!important;
151
+ }
152
+ .search-dropdown .quick-search-results {
153
+ max-height: 225px!important;
154
+ overflow-y: auto!important;
155
+ }
156
+ .search-dropdown, .chats-dropdown, .notifications-dropdown, .drafts-dropdown {
157
+ left: 0 !important;
158
+ right: 0 !important;
159
+ bottom: $spacer * 0.7 !important;
160
+ box-shadow: none!important;
161
+
162
+ border-left: 0;
163
+ border-right: 0;
164
+ border-bottom: 0;
165
+ border-radius: 0;
166
+
167
+ .list-container {
168
+ max-height: 60vh!important;
169
+ overflow-y: auto!important;
170
+ }
118
171
  }
119
172
  }
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,14 +40,22 @@
49
40
  }
50
41
 
51
42
  [component="post"] {
52
- &.deleted {
43
+ &.selected .post-container {
44
+ background-color: mix($body-bg, $body-color, 90%);
45
+ }
46
+ &.deleted .post-container {
53
47
  opacity: .5;
54
48
  }
55
49
 
56
50
  [component="post/content"] {
51
+ @include fix-lists();
52
+
57
53
  pre {
58
54
  max-height: calc($font-size-base * 24);
59
55
  }
56
+ table { // text-break breaks table formatting
57
+ word-break:initial!important;
58
+ }
60
59
  }
61
60
 
62
61
  > [component="post/footer"] {
@@ -67,6 +66,17 @@
67
66
  [component="post/reply-count"] {
68
67
  font-size: $font-size-base * .75;
69
68
  }
69
+
70
+ [component="post/upvote"], [component="post/downvote"] {
71
+ &.upvoted, &.downvoted {
72
+ background-color: lighten($btn-ghost-hover-color, 5%);
73
+
74
+ &:hover {
75
+ background-color: $btn-ghost-hover-color;
76
+
77
+ }
78
+ }
79
+ }
70
80
  }
71
81
  }
72
82
 
@@ -106,6 +116,15 @@
106
116
  }
107
117
  }
108
118
  }
119
+
120
+ .pagination-block {
121
+ display: block;
122
+ transition: opacity 250ms ease-in;
123
+ opacity: 0;
124
+ &.ready {
125
+ opacity: 1;
126
+ }
127
+ }
109
128
  }
110
129
 
111
130
  @include media-breakpoint-up(sm) {
@@ -115,6 +134,10 @@
115
134
  [component="post/actions"] {
116
135
  opacity: 0;
117
136
  transition: $transition-fade;
137
+
138
+ &:has([aria-expanded="true"]) {
139
+ opacity: 1;
140
+ }
118
141
  }
119
142
 
120
143
  &:hover {