nodebb-theme-persona 13.3.31 → 13.3.33
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/.eslintrc +2 -2
- package/README.md +20 -20
- package/lib/controllers.js +24 -24
- package/library.js +97 -97
- package/package.json +52 -52
- package/plugin.json +20 -20
- package/public/.eslintrc +2 -2
- package/public/admin.js +15 -15
- package/public/modules/autohidingnavbar.js +220 -220
- package/public/modules/mobile-menu.js +190 -190
- package/public/modules/taskbar.js +65 -65
- package/public/persona.js +257 -257
- package/public/settings.js +53 -53
- package/scss/account.scss +336 -336
- package/scss/categories.scss +205 -205
- package/scss/category.scss +161 -161
- package/scss/chats.scss +14 -14
- package/scss/flags.scss +42 -42
- package/scss/footer.scss +16 -16
- package/scss/groups.scss +166 -166
- package/scss/header.scss +229 -361
- package/scss/keyframes.scss +152 -152
- package/scss/mixins.scss +129 -129
- package/scss/mobile.scss +222 -331
- package/scss/modules/composer.scss +20 -20
- package/scss/modules/cookie-consent.scss +12 -12
- package/scss/modules/fab.scss +32 -32
- package/scss/modules/morph.scss +268 -268
- package/scss/modules/necro-post.scss +8 -8
- package/scss/modules/nprogress.scss +80 -80
- package/scss/modules/taskbar.scss +160 -160
- package/scss/modules/user-menu.scss +7 -7
- package/scss/modules/usercard.scss +64 -64
- package/scss/noscript.scss +80 -80
- package/scss/overrides.scss +39 -39
- package/scss/persona.scss +34 -34
- package/scss/posts_list.scss +127 -127
- package/scss/search.scss +48 -48
- package/scss/style.scss +256 -270
- package/scss/tags.scss +10 -10
- package/scss/topic.scss +571 -571
- package/scss/topics_list.scss +16 -16
- package/scss/variables.scss +6 -6
- package/templates/account/blocks.tpl +46 -46
- package/templates/account/categories.tpl +28 -28
- package/templates/account/consent.tpl +68 -68
- package/templates/account/edit/password.tpl +29 -29
- package/templates/account/edit/username.tpl +25 -25
- package/templates/account/edit.tpl +136 -136
- package/templates/account/followers.tpl +17 -17
- package/templates/account/following.tpl +17 -17
- package/templates/account/groups.tpl +16 -16
- package/templates/account/info.tpl +291 -291
- package/templates/account/posts.tpl +18 -18
- package/templates/account/profile.tpl +166 -166
- package/templates/account/sessions.tpl +31 -31
- package/templates/account/settings.tpl +251 -251
- package/templates/account/tags.tpl +9 -9
- package/templates/account/theme.tpl +25 -25
- package/templates/account/topics.tpl +29 -29
- package/templates/account/uploads.tpl +42 -42
- package/templates/admin/plugins/persona.tpl +24 -24
- package/templates/categories.tpl +31 -31
- package/templates/category.tpl +63 -63
- package/templates/flags/detail.tpl +208 -208
- package/templates/flags/list.tpl +71 -71
- package/templates/footer.tpl +11 -11
- package/templates/groups/details.tpl +77 -77
- package/templates/groups/list.tpl +48 -48
- package/templates/groups/members.tpl +5 -5
- package/templates/header.tpl +47 -47
- package/templates/modules/taskbar.tpl +2 -2
- package/templates/modules/usercard.tpl +36 -36
- package/templates/notifications.tpl +66 -66
- package/templates/partials/account/category-item.tpl +23 -23
- package/templates/partials/account/header.tpl +47 -47
- package/templates/partials/account/menu.tpl +108 -108
- package/templates/partials/breadcrumbs.tpl +18 -18
- package/templates/partials/buttons/newTopic.tpl +22 -22
- package/templates/partials/categories/item.tpl +60 -60
- package/templates/partials/categories/lastpost.tpl +26 -26
- package/templates/partials/category/filter-dropdown-content.tpl +31 -31
- package/templates/partials/category/selector-dropdown-content.tpl +32 -32
- package/templates/partials/category/sort.tpl +14 -14
- package/templates/partials/category/subcategory.tpl +17 -17
- package/templates/partials/category/tags.tpl +3 -3
- package/templates/partials/category/tools.tpl +86 -86
- package/templates/partials/category/watch.tpl +55 -55
- package/templates/partials/chats-menu.tpl +41 -40
- package/templates/partials/cookie-consent.tpl +4 -4
- package/templates/partials/flags/filters.tpl +173 -173
- package/templates/partials/groups/admin.tpl +200 -200
- package/templates/partials/groups/filter-dropdown-content.tpl +24 -24
- package/templates/partials/groups/list.tpl +20 -20
- package/templates/partials/groups/memberlist.tpl +42 -42
- package/templates/partials/header/chats.tpl +18 -18
- package/templates/partials/header/notifications.tpl +49 -19
- package/templates/partials/header/search.tpl +24 -24
- package/templates/partials/header/user-menu.tpl +96 -96
- package/templates/partials/menu.tpl +128 -128
- package/templates/partials/notifications_list.tpl +44 -30
- package/templates/partials/paginator.tpl +44 -44
- package/templates/partials/post_bar.tpl +20 -20
- package/templates/partials/posts_list.tpl +7 -7
- package/templates/partials/posts_list_item.tpl +31 -31
- package/templates/partials/quick-search-results.tpl +33 -33
- package/templates/partials/search-filters.tpl +183 -183
- package/templates/partials/search-results.tpl +54 -54
- package/templates/partials/slideout-menu.tpl +4 -4
- package/templates/partials/tags/filter-dropdown-content.tpl +33 -33
- package/templates/partials/tags/watch.tpl +35 -35
- package/templates/partials/tags_list.tpl +4 -4
- package/templates/partials/toast.tpl +19 -19
- package/templates/partials/topic/event.tpl +12 -12
- package/templates/partials/topic/navigation-post.tpl +11 -11
- package/templates/partials/topic/navigator.tpl +39 -39
- package/templates/partials/topic/necro-post.tpl +2 -2
- package/templates/partials/topic/post-menu-list.tpl +132 -132
- package/templates/partials/topic/post-menu.tpl +4 -4
- package/templates/partials/topic/post.tpl +128 -128
- package/templates/partials/topic/quickreply.tpl +28 -28
- package/templates/partials/topic/reply-button.tpl +26 -26
- package/templates/partials/topic/selection-tooltip.tpl +2 -2
- package/templates/partials/topic/sort.tpl +9 -9
- package/templates/partials/topic/stats.tpl +11 -11
- package/templates/partials/topic/tags.tpl +2 -2
- package/templates/partials/topic/tools.tpl +7 -7
- package/templates/partials/topic/topic-menu-list.tpl +74 -74
- package/templates/partials/topic/watch.tpl +47 -47
- package/templates/partials/topic-filters.tpl +11 -11
- package/templates/partials/topic-terms.tpl +11 -11
- package/templates/partials/topics_list.tpl +117 -117
- package/templates/partials/users/filter-dropdown-content.tpl +20 -20
- package/templates/partials/users/item.tpl +43 -43
- package/templates/partials/users_list.tpl +14 -14
- package/templates/partials/users_list_menu.tpl +20 -20
- package/templates/popular.tpl +35 -35
- package/templates/recent.tpl +37 -37
- package/templates/search.tpl +47 -47
- package/templates/tag.tpl +34 -34
- package/templates/tags.tpl +32 -32
- package/templates/top.tpl +35 -35
- package/templates/topic.tpl +129 -129
- package/templates/unread.tpl +37 -37
- package/templates/users.tpl +34 -34
|
@@ -1,174 +1,174 @@
|
|
|
1
|
-
<div class="text-center">
|
|
2
|
-
<div class="card mb-3">
|
|
3
|
-
<div class="card-body collapse" id="flags-daily-wrapper" aria-expanded="false">
|
|
4
|
-
<div class="position-relative" style="aspect-ratio: 2; max-height: initial;">
|
|
5
|
-
<canvas id="flags:daily" style="max-height: initial;"></canvas>
|
|
6
|
-
</div>
|
|
7
|
-
</div>
|
|
8
|
-
<div class="card-footer" data-bs-toggle="collapse" data-bs-target="#flags-daily-wrapper" aria-controls="#flags-daily-wrapper"><small>[[flags:graph-label]]</small> <i class="fa fa-sort"></i></div>
|
|
9
|
-
</div>
|
|
10
|
-
</div>
|
|
11
|
-
|
|
12
|
-
<div class="card mb-3">
|
|
13
|
-
<div class="card-header">
|
|
14
|
-
[[flags:quick-filters]]
|
|
15
|
-
</div>
|
|
16
|
-
<div class="card-body">
|
|
17
|
-
<ul>
|
|
18
|
-
<li><a href="{config.relative_path}/flags?quick=mine">[[flags:filter-quick-mine]]</a></li>
|
|
19
|
-
</ul>
|
|
20
|
-
</div>
|
|
21
|
-
</div>
|
|
22
|
-
|
|
23
|
-
<div class="card mb-3">
|
|
24
|
-
<div class="card-header">
|
|
25
|
-
[[flags:filters]]
|
|
26
|
-
</div>
|
|
27
|
-
<div class="card-body">
|
|
28
|
-
<form role="form" component="flags/filters">
|
|
29
|
-
<fieldset>
|
|
30
|
-
<div class="mb-3">
|
|
31
|
-
<label class="form-label" for="filter-cid">[[flags:filter-cid]]</label>
|
|
32
|
-
<div class="input-group">
|
|
33
|
-
<!-- IMPORT partials/category/filter-dropdown-left.tpl -->
|
|
34
|
-
</div>
|
|
35
|
-
</div>
|
|
36
|
-
<div class="mb-3">
|
|
37
|
-
<label class="form-label" for="sort">[[flags:sort]]</label>
|
|
38
|
-
<select class="form-control" id="sort" name="sort">
|
|
39
|
-
<optgroup label="[[flags:sort-all]]">
|
|
40
|
-
<option value="newest">[[flags:sort-newest]]</option>
|
|
41
|
-
<option value="oldest">[[flags:sort-oldest]]</option>
|
|
42
|
-
<option value="reports">[[flags:sort-reports]]</option>
|
|
43
|
-
</optgroup>
|
|
44
|
-
<optgroup label="[[flags:sort-posts-only]]">
|
|
45
|
-
<option value="downvotes">[[flags:sort-downvotes]]</option>
|
|
46
|
-
<option value="upvotes">[[flags:sort-upvotes]]</option>
|
|
47
|
-
<option value="replies">[[flags:sort-replies]]</option>
|
|
48
|
-
</optgroup>
|
|
49
|
-
</select>
|
|
50
|
-
</div>
|
|
51
|
-
<div class="mb-3">
|
|
52
|
-
<label class="form-label" for="filter-state">[[flags:filter-state]]</label>
|
|
53
|
-
<select class="form-control" id="filter-state" name="state">
|
|
54
|
-
<option value="">[[flags:state-all]]</option>
|
|
55
|
-
<option value="open">[[flags:state-open]]</option>
|
|
56
|
-
<option value="wip">[[flags:state-wip]]</option>
|
|
57
|
-
<option value="resolved">[[flags:state-resolved]]</option>
|
|
58
|
-
<option value="rejected">[[flags:state-rejected]]</option>
|
|
59
|
-
</select>
|
|
60
|
-
</div>
|
|
61
|
-
|
|
62
|
-
<div class="mb-3">
|
|
63
|
-
<label class="form-label" for="filter-type">[[flags:filter-type]]</label>
|
|
64
|
-
<select class="form-control" id="filter-type" name="type">
|
|
65
|
-
<option value="">[[flags:filter-type-all]]</option>
|
|
66
|
-
<option value="post">[[flags:filter-type-post]]</option>
|
|
67
|
-
<option value="user">[[flags:filter-type-user]]</option>
|
|
68
|
-
</select>
|
|
69
|
-
</div>
|
|
70
|
-
</fieldset>
|
|
71
|
-
|
|
72
|
-
<fieldset class="collapse{{{ if expanded }}} show{{{ end }}}" id="more-filters" aria-expanded="{expanded}">
|
|
73
|
-
<div class="mb-3">
|
|
74
|
-
<label class="form-label" for="filter-assignee">[[flags:filter-assignee]]</label>
|
|
75
|
-
<div component="flags/filter/assignee" class="dropdown" data-filter-name="assignee">
|
|
76
|
-
<a component="user/filter/button" class="filter-btn btn btn-sm border {{{ if filters.assignee }}}btn-primary{{{ else }}}btn-light{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-haspopup="true" aria-expanded="false">
|
|
77
|
-
<span class="filter-label">[[flags:filter-assignee]]</span>
|
|
78
|
-
<span class="caret"></span>
|
|
79
|
-
</a>
|
|
80
|
-
|
|
81
|
-
<ul class="dropdown-menu" style="width: 350px;" role="menu">
|
|
82
|
-
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
83
|
-
<input type="text" class="form-control" component="user/filter/search" placeholder="[[search:type-a-username]]">
|
|
84
|
-
<div component="user/filter/selected" class="d-flex flex-wrap gap-2">
|
|
85
|
-
{{{ each selected.assignee }}}
|
|
86
|
-
<div class="d-flex px-2 py-1 rounded-1 text-bg-primary gap-2 align-items-center text-sm">
|
|
87
|
-
{buildAvatar(@value, "16px", true)} {./username}
|
|
88
|
-
<button type="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>
|
|
89
|
-
</div>
|
|
90
|
-
{{{ end }}}
|
|
91
|
-
</div>
|
|
92
|
-
<hr/>
|
|
93
|
-
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
94
|
-
{{{ each userFilterResults }}}
|
|
95
|
-
<button type="button" class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
96
|
-
{{{ end }}}
|
|
97
|
-
</div>
|
|
98
|
-
</li>
|
|
99
|
-
</ul>
|
|
100
|
-
</div>
|
|
101
|
-
</div>
|
|
102
|
-
|
|
103
|
-
<div class="mb-3">
|
|
104
|
-
<label class="form-label" for="filter-targetUid">[[flags:filter-targetUid]]</label>
|
|
105
|
-
<div component="flags/filter/targetUid" class="dropdown" data-filter-name="targetUid">
|
|
106
|
-
<a component="user/filter/button" class="filter-btn btn btn-sm border {{{ if filters.targetUid }}}btn-primary{{{ else }}}btn-light{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-haspopup="true" aria-expanded="false">
|
|
107
|
-
<span class="filter-label">[[flags:filter-targetUid]]</span>
|
|
108
|
-
<span class="caret"></span>
|
|
109
|
-
</a>
|
|
110
|
-
|
|
111
|
-
<ul class="dropdown-menu" style="width: 350px;" role="menu">
|
|
112
|
-
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
113
|
-
<input type="text" class="form-control" component="user/filter/search" placeholder="[[search:type-a-username]]">
|
|
114
|
-
<div component="user/filter/selected" class="d-flex flex-wrap gap-2">
|
|
115
|
-
{{{ each selected.targetUid }}}
|
|
116
|
-
<div class="d-flex px-2 py-1 rounded-1 text-bg-primary gap-2 align-items-center text-sm">
|
|
117
|
-
{buildAvatar(@value, "16px", true)} {./username}
|
|
118
|
-
<button type="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>
|
|
119
|
-
</div>
|
|
120
|
-
{{{ end }}}
|
|
121
|
-
</div>
|
|
122
|
-
<hr/>
|
|
123
|
-
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
124
|
-
{{{ each userFilterResults }}}
|
|
125
|
-
<button type="button" class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
126
|
-
{{{ end }}}
|
|
127
|
-
</div>
|
|
128
|
-
</li>
|
|
129
|
-
</ul>
|
|
130
|
-
</div>
|
|
131
|
-
</div>
|
|
132
|
-
|
|
133
|
-
<div class="mb-3">
|
|
134
|
-
<label class="form-label" for="filter-reporterId">[[flags:filter-reporterId]]</label>
|
|
135
|
-
<div component="flags/filter/reporterId" class="dropdown" data-filter-name="reporterId">
|
|
136
|
-
<a component="user/filter/button" class="filter-btn btn btn-sm border {{{ if filters.reporterId }}}btn-primary{{{ else }}}btn-light{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-haspopup="true" aria-expanded="false">
|
|
137
|
-
<span class="filter-label">[[flags:filter-reporterId]]</span>
|
|
138
|
-
<span class="caret"></span>
|
|
139
|
-
</a>
|
|
140
|
-
|
|
141
|
-
<ul class="dropdown-menu" style="width: 350px;" role="menu">
|
|
142
|
-
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
143
|
-
<input type="text" class="form-control" component="user/filter/search" placeholder="[[search:type-a-username]]">
|
|
144
|
-
<div component="user/filter/selected" class="d-flex flex-wrap gap-2">
|
|
145
|
-
{{{ each selected.reporterId }}}
|
|
146
|
-
<div class="d-flex px-2 py-1 rounded-1 text-bg-primary gap-2 align-items-center text-sm">
|
|
147
|
-
{buildAvatar(@value, "16px", true)} {./username}
|
|
148
|
-
<button type="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>
|
|
149
|
-
</div>
|
|
150
|
-
{{{ end }}}
|
|
151
|
-
</div>
|
|
152
|
-
<hr/>
|
|
153
|
-
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
154
|
-
{{{ each userFilterResults }}}
|
|
155
|
-
<button type="button" class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
156
|
-
{{{ end }}}
|
|
157
|
-
</div>
|
|
158
|
-
</li>
|
|
159
|
-
</ul>
|
|
160
|
-
</div>
|
|
161
|
-
</div>
|
|
162
|
-
</fieldset>
|
|
163
|
-
|
|
164
|
-
<div class="d-grid gap-2">
|
|
165
|
-
{{{ if expanded }}}
|
|
166
|
-
<button type="button" class="btn btn-link" data-bs-toggle="collapse" data-bs-target="#more-filters" aria-controls="#more-filters" data-text-variant="[[flags:more-filters]] ">[[flags:fewer-filters]] <i class="fa fa-sort"></i></button>
|
|
167
|
-
{{{ else }}}
|
|
168
|
-
<button type="button" class="btn btn-link" data-bs-toggle="collapse" data-bs-target="#more-filters" aria-controls="#more-filters" data-text-variant="[[flags:fewer-filters]] ">[[flags:more-filters]] <i class="fa fa-sort"></i></button>
|
|
169
|
-
{{{ end }}}
|
|
170
|
-
<button type="button" id="apply-filters" class="btn btn-primary">[[flags:apply-filters]]</button>
|
|
171
|
-
</div>
|
|
172
|
-
</form>
|
|
173
|
-
</div>
|
|
1
|
+
<div class="text-center">
|
|
2
|
+
<div class="card mb-3">
|
|
3
|
+
<div class="card-body collapse" id="flags-daily-wrapper" aria-expanded="false">
|
|
4
|
+
<div class="position-relative" style="aspect-ratio: 2; max-height: initial;">
|
|
5
|
+
<canvas id="flags:daily" style="max-height: initial;"></canvas>
|
|
6
|
+
</div>
|
|
7
|
+
</div>
|
|
8
|
+
<div class="card-footer" data-bs-toggle="collapse" data-bs-target="#flags-daily-wrapper" aria-controls="#flags-daily-wrapper"><small>[[flags:graph-label]]</small> <i class="fa fa-sort"></i></div>
|
|
9
|
+
</div>
|
|
10
|
+
</div>
|
|
11
|
+
|
|
12
|
+
<div class="card mb-3">
|
|
13
|
+
<div class="card-header">
|
|
14
|
+
[[flags:quick-filters]]
|
|
15
|
+
</div>
|
|
16
|
+
<div class="card-body">
|
|
17
|
+
<ul>
|
|
18
|
+
<li><a href="{config.relative_path}/flags?quick=mine">[[flags:filter-quick-mine]]</a></li>
|
|
19
|
+
</ul>
|
|
20
|
+
</div>
|
|
21
|
+
</div>
|
|
22
|
+
|
|
23
|
+
<div class="card mb-3">
|
|
24
|
+
<div class="card-header">
|
|
25
|
+
[[flags:filters]]
|
|
26
|
+
</div>
|
|
27
|
+
<div class="card-body">
|
|
28
|
+
<form role="form" component="flags/filters">
|
|
29
|
+
<fieldset>
|
|
30
|
+
<div class="mb-3">
|
|
31
|
+
<label class="form-label" for="filter-cid">[[flags:filter-cid]]</label>
|
|
32
|
+
<div class="input-group">
|
|
33
|
+
<!-- IMPORT partials/category/filter-dropdown-left.tpl -->
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="mb-3">
|
|
37
|
+
<label class="form-label" for="sort">[[flags:sort]]</label>
|
|
38
|
+
<select class="form-control" id="sort" name="sort">
|
|
39
|
+
<optgroup label="[[flags:sort-all]]">
|
|
40
|
+
<option value="newest">[[flags:sort-newest]]</option>
|
|
41
|
+
<option value="oldest">[[flags:sort-oldest]]</option>
|
|
42
|
+
<option value="reports">[[flags:sort-reports]]</option>
|
|
43
|
+
</optgroup>
|
|
44
|
+
<optgroup label="[[flags:sort-posts-only]]">
|
|
45
|
+
<option value="downvotes">[[flags:sort-downvotes]]</option>
|
|
46
|
+
<option value="upvotes">[[flags:sort-upvotes]]</option>
|
|
47
|
+
<option value="replies">[[flags:sort-replies]]</option>
|
|
48
|
+
</optgroup>
|
|
49
|
+
</select>
|
|
50
|
+
</div>
|
|
51
|
+
<div class="mb-3">
|
|
52
|
+
<label class="form-label" for="filter-state">[[flags:filter-state]]</label>
|
|
53
|
+
<select class="form-control" id="filter-state" name="state">
|
|
54
|
+
<option value="">[[flags:state-all]]</option>
|
|
55
|
+
<option value="open">[[flags:state-open]]</option>
|
|
56
|
+
<option value="wip">[[flags:state-wip]]</option>
|
|
57
|
+
<option value="resolved">[[flags:state-resolved]]</option>
|
|
58
|
+
<option value="rejected">[[flags:state-rejected]]</option>
|
|
59
|
+
</select>
|
|
60
|
+
</div>
|
|
61
|
+
|
|
62
|
+
<div class="mb-3">
|
|
63
|
+
<label class="form-label" for="filter-type">[[flags:filter-type]]</label>
|
|
64
|
+
<select class="form-control" id="filter-type" name="type">
|
|
65
|
+
<option value="">[[flags:filter-type-all]]</option>
|
|
66
|
+
<option value="post">[[flags:filter-type-post]]</option>
|
|
67
|
+
<option value="user">[[flags:filter-type-user]]</option>
|
|
68
|
+
</select>
|
|
69
|
+
</div>
|
|
70
|
+
</fieldset>
|
|
71
|
+
|
|
72
|
+
<fieldset class="collapse{{{ if expanded }}} show{{{ end }}}" id="more-filters" aria-expanded="{expanded}">
|
|
73
|
+
<div class="mb-3">
|
|
74
|
+
<label class="form-label" for="filter-assignee">[[flags:filter-assignee]]</label>
|
|
75
|
+
<div component="flags/filter/assignee" class="dropdown" data-filter-name="assignee">
|
|
76
|
+
<a component="user/filter/button" class="filter-btn btn btn-sm border {{{ if filters.assignee }}}btn-primary{{{ else }}}btn-light{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-haspopup="true" aria-expanded="false">
|
|
77
|
+
<span class="filter-label">[[flags:filter-assignee]]</span>
|
|
78
|
+
<span class="caret"></span>
|
|
79
|
+
</a>
|
|
80
|
+
|
|
81
|
+
<ul class="dropdown-menu" style="width: 350px;" role="menu">
|
|
82
|
+
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
83
|
+
<input type="text" class="form-control" component="user/filter/search" placeholder="[[search:type-a-username]]">
|
|
84
|
+
<div component="user/filter/selected" class="d-flex flex-wrap gap-2">
|
|
85
|
+
{{{ each selected.assignee }}}
|
|
86
|
+
<div class="d-flex px-2 py-1 rounded-1 text-bg-primary gap-2 align-items-center text-sm">
|
|
87
|
+
{buildAvatar(@value, "16px", true)} {./username}
|
|
88
|
+
<button type="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>
|
|
89
|
+
</div>
|
|
90
|
+
{{{ end }}}
|
|
91
|
+
</div>
|
|
92
|
+
<hr/>
|
|
93
|
+
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
94
|
+
{{{ each userFilterResults }}}
|
|
95
|
+
<button type="button" class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
96
|
+
{{{ end }}}
|
|
97
|
+
</div>
|
|
98
|
+
</li>
|
|
99
|
+
</ul>
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<div class="mb-3">
|
|
104
|
+
<label class="form-label" for="filter-targetUid">[[flags:filter-targetUid]]</label>
|
|
105
|
+
<div component="flags/filter/targetUid" class="dropdown" data-filter-name="targetUid">
|
|
106
|
+
<a component="user/filter/button" class="filter-btn btn btn-sm border {{{ if filters.targetUid }}}btn-primary{{{ else }}}btn-light{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-haspopup="true" aria-expanded="false">
|
|
107
|
+
<span class="filter-label">[[flags:filter-targetUid]]</span>
|
|
108
|
+
<span class="caret"></span>
|
|
109
|
+
</a>
|
|
110
|
+
|
|
111
|
+
<ul class="dropdown-menu" style="width: 350px;" role="menu">
|
|
112
|
+
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
113
|
+
<input type="text" class="form-control" component="user/filter/search" placeholder="[[search:type-a-username]]">
|
|
114
|
+
<div component="user/filter/selected" class="d-flex flex-wrap gap-2">
|
|
115
|
+
{{{ each selected.targetUid }}}
|
|
116
|
+
<div class="d-flex px-2 py-1 rounded-1 text-bg-primary gap-2 align-items-center text-sm">
|
|
117
|
+
{buildAvatar(@value, "16px", true)} {./username}
|
|
118
|
+
<button type="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>
|
|
119
|
+
</div>
|
|
120
|
+
{{{ end }}}
|
|
121
|
+
</div>
|
|
122
|
+
<hr/>
|
|
123
|
+
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
124
|
+
{{{ each userFilterResults }}}
|
|
125
|
+
<button type="button" class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
126
|
+
{{{ end }}}
|
|
127
|
+
</div>
|
|
128
|
+
</li>
|
|
129
|
+
</ul>
|
|
130
|
+
</div>
|
|
131
|
+
</div>
|
|
132
|
+
|
|
133
|
+
<div class="mb-3">
|
|
134
|
+
<label class="form-label" for="filter-reporterId">[[flags:filter-reporterId]]</label>
|
|
135
|
+
<div component="flags/filter/reporterId" class="dropdown" data-filter-name="reporterId">
|
|
136
|
+
<a component="user/filter/button" class="filter-btn btn btn-sm border {{{ if filters.reporterId }}}btn-primary{{{ else }}}btn-light{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-haspopup="true" aria-expanded="false">
|
|
137
|
+
<span class="filter-label">[[flags:filter-reporterId]]</span>
|
|
138
|
+
<span class="caret"></span>
|
|
139
|
+
</a>
|
|
140
|
+
|
|
141
|
+
<ul class="dropdown-menu" style="width: 350px;" role="menu">
|
|
142
|
+
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
143
|
+
<input type="text" class="form-control" component="user/filter/search" placeholder="[[search:type-a-username]]">
|
|
144
|
+
<div component="user/filter/selected" class="d-flex flex-wrap gap-2">
|
|
145
|
+
{{{ each selected.reporterId }}}
|
|
146
|
+
<div class="d-flex px-2 py-1 rounded-1 text-bg-primary gap-2 align-items-center text-sm">
|
|
147
|
+
{buildAvatar(@value, "16px", true)} {./username}
|
|
148
|
+
<button type="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>
|
|
149
|
+
</div>
|
|
150
|
+
{{{ end }}}
|
|
151
|
+
</div>
|
|
152
|
+
<hr/>
|
|
153
|
+
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
154
|
+
{{{ each userFilterResults }}}
|
|
155
|
+
<button type="button" class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
156
|
+
{{{ end }}}
|
|
157
|
+
</div>
|
|
158
|
+
</li>
|
|
159
|
+
</ul>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
</fieldset>
|
|
163
|
+
|
|
164
|
+
<div class="d-grid gap-2">
|
|
165
|
+
{{{ if expanded }}}
|
|
166
|
+
<button type="button" class="btn btn-link" data-bs-toggle="collapse" data-bs-target="#more-filters" aria-controls="#more-filters" data-text-variant="[[flags:more-filters]] ">[[flags:fewer-filters]] <i class="fa fa-sort"></i></button>
|
|
167
|
+
{{{ else }}}
|
|
168
|
+
<button type="button" class="btn btn-link" data-bs-toggle="collapse" data-bs-target="#more-filters" aria-controls="#more-filters" data-text-variant="[[flags:fewer-filters]] ">[[flags:more-filters]] <i class="fa fa-sort"></i></button>
|
|
169
|
+
{{{ end }}}
|
|
170
|
+
<button type="button" id="apply-filters" class="btn btn-primary">[[flags:apply-filters]]</button>
|
|
171
|
+
</div>
|
|
172
|
+
</form>
|
|
173
|
+
</div>
|
|
174
174
|
</div>
|