nodebb-plugin-recent-cards-2 3.3.19

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.
@@ -0,0 +1,307 @@
1
+ #nodebb-plugin-recent-cards .topic-info, #nodebb-plugin-recent-cards .description, #nodebb-plugin-recent-cards .post-count {
2
+ font-family: Roboto;
3
+ }
4
+
5
+ #nodebb-plugin-recent-cards .topic-info .h4 {
6
+ margin-top: 10px;
7
+ margin-bottom: 10px;
8
+ font-weight: 500;
9
+ line-height: 1.1;
10
+ font-size: 18px;
11
+ }
12
+
13
+ #nodebb-plugin-recent-cards .bx-viewport {
14
+ height: 150px !important;
15
+ }
16
+
17
+ #nodebb-plugin-recent-cards .categories {
18
+ display: none;
19
+ }
20
+
21
+ #nodebb-plugin-recent-cards .recent-cards {
22
+ list-style-type: none;
23
+ padding: 0;
24
+ }
25
+
26
+ #nodebb-plugin-recent-cards .recent-cards .recent-card {
27
+ cursor: pointer;
28
+ height: 110px;
29
+ width: 100%;
30
+ padding: 10px;
31
+ position: relative;
32
+ margin-bottom: 10px;
33
+ }
34
+
35
+ #nodebb-plugin-recent-cards .recent-cards .recent-card .bg {
36
+ position: absolute;
37
+ top: 0;
38
+ left: 0;
39
+ width: 100%;
40
+ height: 100%;
41
+ background-position: 50% 50%;
42
+ background-size: cover;
43
+ }
44
+
45
+ #nodebb-plugin-recent-cards .recent-cards .recent-card .bg:hover {
46
+ filter: brightness(115%);
47
+ -webkit-filter: brightness(115%);
48
+ }
49
+
50
+ #nodebb-plugin-recent-cards .recent-cards .recent-card .topic-info {
51
+ position: absolute;
52
+ top: 10px;
53
+ left: 10px;
54
+ pointer-events: none;
55
+ padding-right: 15px;
56
+ width: 100%;
57
+ text-overflow: ellipsis;
58
+ white-space: nowrap;
59
+ overflow: hidden;
60
+ }
61
+
62
+ #nodebb-plugin-recent-cards .recent-cards .recent-card .topic-info .description {
63
+ width: 100%;
64
+ text-overflow: ellipsis;
65
+ white-space: nowrap;
66
+ overflow: hidden;
67
+ font-size: 11px;
68
+ }
69
+
70
+ #nodebb-plugin-recent-cards .recent-cards .recent-card .post-count {
71
+ position: absolute;
72
+ bottom: 5px;
73
+ right: 10px;
74
+ pointer-events: none;
75
+ }
76
+
77
+ #nodebb-plugin-recent-cards .recent-cards .recent-card .icon {
78
+ position: absolute;
79
+ bottom: 5px;
80
+ left: 10px;
81
+ pointer-events: none;
82
+ width: 80%;
83
+ text-overflow: ellipsis;
84
+ white-space: nowrap;
85
+ overflow: visible;
86
+ font-size: 20px;
87
+ }
88
+
89
+ #nodebb-plugin-recent-cards .recent-cards.carousel-mode {
90
+ max-height: 110px;
91
+ overflow: hidden;
92
+ }
93
+
94
+
95
+ /**
96
+ * BxSlider v4.1.2 - Fully loaded, responsive content slider
97
+ * http://bxslider.com
98
+ *
99
+ * Written by: Steven Wanderski, 2014
100
+ * http://stevenwanderski.com
101
+ * (while drinking Belgian ales and listening to jazz)
102
+ *
103
+ * CEO and founder of bxCreative, LTD
104
+ * http://bxcreative.com
105
+ */
106
+
107
+
108
+ /** RESET AND LAYOUT
109
+ ===================================*/
110
+
111
+ #nodebb-plugin-recent-cards .bx-wrapper {
112
+ position: relative;
113
+ margin: 0 auto 60px;
114
+ padding: 0;
115
+ *zoom: 1;
116
+ }
117
+
118
+ #nodebb-plugin-recent-cards .bx-wrapper img {
119
+ max-width: 100%;
120
+ display: block;
121
+ }
122
+
123
+ /** THEME
124
+ ===================================*/
125
+
126
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-viewport {
127
+ border: 5px solid transparent;
128
+ left: -5px;
129
+ background: none;
130
+
131
+ /*fix other elements on the page moving (on Chrome)*/
132
+ -webkit-transform: translatez(0);
133
+ -moz-transform: translatez(0);
134
+ -ms-transform: translatez(0);
135
+ -o-transform: translatez(0);
136
+ transform: translatez(0);
137
+ }
138
+
139
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-pager,
140
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls-auto {
141
+ position: absolute;
142
+ bottom: -15px;
143
+ width: 100%;
144
+ }
145
+
146
+ /* LOADER */
147
+
148
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-loading {
149
+ min-height: 50px;
150
+ background: url({forumURL}/plugins/nodebb-plugin-recent-cards/static/bxslider/images/bx_loader.gif) center center no-repeat #fff;
151
+ height: 100%;
152
+ width: 100%;
153
+ position: absolute;
154
+ top: 0;
155
+ left: 0;
156
+ z-index: 1;
157
+ }
158
+
159
+ /* PAGER */
160
+
161
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-pager {
162
+ text-align: center;
163
+ font-size: .85em;
164
+ font-family: Arial;
165
+ font-weight: bold;
166
+ color: #666;
167
+ padding-top: 20px;
168
+ }
169
+
170
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-pager .bx-pager-item,
171
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls-auto .bx-controls-auto-item {
172
+ display: inline-block;
173
+ *zoom: 1;
174
+ *display: inline;
175
+ }
176
+
177
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-pager.bx-default-pager a {
178
+ background: #666;
179
+ text-indent: -9999px;
180
+ display: block;
181
+ width: 10px;
182
+ height: 10px;
183
+ margin: 0 5px;
184
+ outline: 0;
185
+ -moz-border-radius: 5px;
186
+ -webkit-border-radius: 5px;
187
+ border-radius: 5px;
188
+ }
189
+
190
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-pager.bx-default-pager a:hover,
191
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-pager.bx-default-pager a.active {
192
+ background: #000;
193
+ }
194
+
195
+ /* DIRECTION CONTROLS (NEXT / PREV) */
196
+
197
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-prev {
198
+ left: -12px;
199
+ cursor: pointer;
200
+ background: url({forumURL}/plugins/nodebb-plugin-recent-cards/static/bxslider/images/controls.png) no-repeat 0 -32px;
201
+ }
202
+
203
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-next {
204
+ right: -10px;
205
+ cursor: pointer;
206
+ background: url({forumURL}/plugins/nodebb-plugin-recent-cards/static/bxslider/images/controls.png) no-repeat -43px -32px;
207
+ }
208
+
209
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-prev:hover {
210
+ background-position: 0 0;
211
+ }
212
+
213
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-next:hover {
214
+ background-position: -43px 0;
215
+ }
216
+
217
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls-direction a {
218
+ position: absolute;
219
+ top: 50%;
220
+ margin-top: -16px;
221
+ outline: 0;
222
+ width: 32px;
223
+ height: 32px;
224
+ text-indent: -9999px;
225
+ z-index: 2;
226
+ opacity: 0.5;
227
+ -webkit-transition: opacity 0.25s ease-out;
228
+ -moz-transition: opacity 0.25s ease-out;
229
+ -ms-transition: opacity 0.25s ease-out;
230
+ -o-transition: opacity 0.25s ease-out;
231
+ transition: opacity 0.25s ease-out;
232
+ }
233
+
234
+ #nodebb-plugin-recent-cards .bx-wrapper:hover .bx-controls-direction a {
235
+ opacity: 1;
236
+ }
237
+
238
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls-direction a.disabled {
239
+ display: none;
240
+ }
241
+
242
+ /* AUTO CONTROLS (START / STOP) */
243
+
244
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls-auto {
245
+ text-align: center;
246
+ }
247
+
248
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls-auto .bx-start {
249
+ display: block;
250
+ text-indent: -9999px;
251
+ width: 10px;
252
+ height: 11px;
253
+ outline: 0;
254
+ background: url({forumURL}/plugins/nodebb-plugin-recent-cards/static/bxslider/images/controls.png) -86px -11px no-repeat;
255
+ margin: 0 3px;
256
+ }
257
+
258
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls-auto .bx-start:hover,
259
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls-auto .bx-start.active {
260
+ background-position: -86px 0;
261
+ }
262
+
263
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls-auto .bx-stop {
264
+ display: block;
265
+ text-indent: -9999px;
266
+ width: 9px;
267
+ height: 11px;
268
+ outline: 0;
269
+ background: url({forumURL}/plugins/nodebb-plugin-recent-cards/static/bxslider/images/controls.png) -86px -44px no-repeat;
270
+ margin: 0 3px;
271
+ }
272
+
273
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls-auto .bx-stop:hover,
274
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls-auto .bx-stop.active {
275
+ background-position: -86px -33px;
276
+ }
277
+
278
+ /* PAGER WITH AUTO-CONTROLS HYBRID LAYOUT */
279
+
280
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-pager {
281
+ text-align: left;
282
+ width: 80%;
283
+ }
284
+
285
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-controls.bx-has-controls-auto.bx-has-pager .bx-controls-auto {
286
+ right: 0;
287
+ width: 35px;
288
+ }
289
+
290
+ /* IMAGE CAPTIONS */
291
+
292
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-caption {
293
+ position: absolute;
294
+ bottom: 0;
295
+ left: 0;
296
+ background: #666\9;
297
+ background: rgba(80, 80, 80, 0.75);
298
+ width: 100%;
299
+ }
300
+
301
+ #nodebb-plugin-recent-cards .bx-wrapper .bx-caption span {
302
+ color: #fff;
303
+ font-family: Arial;
304
+ display: block;
305
+ font-size: .85em;
306
+ padding: 10px;
307
+ }
@@ -0,0 +1,74 @@
1
+ {{{ if topics.length }}}
2
+ <div class="recent-cards-plugin preventSlideout">
3
+ <script type="application/json" class="rc-categories-data">{categories}</script>
4
+ {{{ if title }}}
5
+ <h5>{title}</h5>
6
+ {{{ end }}}
7
+
8
+ <div class="rc-filter-bar d-flex align-items-center flex-wrap gap-2 mb-2">
9
+ <div class="rc-filter-wrapper position-relative">
10
+ <button class="rc-filter-btn btn btn-sm btn-outline-secondary d-flex align-items-center gap-1"
11
+ type="button"
12
+ aria-haspopup="listbox"
13
+ aria-expanded="false">
14
+ <i class="fa fa-filter fa-xs"></i>
15
+ <span class="rc-filter-label">Filtrele</span>
16
+ <i class="fa fa-caret-down fa-xs rc-caret"></i>
17
+ </button>
18
+ <div class="rc-filter-dropdown border rounded shadow-sm position-absolute d-none" role="listbox" aria-label="Category filter">
19
+ <div class="rc-filter-dropdown-inner"></div>
20
+ </div>
21
+ </div>
22
+ <div class="rc-filter-chips d-flex align-items-center flex-wrap gap-1"></div>
23
+ </div>
24
+
25
+ <div class="{{{ if !carouselMode }}}row{{{ else }}}d-flex gap-3{{{ end }}} recent-cards carousel-mode overflow-hidden invisible" itemscope itemtype="http://www.schema.org/ItemList" {{{ if carouselMode }}}style=""{{{ end }}}>
26
+ {{{ each topics }}}
27
+ <div class="{{{ if !carouselMode }}}col-lg-3 col-sm-6 col-12 overflow-hidden{{{ end }}} recent-card-container {{{ if ./showThumbnailInBackground }}}thumb-bg{{{ end }}}" data-cid="{./category.cid}">
28
+ <div class="recent-card card card-header border-0 rounded mb-2 p-0 position-relative d-inline-flex {{{ if !carouselMode }}}w-100{{{ end }}}" style="{{{ if ./showThumbnailInBackground }}}background-image: url('{./thumbs.0.url}');{{{ end }}}{{{ if carouselMode }}}width: 312px;{{{ end }}}">
29
+ <div class="glass-layer rounded p-2">
30
+ <div class="recent-card-body h-100 overflow-hidden">
31
+ <div>
32
+ <h6 class="topic-title mt-0 text-truncate"><a class="text-reset" href="{config.relative_path}/topic/{./slug}{{{ if ./bookmark }}}/{./bookmark}{{{ end }}}" title="{stripTags(./title)}">{./title}</a></h6>
33
+ </div>
34
+ <div class="d-flex flex-column gap-1">
35
+ <div class="d-flex gap-2 align-items-center">
36
+ <a class="text-decoration-none" href="{config.relative_path}/user/{./teaser.user.userslug}">{buildAvatar(./teaser.user, "24px", true, "avatar-tooltip")}</a>
37
+ <a class="flex-shrink-1 text-xs text-truncate text-reset" href="{config.relative_path}/user/{./teaser.user.userslug}">{./teaser.user.displayname}</a>
38
+ <span class="flex-shrink-0 timeago text-muted text-xs" title="{./teaser.timestampISO}"></span>
39
+ </div>
40
+ <div class="text-sm text-break line-clamp-5" style="transform: rotate(0);">
41
+ <a href="{config.relative_path}/topic/{./slug}{{{ if ./bookmark }}}/{./bookmark}{{{ end }}}" class="stretched-link"></a>
42
+ {{{ if ./showThumbnailInline }}}
43
+ <a href="{config.relative_path}/post/{./mainPid}"><img src="{./thumbs.0.url}" class="mw-100" alt="[[topic:thumb-image]]"/></a>
44
+ {{{ else }}}
45
+ <div class="teaser-content">{./teaser.content}</div>
46
+ {{{ end }}}
47
+ </div>
48
+ </div>
49
+ </div>
50
+
51
+ <div class="d-flex mt-3 align-items-center gap-2">
52
+ <div class="d-flex category-item text-truncate">
53
+ {buildCategoryLabel(./category, "a", "border")}
54
+ </div>
55
+ <div class="badge text-body border border-gray-300 stats text-xs">
56
+ <span title="{formattedNumber(./postcount)}" class="fw-bold">{humanReadableNumber(./postcount)}</span>
57
+ <span class="text-lowercase fw-normal">[[global:posts]]</span>
58
+ </div>
59
+ <div class="badge text-body border border-gray-300 stats text-xs">
60
+ <span title="{formattedNumber(./votes)}" class="fw-bold">{humanReadableNumber(./votes)}</span>
61
+ <span class="text-lowercase fw-normal">[[global:votes]]</span>
62
+ </div>
63
+ </div>
64
+ </div>
65
+ </div>
66
+ </div>
67
+ {{{end}}}
68
+ </div>
69
+ <div class="rc-empty-state d-none text-center text-muted py-4">
70
+ <i class="fa fa-filter fa-2x mb-2 d-block"></i>
71
+ <span>Secilen filtrelere uygun konu bulunamadi.</span>
72
+ </div>
73
+ </div>
74
+ {{{end}}}