nodebb-theme-harmony 0.0.1 → 0.0.2
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.
- package/languages/en-GB/harmony.json +5 -0
- package/library.js +101 -26
- package/package.json +5 -2
- package/plugin.json +14 -2
- package/public/harmony.js +101 -0
- package/scss/account.scss +38 -0
- package/scss/chats.scss +72 -0
- package/scss/common.scss +65 -0
- package/scss/fonts.scss +17 -0
- package/scss/groups.scss +30 -0
- package/scss/harmony.scss +23 -3
- package/scss/header.scss +16 -0
- package/scss/mixins.scss +183 -0
- package/scss/modals.scss +4 -0
- package/scss/modules/bottom-sheet.scss +52 -0
- package/scss/modules/breadcrumbs.scss +16 -0
- package/scss/modules/composer.scss +21 -0
- package/scss/modules/cover.scss +115 -0
- package/scss/modules/tags.scss +6 -0
- package/scss/modules/topic-navigator.scss +61 -0
- package/scss/modules/topics-list.scss +20 -0
- package/scss/modules/user-menu.scss +5 -0
- package/scss/overrides.scss +65 -0
- package/scss/sidebar.scss +125 -0
- package/scss/skins.scss +13 -0
- package/scss/status.scss +25 -0
- package/scss/topic.scss +128 -0
- package/templates/account/best.tpl +0 -2
- package/templates/account/blocks.tpl +31 -26
- package/templates/account/bookmarks.tpl +0 -2
- package/templates/account/categories.tpl +1 -3
- package/templates/account/controversial.tpl +0 -2
- package/templates/account/downvoted.tpl +0 -2
- package/templates/account/followers.tpl +14 -10
- package/templates/account/following.tpl +14 -10
- package/templates/account/groups.tpl +13 -11
- package/templates/account/ignored.tpl +0 -2
- package/templates/account/posts.tpl +29 -10
- package/templates/account/profile.tpl +76 -159
- package/templates/account/topics.tpl +32 -21
- package/templates/account/uploads.tpl +38 -35
- package/templates/account/upvoted.tpl +0 -2
- package/templates/account/watched.tpl +0 -2
- package/templates/admin/plugins/harmony.tpl +17 -0
- package/templates/categories.tpl +5 -5
- package/templates/category.tpl +26 -26
- package/templates/chat.tpl +9 -9
- package/templates/chats.tpl +5 -7
- package/templates/footer.tpl +11 -7
- package/templates/groups/details.tpl +76 -62
- package/templates/groups/list.tpl +16 -11
- package/templates/header.tpl +34 -21
- package/templates/login.tpl +51 -45
- package/templates/partials/account/admin-menu.tpl +36 -0
- package/templates/partials/account/category-item.tpl +17 -17
- package/templates/partials/account/header.tpl +77 -35
- package/templates/partials/account/sidebar-left.tpl +82 -0
- package/templates/partials/breadcrumbs.tpl +4 -12
- package/templates/partials/categories/item.tpl +48 -44
- package/templates/partials/categories/lastpost.tpl +17 -19
- package/templates/partials/categories/link.tpl +5 -13
- package/templates/partials/category/sort.tpl +4 -7
- package/templates/partials/category/subcategory.tpl +4 -4
- package/templates/partials/category/tools.tpl +6 -9
- package/templates/partials/category/watch.tpl +7 -11
- package/templates/partials/category-filter-content.tpl +5 -6
- package/templates/partials/category-filter.tpl +0 -2
- package/templates/partials/category-selector-content.tpl +4 -5
- package/templates/partials/category-selector.tpl +0 -2
- package/templates/partials/chats/dropdown.tpl +24 -32
- package/templates/partials/chats/message-window.tpl +7 -7
- package/templates/partials/chats/message.tpl +34 -34
- package/templates/partials/chats/recent_room.tpl +16 -29
- package/templates/partials/chats/system-message.tpl +4 -4
- package/templates/partials/chats/user.tpl +1 -3
- package/templates/partials/groups/admin.tpl +82 -175
- package/templates/partials/groups/badge.tpl +1 -3
- package/templates/partials/groups/invited.tpl +31 -0
- package/templates/partials/groups/list.tpl +14 -21
- package/templates/partials/groups/memberlist.tpl +28 -24
- package/templates/partials/groups/pending.tpl +28 -0
- package/templates/partials/groups/sidebar-left.tpl +27 -0
- package/templates/partials/mobile-footer.tpl +70 -0
- package/templates/partials/notifications_list.tpl +19 -27
- package/templates/partials/paginator.tpl +22 -24
- package/templates/partials/post_bar.tpl +23 -18
- package/templates/partials/posts_list.tpl +0 -2
- package/templates/partials/posts_list_item.tpl +14 -29
- package/templates/partials/quick-search-results.tpl +36 -25
- package/templates/partials/search-results.tpl +4 -1
- package/templates/partials/sidebar/chats.tpl +53 -0
- package/templates/partials/sidebar/drafts.tpl +41 -0
- package/templates/partials/sidebar/logged-out-menu.tpl +38 -0
- package/templates/partials/sidebar/notifications.tpl +28 -0
- package/templates/partials/sidebar/search-mobile.tpl +29 -0
- package/templates/partials/sidebar/search.tpl +30 -0
- package/templates/partials/sidebar/user-menu.tpl +87 -0
- package/templates/partials/sidebar-left.tpl +40 -0
- package/templates/partials/sidebar-right.tpl +41 -0
- package/templates/partials/skin-switcher.tpl +35 -0
- package/templates/partials/tags_list.tpl +0 -2
- package/templates/partials/toast.tpl +6 -8
- package/templates/partials/topic/event.tpl +4 -20
- package/templates/partials/topic/navigator.tpl +20 -41
- package/templates/partials/topic/necro-post.tpl +5 -4
- package/templates/partials/topic/post-menu.tpl +23 -2
- package/templates/partials/topic/post-placeholder.tpl +15 -0
- package/templates/partials/topic/post.tpl +67 -64
- package/templates/partials/topic/quickreply.tpl +12 -14
- package/templates/partials/topic/reactions.tpl +0 -2
- package/templates/partials/topic/reply-button.tpl +16 -20
- package/templates/partials/topic/selection-tooltip.tpl +0 -2
- package/templates/partials/topic/sort.tpl +8 -6
- package/templates/partials/topic/stats.tpl +15 -14
- package/templates/partials/topic/tag.tpl +1 -3
- package/templates/partials/topic/tags.tpl +1 -5
- package/templates/partials/topic/tools.tpl +13 -0
- package/templates/partials/topic/watch.tpl +15 -13
- package/templates/partials/topic-filters.tpl +4 -5
- package/templates/partials/topic-list-bar.tpl +54 -0
- package/templates/partials/topic-terms.tpl +4 -5
- package/templates/partials/topics_list.tpl +109 -100
- package/templates/partials/users/item.tpl +7 -0
- package/templates/partials/users_list.tpl +11 -60
- package/templates/partials/users_list_menu.tpl +10 -18
- package/templates/popular.tpl +1 -18
- package/templates/recent.tpl +8 -24
- package/templates/register.tpl +74 -60
- package/templates/tag.tpl +3 -15
- package/templates/tags.tpl +3 -4
- package/templates/top.tpl +1 -18
- package/templates/topic.tpl +39 -43
- package/templates/unread.tpl +1 -22
- package/templates/users.tpl +17 -17
- package/templates/admin/plugins/persona.tpl +0 -29
- package/templates/partials/account/menu.tpl +0 -103
- package/templates/partials/header/user-menu.tpl +0 -87
- package/templates/partials/menu.tpl +0 -188
- package/templates/partials/thread_tools.tpl +0 -10
package/scss/mixins.scss
ADDED
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
@mixin topic-avatars() {
|
|
2
|
+
.icon .avatar, .timeline-badge {
|
|
3
|
+
z-index: 1;
|
|
4
|
+
|
|
5
|
+
line-height: calc(var(--avatar-size) - 4px);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
[component="user/status"] {
|
|
9
|
+
top: 20px;
|
|
10
|
+
left: 12px;
|
|
11
|
+
|
|
12
|
+
z-index: 2;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@include media-breakpoint-up(sm) {
|
|
16
|
+
[component="user/status"] {
|
|
17
|
+
padding: 5px;
|
|
18
|
+
top: 36px;
|
|
19
|
+
left: 36px;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
@mixin timeline-style() {
|
|
25
|
+
> [component="post"], .timeline-event, > [component="post/placeholder"] {
|
|
26
|
+
position: relative; // for absolutely positioned pseudo-element, below
|
|
27
|
+
border: 0;
|
|
28
|
+
margin-left: 1.5rem;
|
|
29
|
+
transition: border-color 1s ease-out;
|
|
30
|
+
|
|
31
|
+
&:first-child {
|
|
32
|
+
&:before {
|
|
33
|
+
content: '';
|
|
34
|
+
position: absolute;
|
|
35
|
+
top: 0;
|
|
36
|
+
height: 16px;
|
|
37
|
+
width: 16px;
|
|
38
|
+
background-color: $border-color;
|
|
39
|
+
border-radius: 100%;
|
|
40
|
+
transform: translate(calc(-50% - .5px), -100%);
|
|
41
|
+
transition: background-color 1s ease-out;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
&.highlight:before {
|
|
45
|
+
background-color: $primary;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&:last-child {
|
|
50
|
+
min-height: 7rem;
|
|
51
|
+
|
|
52
|
+
&:after {
|
|
53
|
+
content: '';
|
|
54
|
+
position: absolute;
|
|
55
|
+
bottom: 0;
|
|
56
|
+
height: 16px;
|
|
57
|
+
width: 16px;
|
|
58
|
+
background-color: $border-color;
|
|
59
|
+
border-radius: 100%;
|
|
60
|
+
transform: translate(calc(-50% - .5px), 100%);
|
|
61
|
+
transition: background-color 1s ease-out;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
&.highlight:after {
|
|
65
|
+
background-color: $primary;
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
> div:first-of-type {
|
|
70
|
+
margin-left: -1.5rem;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
&.highlight {
|
|
74
|
+
.bookmarked {
|
|
75
|
+
opacity: 1 !important;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
@include topic-avatars();
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
[component="topic/event"], [component="topic/necro-post"] {
|
|
83
|
+
&.timeline-event {
|
|
84
|
+
text-align: left;
|
|
85
|
+
justify-content: left;
|
|
86
|
+
font-size: 1em;
|
|
87
|
+
|
|
88
|
+
.timeline-badge {
|
|
89
|
+
display: flex;
|
|
90
|
+
align-items: center;
|
|
91
|
+
justify-content: center;
|
|
92
|
+
flex-shrink: 0;
|
|
93
|
+
|
|
94
|
+
width: 20px;
|
|
95
|
+
height: 20px;
|
|
96
|
+
padding: 0;
|
|
97
|
+
margin-right: 1rem;
|
|
98
|
+
color: $gray-500;
|
|
99
|
+
background-color: $body-bg;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.timeline-text {
|
|
103
|
+
line-height: 32px;
|
|
104
|
+
text-transform: initial;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
@include media-breakpoint-down(sm) {
|
|
110
|
+
> [component="post"], .timeline-event {
|
|
111
|
+
&:first-child:before, &:last-child:after {
|
|
112
|
+
display: none;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
[component="post"] {
|
|
117
|
+
margin-left: initial;
|
|
118
|
+
> div:not(.content) {
|
|
119
|
+
margin-left: 0;
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
[component="post"]:last-child:after {
|
|
124
|
+
display: none;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
.timeline-event {
|
|
128
|
+
.timeline-text.timeago {
|
|
129
|
+
display: none;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
@include media-breakpoint-up(sm) {
|
|
135
|
+
&.minimal {
|
|
136
|
+
.post-footer, .timeline-event, [component="topic/quickreply/container"], .bookmarked {
|
|
137
|
+
display: none !important;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
[component="post/content"] {
|
|
141
|
+
@include line-clamp(1);
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
> [component="post"], .timeline-event, > [component="post/placeholder"] {
|
|
146
|
+
border-left: 2px solid $border-color;
|
|
147
|
+
|
|
148
|
+
&.highlight {
|
|
149
|
+
border-left: 2px solid $primary;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
.timeline-event {
|
|
154
|
+
margin-left: 1.5rem;
|
|
155
|
+
|
|
156
|
+
[component="topic/event/delete"] {
|
|
157
|
+
visibility: hidden;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
&:hover {
|
|
161
|
+
[component="topic/event/delete"] {
|
|
162
|
+
visibility: visible;
|
|
163
|
+
|
|
164
|
+
&:hover {
|
|
165
|
+
color: $danger;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
[component="topic/event"], [component="topic/necro-post"] {
|
|
172
|
+
&.timeline-event .timeline-badge {
|
|
173
|
+
width: 24px;
|
|
174
|
+
height: 24px;
|
|
175
|
+
padding: 0;
|
|
176
|
+
margin-left: -0.75rem;
|
|
177
|
+
margin-right: 1.25rem;
|
|
178
|
+
border: 2px solid $border-color;
|
|
179
|
+
border-radius: 50%;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
}
|
package/scss/modals.scss
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
.bottom-sheet {
|
|
2
|
+
@include media-breakpoint-down(sm) {
|
|
3
|
+
.dropdown-menu {
|
|
4
|
+
display: block;
|
|
5
|
+
visibility: hidden;
|
|
6
|
+
|
|
7
|
+
position: fixed!important;
|
|
8
|
+
inset: auto 0 0 0!important;
|
|
9
|
+
|
|
10
|
+
margin: 0 -1px -1px -1px;
|
|
11
|
+
padding: 0 5px;
|
|
12
|
+
max-height: 60%;
|
|
13
|
+
|
|
14
|
+
box-shadow: 0 2px 6px rgba(0,0,0,0.35);
|
|
15
|
+
overflow: auto;
|
|
16
|
+
-webkit-overflow-scrolling: touch;
|
|
17
|
+
transform: translate3d(0, 350px, 0);
|
|
18
|
+
transition: transform 0.3s, visibility 0s 0.3s;
|
|
19
|
+
z-index: $zindex-popover;
|
|
20
|
+
padding: 5px 0 10px;
|
|
21
|
+
|
|
22
|
+
border-radius: 0;
|
|
23
|
+
border: 0px;
|
|
24
|
+
border-top: 1px solid $border-color;
|
|
25
|
+
|
|
26
|
+
> li {
|
|
27
|
+
> a, .dropdown-item {
|
|
28
|
+
padding: 10px 20px;
|
|
29
|
+
overflow: hidden;
|
|
30
|
+
text-overflow: ellipsis;
|
|
31
|
+
white-space: nowrap;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
&.divider {
|
|
35
|
+
padding: 0;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
.dropdown-menu.show {
|
|
41
|
+
transform: none!important;
|
|
42
|
+
visibility: visible;
|
|
43
|
+
transition-delay: 0s;
|
|
44
|
+
top: auto;
|
|
45
|
+
width: auto;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.dropdown-backdrop {
|
|
49
|
+
background-color: rgba(0, 0, 0, .3);
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
.breadcrumb .breadcrumb-item {
|
|
2
|
+
font-family: $font-family-secondary;
|
|
3
|
+
|
|
4
|
+
&::before {
|
|
5
|
+
font-family: $font-family-sans-serif;
|
|
6
|
+
font-weight: $font-weight-semibold;
|
|
7
|
+
font-size: $small-font-size;
|
|
8
|
+
line-height: $h4-font-size;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
a, span {
|
|
12
|
+
color: $body-color;
|
|
13
|
+
font-size: $small-font-size;
|
|
14
|
+
line-height: 16px;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
$composer-color: $body-color !default;
|
|
2
|
+
$composer-bg: $body-bg !default;
|
|
3
|
+
|
|
4
|
+
@mixin composer-text-bg($color, $bg) {
|
|
5
|
+
color: $color !important;
|
|
6
|
+
background-color: $bg !important;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.composer {
|
|
10
|
+
z-index: 3 !important;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.skin-noskin {
|
|
14
|
+
// only using colors when there is no bootswatch skin applied
|
|
15
|
+
$composer-color: $secondary;
|
|
16
|
+
$composer-bg: $light;
|
|
17
|
+
|
|
18
|
+
.composer {
|
|
19
|
+
@include composer-text-bg($composer-color, $composer-bg);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
// used in group and account pages
|
|
2
|
+
.cover {
|
|
3
|
+
background-size: cover;
|
|
4
|
+
background-repeat: no-repeat;
|
|
5
|
+
height: 200px;
|
|
6
|
+
position: absolute;
|
|
7
|
+
background-origin: content-box;
|
|
8
|
+
width: 100%;
|
|
9
|
+
top: var(--panel-offset);
|
|
10
|
+
left: auto;
|
|
11
|
+
right: 0px;
|
|
12
|
+
|
|
13
|
+
&:hover {
|
|
14
|
+
.controls {
|
|
15
|
+
opacity: 0.8;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.controls {
|
|
20
|
+
text-align: center;
|
|
21
|
+
height: 200px;
|
|
22
|
+
line-height: 200px;
|
|
23
|
+
opacity: 0;
|
|
24
|
+
@include transition(opacity .15s linear);
|
|
25
|
+
cursor: pointer;
|
|
26
|
+
pointer-events: none;
|
|
27
|
+
|
|
28
|
+
> * {
|
|
29
|
+
pointer-events: all;
|
|
30
|
+
}
|
|
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
|
+
}
|
|
41
|
+
|
|
42
|
+
&.active {
|
|
43
|
+
&:hover {
|
|
44
|
+
cursor: move;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
.controls {
|
|
48
|
+
> * {
|
|
49
|
+
display: none;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.save {
|
|
54
|
+
display: inline-block;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
&.saving {
|
|
59
|
+
.save {
|
|
60
|
+
display: none;
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
.indicator {
|
|
64
|
+
display: inline-block;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.save, .indicator {
|
|
69
|
+
display: inline-block;
|
|
70
|
+
position: absolute;
|
|
71
|
+
top: 1em;
|
|
72
|
+
right: 2em;
|
|
73
|
+
opacity: 1;
|
|
74
|
+
padding: 0.5em;
|
|
75
|
+
font-weight: bold;
|
|
76
|
+
|
|
77
|
+
&:hover {
|
|
78
|
+
cursor: pointer;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.save {
|
|
83
|
+
display: none;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
.indicator {
|
|
87
|
+
display: none;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
.cover > .container {
|
|
92
|
+
height: 200px;
|
|
93
|
+
position: relative;
|
|
94
|
+
pointer-events: none;
|
|
95
|
+
.save {
|
|
96
|
+
pointer-events: all;
|
|
97
|
+
}
|
|
98
|
+
.controls {
|
|
99
|
+
pointer-events: none;
|
|
100
|
+
> * {
|
|
101
|
+
pointer-events: all;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
@include media-breakpoint-up(md) {
|
|
107
|
+
.cover, .cover > .container {
|
|
108
|
+
height: 300px;
|
|
109
|
+
|
|
110
|
+
.controls {
|
|
111
|
+
height: 300px;
|
|
112
|
+
line-height: 300px;
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
[component="topic/navigator"] {
|
|
2
|
+
max-height: calc(200px + (2rem * 4));
|
|
3
|
+
user-select: none;
|
|
4
|
+
|
|
5
|
+
.track {
|
|
6
|
+
width: 2px;
|
|
7
|
+
background-color: mix($dark, $light, 10%);
|
|
8
|
+
|
|
9
|
+
.handle {
|
|
10
|
+
cursor: grab;
|
|
11
|
+
transition: $transition-base;
|
|
12
|
+
|
|
13
|
+
&:active {
|
|
14
|
+
transition: none;
|
|
15
|
+
cursor: grabbing;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.meta {
|
|
19
|
+
display: none;
|
|
20
|
+
top: -8px;
|
|
21
|
+
left: calc($spacer + 8px);
|
|
22
|
+
font-size: 13px;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
.knob {
|
|
27
|
+
width: 16px;
|
|
28
|
+
height: 16px;
|
|
29
|
+
background-color: $link-color;
|
|
30
|
+
margin-left: 1px;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.unread {
|
|
34
|
+
width: 2px;
|
|
35
|
+
height: 0; // initial
|
|
36
|
+
bottom: 0;
|
|
37
|
+
background: $primary;
|
|
38
|
+
transition: $transition-base;
|
|
39
|
+
|
|
40
|
+
.meta {
|
|
41
|
+
display: none;
|
|
42
|
+
left: calc($spacer + 8px);
|
|
43
|
+
font-size: 13px;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.sidebar.open {
|
|
50
|
+
[component="topic/navigator"] {
|
|
51
|
+
align-self: flex-start;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
[component="topic/navigator"].d-sm-flex.mt-auto + .mt-auto {
|
|
55
|
+
margin-top: 0 !important;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
.handle .meta, .unread .meta {
|
|
59
|
+
display: block;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
.topic-list {
|
|
2
|
+
overflow-x: hidden!important;
|
|
3
|
+
}
|
|
4
|
+
[component="category/topic"] {
|
|
5
|
+
&.selected {
|
|
6
|
+
[component="topic/select"] {
|
|
7
|
+
color: $success!important;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
.lastpost .post-content {
|
|
11
|
+
p { margin-bottom: 0; }
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
&.unread .title {
|
|
15
|
+
color: $link-color;
|
|
16
|
+
}
|
|
17
|
+
.ui-sortable-handle {
|
|
18
|
+
cursor: move;
|
|
19
|
+
}
|
|
20
|
+
}
|
package/scss/overrides.scss
CHANGED
|
@@ -1 +1,66 @@
|
|
|
1
1
|
// only overrides to bs5 variables here
|
|
2
|
+
|
|
3
|
+
// Harmony colours
|
|
4
|
+
$white: #fff !default;
|
|
5
|
+
$gray-100: #f8f9fa !default;
|
|
6
|
+
$gray-200: #e9ecef !default;
|
|
7
|
+
$gray-300: #dee2e6 !default;
|
|
8
|
+
$gray-400: #ced4da !default;
|
|
9
|
+
$gray-500: #adb5bd !default;
|
|
10
|
+
$gray-600: #6c757d !default;
|
|
11
|
+
$gray-700: #495057 !default;
|
|
12
|
+
$gray-800: #343a40 !default;
|
|
13
|
+
$gray-900: #212529 !default;
|
|
14
|
+
$black: #000 !default;
|
|
15
|
+
|
|
16
|
+
$blue: #0d6efd !default;
|
|
17
|
+
// $indigo: #6610f2 !default;
|
|
18
|
+
// $purple: #6f42c1 !default;
|
|
19
|
+
// $pink: #d63384 !default;
|
|
20
|
+
$red: #dc3545 !default;
|
|
21
|
+
// $orange: #fd7e14 !default;
|
|
22
|
+
$yellow: #ffc107 !default;
|
|
23
|
+
$green: #198754 !default;
|
|
24
|
+
// $teal: #20c997 !default;
|
|
25
|
+
$cyan: #0dcaf0 !default;
|
|
26
|
+
|
|
27
|
+
$primary: $blue !default;
|
|
28
|
+
$secondary: $gray-600 !default;
|
|
29
|
+
$success: $green !default;
|
|
30
|
+
$info: $cyan !default;
|
|
31
|
+
$warning: $yellow !default;
|
|
32
|
+
$danger: $red !default;
|
|
33
|
+
$light: $gray-100 !default;
|
|
34
|
+
$dark: $gray-900 !default;
|
|
35
|
+
|
|
36
|
+
$body-color: $gray-800 !default;
|
|
37
|
+
$body-bg: $white !default;
|
|
38
|
+
$text-muted: $gray-600 !default;
|
|
39
|
+
$border-color: $gray-200 !default;
|
|
40
|
+
$link-color: shade-color($blue, 20%) !default;
|
|
41
|
+
|
|
42
|
+
// no caret on dropdown-toggle
|
|
43
|
+
$enable-caret: false;
|
|
44
|
+
|
|
45
|
+
// disable smooth scroll, this makes window.scrollTo(0,0) in ajaxify.js take x milliseconds
|
|
46
|
+
$enable-smooth-scroll: false;
|
|
47
|
+
|
|
48
|
+
// used in site title
|
|
49
|
+
$enable-shadows: true;
|
|
50
|
+
|
|
51
|
+
$link-decoration: none;
|
|
52
|
+
$link-hover-decoration: underline;
|
|
53
|
+
|
|
54
|
+
// Custom fonts
|
|
55
|
+
$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;
|
|
57
|
+
$font-weight-semibold: 500 !default;
|
|
58
|
+
|
|
59
|
+
$breadcrumb-divider: quote("→");
|
|
60
|
+
$breadcrumb-divider-color: $gray-500 !default;
|
|
61
|
+
$breadcrumb-active-color: $body-color !default;
|
|
62
|
+
$breadcrumb-item-padding-x: 12px !default;
|
|
63
|
+
|
|
64
|
+
.form-control::placeholder, .bootstrap-tagsinput::placeholder {
|
|
65
|
+
color: $gray-500 !important;
|
|
66
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
.skin-noskin {
|
|
2
|
+
// only using colors when there is no bootswatch skin applied
|
|
3
|
+
.sidebar, .bottombar {
|
|
4
|
+
color: $secondary !important;
|
|
5
|
+
background-color: $light !important;
|
|
6
|
+
}
|
|
7
|
+
.bottombar {
|
|
8
|
+
.dropdown-menu {
|
|
9
|
+
color: $secondary !important;
|
|
10
|
+
background-color: $light !important;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
.sidebar {
|
|
16
|
+
$hover-color: mix($light, $dark, 90);
|
|
17
|
+
|
|
18
|
+
&.open {
|
|
19
|
+
min-width: 200px;
|
|
20
|
+
max-width: 200px;
|
|
21
|
+
width: 200px;
|
|
22
|
+
|
|
23
|
+
.sidebar-toggle {
|
|
24
|
+
.fa-angles-right { display: none; }
|
|
25
|
+
.fa-angles-left { display: inline-block; }
|
|
26
|
+
}
|
|
27
|
+
.visible-open { display: initial; }
|
|
28
|
+
.visible-closed { display: none; }
|
|
29
|
+
hr.visible-open { display: block; }
|
|
30
|
+
.truncate-open {
|
|
31
|
+
overflow: hidden;
|
|
32
|
+
text-overflow: ellipsis;
|
|
33
|
+
white-space: nowrap;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
.visible-open { display: none; }
|
|
37
|
+
.visible-closed {display: initial; }
|
|
38
|
+
|
|
39
|
+
.truncate-open {
|
|
40
|
+
overflow: initial;
|
|
41
|
+
text-overflow: initial;
|
|
42
|
+
white-space: initial;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.nav-link {
|
|
46
|
+
padding: 0;
|
|
47
|
+
&.active {
|
|
48
|
+
background-color: $hover-color;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
#user_dropdown .avatar {
|
|
52
|
+
margin: 2px 0; // fixes the avatar so its height is same as the icons on right sidebar
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
.nav-btn {
|
|
56
|
+
padding: ($spacer * 0.25) ($spacer * 0.5);
|
|
57
|
+
border-radius: $border-radius-sm;
|
|
58
|
+
cursor: pointer;
|
|
59
|
+
&:hover {
|
|
60
|
+
background-color: $hover-color;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.sidebar-toggle {
|
|
65
|
+
justify-content: start;
|
|
66
|
+
.fa-angles-right { display: inline-block; }
|
|
67
|
+
.fa-angles-left { display: none; }
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.search-dropdown {
|
|
71
|
+
width: 300px;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
.chats-dropdown, .notifications-dropdown, .drafts-dropdown {
|
|
75
|
+
min-width: 300px;
|
|
76
|
+
ul {
|
|
77
|
+
max-height: 400px;
|
|
78
|
+
overflow-y: auto;
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
.badge {
|
|
83
|
+
font-size: 9px;
|
|
84
|
+
line-height: 12px;
|
|
85
|
+
&.visible-open {
|
|
86
|
+
font-size:12px;
|
|
87
|
+
line-height: 16px;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
[data-widget-area="sidebar-footer"] {
|
|
92
|
+
font-size: $font-size-base * 0.75;
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.bottombar {
|
|
97
|
+
z-index: $zindex-dropdown;
|
|
98
|
+
.nav-text {
|
|
99
|
+
font-size: 1rem;
|
|
100
|
+
color: $body-color;
|
|
101
|
+
}
|
|
102
|
+
.nav-btn {
|
|
103
|
+
padding: 8px;
|
|
104
|
+
border-radius: $border-radius-sm;
|
|
105
|
+
}
|
|
106
|
+
.usermenu, .chats, .notifications, .drafts, .search, .logged-out-menu {
|
|
107
|
+
.visible-open { display: none; }
|
|
108
|
+
}
|
|
109
|
+
.badge {
|
|
110
|
+
font-size: 9px;
|
|
111
|
+
line-height: 12px;
|
|
112
|
+
}
|
|
113
|
+
.search.bottom-sheet .dropdown-menu {
|
|
114
|
+
max-height: 100%;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.sidebar-left {
|
|
119
|
+
border-right: 1px solid $border-color;
|
|
120
|
+
left: 0px;
|
|
121
|
+
}
|
|
122
|
+
.sidebar-right {
|
|
123
|
+
border-left: 1px solid $border-color;
|
|
124
|
+
right: 0px;
|
|
125
|
+
}
|
package/scss/skins.scss
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
.skin-quartz {
|
|
2
|
+
// $body-bg-image is gradient in quartz
|
|
3
|
+
.icon {
|
|
4
|
+
background-color: transparent !important;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.skin-quartz, .skin-lux, .skin-morph {
|
|
9
|
+
// $spacer being modified looks bad on this element
|
|
10
|
+
.topic-list-header .btn, .topic-main-buttons .btn {
|
|
11
|
+
padding: 6px 12px;
|
|
12
|
+
}
|
|
13
|
+
}
|