nodebb-theme-harmony 0.0.1
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 +3 -0
- package/README.md +8 -0
- package/lib/controllers.js +7 -0
- package/library.js +51 -0
- package/package.json +45 -0
- package/plugin.json +11 -0
- package/public/.eslintrc +3 -0
- package/public/admin.js +15 -0
- package/renovate.json +6 -0
- package/scss/harmony.scss +3 -0
- package/scss/overrides.scss +1 -0
- package/templates/account/best.tpl +3 -0
- package/templates/account/blocks.tpl +35 -0
- package/templates/account/bookmarks.tpl +3 -0
- package/templates/account/categories.tpl +30 -0
- package/templates/account/consent.tpl +71 -0
- package/templates/account/controversial.tpl +3 -0
- package/templates/account/downvoted.tpl +3 -0
- package/templates/account/edit/password.tpl +32 -0
- package/templates/account/edit/username.tpl +28 -0
- package/templates/account/edit.tpl +137 -0
- package/templates/account/followers.tpl +19 -0
- package/templates/account/following.tpl +19 -0
- package/templates/account/groups.tpl +19 -0
- package/templates/account/ignored.tpl +3 -0
- package/templates/account/info.tpl +228 -0
- package/templates/account/posts.tpl +21 -0
- package/templates/account/profile.tpl +168 -0
- package/templates/account/sessions.tpl +34 -0
- package/templates/account/settings.tpl +231 -0
- package/templates/account/theme.tpl +29 -0
- package/templates/account/topics.tpl +32 -0
- package/templates/account/uploads.tpl +45 -0
- package/templates/account/upvoted.tpl +3 -0
- package/templates/account/watched.tpl +3 -0
- package/templates/admin/plugins/persona.tpl +29 -0
- package/templates/categories.tpl +33 -0
- package/templates/category.tpl +65 -0
- package/templates/chat.tpl +41 -0
- package/templates/chats.tpl +21 -0
- package/templates/flags/detail.tpl +211 -0
- package/templates/flags/list.tpl +73 -0
- package/templates/footer.tpl +16 -0
- package/templates/groups/details.tpl +79 -0
- package/templates/groups/list.tpl +50 -0
- package/templates/groups/members.tpl +8 -0
- package/templates/header.tpl +49 -0
- package/templates/login.tpl +98 -0
- package/templates/modules/taskbar.tpl +5 -0
- package/templates/modules/usercard.tpl +39 -0
- package/templates/notifications.tpl +68 -0
- package/templates/partials/acceptTos.tpl +11 -0
- package/templates/partials/account/category-item.tpl +25 -0
- package/templates/partials/account/header.tpl +48 -0
- package/templates/partials/account/menu.tpl +103 -0
- package/templates/partials/breadcrumbs.tpl +20 -0
- package/templates/partials/buttons/newTopic.tpl +24 -0
- package/templates/partials/categories/item.tpl +62 -0
- package/templates/partials/categories/lastpost.tpl +28 -0
- package/templates/partials/categories/link.tpl +13 -0
- package/templates/partials/category/sort.tpl +17 -0
- package/templates/partials/category/subcategory.tpl +20 -0
- package/templates/partials/category/tags.tpl +5 -0
- package/templates/partials/category/tools.tpl +83 -0
- package/templates/partials/category/watch.tpl +23 -0
- package/templates/partials/category-filter-content.tpl +31 -0
- package/templates/partials/category-filter-right.tpl +5 -0
- package/templates/partials/category-filter.tpl +5 -0
- package/templates/partials/category-selector-content.tpl +35 -0
- package/templates/partials/category-selector-right.tpl +5 -0
- package/templates/partials/category-selector.tpl +5 -0
- package/templates/partials/chats/dropdown.tpl +40 -0
- package/templates/partials/chats/message-window.tpl +36 -0
- package/templates/partials/chats/message.tpl +36 -0
- package/templates/partials/chats/messages.tpl +9 -0
- package/templates/partials/chats/options.tpl +26 -0
- package/templates/partials/chats/recent_room.tpl +33 -0
- package/templates/partials/chats/system-message.tpl +5 -0
- package/templates/partials/chats/user.tpl +3 -0
- package/templates/partials/chats-menu.tpl +43 -0
- package/templates/partials/cookie-consent.tpl +6 -0
- package/templates/partials/flags/filters.tpl +99 -0
- package/templates/partials/groups/admin.tpl +197 -0
- package/templates/partials/groups/badge.tpl +3 -0
- package/templates/partials/groups/list.tpl +23 -0
- package/templates/partials/groups/memberlist.tpl +43 -0
- package/templates/partials/header/user-menu.tpl +87 -0
- package/templates/partials/menu.tpl +188 -0
- package/templates/partials/notifications_list.tpl +32 -0
- package/templates/partials/paginator.tpl +47 -0
- package/templates/partials/post_bar.tpl +22 -0
- package/templates/partials/posts_list.tpl +10 -0
- package/templates/partials/posts_list_item.tpl +34 -0
- package/templates/partials/quick-search-results.tpl +36 -0
- package/templates/partials/search-results.tpl +57 -0
- package/templates/partials/slideout-menu.tpl +6 -0
- package/templates/partials/tags_list.tpl +7 -0
- package/templates/partials/thread_tools.tpl +10 -0
- package/templates/partials/toast.tpl +16 -0
- package/templates/partials/topic/browsing-users.tpl +3 -0
- package/templates/partials/topic/event.tpl +28 -0
- package/templates/partials/topic/navigation-post.tpl +14 -0
- package/templates/partials/topic/navigator.tpl +41 -0
- package/templates/partials/topic/necro-post.tpl +5 -0
- package/templates/partials/topic/post-editor.tpl +3 -0
- package/templates/partials/topic/post-menu-list.tpl +134 -0
- package/templates/partials/topic/post-menu.tpl +6 -0
- package/templates/partials/topic/post.tpl +116 -0
- package/templates/partials/topic/quickreply.tpl +30 -0
- package/templates/partials/topic/reactions.tpl +3 -0
- package/templates/partials/topic/reply-button.tpl +29 -0
- package/templates/partials/topic/selection-tooltip.tpl +5 -0
- package/templates/partials/topic/sort.tpl +11 -0
- package/templates/partials/topic/stats.tpl +14 -0
- package/templates/partials/topic/tag.tpl +3 -0
- package/templates/partials/topic/tags.tpl +5 -0
- package/templates/partials/topic/topic-menu-list.tpl +34 -0
- package/templates/partials/topic/watch.tpl +24 -0
- package/templates/partials/topic-filters.tpl +14 -0
- package/templates/partials/topic-terms.tpl +14 -0
- package/templates/partials/topics_list.tpl +118 -0
- package/templates/partials/users_list.tpl +60 -0
- package/templates/partials/users_list_menu.tpl +23 -0
- package/templates/popular.tpl +37 -0
- package/templates/recent.tpl +39 -0
- package/templates/register.tpl +89 -0
- package/templates/search.tpl +185 -0
- package/templates/tag.tpl +35 -0
- package/templates/tags.tpl +34 -0
- package/templates/top.tpl +37 -0
- package/templates/topic.tpl +108 -0
- package/templates/unread.tpl +39 -0
- package/templates/users.tpl +36 -0
- package/theme.json +7 -0
- package/theme.scss +1 -0
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
+
|
|
3
|
+
<div class="account">
|
|
4
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
5
|
+
|
|
6
|
+
<div class="row">
|
|
7
|
+
<div class="col-12 col-md-6">
|
|
8
|
+
<!-- IF !disableCustomUserSkins -->
|
|
9
|
+
<h4>[[user:select-skin]]</h4>
|
|
10
|
+
<div class="card card-body mb-3">
|
|
11
|
+
<select class="form-select" id="bootswatchSkin" data-property="bootswatchSkin">
|
|
12
|
+
{{{each bootswatchSkinOptions}}}
|
|
13
|
+
<option value="{bootswatchSkinOptions.value}" <!-- IF bootswatchSkinOptions.selected -->selected<!-- ENDIF bootswatchSkinOptions.selected -->>{bootswatchSkinOptions.name}</option>
|
|
14
|
+
{{{end}}}
|
|
15
|
+
</select>
|
|
16
|
+
</div>
|
|
17
|
+
<!-- ENDIF !disableCustomUserSkins -->
|
|
18
|
+
|
|
19
|
+
<!-- IF allowUserHomePage -->
|
|
20
|
+
<h4>[[user:select-homepage]]</h4>
|
|
21
|
+
<div class="card card-body mb-3">
|
|
22
|
+
<div class="mb-2">
|
|
23
|
+
<label for="homePageRoute">[[user:homepage]]</label>
|
|
24
|
+
<select class="form-select" id="homePageRoute" data-property="homePageRoute">
|
|
25
|
+
<option value="none">None</option>
|
|
26
|
+
{{{each homePageRoutes}}}
|
|
27
|
+
<option value="{homePageRoutes.route}" <!-- IF homePageRoutes.selected -->selected="1"<!-- ENDIF homePageRoutes.selected -->>{homePageRoutes.name}</option>
|
|
28
|
+
{{{end}}}
|
|
29
|
+
</select>
|
|
30
|
+
<p class="form-text">[[user:homepage_description]]</p>
|
|
31
|
+
</div>
|
|
32
|
+
<div id="homePageCustom" class="mb-2" style="display: none;">
|
|
33
|
+
<label for="homePageCustom">[[user:custom_route]]</label>
|
|
34
|
+
<input type="text" class="form-control" data-property="homePageCustom" id="homePageCustom" value="{settings.homePageRoute}"/>
|
|
35
|
+
<p class="form-text">[[user:custom_route_help]]</p>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<!-- ENDIF allowUserHomePage -->
|
|
39
|
+
|
|
40
|
+
<h4>[[global:privacy]]</h4>
|
|
41
|
+
<div class="card card-body mb-3">
|
|
42
|
+
<!-- IF !hideEmail -->
|
|
43
|
+
<div class="form-check">
|
|
44
|
+
<input class="form-check-input" type="checkbox" data-property="showemail" <!-- IF settings.showemail -->checked <!-- ENDIF settings.showemail -->/>
|
|
45
|
+
<strong>
|
|
46
|
+
<label class="form-check-label">[[user:show_email]]</label>
|
|
47
|
+
</strong>
|
|
48
|
+
</div>
|
|
49
|
+
<!-- ENDIF !hideEmail -->
|
|
50
|
+
|
|
51
|
+
<!-- IF !hideFullname -->
|
|
52
|
+
<div class="form-check">
|
|
53
|
+
<input class="form-check-input" type="checkbox" data-property="showfullname" <!-- IF settings.showfullname -->checked<!-- ENDIF settings.showfullname -->/>
|
|
54
|
+
<strong>
|
|
55
|
+
<label class="form-check-label">[[user:show_fullname]]</label>
|
|
56
|
+
</strong>
|
|
57
|
+
</div>
|
|
58
|
+
<!-- ENDIF !hideFullname -->
|
|
59
|
+
<!-- IF !config.disableChat -->
|
|
60
|
+
<div class="form-check">
|
|
61
|
+
<input class="form-check-input" type="checkbox" data-property="restrictChat" <!-- IF settings.restrictChat -->checked<!-- ENDIF settings.restrictChat -->/>
|
|
62
|
+
<strong>
|
|
63
|
+
<label class="form-check-label">[[user:restrict_chats]]</label>
|
|
64
|
+
</strong>
|
|
65
|
+
</div>
|
|
66
|
+
<!-- ENDIF !config.disableChat -->
|
|
67
|
+
</div>
|
|
68
|
+
|
|
69
|
+
<h4>[[user:browsing]]</h4>
|
|
70
|
+
<div class="card card-body mb-3">
|
|
71
|
+
<div class="form-check">
|
|
72
|
+
<input class="form-check-input" type="checkbox" data-property="openOutgoingLinksInNewTab" <!-- IF settings.openOutgoingLinksInNewTab -->checked<!-- ENDIF settings.openOutgoingLinksInNewTab -->/>
|
|
73
|
+
<strong>
|
|
74
|
+
<label class="form-check-label">[[user:open_links_in_new_tab]]</label>
|
|
75
|
+
</strong>
|
|
76
|
+
</div>
|
|
77
|
+
<!-- IF inTopicSearchAvailable -->
|
|
78
|
+
<div class="form-check">
|
|
79
|
+
<input class="form-check-input" type="checkbox" data-property="topicSearchEnabled" <!-- IF settings.topicSearchEnabled -->checked<!-- ENDIF settings.topicSearchEnabled -->/>
|
|
80
|
+
<strong>
|
|
81
|
+
<label class="form-check-label">[[user:enable_topic_searching]]</label>
|
|
82
|
+
</strong>
|
|
83
|
+
</div>
|
|
84
|
+
<p class="form-text">[[user:topic_search_help]]</p>
|
|
85
|
+
<!-- ENDIF inTopicSearchAvailable -->
|
|
86
|
+
<div class="form-check">
|
|
87
|
+
<input class="form-check-input" type="checkbox" data-property="updateUrlWithPostIndex" {{{ if settings.updateUrlWithPostIndex }}}checked{{{ end }}}/>
|
|
88
|
+
<strong>
|
|
89
|
+
<label class="form-check-label">[[user:update_url_with_post_index]]</label>
|
|
90
|
+
</strong>
|
|
91
|
+
</div>
|
|
92
|
+
<div class="form-check">
|
|
93
|
+
<input class="form-check-input" type="checkbox" data-property="scrollToMyPost" <!-- IF settings.scrollToMyPost -->checked<!-- ENDIF settings.scrollToMyPost -->/>
|
|
94
|
+
<strong>
|
|
95
|
+
<label class="form-check-label">[[user:scroll_to_my_post]]</label>
|
|
96
|
+
</strong>
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
|
|
100
|
+
<h4>[[global:pagination]]</h4>
|
|
101
|
+
<div class="card card-body mb-3">
|
|
102
|
+
<div class="mb-2 form-check">
|
|
103
|
+
<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>
|
|
104
|
+
</div>
|
|
105
|
+
<div class="mb-3">
|
|
106
|
+
<strong><label class="form-label">[[user:topics_per_page]] ([[user:max_items_per_page, {maxTopicsPerPage}]])</label></strong>
|
|
107
|
+
<input type="text" class="form-control" data-property="topicsPerPage" value="{settings.topicsPerPage}">
|
|
108
|
+
</div>
|
|
109
|
+
<div class="">
|
|
110
|
+
<strong><label class="form-label">[[user:posts_per_page]] ([[user:max_items_per_page, {maxPostsPerPage}]])</label></strong>
|
|
111
|
+
<input type="text" class="form-control" data-property="postsPerPage" value="{settings.postsPerPage}">
|
|
112
|
+
</div>
|
|
113
|
+
</div>
|
|
114
|
+
|
|
115
|
+
<!-- IF !disableEmailSubscriptions -->
|
|
116
|
+
<h4>[[global:email]]</h4>
|
|
117
|
+
<div class="card card-body mb-3">
|
|
118
|
+
<div class="mb-2">
|
|
119
|
+
<label for="dailyDigestFreq">[[user:digest_label]]</label>
|
|
120
|
+
<select class="form-select" id="dailyDigestFreq" data-property="dailyDigestFreq" autocomplete="off">
|
|
121
|
+
{{{each dailyDigestFreqOptions}}}
|
|
122
|
+
<option value="{dailyDigestFreqOptions.value}" <!-- IF dailyDigestFreqOptions.selected -->selected="1"<!-- ENDIF dailyDigestFreqOptions.selected -->>{dailyDigestFreqOptions.name}</option>
|
|
123
|
+
{{{end}}}
|
|
124
|
+
</select>
|
|
125
|
+
<p class="form-text">[[user:digest_description]]</p>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
<!-- ENDIF !disableEmailSubscriptions -->
|
|
129
|
+
|
|
130
|
+
{{{each customSettings}}}
|
|
131
|
+
<h4>{customSettings.title}</h4>
|
|
132
|
+
<div class="card card-body mb-3">
|
|
133
|
+
{customSettings.content}
|
|
134
|
+
</div>
|
|
135
|
+
{{{end}}}
|
|
136
|
+
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
<div class="col-12 col-md-6">
|
|
140
|
+
<h4>[[global:language]]</h4>
|
|
141
|
+
<div class="card card-body mb-3">
|
|
142
|
+
<div class="row">
|
|
143
|
+
<div class="mb-2 col-lg-12">
|
|
144
|
+
<select data-property="userLang" class="form-select">
|
|
145
|
+
{{{each languages}}}
|
|
146
|
+
<option value="{languages.code}" <!-- IF languages.selected -->selected<!-- ENDIF languages.selected -->>{languages.name} ({languages.code})</option>
|
|
147
|
+
{{{end}}}
|
|
148
|
+
</select>
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
<!-- IF isAdmin -->
|
|
152
|
+
<!-- IF isSelf -->
|
|
153
|
+
<label>[[user:acp_language]]</label>
|
|
154
|
+
<div class="row">
|
|
155
|
+
<div class="mb-2 col-lg-12">
|
|
156
|
+
<select data-property="acpLang" class="form-select">
|
|
157
|
+
{{{each acpLanguages}}}
|
|
158
|
+
<option value="{acpLanguages.code}" <!-- IF acpLanguages.selected -->selected<!-- ENDIF acpLanguages.selected -->>{acpLanguages.name} ({acpLanguages.code})</option>
|
|
159
|
+
{{{end}}}
|
|
160
|
+
</select>
|
|
161
|
+
</div>
|
|
162
|
+
</div>
|
|
163
|
+
<!-- ENDIF isSelf -->
|
|
164
|
+
<!-- ENDIF isAdmin -->
|
|
165
|
+
</div>
|
|
166
|
+
|
|
167
|
+
<h4>[[topic:watch]]</h4>
|
|
168
|
+
<div class="card card-body mb-3">
|
|
169
|
+
<div class="form-check">
|
|
170
|
+
<input class="form-check-input" type="checkbox" data-property="followTopicsOnCreate" <!-- IF settings.followTopicsOnCreate -->checked <!-- ENDIF settings.followTopicsOnCreate -->/>
|
|
171
|
+
<strong>
|
|
172
|
+
<label class="form-check-label">[[user:follow_topics_you_create]]</label>
|
|
173
|
+
</strong>
|
|
174
|
+
</div>
|
|
175
|
+
<div class="form-check">
|
|
176
|
+
<input class="form-check-input" type="checkbox" data-property="followTopicsOnReply" <!-- IF settings.followTopicsOnReply -->checked<!-- ENDIF settings.followTopicsOnReply -->/>
|
|
177
|
+
<strong>
|
|
178
|
+
<label class="form-check-label">[[user:follow_topics_you_reply_to]]</label>
|
|
179
|
+
</strong>
|
|
180
|
+
</div>
|
|
181
|
+
<div class="mb-2">
|
|
182
|
+
<label>[[user:default-category-watch-state]]</label>
|
|
183
|
+
<select class="form-select" data-property="categoryWatchState">
|
|
184
|
+
<option value="watching" <!-- IF categoryWatchState.watching -->selected<!-- ENDIF categoryWatchState.watching -->>[[category:watching]]</option>
|
|
185
|
+
<option value="notwatching" <!-- IF categoryWatchState.notwatching -->selected<!-- ENDIF categoryWatchState.notwatching -->>[[category:not-watching]]</option>
|
|
186
|
+
<option value="ignoring" <!-- IF categoryWatchState.ignoring -->selected<!-- ENDIF categoryWatchState.ignoring -->>[[category:ignoring]]</option>
|
|
187
|
+
</select>
|
|
188
|
+
</div>
|
|
189
|
+
</div>
|
|
190
|
+
|
|
191
|
+
|
|
192
|
+
<h4>[[user:notifications]]</h4>
|
|
193
|
+
<div class="card card-body mb-3">
|
|
194
|
+
{{{each notificationSettings}}}
|
|
195
|
+
<div class="row mb-3">
|
|
196
|
+
<div class="col-7">
|
|
197
|
+
<label>{notificationSettings.label}</label>
|
|
198
|
+
</div>
|
|
199
|
+
<div class="mb-2 col-5">
|
|
200
|
+
<select class="form-select" data-property="{notificationSettings.name}">
|
|
201
|
+
<option value="none" <!-- IF notificationSettings.none -->selected<!-- ENDIF notificationSettings.none -->>[[notifications:none]]</option>
|
|
202
|
+
<option value="notification" <!-- IF notificationSettings.notification -->selected<!-- ENDIF notificationSettings.notification -->>[[notifications:notification_only]]</option>
|
|
203
|
+
<option value="email" <!-- IF notificationSettings.email -->selected<!-- ENDIF notificationSettings.email -->>[[notifications:email_only]]</option>
|
|
204
|
+
<option value="notificationemail" <!-- IF notificationSettings.notificationemail -->selected<!-- ENDIF notificationSettings.notificationemail -->>[[notifications:notification_and_email]]</option>
|
|
205
|
+
</select>
|
|
206
|
+
</div>
|
|
207
|
+
</div>
|
|
208
|
+
{{{end}}}
|
|
209
|
+
|
|
210
|
+
<div class="row">
|
|
211
|
+
<div class="col-7">
|
|
212
|
+
<label for="upvote-notif-freq">[[user:upvote-notif-freq]]</label>
|
|
213
|
+
</div>
|
|
214
|
+
<div class="mb-2 col-5">
|
|
215
|
+
<select class="form-select" id="upvote-notif-freq" name="upvote-notif-freq" data-property="upvoteNotifFreq">
|
|
216
|
+
{{{each upvoteNotifFreq}}}
|
|
217
|
+
<option value="{upvoteNotifFreq.name}" <!-- IF upvoteNotifFreq.selected -->selected<!-- ENDIF upvoteNotifFreq.selected -->>
|
|
218
|
+
[[user:upvote-notif-freq.{upvoteNotifFreq.name}]]
|
|
219
|
+
</option>
|
|
220
|
+
{{{end}}}
|
|
221
|
+
</select>
|
|
222
|
+
</div>
|
|
223
|
+
</div>
|
|
224
|
+
</div>
|
|
225
|
+
</div>
|
|
226
|
+
</div>
|
|
227
|
+
<div class="form-actions">
|
|
228
|
+
<a id="submitBtn" href="#" class="btn btn-primary">[[global:save_changes]]</a>
|
|
229
|
+
</div>
|
|
230
|
+
</div>
|
|
231
|
+
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
+
|
|
3
|
+
<div class="account">
|
|
4
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
5
|
+
|
|
6
|
+
<p>[[persona:settings.intro]]</p>
|
|
7
|
+
|
|
8
|
+
<hr />
|
|
9
|
+
|
|
10
|
+
<form id="theme-settings" role="form">
|
|
11
|
+
<div class="checkbox">
|
|
12
|
+
<label>
|
|
13
|
+
<input type="checkbox" id="persona:menus:legacy-layout" name="persona:menus:legacy-layout"> <strong>[[persona:settings.mobile-menu-side]]</strong>
|
|
14
|
+
</label>
|
|
15
|
+
</div><br />
|
|
16
|
+
|
|
17
|
+
<div class="form-group">
|
|
18
|
+
<label for="persona:navbar:autohide">[[persona:settings.autoHidingNavbar]]</label>
|
|
19
|
+
<select multiple class="form-control" name="persona:navbar:autohide" id="persona:navbar:autohide">
|
|
20
|
+
<option value="xs">[[persona:settings.autoHidingNavbar-xs]]</option>
|
|
21
|
+
<option value="sm">[[persona:settings.autoHidingNavbar-sm]]</option>
|
|
22
|
+
<option value="md">[[persona:settings.autoHidingNavbar-md]]</option>
|
|
23
|
+
<option value="lg">[[persona:settings.autoHidingNavbar-lg]]</option>
|
|
24
|
+
</select>
|
|
25
|
+
</div>
|
|
26
|
+
|
|
27
|
+
<button id="save" type="button" class="btn btn-primary">[[global:save_changes]]</button>
|
|
28
|
+
</form>
|
|
29
|
+
</div>
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
+
|
|
3
|
+
<div class="account">
|
|
4
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
5
|
+
|
|
6
|
+
<div class="row">
|
|
7
|
+
<h1>{title}</h1>
|
|
8
|
+
<!-- IF showSort -->
|
|
9
|
+
<div class="btn-toolbar justify-content-end mb-2">
|
|
10
|
+
<div class="btn-group bottom-sheet" component="thread/sort">
|
|
11
|
+
<button class="btn btn-outline-secondary dropdown-toggle" data-bs-toggle="dropdown" type="button"><span>[[topic:sort_by]]</span> <span class="caret"></span></button>
|
|
12
|
+
<ul class="dropdown-menu dropdown-menu-end">
|
|
13
|
+
{{{each sortOptions }}}
|
|
14
|
+
<li><a class="dropdown-item" href="{config.relative_path}{sortOptions.url}"><i class="fa fa-fw {{{if sortOptions.selected}}}fa-check{{{end}}}"></i>{sortOptions.name}</a></li>
|
|
15
|
+
{{{end}}}
|
|
16
|
+
</ul>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
<!-- ENDIF showSort -->
|
|
20
|
+
|
|
21
|
+
<!-- IF !topics.length -->
|
|
22
|
+
<div class="alert alert-warning text-center">{noItemsFoundKey}</div>
|
|
23
|
+
<!-- ENDIF !topics.length -->
|
|
24
|
+
|
|
25
|
+
<div class="category">
|
|
26
|
+
<!-- IMPORT partials/topics_list.tpl -->
|
|
27
|
+
<!-- IF config.usePagination -->
|
|
28
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
29
|
+
<!-- ENDIF config.usePagination -->
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
+
|
|
3
|
+
<div class="account">
|
|
4
|
+
<!-- IMPORT partials/account/header.tpl -->
|
|
5
|
+
<div class="row">
|
|
6
|
+
<h1>{title}</h1>
|
|
7
|
+
|
|
8
|
+
<!-- IF privateUploads -->
|
|
9
|
+
<div class="alert alert-info text-center">[[uploads:private-uploads-info]]</div>
|
|
10
|
+
<!-- ELSE -->
|
|
11
|
+
<div class="alert alert-info text-center">[[uploads:public-uploads-info]]</div>
|
|
12
|
+
<!-- ENDIF privateUploads -->
|
|
13
|
+
|
|
14
|
+
<!-- IF !uploads.length -->
|
|
15
|
+
<div class="alert alert-warning text-center">[[uploads:no-uploads-found]]</div>
|
|
16
|
+
<!-- ENDIF !uploads.length -->
|
|
17
|
+
|
|
18
|
+
<div class="col-12">
|
|
19
|
+
<table class="table table-striped">
|
|
20
|
+
<thead>
|
|
21
|
+
<tr>
|
|
22
|
+
<th></th>
|
|
23
|
+
<th></th>
|
|
24
|
+
</tr>
|
|
25
|
+
</thead>
|
|
26
|
+
<tbody>
|
|
27
|
+
{{{each uploads}}}
|
|
28
|
+
<tr data-name="{uploads.name}">
|
|
29
|
+
<td>
|
|
30
|
+
<a href="{config.relative_path}{uploads.url}">{uploads.url}</a>
|
|
31
|
+
</td>
|
|
32
|
+
<td>
|
|
33
|
+
<div class="btn-group ">
|
|
34
|
+
<button class="btn btn-danger btn-sm" data-action="delete"><i class="fa fa-trash"></i></button>
|
|
35
|
+
</div>
|
|
36
|
+
</td>
|
|
37
|
+
</tr>
|
|
38
|
+
{{{end}}}
|
|
39
|
+
</tbody>
|
|
40
|
+
</table>
|
|
41
|
+
|
|
42
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
</div>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
+
|
|
3
|
+
<div class="row">
|
|
4
|
+
<div class="col-sm-2 col-12 settings-header">Theme Settings</div>
|
|
5
|
+
<div class="col-sm-10 col-12">
|
|
6
|
+
<form role="form" class="persona-settings">
|
|
7
|
+
<div class="checkbox">
|
|
8
|
+
<label class="mdl-switch mdl-js-switch mdl-js-ripple-effect">
|
|
9
|
+
<input class="mdl-switch__input" type="checkbox" id="hideSubCategories" name="hideSubCategories">
|
|
10
|
+
<span class="mdl-switch__label"><strong>Hide subcategories on categories view</strong></span>
|
|
11
|
+
</label>
|
|
12
|
+
</div>
|
|
13
|
+
<div class="checkbox">
|
|
14
|
+
<label class="mdl-switch mdl-js-switch mdl-js-ripple-effect">
|
|
15
|
+
<input class="mdl-switch__input" type="checkbox" id="hideCategoryLastPost" name="hideCategoryLastPost">
|
|
16
|
+
<span class="mdl-switch__label"><strong>Hide last post on categories view</strong></span>
|
|
17
|
+
</label>
|
|
18
|
+
</div>
|
|
19
|
+
<div class="checkbox">
|
|
20
|
+
<label class="mdl-switch mdl-js-switch mdl-js-ripple-effect">
|
|
21
|
+
<input class="mdl-switch__input" type="checkbox" id="enableQuickReply" name="enableQuickReply">
|
|
22
|
+
<span class="mdl-switch__label"><strong>Enable quick reply</strong></span>
|
|
23
|
+
</label>
|
|
24
|
+
</div>
|
|
25
|
+
</form>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
28
|
+
|
|
29
|
+
<!-- IMPORT admin/partials/save_button.tpl -->
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
+
|
|
3
|
+
<!-- IMPORT partials/breadcrumbs.tpl -->
|
|
4
|
+
<div data-widget-area="header">
|
|
5
|
+
{{{ each widgets.header }}}
|
|
6
|
+
{{widgets.header.html}}
|
|
7
|
+
{{{ end }}}
|
|
8
|
+
</div>
|
|
9
|
+
<div class="row">
|
|
10
|
+
<div class="{{{ if widgets.sidebar.length }}}col-lg-9 col-sm-12{{{ else }}}col-lg-12{{{ end }}}">
|
|
11
|
+
{{{ if pagination.pages.length }}}
|
|
12
|
+
<div><!-- IMPORT partials/category-selector.tpl --></div>
|
|
13
|
+
{{{ else }}}
|
|
14
|
+
<h1 class="categories-title">[[pages:categories]]</h1>
|
|
15
|
+
{{{ end }}}
|
|
16
|
+
<ul class="categories" itemscope itemtype="http://www.schema.org/ItemList">
|
|
17
|
+
{{{ each categories }}}
|
|
18
|
+
<!-- IMPORT partials/categories/item.tpl -->
|
|
19
|
+
{{{ end }}}
|
|
20
|
+
</ul>
|
|
21
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
22
|
+
</div>
|
|
23
|
+
<div data-widget-area="sidebar" class="col-lg-3 col-sm-12 {{{ if !widgets.sidebar.length }}}hidden{{{ end }}}">
|
|
24
|
+
{{{ each widgets.sidebar }}}
|
|
25
|
+
{{widgets.sidebar.html}}
|
|
26
|
+
{{{ end }}}
|
|
27
|
+
</div>
|
|
28
|
+
</div>
|
|
29
|
+
<div data-widget-area="footer">
|
|
30
|
+
{{{ each widgets.footer }}}
|
|
31
|
+
{{widgets.footer.html}}
|
|
32
|
+
{{{ end }}}
|
|
33
|
+
</div>
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
+
|
|
3
|
+
<!-- IMPORT partials/breadcrumbs.tpl -->
|
|
4
|
+
<div data-widget-area="header">
|
|
5
|
+
{{{ each widgets.header }}}
|
|
6
|
+
{{widgets.header.html}}
|
|
7
|
+
{{{ end }}}
|
|
8
|
+
</div>
|
|
9
|
+
<div class="row">
|
|
10
|
+
<div class="category {{{if widgets.sidebar.length }}}col-lg-9 col-sm-12{{{ else }}}col-lg-12{{{ end }}}">
|
|
11
|
+
<!-- IMPORT partials/category/subcategory.tpl -->
|
|
12
|
+
|
|
13
|
+
<div class="topic-list-header sticky-top btn-toolbar justify-content-between py-2 mb-2 flex-nowrap">
|
|
14
|
+
<div class="d-flex gap-1 align-items-stretch">
|
|
15
|
+
{{{ if privileges.topics:create }}}
|
|
16
|
+
<a href="{config.relative_path}/compose?cid={cid}" component="category/post" id="new_topic" class="btn btn-primary text-nowrap" data-ajaxify="false" role="button">[[category:new_topic_button]]</a>
|
|
17
|
+
{{{ else }}}
|
|
18
|
+
{{{ if !loggedIn }}}
|
|
19
|
+
<a component="category/post/guest" href="{config.relative_path}/login" class="btn btn-primary">[[category:guest-login-post]]</a>
|
|
20
|
+
{{{ end }}}
|
|
21
|
+
{{{ end }}}
|
|
22
|
+
|
|
23
|
+
<a href="{config.relative_path}/{selectedFilter.url}{querystring}" class="d-inline-block">
|
|
24
|
+
<div class="alert alert-warning h-100 m-0 px-2 py-1 d-flex align-items-center hide" id="new-topics-alert"></div>
|
|
25
|
+
</a>
|
|
26
|
+
</div>
|
|
27
|
+
<div class="d-flex gap-1 align-items-stretch">
|
|
28
|
+
<!-- IMPORT partials/category/watch.tpl -->
|
|
29
|
+
<!-- IMPORT partials/category/sort.tpl -->
|
|
30
|
+
<!-- IMPORT partials/category/tools.tpl -->
|
|
31
|
+
</div>
|
|
32
|
+
</div>
|
|
33
|
+
|
|
34
|
+
{{{ if !topics.length }}}
|
|
35
|
+
{{{ if privileges.topics:create }}}
|
|
36
|
+
<hr class="visible-xs" />
|
|
37
|
+
<div class="alert alert-warning" id="category-no-topics">
|
|
38
|
+
[[category:no_topics]]
|
|
39
|
+
</div>
|
|
40
|
+
{{{ end }}}
|
|
41
|
+
{{{ end }}}
|
|
42
|
+
|
|
43
|
+
<!-- IMPORT partials/topics_list.tpl -->
|
|
44
|
+
|
|
45
|
+
{{{ if config.usePagination }}}
|
|
46
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
47
|
+
{{{ end }}}
|
|
48
|
+
</div>
|
|
49
|
+
<div data-widget-area="sidebar" class="col-lg-3 col-sm-12 {{{ if !widgets.sidebar.length }}}hidden{{{ end }}}">
|
|
50
|
+
{{{ each widgets.sidebar }}}
|
|
51
|
+
{{widgets.sidebar.html}}
|
|
52
|
+
{{{ end }}}
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
<div data-widget-area="footer">
|
|
56
|
+
{{{each widgets.footer}}}
|
|
57
|
+
{{widgets.footer.html}}
|
|
58
|
+
{{{end}}}
|
|
59
|
+
</div>
|
|
60
|
+
|
|
61
|
+
<!-- IF !config.usePagination -->
|
|
62
|
+
<noscript>
|
|
63
|
+
<!-- IMPORT partials/paginator.tpl -->
|
|
64
|
+
</noscript>
|
|
65
|
+
<!-- ENDIF !config.usePagination -->
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
+
|
|
3
|
+
<div id="chat-modal" class="chat-modal modal hide" tabindex="-1" role="dialog" aria-labelledby="Chat" aria-hidden="true" data-backdrop="none">
|
|
4
|
+
<div class="modal-dialog">
|
|
5
|
+
<div class="modal-content">
|
|
6
|
+
<div class="modal-header d-flex">
|
|
7
|
+
<div class="fs-5 flex-grow-1" component="chat/room/name">{{{ if roomName }}}{roomName}{{{ else }}}{usernames}{{{ end }}}</div>
|
|
8
|
+
<button type="button" class="btn btn-link d-none d-md-block p-2 text-muted align-text-top" data-action="maximize">
|
|
9
|
+
<span aria-hidden="true"><i class="fa fa-fw fa-expand"></i></span>
|
|
10
|
+
<span class="sr-only">[[modules:chat.maximize]]</span>
|
|
11
|
+
</button>
|
|
12
|
+
<button type="button" class="btn btn-link d-none d-md-block p-2 text-muted align-text-top" data-action="minimize">
|
|
13
|
+
<span aria-hidden="true"><i class="fa fa-fw fa-minus"></i></span>
|
|
14
|
+
<span class="sr-only">[[modules:chat.minimize]]</span>
|
|
15
|
+
</button>
|
|
16
|
+
<!-- IMPORT partials/chats/options.tpl -->
|
|
17
|
+
|
|
18
|
+
<button id="chat-close-btn" type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
<div class="modal-body">
|
|
22
|
+
<div class="position-relative">
|
|
23
|
+
<div component="chat/messages/scroll-up-alert" class="position-absolute scroll-up-alert alert alert-info hidden w-100" role="button" style="z-index: 1;">[[modules:chat.scroll-up-alert]]</div>
|
|
24
|
+
</div>
|
|
25
|
+
<ul class="chat-content" component="chat/messages">
|
|
26
|
+
<!-- IMPORT partials/chats/messages.tpl -->
|
|
27
|
+
</ul>
|
|
28
|
+
|
|
29
|
+
<div component="chat/composer">
|
|
30
|
+
<textarea component="chat/input" placeholder="[[modules:chat.placeholder]]" class="form-control chat-input mousetrap" rows="1"></textarea>
|
|
31
|
+
<button class="btn btn-primary" type="button" data-action="send"><i class="fa fa-fw fa-2x fa-paper-plane"></i></button>
|
|
32
|
+
<span component="chat/message/remaining">{maximumChatMessageLength}</span>
|
|
33
|
+
<form component="chat/upload" method="post" enctype="multipart/form-data">
|
|
34
|
+
<input type="file" name="files[]" multiple class="hidden"/>
|
|
35
|
+
</form>
|
|
36
|
+
</div>
|
|
37
|
+
</div>
|
|
38
|
+
<div class="imagedrop"><div>[[topic:composer.drag_and_drop_images]]</div></div>
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</div>
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
<!-- THIS FILE IS STILL PERSONA -->
|
|
2
|
+
|
|
3
|
+
<div class="chats-full">
|
|
4
|
+
<div component="chat/nav-wrapper" data-loaded="{{{ if roomId }}}1{{{ else }}}0{{{ end }}}">
|
|
5
|
+
<div class="chat-search dropdown">
|
|
6
|
+
<input class="form-control" type="text" component="chat/search" placeholder="[[users:search-user-for-chat]]" data-bs-toggle="dropdown" />
|
|
7
|
+
<ul component="chat/search/list" class="dropdown-menu">
|
|
8
|
+
<li><a href="#" class="dropdown-item">[[admin/menu:search.start-typing]]</a></li>
|
|
9
|
+
</ul>
|
|
10
|
+
</div>
|
|
11
|
+
<ul component="chat/recent" class="chats-list list-unstyled" data-nextstart="{nextStart}">
|
|
12
|
+
{{{each rooms}}}
|
|
13
|
+
<!-- IMPORT partials/chats/recent_room.tpl -->
|
|
14
|
+
{{{end}}}
|
|
15
|
+
</ul>
|
|
16
|
+
</div>
|
|
17
|
+
<div component="chat/main-wrapper">
|
|
18
|
+
<!-- IMPORT partials/chats/message-window.tpl -->
|
|
19
|
+
</div>
|
|
20
|
+
<div class="imagedrop"><div>[[topic:composer.drag_and_drop_images]]</div></div>
|
|
21
|
+
</div>
|