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.
Files changed (145) hide show
  1. package/.eslintrc +2 -2
  2. package/README.md +20 -20
  3. package/lib/controllers.js +24 -24
  4. package/library.js +97 -97
  5. package/package.json +52 -52
  6. package/plugin.json +20 -20
  7. package/public/.eslintrc +2 -2
  8. package/public/admin.js +15 -15
  9. package/public/modules/autohidingnavbar.js +220 -220
  10. package/public/modules/mobile-menu.js +190 -190
  11. package/public/modules/taskbar.js +65 -65
  12. package/public/persona.js +257 -257
  13. package/public/settings.js +53 -53
  14. package/scss/account.scss +336 -336
  15. package/scss/categories.scss +205 -205
  16. package/scss/category.scss +161 -161
  17. package/scss/chats.scss +14 -14
  18. package/scss/flags.scss +42 -42
  19. package/scss/footer.scss +16 -16
  20. package/scss/groups.scss +166 -166
  21. package/scss/header.scss +229 -361
  22. package/scss/keyframes.scss +152 -152
  23. package/scss/mixins.scss +129 -129
  24. package/scss/mobile.scss +222 -331
  25. package/scss/modules/composer.scss +20 -20
  26. package/scss/modules/cookie-consent.scss +12 -12
  27. package/scss/modules/fab.scss +32 -32
  28. package/scss/modules/morph.scss +268 -268
  29. package/scss/modules/necro-post.scss +8 -8
  30. package/scss/modules/nprogress.scss +80 -80
  31. package/scss/modules/taskbar.scss +160 -160
  32. package/scss/modules/user-menu.scss +7 -7
  33. package/scss/modules/usercard.scss +64 -64
  34. package/scss/noscript.scss +80 -80
  35. package/scss/overrides.scss +39 -39
  36. package/scss/persona.scss +34 -34
  37. package/scss/posts_list.scss +127 -127
  38. package/scss/search.scss +48 -48
  39. package/scss/style.scss +256 -270
  40. package/scss/tags.scss +10 -10
  41. package/scss/topic.scss +571 -571
  42. package/scss/topics_list.scss +16 -16
  43. package/scss/variables.scss +6 -6
  44. package/templates/account/blocks.tpl +46 -46
  45. package/templates/account/categories.tpl +28 -28
  46. package/templates/account/consent.tpl +68 -68
  47. package/templates/account/edit/password.tpl +29 -29
  48. package/templates/account/edit/username.tpl +25 -25
  49. package/templates/account/edit.tpl +136 -136
  50. package/templates/account/followers.tpl +17 -17
  51. package/templates/account/following.tpl +17 -17
  52. package/templates/account/groups.tpl +16 -16
  53. package/templates/account/info.tpl +291 -291
  54. package/templates/account/posts.tpl +18 -18
  55. package/templates/account/profile.tpl +166 -166
  56. package/templates/account/sessions.tpl +31 -31
  57. package/templates/account/settings.tpl +251 -251
  58. package/templates/account/tags.tpl +9 -9
  59. package/templates/account/theme.tpl +25 -25
  60. package/templates/account/topics.tpl +29 -29
  61. package/templates/account/uploads.tpl +42 -42
  62. package/templates/admin/plugins/persona.tpl +24 -24
  63. package/templates/categories.tpl +31 -31
  64. package/templates/category.tpl +63 -63
  65. package/templates/flags/detail.tpl +208 -208
  66. package/templates/flags/list.tpl +71 -71
  67. package/templates/footer.tpl +11 -11
  68. package/templates/groups/details.tpl +77 -77
  69. package/templates/groups/list.tpl +48 -48
  70. package/templates/groups/members.tpl +5 -5
  71. package/templates/header.tpl +47 -47
  72. package/templates/modules/taskbar.tpl +2 -2
  73. package/templates/modules/usercard.tpl +36 -36
  74. package/templates/notifications.tpl +66 -66
  75. package/templates/partials/account/category-item.tpl +23 -23
  76. package/templates/partials/account/header.tpl +47 -47
  77. package/templates/partials/account/menu.tpl +108 -108
  78. package/templates/partials/breadcrumbs.tpl +18 -18
  79. package/templates/partials/buttons/newTopic.tpl +22 -22
  80. package/templates/partials/categories/item.tpl +60 -60
  81. package/templates/partials/categories/lastpost.tpl +26 -26
  82. package/templates/partials/category/filter-dropdown-content.tpl +31 -31
  83. package/templates/partials/category/selector-dropdown-content.tpl +32 -32
  84. package/templates/partials/category/sort.tpl +14 -14
  85. package/templates/partials/category/subcategory.tpl +17 -17
  86. package/templates/partials/category/tags.tpl +3 -3
  87. package/templates/partials/category/tools.tpl +86 -86
  88. package/templates/partials/category/watch.tpl +55 -55
  89. package/templates/partials/chats-menu.tpl +41 -40
  90. package/templates/partials/cookie-consent.tpl +4 -4
  91. package/templates/partials/flags/filters.tpl +173 -173
  92. package/templates/partials/groups/admin.tpl +200 -200
  93. package/templates/partials/groups/filter-dropdown-content.tpl +24 -24
  94. package/templates/partials/groups/list.tpl +20 -20
  95. package/templates/partials/groups/memberlist.tpl +42 -42
  96. package/templates/partials/header/chats.tpl +18 -18
  97. package/templates/partials/header/notifications.tpl +49 -19
  98. package/templates/partials/header/search.tpl +24 -24
  99. package/templates/partials/header/user-menu.tpl +96 -96
  100. package/templates/partials/menu.tpl +128 -128
  101. package/templates/partials/notifications_list.tpl +44 -30
  102. package/templates/partials/paginator.tpl +44 -44
  103. package/templates/partials/post_bar.tpl +20 -20
  104. package/templates/partials/posts_list.tpl +7 -7
  105. package/templates/partials/posts_list_item.tpl +31 -31
  106. package/templates/partials/quick-search-results.tpl +33 -33
  107. package/templates/partials/search-filters.tpl +183 -183
  108. package/templates/partials/search-results.tpl +54 -54
  109. package/templates/partials/slideout-menu.tpl +4 -4
  110. package/templates/partials/tags/filter-dropdown-content.tpl +33 -33
  111. package/templates/partials/tags/watch.tpl +35 -35
  112. package/templates/partials/tags_list.tpl +4 -4
  113. package/templates/partials/toast.tpl +19 -19
  114. package/templates/partials/topic/event.tpl +12 -12
  115. package/templates/partials/topic/navigation-post.tpl +11 -11
  116. package/templates/partials/topic/navigator.tpl +39 -39
  117. package/templates/partials/topic/necro-post.tpl +2 -2
  118. package/templates/partials/topic/post-menu-list.tpl +132 -132
  119. package/templates/partials/topic/post-menu.tpl +4 -4
  120. package/templates/partials/topic/post.tpl +128 -128
  121. package/templates/partials/topic/quickreply.tpl +28 -28
  122. package/templates/partials/topic/reply-button.tpl +26 -26
  123. package/templates/partials/topic/selection-tooltip.tpl +2 -2
  124. package/templates/partials/topic/sort.tpl +9 -9
  125. package/templates/partials/topic/stats.tpl +11 -11
  126. package/templates/partials/topic/tags.tpl +2 -2
  127. package/templates/partials/topic/tools.tpl +7 -7
  128. package/templates/partials/topic/topic-menu-list.tpl +74 -74
  129. package/templates/partials/topic/watch.tpl +47 -47
  130. package/templates/partials/topic-filters.tpl +11 -11
  131. package/templates/partials/topic-terms.tpl +11 -11
  132. package/templates/partials/topics_list.tpl +117 -117
  133. package/templates/partials/users/filter-dropdown-content.tpl +20 -20
  134. package/templates/partials/users/item.tpl +43 -43
  135. package/templates/partials/users_list.tpl +14 -14
  136. package/templates/partials/users_list_menu.tpl +20 -20
  137. package/templates/popular.tpl +35 -35
  138. package/templates/recent.tpl +37 -37
  139. package/templates/search.tpl +47 -47
  140. package/templates/tag.tpl +34 -34
  141. package/templates/tags.tpl +32 -32
  142. package/templates/top.tpl +35 -35
  143. package/templates/topic.tpl +129 -129
  144. package/templates/unread.tpl +37 -37
  145. package/templates/users.tpl +34 -34
@@ -1,251 +1,251 @@
1
- <div class="account">
2
- <!-- IMPORT partials/account/header.tpl -->
3
-
4
- <div class="row">
5
- <div class="col-12 col-md-6">
6
- <!-- IF !disableCustomUserSkins -->
7
- <h4>[[user:select-skin]]</h4>
8
- <div class="card card-body mb-3">
9
- <select class="form-select" id="bootswatchSkin" data-property="bootswatchSkin">
10
- {{{each bootswatchSkinOptions}}}
11
- <option value="{bootswatchSkinOptions.value}" <!-- IF bootswatchSkinOptions.selected -->selected<!-- ENDIF bootswatchSkinOptions.selected -->>{bootswatchSkinOptions.name}</option>
12
- {{{end}}}
13
- </select>
14
- </div>
15
- <!-- ENDIF !disableCustomUserSkins -->
16
-
17
- <!-- IF allowUserHomePage -->
18
- <h4>[[user:select-homepage]]</h4>
19
- <div class="card card-body mb-3">
20
- <div class="mb-2">
21
- <label for="homePageRoute">[[user:homepage]]</label>
22
- <select class="form-select" id="homePageRoute" data-property="homePageRoute">
23
- <option value="none">None</option>
24
- {{{each homePageRoutes}}}
25
- <option value="{homePageRoutes.route}" <!-- IF homePageRoutes.selected -->selected="1"<!-- ENDIF homePageRoutes.selected -->>{homePageRoutes.name}</option>
26
- {{{end}}}
27
- </select>
28
- <p class="form-text">[[user:homepage-description]]</p>
29
- </div>
30
- <div id="homePageCustomContainer" class="mb-2" style="display: none;">
31
- <label for="homePageCustom">[[user:custom-route]]</label>
32
- <input type="text" class="form-control" data-property="homePageCustom" id="homePageCustom" value="{settings.homePageRoute}"/>
33
- <p class="form-text">[[user:custom-route-help]]</p>
34
- </div>
35
- </div>
36
- <!-- ENDIF allowUserHomePage -->
37
-
38
- <h4>[[global:privacy]]</h4>
39
- <div class="card card-body mb-3">
40
- <!-- IF !hideEmail -->
41
- <div class="form-check">
42
- <input class="form-check-input" type="checkbox" data-property="showemail" <!-- IF settings.showemail -->checked <!-- ENDIF settings.showemail -->/>
43
- <strong>
44
- <label class="form-check-label">[[user:show-email]]</label>
45
- </strong>
46
- </div>
47
- <!-- ENDIF !hideEmail -->
48
-
49
- <!-- IF !hideFullname -->
50
- <div class="form-check">
51
- <input class="form-check-input" type="checkbox" data-property="showfullname" <!-- IF settings.showfullname -->checked<!-- ENDIF settings.showfullname -->/>
52
- <strong>
53
- <label class="form-check-label">[[user:show-fullname]]</label>
54
- </strong>
55
- </div>
56
- <!-- ENDIF !hideFullname -->
57
- <!-- IF !config.disableChat -->
58
- <div class="form-check">
59
- <input class="form-check-input" type="checkbox" data-property="restrictChat" <!-- IF settings.restrictChat -->checked<!-- ENDIF settings.restrictChat -->/>
60
- <strong>
61
- <label class="form-check-label">[[user:restrict-chats]]</label>
62
- </strong>
63
- </div>
64
- <!-- ENDIF !config.disableChat -->
65
- </div>
66
-
67
- <h4>[[user:browsing]]</h4>
68
- <div class="card card-body mb-3">
69
- <div class="form-check">
70
- <input class="form-check-input" type="checkbox" data-property="openOutgoingLinksInNewTab" <!-- IF settings.openOutgoingLinksInNewTab -->checked<!-- ENDIF settings.openOutgoingLinksInNewTab -->/>
71
- <strong>
72
- <label class="form-check-label">[[user:open-links-in-new-tab]]</label>
73
- </strong>
74
- </div>
75
- <!-- IF inTopicSearchAvailable -->
76
- <div class="form-check">
77
- <input class="form-check-input" type="checkbox" data-property="topicSearchEnabled" <!-- IF settings.topicSearchEnabled -->checked<!-- ENDIF settings.topicSearchEnabled -->/>
78
- <strong>
79
- <label class="form-check-label">[[user:enable-topic-searching]]</label>
80
- </strong>
81
- </div>
82
- <p class="form-text">[[user:topic-search-help]]</p>
83
- <!-- ENDIF inTopicSearchAvailable -->
84
- <div class="form-check">
85
- <input class="form-check-input" type="checkbox" data-property="updateUrlWithPostIndex" {{{ if settings.updateUrlWithPostIndex }}}checked{{{ end }}}/>
86
- <strong>
87
- <label class="form-check-label">[[user:update-url-with-post-index]]</label>
88
- </strong>
89
- </div>
90
- <div class="form-check">
91
- <input class="form-check-input" type="checkbox" data-property="scrollToMyPost" <!-- IF settings.scrollToMyPost -->checked<!-- ENDIF settings.scrollToMyPost -->/>
92
- <strong>
93
- <label class="form-check-label">[[user:scroll-to-my-post]]</label>
94
- </strong>
95
- </div>
96
- </div>
97
-
98
- <h4>[[global:pagination]]</h4>
99
- <div class="card card-body mb-3">
100
- <div class="mb-2 form-check">
101
- <input type="checkbox" class="form-check-input" data-property="usePagination" <!-- IF settings.usePagination -->checked<!-- ENDIF settings.usePagination -->> <strong><label class="form-check-label">[[user:paginate-description]]</label></strong>
102
- </div>
103
- <div class="mb-3">
104
- <strong><label class="form-label">[[user:topics-per-page]] ([[user:max-items-per-page, {maxTopicsPerPage}]])</label></strong>
105
- <input type="text" class="form-control" data-property="topicsPerPage" value="{settings.topicsPerPage}">
106
- </div>
107
- <div class="">
108
- <strong><label class="form-label">[[user:posts-per-page]] ([[user:max-items-per-page, {maxPostsPerPage}]])</label></strong>
109
- <input type="text" class="form-control" data-property="postsPerPage" value="{settings.postsPerPage}">
110
- </div>
111
- </div>
112
-
113
- <h4 class="fw-bold">[[global:sort]]</h4>
114
- <div class="card card-body mb-3">
115
- <div class="mb-2">
116
- <label class="form-label">[[user:category-topic-sort]]</label>
117
- <select class="form-select" data-property="categoryTopicSort">
118
- <option value="recently_replied" {{{ if (settings.categoryTopicSort == "recently_replied") }}}selected{{{ end }}}>[[topic:recently-replied]]</option>
119
- <option value="recently_created" {{{ if (settings.categoryTopicSort == "recently_created") }}}selected{{{ end }}}>[[topic:recently-created]]</option>
120
- <option value="most_posts" {{{ if (settings.categoryTopicSort == "most_posts") }}}selected{{{ end }}}>[[topic:most-posts]]</option>
121
- <option value="most_votes" {{{ if (settings.categoryTopicSort == "most_votes") }}}selected{{{ end }}}>[[topic:most-votes]]</option>
122
- <option value="most_views" {{{ if (settings.categoryTopicSort == "most_views") }}}selected{{{ end }}}>[[topic:most-views]]</option>
123
- </select>
124
- </div>
125
- <div class="">
126
- <label class="form-label">[[user:topic-post-sort]]</label>
127
- <select class="form-select" data-property="topicPostSort">
128
- <option value="oldest_to_newest" {{{ if (settings.topicPostSort == "oldest_to_newest") }}}selected{{{ end }}}>[[topic:oldest-to-newest]]</option>
129
- <option value="newest_to_oldest" {{{ if (settings.topicPostSort == "newest_to_oldest") }}}selected{{{ end }}}>[[topic:newest-to-oldest]]</option>
130
- <option value="most_votes" {{{ if (settings.topicPostSort == "most_votes") }}}selected{{{ end }}}>[[topic:most-votes]]</option>
131
- </select>
132
- </div>
133
- </div>
134
-
135
- <!-- IF !disableEmailSubscriptions -->
136
- <h4>[[global:email]]</h4>
137
- <div class="card card-body mb-3">
138
- <div class="mb-2">
139
- <label for="dailyDigestFreq">[[user:digest-label]]</label>
140
- <select class="form-select" id="dailyDigestFreq" data-property="dailyDigestFreq" autocomplete="off">
141
- {{{each dailyDigestFreqOptions}}}
142
- <option value="{dailyDigestFreqOptions.value}" <!-- IF dailyDigestFreqOptions.selected -->selected="1"<!-- ENDIF dailyDigestFreqOptions.selected -->>{dailyDigestFreqOptions.name}</option>
143
- {{{end}}}
144
- </select>
145
- <p class="form-text">[[user:digest-description]]</p>
146
- </div>
147
- </div>
148
- <!-- ENDIF !disableEmailSubscriptions -->
149
-
150
- {{{each customSettings}}}
151
- <h4>{customSettings.title}</h4>
152
- <div class="card card-body mb-3">
153
- {customSettings.content}
154
- </div>
155
- {{{end}}}
156
-
157
- </div>
158
-
159
- <div class="col-12 col-md-6">
160
- <h4>[[global:language]]</h4>
161
- <div class="card card-body mb-3">
162
- <div class="row">
163
- <div class="mb-2 col-lg-12">
164
- <select data-property="userLang" class="form-select">
165
- {{{each languages}}}
166
- <option value="{languages.code}" <!-- IF languages.selected -->selected<!-- ENDIF languages.selected -->>{languages.name} ({languages.code})</option>
167
- {{{end}}}
168
- </select>
169
- </div>
170
- </div>
171
- <!-- IF isAdmin -->
172
- <!-- IF isSelf -->
173
- <label>[[user:acp-language]]</label>
174
- <div class="row">
175
- <div class="mb-2 col-lg-12">
176
- <select data-property="acpLang" class="form-select">
177
- {{{each acpLanguages}}}
178
- <option value="{acpLanguages.code}" <!-- IF acpLanguages.selected -->selected<!-- ENDIF acpLanguages.selected -->>{acpLanguages.name} ({acpLanguages.code})</option>
179
- {{{end}}}
180
- </select>
181
- </div>
182
- </div>
183
- <!-- ENDIF isSelf -->
184
- <!-- ENDIF isAdmin -->
185
- </div>
186
-
187
- <h4>[[topic:watch]]</h4>
188
- <div class="card card-body mb-3">
189
- <div class="form-check">
190
- <input class="form-check-input" type="checkbox" data-property="followTopicsOnCreate" <!-- IF settings.followTopicsOnCreate -->checked <!-- ENDIF settings.followTopicsOnCreate -->/>
191
- <strong>
192
- <label class="form-check-label">[[user:follow-topics-you-create]]</label>
193
- </strong>
194
- </div>
195
- <div class="form-check">
196
- <input class="form-check-input" type="checkbox" data-property="followTopicsOnReply" <!-- IF settings.followTopicsOnReply -->checked<!-- ENDIF settings.followTopicsOnReply -->/>
197
- <strong>
198
- <label class="form-check-label">[[user:follow-topics-you-reply-to]]</label>
199
- </strong>
200
- </div>
201
- <div class="mb-2">
202
- <label>[[user:default-category-watch-state]]</label>
203
- <select class="form-select" data-property="categoryWatchState">
204
- <option value="tracking" <!-- IF categoryWatchState.tracking -->selected<!-- ENDIF categoryWatchState.tracking -->>[[category:tracking]]</option>
205
- <option value="notwatching" <!-- IF categoryWatchState.notwatching -->selected<!-- ENDIF categoryWatchState.notwatching -->>[[category:not-watching]]</option>
206
- <option value="ignoring" <!-- IF categoryWatchState.ignoring -->selected<!-- ENDIF categoryWatchState.ignoring -->>[[category:ignoring]]</option>
207
- </select>
208
- </div>
209
- </div>
210
-
211
-
212
- <h4>[[user:notifications]]</h4>
213
- <div class="card card-body mb-3">
214
- {{{each notificationSettings}}}
215
- <div class="row mb-3">
216
- <div class="col-7">
217
- <label>{notificationSettings.label}</label>
218
- </div>
219
- <div class="mb-2 col-5">
220
- <select class="form-select" data-property="{notificationSettings.name}">
221
- <option value="none" <!-- IF notificationSettings.none -->selected<!-- ENDIF notificationSettings.none -->>[[notifications:none]]</option>
222
- <option value="notification" <!-- IF notificationSettings.notification -->selected<!-- ENDIF notificationSettings.notification -->>[[notifications:notification-only]]</option>
223
- <option value="email" <!-- IF notificationSettings.email -->selected<!-- ENDIF notificationSettings.email -->>[[notifications:email-only]]</option>
224
- <option value="notificationemail" <!-- IF notificationSettings.notificationemail -->selected<!-- ENDIF notificationSettings.notificationemail -->>[[notifications:notification-and-email]]</option>
225
- </select>
226
- </div>
227
- </div>
228
- {{{end}}}
229
-
230
- <div class="row">
231
- <div class="col-7">
232
- <label for="upvote-notif-freq">[[user:upvote-notif-freq]]</label>
233
- </div>
234
- <div class="mb-2 col-5">
235
- <select class="form-select" id="upvote-notif-freq" name="upvote-notif-freq" data-property="upvoteNotifFreq">
236
- {{{each upvoteNotifFreq}}}
237
- <option value="{upvoteNotifFreq.name}" <!-- IF upvoteNotifFreq.selected -->selected<!-- ENDIF upvoteNotifFreq.selected -->>
238
- [[user:upvote-notif-freq.{upvoteNotifFreq.name}]]
239
- </option>
240
- {{{end}}}
241
- </select>
242
- </div>
243
- </div>
244
- </div>
245
- </div>
246
- </div>
247
- <div class="form-actions">
248
- <a id="submitBtn" href="#" class="btn btn-primary">[[global:save-changes]]</a>
249
- </div>
250
- </div>
251
-
1
+ <div class="account">
2
+ <!-- IMPORT partials/account/header.tpl -->
3
+
4
+ <div class="row">
5
+ <div class="col-12 col-md-6">
6
+ <!-- IF !disableCustomUserSkins -->
7
+ <h4>[[user:select-skin]]</h4>
8
+ <div class="card card-body mb-3">
9
+ <select class="form-select" id="bootswatchSkin" data-property="bootswatchSkin">
10
+ {{{each bootswatchSkinOptions}}}
11
+ <option value="{bootswatchSkinOptions.value}" <!-- IF bootswatchSkinOptions.selected -->selected<!-- ENDIF bootswatchSkinOptions.selected -->>{bootswatchSkinOptions.name}</option>
12
+ {{{end}}}
13
+ </select>
14
+ </div>
15
+ <!-- ENDIF !disableCustomUserSkins -->
16
+
17
+ <!-- IF allowUserHomePage -->
18
+ <h4>[[user:select-homepage]]</h4>
19
+ <div class="card card-body mb-3">
20
+ <div class="mb-2">
21
+ <label for="homePageRoute">[[user:homepage]]</label>
22
+ <select class="form-select" id="homePageRoute" data-property="homePageRoute">
23
+ <option value="none">None</option>
24
+ {{{each homePageRoutes}}}
25
+ <option value="{homePageRoutes.route}" <!-- IF homePageRoutes.selected -->selected="1"<!-- ENDIF homePageRoutes.selected -->>{homePageRoutes.name}</option>
26
+ {{{end}}}
27
+ </select>
28
+ <p class="form-text">[[user:homepage-description]]</p>
29
+ </div>
30
+ <div id="homePageCustomContainer" class="mb-2" style="display: none;">
31
+ <label for="homePageCustom">[[user:custom-route]]</label>
32
+ <input type="text" class="form-control" data-property="homePageCustom" id="homePageCustom" value="{settings.homePageRoute}"/>
33
+ <p class="form-text">[[user:custom-route-help]]</p>
34
+ </div>
35
+ </div>
36
+ <!-- ENDIF allowUserHomePage -->
37
+
38
+ <h4>[[global:privacy]]</h4>
39
+ <div class="card card-body mb-3">
40
+ <!-- IF !hideEmail -->
41
+ <div class="form-check">
42
+ <input class="form-check-input" type="checkbox" data-property="showemail" <!-- IF settings.showemail -->checked <!-- ENDIF settings.showemail -->/>
43
+ <strong>
44
+ <label class="form-check-label">[[user:show-email]]</label>
45
+ </strong>
46
+ </div>
47
+ <!-- ENDIF !hideEmail -->
48
+
49
+ <!-- IF !hideFullname -->
50
+ <div class="form-check">
51
+ <input class="form-check-input" type="checkbox" data-property="showfullname" <!-- IF settings.showfullname -->checked<!-- ENDIF settings.showfullname -->/>
52
+ <strong>
53
+ <label class="form-check-label">[[user:show-fullname]]</label>
54
+ </strong>
55
+ </div>
56
+ <!-- ENDIF !hideFullname -->
57
+ <!-- IF !config.disableChat -->
58
+ <div class="form-check">
59
+ <input class="form-check-input" type="checkbox" data-property="restrictChat" <!-- IF settings.restrictChat -->checked<!-- ENDIF settings.restrictChat -->/>
60
+ <strong>
61
+ <label class="form-check-label">[[user:restrict-chats]]</label>
62
+ </strong>
63
+ </div>
64
+ <!-- ENDIF !config.disableChat -->
65
+ </div>
66
+
67
+ <h4>[[user:browsing]]</h4>
68
+ <div class="card card-body mb-3">
69
+ <div class="form-check">
70
+ <input class="form-check-input" type="checkbox" data-property="openOutgoingLinksInNewTab" <!-- IF settings.openOutgoingLinksInNewTab -->checked<!-- ENDIF settings.openOutgoingLinksInNewTab -->/>
71
+ <strong>
72
+ <label class="form-check-label">[[user:open-links-in-new-tab]]</label>
73
+ </strong>
74
+ </div>
75
+ <!-- IF inTopicSearchAvailable -->
76
+ <div class="form-check">
77
+ <input class="form-check-input" type="checkbox" data-property="topicSearchEnabled" <!-- IF settings.topicSearchEnabled -->checked<!-- ENDIF settings.topicSearchEnabled -->/>
78
+ <strong>
79
+ <label class="form-check-label">[[user:enable-topic-searching]]</label>
80
+ </strong>
81
+ </div>
82
+ <p class="form-text">[[user:topic-search-help]]</p>
83
+ <!-- ENDIF inTopicSearchAvailable -->
84
+ <div class="form-check">
85
+ <input class="form-check-input" type="checkbox" data-property="updateUrlWithPostIndex" {{{ if settings.updateUrlWithPostIndex }}}checked{{{ end }}}/>
86
+ <strong>
87
+ <label class="form-check-label">[[user:update-url-with-post-index]]</label>
88
+ </strong>
89
+ </div>
90
+ <div class="form-check">
91
+ <input class="form-check-input" type="checkbox" data-property="scrollToMyPost" <!-- IF settings.scrollToMyPost -->checked<!-- ENDIF settings.scrollToMyPost -->/>
92
+ <strong>
93
+ <label class="form-check-label">[[user:scroll-to-my-post]]</label>
94
+ </strong>
95
+ </div>
96
+ </div>
97
+
98
+ <h4>[[global:pagination]]</h4>
99
+ <div class="card card-body mb-3">
100
+ <div class="mb-2 form-check">
101
+ <input type="checkbox" class="form-check-input" data-property="usePagination" <!-- IF settings.usePagination -->checked<!-- ENDIF settings.usePagination -->> <strong><label class="form-check-label">[[user:paginate-description]]</label></strong>
102
+ </div>
103
+ <div class="mb-3">
104
+ <strong><label class="form-label">[[user:topics-per-page]] ([[user:max-items-per-page, {maxTopicsPerPage}]])</label></strong>
105
+ <input type="text" class="form-control" data-property="topicsPerPage" value="{settings.topicsPerPage}">
106
+ </div>
107
+ <div class="">
108
+ <strong><label class="form-label">[[user:posts-per-page]] ([[user:max-items-per-page, {maxPostsPerPage}]])</label></strong>
109
+ <input type="text" class="form-control" data-property="postsPerPage" value="{settings.postsPerPage}">
110
+ </div>
111
+ </div>
112
+
113
+ <h4 class="fw-bold">[[global:sort]]</h4>
114
+ <div class="card card-body mb-3">
115
+ <div class="mb-2">
116
+ <label class="form-label">[[user:category-topic-sort]]</label>
117
+ <select class="form-select" data-property="categoryTopicSort">
118
+ <option value="recently_replied" {{{ if (settings.categoryTopicSort == "recently_replied") }}}selected{{{ end }}}>[[topic:recently-replied]]</option>
119
+ <option value="recently_created" {{{ if (settings.categoryTopicSort == "recently_created") }}}selected{{{ end }}}>[[topic:recently-created]]</option>
120
+ <option value="most_posts" {{{ if (settings.categoryTopicSort == "most_posts") }}}selected{{{ end }}}>[[topic:most-posts]]</option>
121
+ <option value="most_votes" {{{ if (settings.categoryTopicSort == "most_votes") }}}selected{{{ end }}}>[[topic:most-votes]]</option>
122
+ <option value="most_views" {{{ if (settings.categoryTopicSort == "most_views") }}}selected{{{ end }}}>[[topic:most-views]]</option>
123
+ </select>
124
+ </div>
125
+ <div class="">
126
+ <label class="form-label">[[user:topic-post-sort]]</label>
127
+ <select class="form-select" data-property="topicPostSort">
128
+ <option value="oldest_to_newest" {{{ if (settings.topicPostSort == "oldest_to_newest") }}}selected{{{ end }}}>[[topic:oldest-to-newest]]</option>
129
+ <option value="newest_to_oldest" {{{ if (settings.topicPostSort == "newest_to_oldest") }}}selected{{{ end }}}>[[topic:newest-to-oldest]]</option>
130
+ <option value="most_votes" {{{ if (settings.topicPostSort == "most_votes") }}}selected{{{ end }}}>[[topic:most-votes]]</option>
131
+ </select>
132
+ </div>
133
+ </div>
134
+
135
+ <!-- IF !disableEmailSubscriptions -->
136
+ <h4>[[global:email]]</h4>
137
+ <div class="card card-body mb-3">
138
+ <div class="mb-2">
139
+ <label for="dailyDigestFreq">[[user:digest-label]]</label>
140
+ <select class="form-select" id="dailyDigestFreq" data-property="dailyDigestFreq" autocomplete="off">
141
+ {{{each dailyDigestFreqOptions}}}
142
+ <option value="{dailyDigestFreqOptions.value}" <!-- IF dailyDigestFreqOptions.selected -->selected="1"<!-- ENDIF dailyDigestFreqOptions.selected -->>{dailyDigestFreqOptions.name}</option>
143
+ {{{end}}}
144
+ </select>
145
+ <p class="form-text">[[user:digest-description]]</p>
146
+ </div>
147
+ </div>
148
+ <!-- ENDIF !disableEmailSubscriptions -->
149
+
150
+ {{{each customSettings}}}
151
+ <h4>{customSettings.title}</h4>
152
+ <div class="card card-body mb-3">
153
+ {customSettings.content}
154
+ </div>
155
+ {{{end}}}
156
+
157
+ </div>
158
+
159
+ <div class="col-12 col-md-6">
160
+ <h4>[[global:language]]</h4>
161
+ <div class="card card-body mb-3">
162
+ <div class="row">
163
+ <div class="mb-2 col-lg-12">
164
+ <select data-property="userLang" class="form-select">
165
+ {{{each languages}}}
166
+ <option value="{languages.code}" <!-- IF languages.selected -->selected<!-- ENDIF languages.selected -->>{languages.name} ({languages.code})</option>
167
+ {{{end}}}
168
+ </select>
169
+ </div>
170
+ </div>
171
+ <!-- IF isAdmin -->
172
+ <!-- IF isSelf -->
173
+ <label>[[user:acp-language]]</label>
174
+ <div class="row">
175
+ <div class="mb-2 col-lg-12">
176
+ <select data-property="acpLang" class="form-select">
177
+ {{{each acpLanguages}}}
178
+ <option value="{acpLanguages.code}" <!-- IF acpLanguages.selected -->selected<!-- ENDIF acpLanguages.selected -->>{acpLanguages.name} ({acpLanguages.code})</option>
179
+ {{{end}}}
180
+ </select>
181
+ </div>
182
+ </div>
183
+ <!-- ENDIF isSelf -->
184
+ <!-- ENDIF isAdmin -->
185
+ </div>
186
+
187
+ <h4>[[topic:watch]]</h4>
188
+ <div class="card card-body mb-3">
189
+ <div class="form-check">
190
+ <input class="form-check-input" type="checkbox" data-property="followTopicsOnCreate" <!-- IF settings.followTopicsOnCreate -->checked <!-- ENDIF settings.followTopicsOnCreate -->/>
191
+ <strong>
192
+ <label class="form-check-label">[[user:follow-topics-you-create]]</label>
193
+ </strong>
194
+ </div>
195
+ <div class="form-check">
196
+ <input class="form-check-input" type="checkbox" data-property="followTopicsOnReply" <!-- IF settings.followTopicsOnReply -->checked<!-- ENDIF settings.followTopicsOnReply -->/>
197
+ <strong>
198
+ <label class="form-check-label">[[user:follow-topics-you-reply-to]]</label>
199
+ </strong>
200
+ </div>
201
+ <div class="mb-2">
202
+ <label>[[user:default-category-watch-state]]</label>
203
+ <select class="form-select" data-property="categoryWatchState">
204
+ <option value="tracking" <!-- IF categoryWatchState.tracking -->selected<!-- ENDIF categoryWatchState.tracking -->>[[category:tracking]]</option>
205
+ <option value="notwatching" <!-- IF categoryWatchState.notwatching -->selected<!-- ENDIF categoryWatchState.notwatching -->>[[category:not-watching]]</option>
206
+ <option value="ignoring" <!-- IF categoryWatchState.ignoring -->selected<!-- ENDIF categoryWatchState.ignoring -->>[[category:ignoring]]</option>
207
+ </select>
208
+ </div>
209
+ </div>
210
+
211
+
212
+ <h4>[[user:notifications]]</h4>
213
+ <div class="card card-body mb-3">
214
+ {{{each notificationSettings}}}
215
+ <div class="row mb-3">
216
+ <div class="col-7">
217
+ <label>{notificationSettings.label}</label>
218
+ </div>
219
+ <div class="mb-2 col-5">
220
+ <select class="form-select" data-property="{notificationSettings.name}">
221
+ <option value="none" <!-- IF notificationSettings.none -->selected<!-- ENDIF notificationSettings.none -->>[[notifications:none]]</option>
222
+ <option value="notification" <!-- IF notificationSettings.notification -->selected<!-- ENDIF notificationSettings.notification -->>[[notifications:notification-only]]</option>
223
+ <option value="email" <!-- IF notificationSettings.email -->selected<!-- ENDIF notificationSettings.email -->>[[notifications:email-only]]</option>
224
+ <option value="notificationemail" <!-- IF notificationSettings.notificationemail -->selected<!-- ENDIF notificationSettings.notificationemail -->>[[notifications:notification-and-email]]</option>
225
+ </select>
226
+ </div>
227
+ </div>
228
+ {{{end}}}
229
+
230
+ <div class="row">
231
+ <div class="col-7">
232
+ <label for="upvote-notif-freq">[[user:upvote-notif-freq]]</label>
233
+ </div>
234
+ <div class="mb-2 col-5">
235
+ <select class="form-select" id="upvote-notif-freq" name="upvote-notif-freq" data-property="upvoteNotifFreq">
236
+ {{{each upvoteNotifFreq}}}
237
+ <option value="{upvoteNotifFreq.name}" <!-- IF upvoteNotifFreq.selected -->selected<!-- ENDIF upvoteNotifFreq.selected -->>
238
+ [[user:upvote-notif-freq.{upvoteNotifFreq.name}]]
239
+ </option>
240
+ {{{end}}}
241
+ </select>
242
+ </div>
243
+ </div>
244
+ </div>
245
+ </div>
246
+ </div>
247
+ <div class="form-actions">
248
+ <a id="submitBtn" href="#" class="btn btn-primary">[[global:save-changes]]</a>
249
+ </div>
250
+ </div>
251
+
@@ -1,10 +1,10 @@
1
- <!-- IMPORT partials/account/header.tpl -->
2
-
3
- <div class="row">
4
- <h1 class="fs-2">{title}</h1>
5
- <div class="col-lg-12">
6
- <input component="tags/watch" type="text" class="form-control">
7
- </div>
8
- </div>
9
-
1
+ <!-- IMPORT partials/account/header.tpl -->
2
+
3
+ <div class="row">
4
+ <h1 class="fs-2">{title}</h1>
5
+ <div class="col-lg-12">
6
+ <input component="tags/watch" type="text" class="form-control">
7
+ </div>
8
+ </div>
9
+
10
10
  <!-- IMPORT partials/account/footer.tpl -->
@@ -1,26 +1,26 @@
1
- <!-- IMPORT partials/account/header.tpl -->
2
-
3
- <p>[[themes/persona:settings.intro]]</p>
4
-
5
- <hr />
6
-
7
- <form id="theme-settings" role="form">
8
- <div class="form-check mb-3">
9
- <input class="form-check-input" type="checkbox" id="persona:menus:legacy-layout" name="persona:menus:legacy-layout">
10
- <label class="form-check-label" for="persona:menus:legacy-layout">[[themes/persona:settings.mobile-menu-side]]</label>
11
- </div>
12
-
13
- <div class="mb-3">
14
- <label for="persona:navbar:autohide">[[themes/persona:settings.autoHidingNavbar]]</label>
15
- <select multiple class="form-control" name="persona:navbar:autohide" id="persona:navbar:autohide">
16
- <option value="xs">[[themes/persona:settings.autoHidingNavbar-xs]]</option>
17
- <option value="sm">[[themes/persona:settings.autoHidingNavbar-sm]]</option>
18
- <option value="md">[[themes/persona:settings.autoHidingNavbar-md]]</option>
19
- <option value="lg">[[themes/persona:settings.autoHidingNavbar-lg]]</option>
20
- </select>
21
- </div>
22
-
23
- <button id="save" type="button" class="btn btn-primary">[[global:save-changes]]</button>
24
- </form>
25
-
1
+ <!-- IMPORT partials/account/header.tpl -->
2
+
3
+ <p>[[themes/persona:settings.intro]]</p>
4
+
5
+ <hr />
6
+
7
+ <form id="theme-settings" role="form">
8
+ <div class="form-check mb-3">
9
+ <input class="form-check-input" type="checkbox" id="persona:menus:legacy-layout" name="persona:menus:legacy-layout">
10
+ <label class="form-check-label" for="persona:menus:legacy-layout">[[themes/persona:settings.mobile-menu-side]]</label>
11
+ </div>
12
+
13
+ <div class="mb-3">
14
+ <label for="persona:navbar:autohide">[[themes/persona:settings.autoHidingNavbar]]</label>
15
+ <select multiple class="form-control" name="persona:navbar:autohide" id="persona:navbar:autohide">
16
+ <option value="xs">[[themes/persona:settings.autoHidingNavbar-xs]]</option>
17
+ <option value="sm">[[themes/persona:settings.autoHidingNavbar-sm]]</option>
18
+ <option value="md">[[themes/persona:settings.autoHidingNavbar-md]]</option>
19
+ <option value="lg">[[themes/persona:settings.autoHidingNavbar-lg]]</option>
20
+ </select>
21
+ </div>
22
+
23
+ <button id="save" type="button" class="btn btn-primary">[[global:save-changes]]</button>
24
+ </form>
25
+
26
26
  <!-- IMPORT partials/account/footer.tpl -->