nodebb-theme-harmony 0.0.9 → 0.0.11
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 -1
- package/lib/controllers.js +15 -0
- package/library.js +63 -6
- package/package.json +1 -1
- package/plugin.json +5 -1
- package/public/settings.js +28 -0
- package/scss/account.scss +0 -3
- package/scss/common.scss +6 -0
- package/scss/modules/bottom-sheet.scss +1 -1
- package/scss/modules/topic-navigator.scss +0 -6
- package/scss/sidebar.scss +18 -16
- package/templates/account/blocks.tpl +2 -2
- package/templates/account/categories.tpl +27 -21
- package/templates/account/consent.tpl +10 -64
- package/templates/account/edit/password.tpl +29 -24
- package/templates/account/edit/username.tpl +25 -20
- package/templates/account/edit.tpl +110 -115
- package/templates/account/followers.tpl +2 -3
- package/templates/account/following.tpl +2 -3
- package/templates/account/groups.tpl +2 -3
- package/templates/account/info.tpl +206 -204
- package/templates/account/posts.tpl +4 -4
- package/templates/account/profile.tpl +9 -9
- package/templates/account/sessions.tpl +3 -6
- package/templates/account/settings.tpl +193 -206
- package/templates/account/theme.tpl +25 -21
- package/templates/account/topics.tpl +17 -16
- package/templates/account/uploads.tpl +4 -8
- package/templates/admin/plugins/harmony.tpl +4 -0
- package/templates/groups/details.tpl +3 -20
- package/templates/groups/list.tpl +10 -9
- package/templates/header.tpl +3 -21
- package/templates/login.tpl +1 -1
- package/templates/notifications.tpl +4 -4
- package/templates/partials/account/header.tpl +58 -47
- package/templates/partials/account/sidebar-left.tpl +19 -12
- package/templates/partials/buttons/newTopic.tpl +1 -3
- package/templates/partials/categories/item.tpl +1 -8
- package/templates/partials/category/sort.tpl +3 -3
- package/templates/partials/category/subcategory.tpl +1 -1
- package/templates/partials/category/tools.tpl +3 -3
- package/templates/partials/category/watch.tpl +7 -7
- package/templates/partials/category-filter-content.tpl +4 -4
- package/templates/partials/category-selector-content.tpl +10 -9
- package/templates/partials/chats/message-window.tpl +9 -7
- package/templates/partials/groups/admin.tpl +3 -5
- package/templates/partials/groups/sidebar-left.tpl +1 -1
- package/templates/partials/header/brand.tpl +19 -0
- package/templates/partials/notifications_list.tpl +5 -5
- package/templates/partials/post_bar.tpl +5 -5
- package/templates/partials/sidebar/logged-in-menu.tpl +23 -0
- package/templates/partials/sidebar/user-menu.tpl +1 -1
- package/templates/partials/sidebar-left.tpl +1 -1
- package/templates/partials/sidebar-right.tpl +1 -23
- package/templates/partials/tags_list.tpl +3 -2
- package/templates/partials/topic/navigator.tpl +2 -2
- package/templates/partials/topic/post-menu.tpl +2 -4
- package/templates/partials/topic/post.tpl +13 -13
- package/templates/partials/topic/reply-button.tpl +3 -3
- package/templates/partials/topic/sort.tpl +3 -3
- package/templates/partials/topic/tools.tpl +3 -3
- package/templates/partials/topic/watch.tpl +17 -16
- package/templates/partials/topic-filters.tpl +3 -3
- package/templates/partials/topic-list-bar.tpl +8 -12
- package/templates/partials/topic-terms.tpl +3 -3
- package/templates/partials/topics_list.tpl +4 -4
- package/templates/partials/users/item.tpl +27 -25
- package/templates/partials/users_list_menu.tpl +1 -1
- package/templates/search.tpl +0 -2
- package/templates/tags.tpl +12 -8
- package/templates/topic.tpl +1 -3
- package/templates/users.tpl +4 -5
|
@@ -1,228 +1,230 @@
|
|
|
1
|
-
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
-
|
|
3
1
|
<div class="account">
|
|
4
2
|
<!-- IMPORT partials/account/header.tpl -->
|
|
5
3
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<div class="
|
|
9
|
-
|
|
10
|
-
<
|
|
11
|
-
|
|
12
|
-
<
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
<!-- ENDIF sessions.length -->
|
|
33
|
-
|
|
34
|
-
<div class="row">
|
|
35
|
-
<div class="col-sm-6">
|
|
36
|
-
<div class="card mb-3">
|
|
37
|
-
<h5 class="card-header">
|
|
38
|
-
[[global:recentips]]
|
|
39
|
-
</h5>
|
|
40
|
-
<div class="card-body">
|
|
41
|
-
<ul>
|
|
42
|
-
{{{each ips}}}
|
|
43
|
-
<li>{@value}</li>
|
|
44
|
-
{{{end}}}
|
|
45
|
-
</ul>
|
|
46
|
-
</div>
|
|
4
|
+
<div class="d-flex flex-column flex-md-row">
|
|
5
|
+
<!-- IMPORT partials/account/sidebar-left.tpl -->
|
|
6
|
+
<div class="flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
|
|
7
|
+
{{{ if sessions.length }}}
|
|
8
|
+
<div class="mb-3">
|
|
9
|
+
<h4>[[global:sessions]]</h4>
|
|
10
|
+
<ul class="list-group" component="user/sessions">
|
|
11
|
+
{{{each sessions}}}
|
|
12
|
+
<li class="list-group-item" data-uuid="{../uuid}">
|
|
13
|
+
<div class="float-end">
|
|
14
|
+
<!-- IF isSelfOrAdminOrGlobalModerator -->
|
|
15
|
+
<!-- IF !../current -->
|
|
16
|
+
<button class="btn btn-sm btn-outline-secondary" type="button" data-action="revokeSession">Revoke Session</button>
|
|
17
|
+
<!-- ENDIF !../current -->
|
|
18
|
+
<!-- ENDIF isSelfOrAdminOrGlobalModerator -->
|
|
19
|
+
{function.userAgentIcons}
|
|
20
|
+
<i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
|
|
21
|
+
</div>
|
|
22
|
+
{../browser} {../version} on {../platform}<br />
|
|
23
|
+
<small class="timeago text-muted" title="{../datetimeISO}"></small>
|
|
24
|
+
<ul>
|
|
25
|
+
<li><strong>[[global:ip_address]]</strong>: {../ip}</li>
|
|
26
|
+
</ul>
|
|
27
|
+
</li>
|
|
28
|
+
{{{end}}}
|
|
29
|
+
</ul>
|
|
47
30
|
</div>
|
|
31
|
+
{{{ end }}}
|
|
48
32
|
|
|
49
|
-
<div class="
|
|
50
|
-
<
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
</div>
|
|
33
|
+
<div class="row">
|
|
34
|
+
<div class="col-sm-6 mb-3">
|
|
35
|
+
<div class="card mb-3">
|
|
36
|
+
<h5 class="card-header">
|
|
37
|
+
[[global:recentips]]
|
|
38
|
+
</h5>
|
|
39
|
+
<div class="card-body">
|
|
40
|
+
<ul>
|
|
41
|
+
{{{each ips}}}
|
|
42
|
+
<li>{@value}</li>
|
|
43
|
+
{{{end}}}
|
|
44
|
+
</ul>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
64
47
|
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
{{{
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
{{{ end }}}
|
|
97
|
-
<span class="timestamp">[[flags:flagged-timeago-readable, {../timestampISO}, {../timestampReadable}]]</span>
|
|
98
|
-
</p>
|
|
99
|
-
</li>
|
|
100
|
-
{{{end}}}
|
|
101
|
-
</ul>
|
|
102
|
-
<!-- ELSE -->
|
|
103
|
-
<div class="alert alert-success">[[user:info.no-flags]]</div>
|
|
104
|
-
<!-- ENDIF history.flags.length -->
|
|
48
|
+
<div class="card mb-3">
|
|
49
|
+
<h5 class="card-header">
|
|
50
|
+
[[user:info.username-history]]
|
|
51
|
+
</h5>
|
|
52
|
+
<div class="card-body">
|
|
53
|
+
<ul class="list-group">
|
|
54
|
+
{{{each usernames}}}
|
|
55
|
+
<li class="list-group-item">
|
|
56
|
+
{../value}
|
|
57
|
+
<small class="float-end"><span class="timeago" title="{../timestampISO}"></span></small>
|
|
58
|
+
</li>
|
|
59
|
+
{{{end}}}
|
|
60
|
+
</ul>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
|
|
64
|
+
<div class="card">
|
|
65
|
+
<h5 class="card-header">
|
|
66
|
+
[[user:info.email-history]]
|
|
67
|
+
</h5>
|
|
68
|
+
<div class="card-body">
|
|
69
|
+
<ul class="list-group">
|
|
70
|
+
{{{each emails}}}
|
|
71
|
+
<li class="list-group-item">
|
|
72
|
+
{../value}
|
|
73
|
+
<small class="float-end"><span class="timeago" title="{../timestampISO}"></span></small>
|
|
74
|
+
</li>
|
|
75
|
+
{{{end}}}
|
|
76
|
+
</ul>
|
|
77
|
+
</div>
|
|
78
|
+
</div>
|
|
105
79
|
</div>
|
|
106
|
-
|
|
80
|
+
<div class="col-sm-6 mb-3">
|
|
81
|
+
<div class="card mb-3">
|
|
82
|
+
<h5 class="card-header">
|
|
83
|
+
[[user:info.latest-flags]]
|
|
84
|
+
</h5>
|
|
85
|
+
<div class="card-body">
|
|
86
|
+
<!-- IF history.flags.length -->
|
|
87
|
+
<ul class="recent-flags list-unstyled">
|
|
88
|
+
{{{each history.flags}}}
|
|
89
|
+
<li>
|
|
90
|
+
<p>
|
|
91
|
+
{{{ if history.flags.targetPurged }}}
|
|
92
|
+
<div>[[flags:target-purged]]</div>
|
|
93
|
+
{{{ else }}}
|
|
94
|
+
<a class="title" href="{config.relative_path}/post/{../pid}">{../title}</a><br />
|
|
95
|
+
{{{ end }}}
|
|
96
|
+
<span class="timestamp">[[flags:flagged-timeago-readable, {../timestampISO}, {../timestampReadable}]]</span>
|
|
97
|
+
</p>
|
|
98
|
+
</li>
|
|
99
|
+
{{{end}}}
|
|
100
|
+
</ul>
|
|
101
|
+
<!-- ELSE -->
|
|
102
|
+
<div class="alert alert-success">[[user:info.no-flags]]</div>
|
|
103
|
+
<!-- ENDIF history.flags.length -->
|
|
104
|
+
</div>
|
|
105
|
+
</div>
|
|
107
106
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
107
|
+
<div class="card mb-3">
|
|
108
|
+
<h5 class="card-header">
|
|
109
|
+
[[user:info.ban-history]]
|
|
111
110
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
111
|
+
<!-- IF !banned -->
|
|
112
|
+
<!-- IF !isSelf -->
|
|
113
|
+
<button class="btn btn-sm float-end btn-danger" component="account/ban">[[user:ban_account]]</button>
|
|
114
|
+
<!-- ENDIF !isSelf -->
|
|
115
|
+
<!-- ELSE -->
|
|
116
|
+
<!-- IF !isSelf -->
|
|
117
|
+
<button class="btn btn-sm float-end btn-success" component="account/unban">[[user:unban_account]]</button>
|
|
118
|
+
<!-- ENDIF !isSelf -->
|
|
119
|
+
<!-- ENDIF !banned -->
|
|
120
|
+
</h5>
|
|
121
|
+
<div class="card-body">
|
|
122
|
+
<!-- IF history.bans.length -->
|
|
123
|
+
<ul class="ban-history list-unstyled">
|
|
124
|
+
{{{each history.bans}}}
|
|
125
|
+
<li>
|
|
126
|
+
<p>
|
|
127
|
+
<a href="{config.relative_path}/user/{history.bans.user.userslug}">{buildAvatar(history.bans.user, "24px", true)}</a>
|
|
128
|
+
<strong>
|
|
129
|
+
<a href="<!-- IF history.bans.user.userslug -->{config.relative_path}/user/{history.bans.user.userslug}<!-- ELSE -->#<!-- ENDIF history.bans.user.userslug -->" itemprop="author" data-username="{history.bans.user.username}" data-uid="{history.bans.user.uid}">{history.bans.user.username}</a>
|
|
130
|
+
</strong>
|
|
131
|
+
<span class="timestamp timeago" title="{../timestampISO}"></span> — {../timestampReadable}<br />
|
|
132
|
+
<!-- IF ../until -->
|
|
133
|
+
<span class="expiry">[[user:info.banned-until, {../untilReadable}]]</span><br />
|
|
134
|
+
<!-- ELSE -->
|
|
135
|
+
<span class="expiry">[[user:info.banned-permanently]]</span><br />
|
|
136
|
+
<!-- ENDIF ../until -->
|
|
137
|
+
<span class="reason"><strong>[[user:info.banned-reason-label]]</strong>: {../reason}</span>
|
|
138
|
+
</p>
|
|
139
|
+
</li>
|
|
140
|
+
{{{end}}}
|
|
141
|
+
</ul>
|
|
142
|
+
<!-- ELSE -->
|
|
143
|
+
<div class="alert alert-success">[[user:info.no-ban-history]]</div>
|
|
144
|
+
<!-- ENDIF history.bans.length -->
|
|
145
|
+
</div>
|
|
146
|
+
</div>
|
|
148
147
|
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
148
|
+
<div class="card mb-3">
|
|
149
|
+
<h5 class="card-header">
|
|
150
|
+
[[user:info.mute-history]]
|
|
152
151
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
152
|
+
{{{ if !muted }}}
|
|
153
|
+
{{{ if !isSelf }}}
|
|
154
|
+
<button class="btn btn-sm float-end btn-danger" component="account/mute">[[user:mute_account]]</button>
|
|
155
|
+
{{{ end }}}
|
|
156
|
+
{{{ else }}}
|
|
157
|
+
{{{ if !isSelf }}}
|
|
158
|
+
<button class="btn btn-sm float-end btn-success" component="account/unmute">[[user:unmute_account]]</button>
|
|
159
|
+
{{{ end }}}
|
|
160
|
+
{{{ end }}}
|
|
161
|
+
</h5>
|
|
162
|
+
<div class="card-body">
|
|
163
|
+
{{{ if history.mutes.length }}}
|
|
164
|
+
<ul class="ban-history list-unstyled">
|
|
165
|
+
{{{ each history.mutes }}}
|
|
166
|
+
<li>
|
|
167
|
+
<p>
|
|
168
|
+
<a href="{config.relative_path}/user/{history.mutes.user.userslug}">{buildAvatar(history.mutes.user, "24px", true)}</a>
|
|
169
|
+
<strong>
|
|
170
|
+
<a href="<!-- IF history.mutes.user.userslug -->{config.relative_path}/user/{history.mutes.user.userslug}<!-- ELSE -->#<!-- ENDIF history.mutes.user.userslug -->" itemprop="author" data-username="{history.mutes.user.username}" data-uid="{history.mutes.user.uid}">{history.mutes.user.username}</a>
|
|
171
|
+
</strong>
|
|
172
|
+
<span class="timestamp timeago" title="{../timestampISO}"></span> — {../timestampReadable}<br />
|
|
173
|
+
{{{ if ../until }}}
|
|
174
|
+
<span class="expiry">[[user:info.muted-until, {../untilReadable}]]</span><br />
|
|
175
|
+
{{{ end }}}
|
|
177
176
|
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
177
|
+
<span class="reason"><strong>[[user:info.banned-reason-label]]</strong>: {../reason}</span>
|
|
178
|
+
</p>
|
|
179
|
+
</li>
|
|
180
|
+
{{{end}}}
|
|
181
|
+
</ul>
|
|
182
|
+
{{{ else }}}
|
|
183
|
+
<div class="alert alert-success">[[user:info.no-mute-history]]</div>
|
|
184
|
+
{{{ end }}}
|
|
185
|
+
</div>
|
|
186
|
+
</div>
|
|
188
187
|
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
188
|
+
<!-- IF isAdminOrGlobalModerator -->
|
|
189
|
+
<div class="card">
|
|
190
|
+
<h5 class="card-header">
|
|
191
|
+
[[user:info.moderation-note]]
|
|
192
|
+
</h5>
|
|
193
|
+
<div class="card-body">
|
|
194
|
+
<textarea component="account/moderation-note" class="form-control"></textarea>
|
|
195
|
+
<br/>
|
|
196
|
+
<button class="btn btn-sm float-end btn-success" component="account/save-moderation-note">[[user:info.moderation-note.add]]</button>
|
|
197
|
+
<br/>
|
|
198
|
+
<div component="account/moderation-note/list">
|
|
199
|
+
{{{each moderationNotes}}}
|
|
200
|
+
<hr/>
|
|
202
201
|
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
202
|
+
<div class="clearfix">
|
|
203
|
+
<div class="float-start">
|
|
204
|
+
<a href="<!-- IF moderationNotes.user.userslug -->{config.relative_path}/user/{moderationNotes.user.userslug}<!-- ELSE -->#<!-- ENDIF moderationNotes.user.userslug -->">{buildAvatar(moderationNotes.user, "24px", true)}</a>
|
|
205
|
+
<strong>
|
|
206
|
+
<a href="<!-- IF moderationNotes.user.userslug -->{config.relative_path}/user/{moderationNotes.user.userslug}<!-- ELSE -->#<!-- ENDIF moderationNotes.user.userslug -->" itemprop="author" data-username="{moderationNotes.user.username}" data-uid="{moderationNotes.user.uid}">{moderationNotes.user.username}</a>
|
|
207
|
+
</strong>
|
|
209
208
|
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
209
|
+
<div class="visible-xs-inline-block visible-sm-inline-block visible-md-inline-block visible-lg-inline-block">
|
|
210
|
+
<span class="timeago" title="{moderationNotes.timestampISO}"></span>
|
|
211
|
+
</div>
|
|
212
|
+
<br />
|
|
214
213
|
|
|
215
|
-
|
|
216
|
-
|
|
214
|
+
<div class="content">
|
|
215
|
+
{moderationNotes.note}
|
|
216
|
+
</div>
|
|
217
|
+
</div>
|
|
217
218
|
</div>
|
|
219
|
+
{{{end}}}
|
|
218
220
|
</div>
|
|
221
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
219
222
|
</div>
|
|
220
|
-
{{{end}}}
|
|
221
223
|
</div>
|
|
222
|
-
<!--
|
|
224
|
+
<!-- ENDIF isAdminOrGlobalModerator -->
|
|
223
225
|
</div>
|
|
224
226
|
</div>
|
|
225
|
-
<!-- ENDIF isAdminOrGlobalModerator -->
|
|
226
227
|
</div>
|
|
227
228
|
</div>
|
|
228
|
-
</div>
|
|
229
|
+
</div>
|
|
230
|
+
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
<div class="account">
|
|
2
2
|
<!-- IMPORT partials/account/header.tpl -->
|
|
3
3
|
|
|
4
|
-
<div class="
|
|
4
|
+
<div class="d-flex flex-column flex-md-row">
|
|
5
5
|
<!-- IMPORT partials/account/sidebar-left.tpl -->
|
|
6
|
-
<div class="
|
|
7
|
-
<div class="d-flex justify-content-between align-items-center mb-3">
|
|
6
|
+
<div class="flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
|
|
7
|
+
<div class="d-flex flex-wrap justify-content-between align-items-center gap-2 mb-3">
|
|
8
8
|
<h3 class="fw-semibold fs-5 mb-0">[[global:posts]]</h3>
|
|
9
|
-
<div class="d-flex gap-1">
|
|
9
|
+
<div class="d-flex flex-wrap gap-1">
|
|
10
10
|
<a href="{config.relative_path}/user/{userslug}/posts" class="btn-ghost-sm fw-semibold {{{ if template.account/posts }}}active{{{ end }}}">[[global:header.recent]]</a>
|
|
11
11
|
{{{ if !reputation:disabled }}}
|
|
12
12
|
<a href="{config.relative_path}/user/{userslug}/best"class="btn-ghost-sm fw-semibold {{{ if template.account/best }}}active{{{ end }}}">[[global:best]]</a>
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
<div class="account mx-auto">
|
|
2
2
|
<!-- IMPORT partials/account/header.tpl -->
|
|
3
3
|
|
|
4
|
-
<div class="
|
|
4
|
+
<div class="d-flex flex-column flex-md-row">
|
|
5
5
|
<!-- IMPORT partials/account/sidebar-left.tpl -->
|
|
6
6
|
|
|
7
|
-
<div class="
|
|
7
|
+
<div class="flex-1 ps-md-2 ps-lg-5">
|
|
8
8
|
{{{ if aboutme }}}
|
|
9
9
|
<div component="aboutme" class="text-sm">
|
|
10
10
|
{aboutmeParsed}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
{{{ end }}}
|
|
13
13
|
|
|
14
14
|
<div class="account-stats container">
|
|
15
|
-
<div class="row row-cols-2 row-cols-
|
|
15
|
+
<div class="row row-cols-2 row-cols-xl-3 row-cols-xxl-4 g-2">
|
|
16
16
|
{{{ if !reputation:disabled }}}
|
|
17
17
|
<div class="stat">
|
|
18
18
|
<div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100">
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
|
|
32
32
|
<div class="stat">
|
|
33
33
|
<div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
|
|
34
|
-
<span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-
|
|
34
|
+
<span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-user-plus"></i> <span>[[user:joined]]</span></span>
|
|
35
35
|
<span class="timeago fs-6 ff-secondary" title="{joindateISO}"></span>
|
|
36
36
|
</div>
|
|
37
37
|
</div>
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
<div class="stat">
|
|
40
40
|
<div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
|
|
41
41
|
<span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-clock"></i> <span>[[user:lastonline]]</span></span>
|
|
42
|
-
<span class="timeago fs-6 ff-secondary" title="{lastonlineISO}"></span>
|
|
42
|
+
<span class="timeago text-center text-break w-100 px-2 fs-6 ff-secondary" title="{lastonlineISO}"></span>
|
|
43
43
|
</div>
|
|
44
44
|
</div>
|
|
45
45
|
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
<div class="stat">
|
|
48
48
|
<div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
|
|
49
49
|
<span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-envelope"></i> <span>[[user:email]]</span> {{{ if emailHidden}}}<span class="text-lowercase">([[global:hidden]])</span>{{{ end }}}</span>
|
|
50
|
-
<span class="text-sm text-break ff-secondary">{email}</span>
|
|
50
|
+
<span class="text-sm text-center text-break w-100 px-2 ff-secondary">{email}</span>
|
|
51
51
|
</div>
|
|
52
52
|
</div>
|
|
53
53
|
{{{ end }}}
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
<div class="stat">
|
|
57
57
|
<div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
|
|
58
58
|
<span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-globe"></i> <span>[[user:website]]</span></span>
|
|
59
|
-
<a class="text-sm text-break ff-secondary text-underline text-reset" href="{websiteLink}" rel="nofollow noopener noreferrer">{websiteName}</a>
|
|
59
|
+
<a class="text-sm text-center text-break w-100 px-2 ff-secondary text-underline text-reset" href="{websiteLink}" rel="nofollow noopener noreferrer">{websiteName}</a>
|
|
60
60
|
</div>
|
|
61
61
|
</div>
|
|
62
62
|
{{{ end }}}
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
<div class="stat">
|
|
66
66
|
<div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
|
|
67
67
|
<span class="stat-label text-xs fw-semibold"><i class="text-muted fa-solid fa-map-pin"></i> <span>[[user:location]]</span></span>
|
|
68
|
-
<span class="fs-6 ff-secondary">{location}</span>
|
|
68
|
+
<span class="text-center text-break w-100 px-2 fs-6 ff-secondary">{location}</span>
|
|
69
69
|
</div>
|
|
70
70
|
</div>
|
|
71
71
|
{{{ end }}}
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
{{{ if age }}}
|
|
74
74
|
<div class="stat">
|
|
75
75
|
<div class="align-items-center justify-content-center card card-header px-0 py-3 border-0 rounded-1 h-100 gap-2">
|
|
76
|
-
<span class="stat-label text-xs fw-semibold"><span>[[user:age]]</span></span>
|
|
76
|
+
<span class="stat-label text-xs fw-semibold"><span><i class="text-muted fa-solid fa-cake-candles"></i> [[user:age]]</span></span>
|
|
77
77
|
<span class="fs-6 ff-secondary">{age}</span>
|
|
78
78
|
</div>
|
|
79
79
|
</div>
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
-
|
|
3
1
|
<div class="account">
|
|
4
2
|
<!-- IMPORT partials/account/header.tpl -->
|
|
5
3
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
<div class="
|
|
4
|
+
<div class="d-flex flex-column flex-md-row">
|
|
5
|
+
<!-- IMPORT partials/account/sidebar-left.tpl -->
|
|
6
|
+
<div class="flex-1 ps-md-2 ps-lg-5" style="min-width: 0;">
|
|
9
7
|
<p class="lead">[[user:sessions.description]]</p>
|
|
10
8
|
<hr />
|
|
11
9
|
<ul class="list-group" component="user/sessions">
|
|
@@ -30,5 +28,4 @@
|
|
|
30
28
|
</ul>
|
|
31
29
|
</div>
|
|
32
30
|
</div>
|
|
33
|
-
<!-- ENDIF sessions.length -->
|
|
34
31
|
</div>
|