nodebb-theme-persona 13.0.66 → 13.0.67
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/package.json
CHANGED
|
@@ -12,15 +12,17 @@
|
|
|
12
12
|
<input type="text" class="form-control form-control-sm" placeholder="[[search:type-to-search]]" autocomplete="off">
|
|
13
13
|
</div>
|
|
14
14
|
<ul component="category/list" class="dropdown-menu category-dropdown-menu" role="menu">
|
|
15
|
-
<li role="presentation" class="category" data-
|
|
16
|
-
<a class="dropdown-item" role="menu-item" href="{config.relative_path}/{allCategoriesUrl}"><i component="category/select/icon" class="fa fa-fw fa-check {{{if selectedCategory}}}invisible{{{end}}}"></i> [[unread:all_categories]]</a>
|
|
15
|
+
<li role="presentation" class="category" data-cid="all">
|
|
16
|
+
<a class="dropdown-item" role="menu-item" href="{{{ if allCategoriesUrl }}}{config.relative_path}/{allCategoriesUrl}{{{ else }}}#{{{ end }}}"><i component="category/select/icon" class="fa fa-fw fa-check {{{if selectedCategory}}}invisible{{{end}}}"></i> [[unread:all_categories]]</a>
|
|
17
17
|
</li>
|
|
18
18
|
{{{each categoryItems}}}
|
|
19
19
|
<li role="presentation" class="category {{{ if ../disabledClass }}}disabled{{{ end }}}" data-cid="{../cid}" data-parent-cid="{../parentCid}" data-name="{../name}">
|
|
20
20
|
<a class="dropdown-item" role="menu-item" href="#">{../level}<i component="category/select/icon" class="fa fa-fw fa-check {{{ if !../selected }}}invisible{{{ end }}}"></i>
|
|
21
21
|
<span component="category-markup" style="{{{ if ../match }}}font-weight: bold;{{{end}}}">
|
|
22
22
|
<div class="category-item d-inline-block">
|
|
23
|
+
{{{ if ./icon}}}
|
|
23
24
|
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
|
25
|
+
{{{ end }}}
|
|
24
26
|
{./name}
|
|
25
27
|
</div>
|
|
26
28
|
</span>
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
<div class="d-flex flex-wrap gap-2 align-items-center" component="search/filters">
|
|
2
|
+
<!-- category filter -->
|
|
3
|
+
<div class="post-search-item">
|
|
4
|
+
<div component="category/filter" class="dropdown" data-filter-name="category">
|
|
5
|
+
<a component="category/filter/button" class="filter-btn btn btn-light btn-sm border {{{ if filters.categories.active }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
|
6
|
+
<span class="filter-label">{{{ if filters.categories.active }}}{filters.categories.label}{{{ else }}}[[search:categories]]{{{ end }}}</span>
|
|
7
|
+
<span class="caret"></span>
|
|
8
|
+
</a>
|
|
9
|
+
|
|
10
|
+
<ul class="dropdown-menu p-1 text-sm">
|
|
11
|
+
<li class="px-3 py-1 mb-2 d-flex flex-column gap-2">
|
|
12
|
+
<div component="category-selector-search">
|
|
13
|
+
<input type="text" class="form-control" component="category/filter/search" placeholder="[[search:type-a-category]]">
|
|
14
|
+
</div>
|
|
15
|
+
</li>
|
|
16
|
+
<div component="category/list" class="overflow-auto" style="max-height: 350px;"></div>
|
|
17
|
+
<div class="px-3 py-1">
|
|
18
|
+
<div class="form-check">
|
|
19
|
+
<input id="search-children" class="form-check-input" type="checkbox"/>
|
|
20
|
+
<label class="form-check-label" for="search-children">[[search:search-child-categories]]</label>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</ul>
|
|
24
|
+
</div>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
<!-- tag filter -->
|
|
29
|
+
<div class="post-search-item">
|
|
30
|
+
<div component="tag/filter" class="dropdown" data-filter-name="tag">
|
|
31
|
+
<a component="tag/filter/button" class="filter-btn btn btn-light btn-sm border {{{ if filters.tags.active }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
|
32
|
+
<span class="filter-label">{{{ if filters.tags.active }}}{filters.tags.label}{{{ else }}}[[search:tags]]{{{ end }}}</span>
|
|
33
|
+
<span class="caret"></span>
|
|
34
|
+
</a>
|
|
35
|
+
|
|
36
|
+
<ul class="dropdown-menu p-1 text-sm" style="width: 350px;">
|
|
37
|
+
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
38
|
+
<input type="text" class="form-control" component="tag/filter/search" placeholder="[[search:type-a-tag]]">
|
|
39
|
+
<div component="tag/filter/selected" class="d-flex flex-wrap gap-2">
|
|
40
|
+
{{{ each tagFilterSelected }}}
|
|
41
|
+
<div class="d-flex px-2 py-1 rounded-1 text-bg-primary gap-2 align-items-center text-sm">
|
|
42
|
+
<div>{./valueEscaped}</div>
|
|
43
|
+
<button component="tag/filter/delete" data-tag="{./valueEscaped}" class="btn btn-primary btn-sm py-0"><i class="fa fa-times fa-xs"></i></button>
|
|
44
|
+
</div>
|
|
45
|
+
{{{ end }}}
|
|
46
|
+
</div>
|
|
47
|
+
<hr/>
|
|
48
|
+
<div component="tag/filter/results" class="d-flex flex-wrap gap-2">
|
|
49
|
+
{{{ each tagFilterResults }}}
|
|
50
|
+
<button class="btn btn-light btn-sm border" data-tag="{./valueEscaped}">{./valueEscaped}</button>
|
|
51
|
+
{{{ end }}}
|
|
52
|
+
</div>
|
|
53
|
+
</li>
|
|
54
|
+
</ul>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
|
|
58
|
+
<!-- user name filter -->
|
|
59
|
+
<div class="post-search-item">
|
|
60
|
+
<div component="user/filter" class="dropdown" data-filter-name="user">
|
|
61
|
+
<a component="user/filter/button" class="filter-btn btn btn-light btn-sm border {{{ if filters.users.active }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
|
62
|
+
<span class="filter-label">{{{ if filters.users.active }}}{filters.users.label}{{{ else }}}[[search:posted-by]]{{{ end }}}</span>
|
|
63
|
+
<span class="caret"></span>
|
|
64
|
+
</a>
|
|
65
|
+
|
|
66
|
+
<ul class="dropdown-menu p-1 text-sm" style="width: 350px;">
|
|
67
|
+
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
68
|
+
<input type="text" class="form-control" component="user/filter/search" placeholder="[[search:type-a-username]]">
|
|
69
|
+
<div component="user/filter/selected" class="d-flex flex-wrap gap-2">
|
|
70
|
+
{{{ each userFilterSelected }}}
|
|
71
|
+
<div class="d-flex px-2 py-1 rounded-1 text-bg-primary gap-2 align-items-center text-sm">
|
|
72
|
+
{buildAvatar(@value, "16px", true)} {./username}
|
|
73
|
+
<button component="user/filter/delete" data-uid="{./uid}" class="btn btn-primary btn-sm py-0"><i class="fa fa-times fa-xs"></i></button>
|
|
74
|
+
</div>
|
|
75
|
+
{{{ end }}}
|
|
76
|
+
</div>
|
|
77
|
+
<hr/>
|
|
78
|
+
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
79
|
+
{{{ each userFilterResults }}}
|
|
80
|
+
<button class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
81
|
+
{{{ end }}}
|
|
82
|
+
</div>
|
|
83
|
+
</li>
|
|
84
|
+
</ul>
|
|
85
|
+
</div>
|
|
86
|
+
</div>
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
<!-- reply count filter -->
|
|
90
|
+
<div class="post-search-item">
|
|
91
|
+
<div class="dropdown" data-filter-name="replies">
|
|
92
|
+
<a id="reply-count-button" class="filter-btn btn btn-light btn-sm border {{{ if filters.replies.active }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
93
|
+
<span class="filter-label">{{{ if filters.replies.active }}}{filters.replies.label}{{{ else }}}[[search:replies]]{{{ end }}}</span>
|
|
94
|
+
<span class="caret"></span>
|
|
95
|
+
</a>
|
|
96
|
+
|
|
97
|
+
<ul class="dropdown-menu p-1 text-sm" style="width: 300px;">
|
|
98
|
+
<li class="px-3 py-1 d-flex flex-nowrap gap-2">
|
|
99
|
+
<select id="reply-count-filter" class="form-select py-2 ps-2 pe-3">
|
|
100
|
+
<option value="atleast">[[search:at-least]]</option>
|
|
101
|
+
<option value="atmost">[[search:at-most]]</option>
|
|
102
|
+
</select>
|
|
103
|
+
<input id="reply-count" type="number" min="0" class="form-control py-2 ps-2 pe-3" />
|
|
104
|
+
</li>
|
|
105
|
+
</ul>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
<!-- time filter -->
|
|
110
|
+
<div class="post-search-item">
|
|
111
|
+
<div class="dropdown" data-filter-name="time">
|
|
112
|
+
<a id="post-time-button" class="filter-btn btn btn-light btn-sm border {{{ if filters.time.active }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
113
|
+
<span class="filter-label">{{{ if filters.time.active }}}{filters.time.label}{{{ else }}}[[search:time]]{{{ end }}}</span>
|
|
114
|
+
<span class="caret"></span>
|
|
115
|
+
</a>
|
|
116
|
+
|
|
117
|
+
<ul class="dropdown-menu p-1 text-sm" style="width: 350px;">
|
|
118
|
+
<li class="px-3 py-1 d-flex flex-nowrap gap-2">
|
|
119
|
+
<select id="post-time-filter" class="form-select py-2 ps-2 pe-3">
|
|
120
|
+
<option value="newer">[[search:newer-than]]</option>
|
|
121
|
+
<option value="older">[[search:older-than]]</option>
|
|
122
|
+
</select>
|
|
123
|
+
<select id="post-time-range" class="form-select py-2 ps-2 pe-3">
|
|
124
|
+
<option value="">[[search:any-date]]</option>
|
|
125
|
+
<option value="86400">[[search:yesterday]]</option>
|
|
126
|
+
<option value="604800">[[search:one-week]]</option>
|
|
127
|
+
<option value="1209600">[[search:two-weeks]]</option>
|
|
128
|
+
<option value="2592000">[[search:one-month]]</option>
|
|
129
|
+
<option value="7776000">[[search:three-months]]</option>
|
|
130
|
+
<option value="15552000">[[search:six-months]]</option>
|
|
131
|
+
<option value="31104000">[[search:one-year]]</option>
|
|
132
|
+
</select>
|
|
133
|
+
</li>
|
|
134
|
+
</ul>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
<!-- sort filter -->
|
|
139
|
+
<div class="post-search-item">
|
|
140
|
+
<div class="dropdown" data-filter-name="sort">
|
|
141
|
+
<a id="sort-by-button" class="filter-btn btn btn-light btn-sm border {{{ if filters.sort.active }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
|
|
142
|
+
<span class="filter-label">{{{ if filters.sort.active }}}{filters.sort.label}{{{ else }}}[[search:sort]]{{{ end }}}</span>
|
|
143
|
+
<span class="caret"></span>
|
|
144
|
+
</a>
|
|
145
|
+
|
|
146
|
+
<ul class="dropdown-menu p-1 text-sm" style="width: 250px;">
|
|
147
|
+
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
148
|
+
<select id="post-sort-by" class="form-select py-2 ps-2 pe-3">
|
|
149
|
+
<option value="relevance">[[search:relevance]]</option>
|
|
150
|
+
<option value="timestamp">[[search:post-time]]</option>
|
|
151
|
+
<option value="votes">[[search:votes]]</option>
|
|
152
|
+
<option value="topic.lastposttime">[[search:last-reply-time]]</option>
|
|
153
|
+
<option value="topic.title">[[search:topic-title]]</option>
|
|
154
|
+
<option value="topic.postcount">[[search:number-of-replies]]</option>
|
|
155
|
+
<option value="topic.viewcount">[[search:number-of-views]]</option>
|
|
156
|
+
<option value="topic.votes">[[search:topic-votes]]</option>
|
|
157
|
+
<option value="topic.timestamp">[[search:topic-start-date]]</option>
|
|
158
|
+
<option value="user.username">[[search:username]]</option>
|
|
159
|
+
<option value="category.name">[[search:category]]</option>
|
|
160
|
+
</select>
|
|
161
|
+
<select id="post-sort-direction" class="form-select py-2 ps-2 pe-3">
|
|
162
|
+
<option value="desc">[[search:descending]]</option>
|
|
163
|
+
<option value="asc">[[search:ascending]]</option>
|
|
164
|
+
</select>
|
|
165
|
+
</li>
|
|
166
|
+
</ul>
|
|
167
|
+
</div>
|
|
168
|
+
</div>
|
|
169
|
+
|
|
170
|
+
<!-- save & reset preferences -->
|
|
171
|
+
<div class="post-search-item">
|
|
172
|
+
<div class="dropdown">
|
|
173
|
+
<a class="btn btn-light btn-sm border border-gray-300 dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">[[search:save]] <span class="caret"></span>
|
|
174
|
+
</a>
|
|
175
|
+
|
|
176
|
+
<ul class="dropdown-menu p-1 text-sm" style="width: 300px;">
|
|
177
|
+
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
178
|
+
<button id="save-preferences" class="btn btn-primary">[[search:save-preferences]]</button>
|
|
179
|
+
<button id="clear-preferences" class="btn-outline border">[[search:clear-preferences]]</button>
|
|
180
|
+
</li>
|
|
181
|
+
</ul>
|
|
182
|
+
</div>
|
|
183
|
+
</div>
|
|
184
|
+
</div>
|