nodebb-theme-persona 13.3.32 → 13.3.34
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 -256
- 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,167 +1,167 @@
|
|
|
1
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
2
|
-
|
|
3
|
-
<div class="profile row">
|
|
4
|
-
<h1 class="fullname"><!-- IF fullname -->{fullname}<!-- ELSE -->{username}<!-- ENDIF fullname --></h1>
|
|
5
|
-
<div class="d-flex gap-2 justify-content-center mb-2" component="user/badges"></div>
|
|
6
|
-
<h2 class="username"><!-- IF !banned -->@{username}<!-- ELSE -->[[user:banned]]<!-- ENDIF !banned --></h2>
|
|
7
|
-
<!-- IF isAdminOrGlobalModeratorOrModerator -->
|
|
8
|
-
<!-- IF banned -->
|
|
9
|
-
<div class="text-center">
|
|
10
|
-
<!-- IF banned_until -->
|
|
11
|
-
[[user:info.banned-until, {banned_until_readable}]]
|
|
12
|
-
<!-- ELSE -->
|
|
13
|
-
[[user:info.banned-permanently]]
|
|
14
|
-
<!-- ENDIF banned_until -->
|
|
15
|
-
</div>
|
|
16
|
-
<!-- ENDIF banned -->
|
|
17
|
-
<!-- ENDIF isAdminOrGlobalModeratorOrModerator -->
|
|
18
|
-
|
|
19
|
-
<!-- IF selectedGroup.length -->
|
|
20
|
-
<div class="text-center">
|
|
21
|
-
{{{each selectedGroup}}}
|
|
22
|
-
<!-- IF selectedGroup.slug -->
|
|
23
|
-
<!-- IMPORT partials/groups/badge.tpl -->
|
|
24
|
-
<!-- ENDIF selectedGroup.slug -->
|
|
25
|
-
{{{end}}}
|
|
26
|
-
</div>
|
|
27
|
-
<br/>
|
|
28
|
-
<!-- ENDIF selectedGroup.length -->
|
|
29
|
-
|
|
30
|
-
<!-- IF aboutme -->
|
|
31
|
-
<span component="aboutme" class="text-center aboutme">{aboutmeParsed}</span>
|
|
32
|
-
<!-- ENDIF aboutme -->
|
|
33
|
-
|
|
34
|
-
<div class="account-stats">
|
|
35
|
-
<!-- IF !reputation:disabled -->
|
|
36
|
-
<div class="stat">
|
|
37
|
-
<div title="{reputation}">{humanReadableNumber(reputation)}</div>
|
|
38
|
-
<span class="stat-label">[[global:reputation]]</span>
|
|
39
|
-
</div>
|
|
40
|
-
<!-- ENDIF !reputation:disabled -->
|
|
41
|
-
|
|
42
|
-
<div class="stat">
|
|
43
|
-
<div title="{profileviews}">{humanReadableNumber(profileviews)}</div>
|
|
44
|
-
<span class="stat-label">[[user:profile-views]]</span>
|
|
45
|
-
</div>
|
|
46
|
-
|
|
47
|
-
<div class="stat">
|
|
48
|
-
<div><a title="{counts.posts}" href="{config.relative_path}/user/{userslug}/posts">{humanReadableNumber(counts.posts)}</a></div>
|
|
49
|
-
<span class="stat-label">[[global:posts]]</span>
|
|
50
|
-
</div>
|
|
51
|
-
|
|
52
|
-
<div class="stat">
|
|
53
|
-
<div><a title="{counts.followers}" href="{config.relative_path}/user/{userslug}/followers">{humanReadableNumber(counts.followers)}</a></div>
|
|
54
|
-
<span class="stat-label">[[user:followers]]</span>
|
|
55
|
-
</div>
|
|
56
|
-
|
|
57
|
-
<div class="stat">
|
|
58
|
-
<div><a title="{counts.following}" href="{config.relative_path}/user/{userslug}/following">{humanReadableNumber(counts.following)}</a></div>
|
|
59
|
-
<span class="stat-label">[[user:following]]</span>
|
|
60
|
-
</div>
|
|
61
|
-
</div>
|
|
62
|
-
|
|
63
|
-
<div class="text-center profile-meta">
|
|
64
|
-
<span>[[user:joined]]</span>
|
|
65
|
-
<strong class="timeago" title="{joindateISO}"></strong>
|
|
66
|
-
|
|
67
|
-
<span>[[user:lastonline]]</span>
|
|
68
|
-
<strong class="timeago" title="{lastonlineISO}"></strong><br />
|
|
69
|
-
|
|
70
|
-
<!-- IF email -->
|
|
71
|
-
<span>[[user:email]]</span>
|
|
72
|
-
<strong><i class="fa fa-eye-slash {emailClass}" title="[[user:email-hidden]]"></i> {email}</strong>
|
|
73
|
-
<!-- ENDIF email -->
|
|
74
|
-
|
|
75
|
-
<!-- IF websiteName -->
|
|
76
|
-
<span>[[user:website]]</span>
|
|
77
|
-
<strong><a href="{websiteLink}" rel="nofollow noreferrer me">{websiteName}</a></strong>
|
|
78
|
-
<!-- ENDIF websiteName -->
|
|
79
|
-
|
|
80
|
-
<!-- IF location -->
|
|
81
|
-
<span>[[user:location]]</span>
|
|
82
|
-
<strong>{location}</strong>
|
|
83
|
-
<!-- ENDIF location -->
|
|
84
|
-
|
|
85
|
-
<!-- IF age -->
|
|
86
|
-
<span>[[user:age]]</span>
|
|
87
|
-
<strong>{age}</strong>
|
|
88
|
-
<!-- ENDIF age -->
|
|
89
|
-
</div>
|
|
90
|
-
</div>
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
<hr />
|
|
94
|
-
|
|
95
|
-
<div class="row">
|
|
96
|
-
<div class="col-12 account-block hidden">
|
|
97
|
-
<div class="account-picture-block text-center">
|
|
98
|
-
<span>
|
|
99
|
-
<span class="account-username"> {username}</span>
|
|
100
|
-
</span>
|
|
101
|
-
|
|
102
|
-
<!-- IF !isSelf -->
|
|
103
|
-
<a component="account/unfollow" href="#" class="btn btn-outline-secondary{{{ if !isFollowing }}} hide{{{ end }}}">[[user:unfollow]]</a>
|
|
104
|
-
<a component="account/follow" href="#" class="btn btn-primary{{{ if isFollowing }}} hide{{{ end }}}">[[user:follow]]</a>
|
|
105
|
-
<!-- ENDIF !isSelf -->
|
|
106
|
-
</div>
|
|
107
|
-
</div>
|
|
108
|
-
</div>
|
|
109
|
-
|
|
110
|
-
<!-- IF groups.length -->
|
|
111
|
-
<div class="row">
|
|
112
|
-
<div class="col-12 hidden">
|
|
113
|
-
{{{each groups}}}
|
|
114
|
-
<a href="{config.relative_path}/groups/{groups.slug}"><span class="label group-label inline-block" style="background-color: {groups.labelColor};"><!-- IF groups.icon --><i class="fa {groups.icon}"></i> <!-- ENDIF groups.icon -->{groups.userTitle}</span></a>
|
|
115
|
-
{{{end}}}
|
|
116
|
-
</div>
|
|
117
|
-
</div>
|
|
118
|
-
<!-- ENDIF groups.length -->
|
|
119
|
-
|
|
120
|
-
<!-- IF ips.length -->
|
|
121
|
-
<div class="row">
|
|
122
|
-
<div class="col-12 hidden">
|
|
123
|
-
<div class="card">
|
|
124
|
-
<h5 class="card-header">
|
|
125
|
-
[[global:recentips]]
|
|
126
|
-
</h5>
|
|
127
|
-
<div class="card-body">
|
|
128
|
-
{{{each ips}}}
|
|
129
|
-
<div>{ips}</div>
|
|
130
|
-
{{{end}}}
|
|
131
|
-
</div>
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
</div>
|
|
135
|
-
<!-- ENDIF ips.length -->
|
|
136
|
-
|
|
137
|
-
<div class="row">
|
|
138
|
-
{{{ if bestPosts.length }}}
|
|
139
|
-
<div class="col-lg-12 col-12">
|
|
140
|
-
<h1>[[pages:account/best, {username}]]</h1>
|
|
141
|
-
|
|
142
|
-
<div class="col-12">
|
|
143
|
-
<ul component="posts" class="posts-list list-unstyled">
|
|
144
|
-
{{{each bestPosts}}}
|
|
145
|
-
<!-- IMPORT partials/posts_list_item.tpl -->
|
|
146
|
-
{{{end}}}
|
|
147
|
-
</ul>
|
|
148
|
-
</div>
|
|
149
|
-
</div>
|
|
150
|
-
{{{ end }}}
|
|
151
|
-
{{{ if latestPosts.length}}}
|
|
152
|
-
<div class="col-lg-12 col-12">
|
|
153
|
-
<h1>[[pages:account/latest-posts, {username}]]</h1>
|
|
154
|
-
<div class="col-12">
|
|
155
|
-
<ul component="posts" class="posts-list list-unstyled">
|
|
156
|
-
{{{each latestPosts}}}
|
|
157
|
-
<!-- IMPORT partials/posts_list_item.tpl -->
|
|
158
|
-
{{{end}}}
|
|
159
|
-
</ul>
|
|
160
|
-
</div>
|
|
161
|
-
</div>
|
|
162
|
-
{{{ end }}}
|
|
163
|
-
</div>
|
|
164
|
-
|
|
165
|
-
<div id="user-action-alert" class="alert alert-success hide"></div>
|
|
166
|
-
|
|
1
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
2
|
+
|
|
3
|
+
<div class="profile row">
|
|
4
|
+
<h1 class="fullname"><!-- IF fullname -->{fullname}<!-- ELSE -->{username}<!-- ENDIF fullname --></h1>
|
|
5
|
+
<div class="d-flex gap-2 justify-content-center mb-2" component="user/badges"></div>
|
|
6
|
+
<h2 class="username"><!-- IF !banned -->@{username}<!-- ELSE -->[[user:banned]]<!-- ENDIF !banned --></h2>
|
|
7
|
+
<!-- IF isAdminOrGlobalModeratorOrModerator -->
|
|
8
|
+
<!-- IF banned -->
|
|
9
|
+
<div class="text-center">
|
|
10
|
+
<!-- IF banned_until -->
|
|
11
|
+
[[user:info.banned-until, {banned_until_readable}]]
|
|
12
|
+
<!-- ELSE -->
|
|
13
|
+
[[user:info.banned-permanently]]
|
|
14
|
+
<!-- ENDIF banned_until -->
|
|
15
|
+
</div>
|
|
16
|
+
<!-- ENDIF banned -->
|
|
17
|
+
<!-- ENDIF isAdminOrGlobalModeratorOrModerator -->
|
|
18
|
+
|
|
19
|
+
<!-- IF selectedGroup.length -->
|
|
20
|
+
<div class="text-center">
|
|
21
|
+
{{{each selectedGroup}}}
|
|
22
|
+
<!-- IF selectedGroup.slug -->
|
|
23
|
+
<!-- IMPORT partials/groups/badge.tpl -->
|
|
24
|
+
<!-- ENDIF selectedGroup.slug -->
|
|
25
|
+
{{{end}}}
|
|
26
|
+
</div>
|
|
27
|
+
<br/>
|
|
28
|
+
<!-- ENDIF selectedGroup.length -->
|
|
29
|
+
|
|
30
|
+
<!-- IF aboutme -->
|
|
31
|
+
<span component="aboutme" class="text-center aboutme">{aboutmeParsed}</span>
|
|
32
|
+
<!-- ENDIF aboutme -->
|
|
33
|
+
|
|
34
|
+
<div class="account-stats">
|
|
35
|
+
<!-- IF !reputation:disabled -->
|
|
36
|
+
<div class="stat">
|
|
37
|
+
<div title="{reputation}">{humanReadableNumber(reputation)}</div>
|
|
38
|
+
<span class="stat-label">[[global:reputation]]</span>
|
|
39
|
+
</div>
|
|
40
|
+
<!-- ENDIF !reputation:disabled -->
|
|
41
|
+
|
|
42
|
+
<div class="stat">
|
|
43
|
+
<div title="{profileviews}">{humanReadableNumber(profileviews)}</div>
|
|
44
|
+
<span class="stat-label">[[user:profile-views]]</span>
|
|
45
|
+
</div>
|
|
46
|
+
|
|
47
|
+
<div class="stat">
|
|
48
|
+
<div><a title="{counts.posts}" href="{config.relative_path}/user/{userslug}/posts">{humanReadableNumber(counts.posts)}</a></div>
|
|
49
|
+
<span class="stat-label">[[global:posts]]</span>
|
|
50
|
+
</div>
|
|
51
|
+
|
|
52
|
+
<div class="stat">
|
|
53
|
+
<div><a title="{counts.followers}" href="{config.relative_path}/user/{userslug}/followers">{humanReadableNumber(counts.followers)}</a></div>
|
|
54
|
+
<span class="stat-label">[[user:followers]]</span>
|
|
55
|
+
</div>
|
|
56
|
+
|
|
57
|
+
<div class="stat">
|
|
58
|
+
<div><a title="{counts.following}" href="{config.relative_path}/user/{userslug}/following">{humanReadableNumber(counts.following)}</a></div>
|
|
59
|
+
<span class="stat-label">[[user:following]]</span>
|
|
60
|
+
</div>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div class="text-center profile-meta">
|
|
64
|
+
<span>[[user:joined]]</span>
|
|
65
|
+
<strong class="timeago" title="{joindateISO}"></strong>
|
|
66
|
+
|
|
67
|
+
<span>[[user:lastonline]]</span>
|
|
68
|
+
<strong class="timeago" title="{lastonlineISO}"></strong><br />
|
|
69
|
+
|
|
70
|
+
<!-- IF email -->
|
|
71
|
+
<span>[[user:email]]</span>
|
|
72
|
+
<strong><i class="fa fa-eye-slash {emailClass}" title="[[user:email-hidden]]"></i> {email}</strong>
|
|
73
|
+
<!-- ENDIF email -->
|
|
74
|
+
|
|
75
|
+
<!-- IF websiteName -->
|
|
76
|
+
<span>[[user:website]]</span>
|
|
77
|
+
<strong><a href="{websiteLink}" rel="nofollow noreferrer me">{websiteName}</a></strong>
|
|
78
|
+
<!-- ENDIF websiteName -->
|
|
79
|
+
|
|
80
|
+
<!-- IF location -->
|
|
81
|
+
<span>[[user:location]]</span>
|
|
82
|
+
<strong>{location}</strong>
|
|
83
|
+
<!-- ENDIF location -->
|
|
84
|
+
|
|
85
|
+
<!-- IF age -->
|
|
86
|
+
<span>[[user:age]]</span>
|
|
87
|
+
<strong>{age}</strong>
|
|
88
|
+
<!-- ENDIF age -->
|
|
89
|
+
</div>
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
<hr />
|
|
94
|
+
|
|
95
|
+
<div class="row">
|
|
96
|
+
<div class="col-12 account-block hidden">
|
|
97
|
+
<div class="account-picture-block text-center">
|
|
98
|
+
<span>
|
|
99
|
+
<span class="account-username"> {username}</span>
|
|
100
|
+
</span>
|
|
101
|
+
|
|
102
|
+
<!-- IF !isSelf -->
|
|
103
|
+
<a component="account/unfollow" href="#" class="btn btn-outline-secondary{{{ if !isFollowing }}} hide{{{ end }}}">[[user:unfollow]]</a>
|
|
104
|
+
<a component="account/follow" href="#" class="btn btn-primary{{{ if isFollowing }}} hide{{{ end }}}">[[user:follow]]</a>
|
|
105
|
+
<!-- ENDIF !isSelf -->
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
<!-- IF groups.length -->
|
|
111
|
+
<div class="row">
|
|
112
|
+
<div class="col-12 hidden">
|
|
113
|
+
{{{each groups}}}
|
|
114
|
+
<a href="{config.relative_path}/groups/{groups.slug}"><span class="label group-label inline-block" style="background-color: {groups.labelColor};"><!-- IF groups.icon --><i class="fa {groups.icon}"></i> <!-- ENDIF groups.icon -->{groups.userTitle}</span></a>
|
|
115
|
+
{{{end}}}
|
|
116
|
+
</div>
|
|
117
|
+
</div>
|
|
118
|
+
<!-- ENDIF groups.length -->
|
|
119
|
+
|
|
120
|
+
<!-- IF ips.length -->
|
|
121
|
+
<div class="row">
|
|
122
|
+
<div class="col-12 hidden">
|
|
123
|
+
<div class="card">
|
|
124
|
+
<h5 class="card-header">
|
|
125
|
+
[[global:recentips]]
|
|
126
|
+
</h5>
|
|
127
|
+
<div class="card-body">
|
|
128
|
+
{{{each ips}}}
|
|
129
|
+
<div>{ips}</div>
|
|
130
|
+
{{{end}}}
|
|
131
|
+
</div>
|
|
132
|
+
</div>
|
|
133
|
+
</div>
|
|
134
|
+
</div>
|
|
135
|
+
<!-- ENDIF ips.length -->
|
|
136
|
+
|
|
137
|
+
<div class="row">
|
|
138
|
+
{{{ if bestPosts.length }}}
|
|
139
|
+
<div class="col-lg-12 col-12">
|
|
140
|
+
<h1>[[pages:account/best, {username}]]</h1>
|
|
141
|
+
|
|
142
|
+
<div class="col-12">
|
|
143
|
+
<ul component="posts" class="posts-list list-unstyled">
|
|
144
|
+
{{{each bestPosts}}}
|
|
145
|
+
<!-- IMPORT partials/posts_list_item.tpl -->
|
|
146
|
+
{{{end}}}
|
|
147
|
+
</ul>
|
|
148
|
+
</div>
|
|
149
|
+
</div>
|
|
150
|
+
{{{ end }}}
|
|
151
|
+
{{{ if latestPosts.length}}}
|
|
152
|
+
<div class="col-lg-12 col-12">
|
|
153
|
+
<h1>[[pages:account/latest-posts, {username}]]</h1>
|
|
154
|
+
<div class="col-12">
|
|
155
|
+
<ul component="posts" class="posts-list list-unstyled">
|
|
156
|
+
{{{each latestPosts}}}
|
|
157
|
+
<!-- IMPORT partials/posts_list_item.tpl -->
|
|
158
|
+
{{{end}}}
|
|
159
|
+
</ul>
|
|
160
|
+
</div>
|
|
161
|
+
</div>
|
|
162
|
+
{{{ end }}}
|
|
163
|
+
</div>
|
|
164
|
+
|
|
165
|
+
<div id="user-action-alert" class="alert alert-success hide"></div>
|
|
166
|
+
|
|
167
167
|
<!-- IMPORT partials/account/footer.tpl -->
|
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
<!-- IMPORT partials/account/header.tpl -->
|
|
2
|
-
|
|
3
|
-
<!-- IF sessions.length -->
|
|
4
|
-
<div class="row">
|
|
5
|
-
<div class="col-12 col-md-12">
|
|
6
|
-
<p class="lead">[[user:sessions.description]]</p>
|
|
7
|
-
<hr />
|
|
8
|
-
<ul class="list-group" component="user/sessions">
|
|
9
|
-
{{{each sessions}}}
|
|
10
|
-
<li class="list-group-item" data-uuid="{../uuid}">
|
|
11
|
-
<div class="float-end">
|
|
12
|
-
<!-- IF isSelfOrAdminOrGlobalModerator -->
|
|
13
|
-
<!-- IF !../current -->
|
|
14
|
-
<button class="btn btn-sm btn-outline-secondary" type="button" data-action="revokeSession">Revoke Session</button>
|
|
15
|
-
<!-- ENDIF !../current -->
|
|
16
|
-
<!-- ENDIF isSelfOrAdminOrGlobalModerator -->
|
|
17
|
-
{function.userAgentIcons}
|
|
18
|
-
<i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
|
|
19
|
-
</div>
|
|
20
|
-
{../browser} {../version} on {../platform}<br />
|
|
21
|
-
<small class="timeago text-muted" title="{../datetimeISO}"></small>
|
|
22
|
-
<ul>
|
|
23
|
-
<li><strong>[[global:ip-address]]</strong>: {../ip}</li>
|
|
24
|
-
</ul>
|
|
25
|
-
</li>
|
|
26
|
-
{{{end}}}
|
|
27
|
-
</ul>
|
|
28
|
-
</div>
|
|
29
|
-
</div>
|
|
30
|
-
<!-- ENDIF sessions.length -->
|
|
31
|
-
|
|
1
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
2
|
+
|
|
3
|
+
<!-- IF sessions.length -->
|
|
4
|
+
<div class="row">
|
|
5
|
+
<div class="col-12 col-md-12">
|
|
6
|
+
<p class="lead">[[user:sessions.description]]</p>
|
|
7
|
+
<hr />
|
|
8
|
+
<ul class="list-group" component="user/sessions">
|
|
9
|
+
{{{each sessions}}}
|
|
10
|
+
<li class="list-group-item" data-uuid="{../uuid}">
|
|
11
|
+
<div class="float-end">
|
|
12
|
+
<!-- IF isSelfOrAdminOrGlobalModerator -->
|
|
13
|
+
<!-- IF !../current -->
|
|
14
|
+
<button class="btn btn-sm btn-outline-secondary" type="button" data-action="revokeSession">Revoke Session</button>
|
|
15
|
+
<!-- ENDIF !../current -->
|
|
16
|
+
<!-- ENDIF isSelfOrAdminOrGlobalModerator -->
|
|
17
|
+
{function.userAgentIcons}
|
|
18
|
+
<i class="fa fa-circle text-<!-- IF ../current -->success<!-- ELSE -->muted<!-- ENDIF ../current -->"></i>
|
|
19
|
+
</div>
|
|
20
|
+
{../browser} {../version} on {../platform}<br />
|
|
21
|
+
<small class="timeago text-muted" title="{../datetimeISO}"></small>
|
|
22
|
+
<ul>
|
|
23
|
+
<li><strong>[[global:ip-address]]</strong>: {../ip}</li>
|
|
24
|
+
</ul>
|
|
25
|
+
</li>
|
|
26
|
+
{{{end}}}
|
|
27
|
+
</ul>
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<!-- ENDIF sessions.length -->
|
|
31
|
+
|
|
32
32
|
<!-- IMPORT partials/account/footer.tpl -->
|