nodebb-theme-harmony 1.0.0-beta.79 → 1.0.0-beta.80
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
package/scss/common.scss
CHANGED
|
@@ -111,12 +111,18 @@ body:not(.page-user) {
|
|
|
111
111
|
.btn-ghost {
|
|
112
112
|
@include btn-ghost-base();
|
|
113
113
|
line-height: 1.5rem;
|
|
114
|
+
> i {
|
|
115
|
+
line-height: 1.5rem;
|
|
116
|
+
}
|
|
114
117
|
}
|
|
115
118
|
|
|
116
119
|
.btn-ghost-sm {
|
|
117
120
|
@include btn-ghost-base();
|
|
118
121
|
font-size: 0.875rem;
|
|
119
122
|
line-height: 1.25rem;
|
|
123
|
+
> i {
|
|
124
|
+
line-height: 1.25rem;
|
|
125
|
+
}
|
|
120
126
|
}
|
|
121
127
|
|
|
122
128
|
.btn-outline {
|
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
<
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
</
|
|
12
|
-
</
|
|
1
|
+
<div component="flags/filters" class="d-flex flex-wrap gap-2 pb-3 border-bottom">
|
|
2
|
+
<div class="btn-group bottom-sheet">
|
|
3
|
+
<a class="filter-btn btn btn-light btn-sm border {{{ if filters.quick }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
|
4
|
+
<span class="filter-label">{{{ if filters.quick }}}[[flags:filter-quick-{./filters.quick}]]{{{ else }}}[[flags:quick-filters]]{{{ end }}}</span>
|
|
5
|
+
<span class="caret"></span>
|
|
6
|
+
</a>
|
|
7
|
+
<ul class="dropdown-menu">
|
|
8
|
+
<li>
|
|
9
|
+
<a class="dropdown-item" href="{config.relative_path}/flags?quick=mine">[[flags:filter-quick-mine]]</a>
|
|
10
|
+
</li>
|
|
11
|
+
</ul>
|
|
12
|
+
</div>
|
|
13
13
|
|
|
14
|
-
|
|
15
|
-
<!-- IMPORT partials/category/filter-dropdown-left.tpl -->
|
|
14
|
+
<!-- IMPORT partials/category/filter-dropdown-left.tpl -->
|
|
16
15
|
|
|
16
|
+
<div class="btn-group bottom-sheet">
|
|
17
17
|
<a class="filter-btn btn btn-light btn-sm border {{{ if (sort != "newest") }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
|
18
18
|
<span class="filter-label">{{{ if (sort != "newest") }}}[[flags:sort-{./sort}]]{{{ else }}}[[flags:sort]]{{{ end }}}</span>
|
|
19
19
|
<span class="caret"></span>
|
|
@@ -28,7 +28,9 @@
|
|
|
28
28
|
<li class="dropdown-item" data-name="sort" data-value="upvotes">[[flags:sort-upvotes]]</li>
|
|
29
29
|
<li class="dropdown-item" data-name="sort" data-value="replies">[[flags:sort-replies]]</li>
|
|
30
30
|
</ul>
|
|
31
|
+
</div>
|
|
31
32
|
|
|
33
|
+
<div class="btn-group bottom-sheet">
|
|
32
34
|
<a class="filter-btn btn btn-light btn-sm border {{{ if filters.state }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
|
33
35
|
<span class="filter-label">{{{ if filters.state }}}[[flags:state-{./filters.state}]]{{{ else }}}[[flags:filter-state]]{{{ end }}}</span>
|
|
34
36
|
<span class="caret"></span>
|
|
@@ -39,7 +41,9 @@
|
|
|
39
41
|
<li class="dropdown-item" data-name="state" data-value="resolved">[[flags:state-resolved]]</li>
|
|
40
42
|
<li class="dropdown-item" data-name="state" data-value="rejected">[[flags:state-rejected]]</li>
|
|
41
43
|
</ul>
|
|
44
|
+
</div>
|
|
42
45
|
|
|
46
|
+
<div class="btn-group bottom-sheet">
|
|
43
47
|
<a class="filter-btn btn btn-light btn-sm border {{{ if filters.type }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
|
44
48
|
<span class="filter-label">{{{ if filters.type }}}[[flags:filter-type-{./filters.type}]]{{{ else }}}[[flags:filter-type]]{{{ end }}}</span>
|
|
45
49
|
<span class="caret"></span>
|
|
@@ -49,96 +53,90 @@
|
|
|
49
53
|
<li class="dropdown-item" data-name="type" data-value="post">[[flags:filter-type-post]]</li>
|
|
50
54
|
<li class="dropdown-item" data-name="type" data-value="user">[[flags:filter-type-user]]</li>
|
|
51
55
|
</ul>
|
|
56
|
+
</div>
|
|
52
57
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
+
<div component="flags/filter/assignee" class="dropdown bottom-sheet" data-filter-name="assignee">
|
|
59
|
+
<a component="user/filter/button" class="filter-btn btn btn-light btn-sm border {{{ if filters.assignee }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
|
60
|
+
<span class="filter-label">[[flags:filter-assignee]]</span>
|
|
61
|
+
<span class="caret"></span>
|
|
62
|
+
</a>
|
|
58
63
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
</div>
|
|
68
|
-
{{{ end }}}
|
|
69
|
-
</div>
|
|
70
|
-
<hr/>
|
|
71
|
-
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
72
|
-
{{{ each userFilterResults }}}
|
|
73
|
-
<button class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
74
|
-
{{{ end }}}
|
|
64
|
+
<ul class="dropdown-menu" style="min-width: 350px;">
|
|
65
|
+
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
66
|
+
<input type="text" class="form-control" component="user/filter/search" placeholder="[[search:type-a-username]]">
|
|
67
|
+
<div component="user/filter/selected" class="d-flex flex-wrap gap-2">
|
|
68
|
+
{{{ each selected.assignee }}}
|
|
69
|
+
<div class="d-flex px-2 py-1 rounded-1 text-bg-primary gap-2 align-items-center text-sm">
|
|
70
|
+
{buildAvatar(@value, "16px", true)} {./username}
|
|
71
|
+
<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>
|
|
75
72
|
</div>
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
73
|
+
{{{ end }}}
|
|
74
|
+
</div>
|
|
75
|
+
<hr/>
|
|
76
|
+
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
77
|
+
{{{ each userFilterResults }}}
|
|
78
|
+
<button class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
79
|
+
{{{ end }}}
|
|
80
|
+
</div>
|
|
81
|
+
</li>
|
|
82
|
+
</ul>
|
|
83
|
+
</div>
|
|
79
84
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
+
<div component="flags/filter/reporterId" class="dropdown bottom-sheet" data-filter-name="reporterId">
|
|
86
|
+
<a component="user/filter/button" class="filter-btn btn btn-light btn-sm border {{{ if filters.reporterId }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
|
87
|
+
<span class="filter-label">[[flags:filter-reporterId]]</span>
|
|
88
|
+
<span class="caret"></span>
|
|
89
|
+
</a>
|
|
85
90
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
</div>
|
|
95
|
-
{{{ end }}}
|
|
91
|
+
<ul class="dropdown-menu" style="min-width: 350px;">
|
|
92
|
+
<li class="px-3 py-1 d-flex flex-column gap-2">
|
|
93
|
+
<input type="text" class="form-control" component="user/filter/search" placeholder="[[search:type-a-username]]">
|
|
94
|
+
<div component="user/filter/selected" class="d-flex flex-wrap gap-2">
|
|
95
|
+
{{{ each selected.reporterId }}}
|
|
96
|
+
<div class="d-flex px-2 py-1 rounded-1 text-bg-primary gap-2 align-items-center text-sm">
|
|
97
|
+
{buildAvatar(@value, "16px", true)} {./username}
|
|
98
|
+
<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>
|
|
96
99
|
</div>
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
</
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
100
|
+
{{{ end }}}
|
|
101
|
+
</div>
|
|
102
|
+
<hr/>
|
|
103
|
+
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
104
|
+
{{{ each userFilterResults }}}
|
|
105
|
+
<button class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
106
|
+
{{{ end }}}
|
|
107
|
+
</div>
|
|
108
|
+
</li>
|
|
109
|
+
</ul>
|
|
110
|
+
</div>
|
|
106
111
|
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
+
<div component="flags/filter/targetUid" class="dropdown bottom-sheet" data-filter-name="targetUid">
|
|
113
|
+
<a component="user/filter/button" class="filter-btn btn btn-light btn-sm border {{{ if filters.targetUid }}}active-filter{{{ end }}} dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" data-bs-auto-close="outside" aria-expanded="false">
|
|
114
|
+
<span class="filter-label">[[flags:filter-targetUid]]</span>
|
|
115
|
+
<span class="caret"></span>
|
|
116
|
+
</a>
|
|
112
117
|
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
</div>
|
|
122
|
-
{{{ end }}}
|
|
123
|
-
</div>
|
|
124
|
-
<hr/>
|
|
125
|
-
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
126
|
-
{{{ each userFilterResults }}}
|
|
127
|
-
<button class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
128
|
-
{{{ end }}}
|
|
118
|
+
<ul class="dropdown-menu" style="min-width: 350px;">
|
|
119
|
+
<li class="px-3 py-1 d-flex flex-column">
|
|
120
|
+
<input type="text" class="form-control" component="user/filter/search" placeholder="[[search:type-a-username]]">
|
|
121
|
+
<div component="user/filter/selected" class="d-flex flex-wrap gap-2">
|
|
122
|
+
{{{ each selected.targetUid }}}
|
|
123
|
+
<div class="d-flex px-2 py-1 rounded-1 text-bg-primary gap-2 align-items-center text-sm">
|
|
124
|
+
{buildAvatar(@value, "16px", true)} {./username}
|
|
125
|
+
<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>
|
|
129
126
|
</div>
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
127
|
+
{{{ end }}}
|
|
128
|
+
</div>
|
|
129
|
+
<hr/>
|
|
130
|
+
<div component="user/filter/results" class="d-flex flex-wrap gap-2">
|
|
131
|
+
{{{ each userFilterResults }}}
|
|
132
|
+
<button class="btn btn-light btn-sm border" data-uid="{./uid}" data-username="{./username}">{buildAvatar(@value, "16px", true)} {./username}</button>
|
|
133
|
+
{{{ end }}}
|
|
134
|
+
</div>
|
|
135
|
+
</li>
|
|
136
|
+
</ul>
|
|
139
137
|
</div>
|
|
140
138
|
|
|
141
|
-
<div component="flags/filters/reset">
|
|
139
|
+
<div component="flags/filters/reset" class="ms-auto">
|
|
142
140
|
<a class="filter-btn btn btn-warning btn-sm border {{{ if !hasFilter }}}btn-light disabled{{{ end }}}" href="{config.relative_path}/flags" role="button">
|
|
143
141
|
<span class="filter-label">[[flags:filter-reset]]</span>
|
|
144
142
|
</a>
|
|
@@ -153,4 +151,10 @@
|
|
|
153
151
|
<li><a href="#" class="dropdown-item" data-action="bulk-mark-resolved">[[flags:bulk-resolve]]</a></li>
|
|
154
152
|
</ul>
|
|
155
153
|
</div>
|
|
154
|
+
|
|
155
|
+
<form role="form">
|
|
156
|
+
<input type="hidden" name="sort" value="{./sort}" />
|
|
157
|
+
<input type="hidden" name="state" value="{./filters.state}" />
|
|
158
|
+
<input type="hidden" name="type" value="{./filters.type}" />
|
|
159
|
+
</form>
|
|
156
160
|
</div>
|
package/templates/post-queue.tpl
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<!-- IMPORT partials/breadcrumbs.tpl -->
|
|
2
2
|
|
|
3
|
-
{{{ if (!singlePost && posts.length) }}}
|
|
4
3
|
<div class="btn-toolbar justify-content-end">
|
|
5
4
|
<div class="me-2">
|
|
6
5
|
<!-- IMPORT partials/category/filter-dropdown-right.tpl -->
|
|
7
6
|
</div>
|
|
7
|
+
{{{ if (!singlePost && posts.length) }}}
|
|
8
8
|
<div class="btn-group bottom-sheet" component="post-queue/bulk-actions">
|
|
9
9
|
<button type="button" class="btn-ghost-sm dropdown-toggle" data-bs-toggle="dropdown" autocomplete="off" aria-haspopup="true" aria-expanded="false">
|
|
10
10
|
<i class="fa fa-clone"></i><span class="fw-semibold"> [[post-queue:bulk-actions]]</span>
|
|
@@ -22,99 +22,110 @@
|
|
|
22
22
|
{{{ end }}}
|
|
23
23
|
</ul>
|
|
24
24
|
</div>
|
|
25
|
+
{{{ end }}}
|
|
25
26
|
</div>
|
|
26
27
|
|
|
27
|
-
<
|
|
28
|
-
{{{
|
|
29
|
-
|
|
30
|
-
<div class="
|
|
31
|
-
|
|
32
|
-
<
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
<p class="mb-0 me-auto">[[post-queue:no-single-post]]</p>
|
|
42
|
-
<a class="btn btn-sm btn-primary" href=".">[[post-queue:back-to-list]]</a>
|
|
43
|
-
</div>
|
|
44
|
-
{{{ end }}}
|
|
45
|
-
{{{ end }}}
|
|
28
|
+
<div class="post-queue posts-list">
|
|
29
|
+
{{{ if (!posts.length && isAdmin) }}}
|
|
30
|
+
{{{ if !singlePost }}}
|
|
31
|
+
<div class="alert alert-info">
|
|
32
|
+
[[post-queue:no-queued-posts]]
|
|
33
|
+
{{{ if !enabled }}}<p>[[post-queue:enabling-help, {config.relative_path}/admin/settings/post#post-queue]]</p>{{{ end }}}
|
|
34
|
+
</div>
|
|
35
|
+
{{{ else }}}
|
|
36
|
+
<div class="alert alert-info d-flex align-items-center">
|
|
37
|
+
<p class="mb-0 me-auto">[[post-queue:no-single-post]]</p>
|
|
38
|
+
<a class="btn btn-sm btn-primary" href=".">[[post-queue:back-to-list]]</a>
|
|
39
|
+
</div>
|
|
40
|
+
{{{ end }}}
|
|
41
|
+
{{{ end }}}
|
|
46
42
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
43
|
+
{{{ each posts }}}
|
|
44
|
+
<div class="card mb-4" data-id="{./id}">
|
|
45
|
+
<div class="row g-0">
|
|
46
|
+
<div class="col-md-2 bg-light">
|
|
47
|
+
<ul class="list-unstyled ps-0 mb-0 border-end">
|
|
48
|
+
<li class="card-body border-bottom position-relative">
|
|
49
|
+
{{{ if !singlePost }}}
|
|
50
|
+
<input id="{./id}" type="checkbox" class="form-check-input" autocomplete="off" />
|
|
51
|
+
{{{ end }}}
|
|
52
|
+
<label for="{./id}" class="small stretched-link">
|
|
53
|
+
{{{ if posts.data.tid }}}[[post-queue:reply]]{{{ else }}}[[post-queue:topic]]{{{ end }}}
|
|
54
|
+
</label>
|
|
55
|
+
</li>
|
|
56
|
+
<li class="card-body border-bottom">
|
|
57
|
+
<div class="text-xs fw-semibold mb-1">[[post-queue:user]]</div>
|
|
58
|
+
<div class="small">
|
|
59
|
+
{{{ if posts.user.userslug}}}
|
|
60
|
+
<a class="text-decoration-none" href="{config.relative_path}/uid/{posts.user.uid}">{buildAvatar(posts.user, "24px", true, "not-responsive")} {posts.user.username}</a>
|
|
61
|
+
{{{ else }}}
|
|
62
|
+
{posts.user.username}
|
|
63
|
+
{{{ end }}}
|
|
67
64
|
</div>
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
</a>
|
|
77
|
-
</div>
|
|
65
|
+
</li>
|
|
66
|
+
<li class="card-body border-bottom">
|
|
67
|
+
<div class="text-xs fw-semibold mb-1">[[post-queue:when]]</div>
|
|
68
|
+
<span class="small timeago" title={posts.data.timestampISO}></span>
|
|
69
|
+
</li>
|
|
70
|
+
<li class="card-body border-bottom">
|
|
71
|
+
<div class="text-xs fw-semibold mb-1">
|
|
72
|
+
{{{ if posts.data.tid }}}[[post-queue:topic]]{{{ else }}}[[post-queue:title]] <i class="fa fa-fw fa-edit" data-bs-toggle="tooltip" title="[[post-queue:title-editable]]"></i>{{{ end }}}
|
|
78
73
|
</div>
|
|
79
|
-
<
|
|
80
|
-
|
|
81
|
-
<
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
{
|
|
88
|
-
<div class="topic-title-editable hidden">
|
|
89
|
-
<input class="form-control" type="text" value="{posts.data.title}"/>
|
|
90
|
-
</div>
|
|
91
|
-
{{{end}}}
|
|
74
|
+
<span class="small topic-title text-break">
|
|
75
|
+
{{{ if posts.data.tid }}}
|
|
76
|
+
<a href="{config.relative_path}/topic/{posts.data.tid}">{posts.topic.title}</a>
|
|
77
|
+
{{{ end }}}
|
|
78
|
+
<span class="title-text">{posts.data.title}</span>
|
|
79
|
+
</span>
|
|
80
|
+
{{{if !posts.data.tid}}}
|
|
81
|
+
<div class="topic-title-editable hidden">
|
|
82
|
+
<input class="form-control" type="text" value="{posts.data.title}"/>
|
|
92
83
|
</div>
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
<
|
|
96
|
-
<
|
|
97
|
-
|
|
98
|
-
<div class="post-content-editable hidden">
|
|
99
|
-
<textarea class="form-control w-100" style="height:300px;">{posts.data.rawContent}</textarea>
|
|
84
|
+
{{{end}}}
|
|
85
|
+
</li>
|
|
86
|
+
<li class="card-body">
|
|
87
|
+
<div class="text-xs fw-semibold mb-1">
|
|
88
|
+
[[post-queue:category]]{{{ if posts.data.cid}}} <i class="fa fa-fw fa-edit" data-bs-toggle="tooltip" title="[[post-queue:category-editable]]"></i>{{{ end }}}
|
|
100
89
|
</div>
|
|
101
|
-
|
|
90
|
+
<div class="topic-category small" {{{if posts.data.cid}}}data-editable="editable"{{{end}}}">
|
|
91
|
+
<a href="{config.relative_path}/category/{posts.category.slug}">
|
|
92
|
+
<div class="category-item d-inline-block">
|
|
93
|
+
{buildCategoryIcon(./category, "24px", "rounded-circle")}
|
|
94
|
+
{posts.category.name}
|
|
95
|
+
</div>
|
|
96
|
+
</a>
|
|
97
|
+
</div>
|
|
98
|
+
</li>
|
|
99
|
+
</ul>
|
|
100
|
+
</div>
|
|
101
|
+
<div class="col-md-10 d-flex flex-column">
|
|
102
|
+
<div class="post-content mb-auto text-break p-3 pb-0 h-100">{posts.data.content}</div>
|
|
103
|
+
<div class="post-content-editable hidden">
|
|
104
|
+
<textarea class="form-control w-100" style="height:300px;">{posts.data.rawContent}</textarea>
|
|
102
105
|
</div>
|
|
103
|
-
<div class="
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
</div>
|
|
106
|
+
<div class="border-top p-3 d-grid d-md-flex gap-2">
|
|
107
|
+
{{{ if canAccept }}}
|
|
108
|
+
<button class="btn btn-success btn-sm" data-action="accept"><i class="fa fa-fw fa-check"></i> [[post-queue:accept]] </button>
|
|
109
|
+
<button class="btn btn-info btn-sm" data-action="notify"><i class="fa fa-fw fa-bell-o"></i> [[post-queue:notify]]</button>
|
|
110
|
+
<button class="btn btn-danger btn-sm" data-action="reject"><i class="fa fa-fw fa-times"></i> [[post-queue:reject]]</button>
|
|
111
|
+
{{{ else }}}
|
|
112
|
+
<button class="btn btn-danger btn-sm" data-action="reject"><i class="fa fa-fw fa-times"></i> [[post-queue:remove]]</button>
|
|
113
|
+
{{{ end }}}
|
|
114
|
+
<span class="d-none d-md-inline ms-auto align-self-center text-xs fw-semibold">[[post-queue:content-editable]]</span>
|
|
113
115
|
</div>
|
|
114
116
|
</div>
|
|
115
|
-
{{{ end }}}
|
|
116
117
|
</div>
|
|
118
|
+
<div class="card-body" style="display: none;">
|
|
119
|
+
<div>
|
|
120
|
+
<strong>[[post-queue:content]] <i class="fa fa-fw fa-edit" data-bs-toggle="tooltip" title="[[post-queue:content-editable]]"></i></strong>
|
|
117
121
|
|
|
118
|
-
|
|
122
|
+
</div>
|
|
123
|
+
</div>
|
|
124
|
+
<div class="card-footer text-end" style="display: none;">
|
|
125
|
+
|
|
126
|
+
</div>
|
|
119
127
|
</div>
|
|
120
|
-
|
|
128
|
+
{{{ end }}}
|
|
129
|
+
</div>
|
|
130
|
+
|
|
131
|
+
<!-- IMPORT partials/paginator.tpl -->
|