nodebb-theme-persona 12.1.4 → 13.0.0
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/README.md +14 -14
- package/package.json +2 -2
- package/public/persona.js +11 -23
- package/{less/account.less → scss/account.scss} +13 -97
- package/{less/categories.less → scss/categories.scss} +10 -40
- package/{less/category.less → scss/category.scss} +26 -75
- package/{less/chats.less → scss/chats.scss} +35 -88
- package/{less/flags.less → scss/flags.scss} +3 -3
- package/{less/footer.less → scss/footer.scss} +0 -1
- package/{less/groups.less → scss/groups.scss} +14 -38
- package/{less/header.less → scss/header.scss} +63 -139
- package/{less/helpers.less → scss/helpers.scss} +0 -0
- package/{less/keyframes.less → scss/keyframes.scss} +0 -0
- package/{less/mixins.less → scss/mixins.scss} +17 -59
- package/{less/mobile.less → scss/mobile.scss} +13 -18
- package/{less/modules/alerts.less → scss/modules/alerts.scss} +21 -21
- package/{less/modules/composer-default.less → scss/modules/composer-default.scss} +2 -2
- package/{less/modules/cookie-consent.less → scss/modules/cookie-consent.scss} +1 -1
- package/{less/modules/fab.less → scss/modules/fab.scss} +2 -2
- package/{less/modules/morph.less → scss/modules/morph.scss} +1 -1
- package/{less/modules/necro-post.less → scss/modules/necro-post.scss} +0 -0
- package/scss/modules/nprogress.scss +80 -0
- package/{less/modules/taskbar.less → scss/modules/taskbar.scss} +11 -10
- package/{less/modules/usercard.less → scss/modules/usercard.scss} +0 -0
- package/{less/noscript.less → scss/noscript.scss} +5 -7
- package/{less/outgoing.less → scss/outgoing.scss} +0 -0
- package/scss/overrides.scss +44 -0
- package/{less/persona.less → scss/persona.scss} +1 -13
- package/{less/posts_list.less → scss/posts_list.scss} +11 -14
- package/{less/register.less → scss/register.scss} +2 -7
- package/scss/search.scss +39 -0
- package/{less/style.less → scss/style.scss} +23 -47
- package/scss/tags.scss +11 -0
- package/{less/topic.less → scss/topic.scss} +53 -90
- package/scss/topics_list.scss +17 -0
- package/{less/variables.less → scss/variables.scss} +3 -3
- package/templates/account/blocks.tpl +24 -26
- package/templates/account/categories.tpl +6 -6
- package/templates/account/consent.tpl +10 -10
- package/templates/account/edit/password.tpl +8 -10
- package/templates/account/edit/username.tpl +6 -10
- package/templates/account/edit.tpl +23 -23
- package/templates/account/followers.tpl +3 -3
- package/templates/account/following.tpl +3 -3
- package/templates/account/groups.tpl +2 -2
- package/templates/account/info.tpl +67 -72
- package/templates/account/posts.tpl +1 -1
- package/templates/account/profile.tpl +20 -18
- package/templates/account/sessions.tpl +3 -3
- package/templates/account/settings.tpl +93 -81
- package/templates/account/topics.tpl +5 -5
- package/templates/account/uploads.tpl +2 -2
- package/templates/admin/plugins/persona.tpl +3 -3
- package/templates/category.tpl +15 -14
- package/templates/chat.tpl +16 -9
- package/templates/chats.tpl +5 -3
- package/templates/flags/detail.tpl +86 -80
- package/templates/flags/list.tpl +4 -4
- package/templates/footer.tpl +1 -1
- package/templates/groups/details.tpl +23 -218
- package/templates/groups/list.tpl +11 -9
- package/templates/groups/members.tpl +1 -4
- package/templates/header.tpl +10 -4
- package/templates/ip-blacklist.tpl +22 -20
- package/templates/login.tpl +17 -14
- package/templates/modules/taskbar.tpl +1 -1
- package/templates/modules/usercard.tpl +2 -2
- package/templates/notifications.tpl +40 -38
- package/templates/partials/acceptTos.tpl +8 -8
- package/templates/partials/account/category-item.tpl +6 -5
- package/templates/partials/account/header.tpl +2 -2
- package/templates/partials/account/menu.tpl +37 -37
- package/templates/partials/breadcrumbs.tpl +1 -1
- package/templates/partials/buttons/newTopic.tpl +10 -3
- package/templates/partials/categories/item.tpl +24 -10
- package/templates/partials/categories/lastpost.tpl +3 -3
- package/templates/partials/categories/link.tpl +10 -10
- package/templates/partials/category/sort.tpl +7 -7
- package/templates/partials/category/subcategory.tpl +3 -3
- package/templates/partials/category/tags.tpl +3 -5
- package/templates/partials/category/tools.tpl +16 -16
- package/templates/partials/category/watch.tpl +8 -10
- package/templates/partials/category-filter-content.tpl +17 -5
- package/templates/partials/category-filter-right.tpl +1 -1
- package/templates/partials/category-selector-content.tpl +17 -4
- package/templates/partials/category-selector-right.tpl +1 -1
- package/templates/partials/chats/message-window.tpl +10 -8
- package/templates/partials/chats/message.tpl +11 -11
- package/templates/partials/chats/options.tpl +8 -8
- package/templates/partials/chats/recent_room.tpl +1 -1
- package/templates/partials/chats/system-message.tpl +1 -1
- package/templates/partials/chats/user.tpl +1 -1
- package/templates/partials/chats-menu.tpl +11 -11
- package/templates/partials/cookie-consent.tpl +1 -1
- package/templates/partials/flags/filters.tpl +34 -32
- package/templates/partials/groups/admin.tpl +195 -0
- package/templates/partials/groups/badge.tpl +1 -0
- package/templates/partials/groups/list.tpl +6 -6
- package/templates/partials/groups/memberlist.tpl +11 -10
- package/templates/partials/menu.tpl +149 -156
- package/templates/partials/notifications_list.tpl +2 -2
- package/templates/partials/paginator.tpl +21 -21
- package/templates/partials/post_bar.tpl +4 -4
- package/templates/partials/posts_list.tpl +1 -1
- package/templates/partials/posts_list_item.tpl +2 -2
- package/templates/partials/quick-search-results.tpl +14 -11
- package/templates/partials/slideout-menu.tpl +1 -1
- package/templates/partials/tags_list.tpl +3 -3
- package/templates/partials/thread_tools.tpl +4 -4
- package/templates/partials/toast.tpl +14 -0
- package/templates/partials/topic/deleted-message.tpl +2 -2
- package/templates/partials/topic/event.tpl +26 -0
- package/templates/partials/topic/navigation-post.tpl +3 -3
- package/templates/partials/topic/navigator.tpl +7 -7
- package/templates/partials/topic/necro-post.tpl +1 -1
- package/templates/partials/topic/post-menu-list.tpl +26 -23
- package/templates/partials/topic/post-menu.tpl +3 -3
- package/templates/partials/topic/post.tpl +49 -44
- package/templates/partials/topic/quickreply.tpl +3 -3
- package/templates/partials/topic/reply-button.tpl +3 -3
- package/templates/partials/topic/sort.tpl +5 -5
- package/templates/partials/topic/tag.tpl +1 -0
- package/templates/partials/topic/tags.tpl +3 -5
- package/templates/partials/topic/topic-menu-list.tpl +18 -16
- package/templates/partials/topic/watch.tpl +11 -10
- package/templates/partials/topic-filters.tpl +12 -0
- package/templates/partials/topic-terms.tpl +12 -0
- package/templates/partials/topics_list.tpl +27 -25
- package/templates/partials/users_list.tpl +22 -10
- package/templates/partials/users_list_menu.tpl +19 -9
- package/templates/popular.tpl +9 -35
- package/templates/post-queue.tpl +42 -35
- package/templates/recent.tpl +10 -24
- package/templates/register.tpl +17 -17
- package/templates/registerComplete.tpl +14 -10
- package/templates/reset.tpl +7 -5
- package/templates/reset_code.tpl +9 -9
- package/templates/search.tpl +100 -87
- package/templates/tag.tpl +8 -10
- package/templates/tags.tpl +5 -3
- package/templates/top.tpl +9 -35
- package/templates/topic.tpl +13 -11
- package/templates/tos.tpl +4 -4
- package/templates/unread.tpl +10 -22
- package/templates/users.tpl +7 -20
- package/theme.json +6 -6
- package/theme.scss +1 -0
- package/less/bootstrap/.csscomb.json +0 -297
- package/less/bootstrap/.csslintrc +0 -19
- package/less/bootstrap/alerts.less +0 -73
- package/less/bootstrap/badges.less +0 -66
- package/less/bootstrap/bootstrap.less +0 -50
- package/less/bootstrap/breadcrumbs.less +0 -26
- package/less/bootstrap/button-groups.less +0 -243
- package/less/bootstrap/buttons.less +0 -160
- package/less/bootstrap/carousel.less +0 -269
- package/less/bootstrap/close.less +0 -34
- package/less/bootstrap/code.less +0 -69
- package/less/bootstrap/component-animations.less +0 -33
- package/less/bootstrap/dropdowns.less +0 -214
- package/less/bootstrap/forms.less +0 -574
- package/less/bootstrap/glyphicons.less +0 -305
- package/less/bootstrap/grid.less +0 -84
- package/less/bootstrap/input-groups.less +0 -166
- package/less/bootstrap/jumbotron.less +0 -50
- package/less/bootstrap/labels.less +0 -64
- package/less/bootstrap/list-group.less +0 -124
- package/less/bootstrap/media.less +0 -61
- package/less/bootstrap/mixins/alerts.less +0 -14
- package/less/bootstrap/mixins/background-variant.less +0 -8
- package/less/bootstrap/mixins/border-radius.less +0 -18
- package/less/bootstrap/mixins/buttons.less +0 -52
- package/less/bootstrap/mixins/center-block.less +0 -7
- package/less/bootstrap/mixins/clearfix.less +0 -22
- package/less/bootstrap/mixins/forms.less +0 -85
- package/less/bootstrap/mixins/gradients.less +0 -59
- package/less/bootstrap/mixins/grid-framework.less +0 -91
- package/less/bootstrap/mixins/grid.less +0 -122
- package/less/bootstrap/mixins/hide-text.less +0 -21
- package/less/bootstrap/mixins/image.less +0 -33
- package/less/bootstrap/mixins/labels.less +0 -12
- package/less/bootstrap/mixins/list-group.less +0 -29
- package/less/bootstrap/mixins/nav-divider.less +0 -10
- package/less/bootstrap/mixins/nav-vertical-align.less +0 -9
- package/less/bootstrap/mixins/opacity.less +0 -8
- package/less/bootstrap/mixins/pagination.less +0 -23
- package/less/bootstrap/mixins/panels.less +0 -24
- package/less/bootstrap/mixins/progress-bar.less +0 -10
- package/less/bootstrap/mixins/reset-filter.less +0 -8
- package/less/bootstrap/mixins/resize.less +0 -6
- package/less/bootstrap/mixins/responsive-visibility.less +0 -15
- package/less/bootstrap/mixins/size.less +0 -10
- package/less/bootstrap/mixins/tab-focus.less +0 -9
- package/less/bootstrap/mixins/table-row.less +0 -28
- package/less/bootstrap/mixins/text-emphasis.less +0 -8
- package/less/bootstrap/mixins/text-overflow.less +0 -8
- package/less/bootstrap/mixins/vendor-prefixes.less +0 -227
- package/less/bootstrap/mixins.less +0 -39
- package/less/bootstrap/modals.less +0 -150
- package/less/bootstrap/navbar.less +0 -660
- package/less/bootstrap/navs.less +0 -242
- package/less/bootstrap/normalize.less +0 -427
- package/less/bootstrap/pager.less +0 -54
- package/less/bootstrap/pagination.less +0 -88
- package/less/bootstrap/panels.less +0 -265
- package/less/bootstrap/popovers.less +0 -135
- package/less/bootstrap/print.less +0 -107
- package/less/bootstrap/progress-bars.less +0 -87
- package/less/bootstrap/responsive-embed.less +0 -35
- package/less/bootstrap/responsive-utilities.less +0 -194
- package/less/bootstrap/scaffolding.less +0 -162
- package/less/bootstrap/tables.less +0 -234
- package/less/bootstrap/theme.less +0 -273
- package/less/bootstrap/thumbnails.less +0 -36
- package/less/bootstrap/tooltip.less +0 -102
- package/less/bootstrap/type.less +0 -302
- package/less/bootstrap/utilities.less +0 -55
- package/less/bootstrap/variables.less +0 -861
- package/less/bootstrap/wells.less +0 -29
- package/less/bootstrap-flipped.css +0 -1550
- package/less/ip-blacklist.less +0 -7
- package/less/modules/bottom-sheet.less +0 -60
- package/less/modules/nprogress.less +0 -80
- package/less/notifications.less +0 -38
- package/less/post-queue.less +0 -19
- package/less/rtl.less +0 -132
- package/less/search.less +0 -96
- package/less/tags.less +0 -37
- package/less/topics_list.less +0 -16
- package/less/users.less +0 -73
- package/templates/alert.tpl +0 -15
- package/templates/partials/change_owner_modal.tpl +0 -22
- package/templates/partials/delete_posts_modal.tpl +0 -19
- package/templates/partials/fork_thread_modal.tpl +0 -22
- package/templates/partials/merge_topics_modal.tpl +0 -58
- package/templates/partials/modals/change_picture_modal.tpl +0 -73
- package/templates/partials/modals/flag_modal.tpl +0 -45
- package/templates/partials/modals/manage_room.tpl +0 -11
- package/templates/partials/modals/manage_room_users.tpl +0 -7
- package/templates/partials/modals/post_history.tpl +0 -36
- package/templates/partials/modals/rename_room.tpl +0 -4
- package/templates/partials/modals/upload_file_modal.tpl +0 -44
- package/templates/partials/modals/upload_picture_from_url_modal.tpl +0 -17
- package/templates/partials/modals/votes_modal.tpl +0 -10
- package/templates/partials/move_thread_modal.tpl +0 -17
- package/templates/partials/topic/badge.tpl +0 -5
- package/theme.less +0 -2
package/templates/header.tpl
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<head>
|
|
4
4
|
<title>{browserTitle}</title>
|
|
5
5
|
{{{each metaTags}}}{function.buildMetaTag}{{{end}}}
|
|
6
|
-
<link rel="stylesheet" type="text/css" href="{relative_path}/assets/client{{{if bootswatchSkin}}}-{bootswatchSkin}{{{end}}}.css?{config.cache-buster}" />
|
|
6
|
+
<link rel="stylesheet" type="text/css" href="{relative_path}/assets/client{{{if bootswatchSkin}}}-{bootswatchSkin}{{{end}}}{{{ if (languageDirection=="rtl") }}}-rtl{{{ end }}}.css?{config.cache-buster}" />
|
|
7
7
|
{{{each linkTags}}}{function.buildLinkTag}{{{end}}}
|
|
8
8
|
|
|
9
9
|
<script>
|
|
@@ -11,6 +11,7 @@
|
|
|
11
11
|
var app = {
|
|
12
12
|
user: JSON.parse('{{userJSON}}')
|
|
13
13
|
};
|
|
14
|
+
|
|
14
15
|
document.documentElement.style.setProperty('--panel-offset', `${localStorage.getItem('panelOffset') || 0}px`);
|
|
15
16
|
</script>
|
|
16
17
|
|
|
@@ -31,11 +32,16 @@
|
|
|
31
32
|
</nav>
|
|
32
33
|
|
|
33
34
|
<main id="panel" class="slideout-panel">
|
|
34
|
-
<nav class="navbar
|
|
35
|
-
<div class="container">
|
|
35
|
+
<nav class="navbar sticky-top navbar-expand-lg bg-light header border-bottom" id="header-menu" component="navbar">
|
|
36
|
+
<div class="container justify-content-start flex-nowrap">
|
|
36
37
|
<!-- IMPORT partials/menu.tpl -->
|
|
37
38
|
</div>
|
|
38
39
|
</nav>
|
|
39
|
-
<
|
|
40
|
+
<script>
|
|
41
|
+
const rect = document.getElementById('header-menu').getBoundingClientRect();
|
|
42
|
+
const offset = Math.max(0, rect.bottom);
|
|
43
|
+
document.documentElement.style.setProperty('--panel-offset', offset + `px`);
|
|
44
|
+
</script>
|
|
45
|
+
<div class="container pt-3" id="content">
|
|
40
46
|
<!-- IMPORT partials/noscript/warning.tpl -->
|
|
41
47
|
<!-- IMPORT partials/noscript/message.tpl -->
|
|
@@ -10,22 +10,24 @@
|
|
|
10
10
|
</p>
|
|
11
11
|
|
|
12
12
|
<div class="row">
|
|
13
|
-
<div class="col-sm-6">
|
|
14
|
-
<div class="
|
|
15
|
-
<div class="
|
|
16
|
-
<div class="
|
|
17
|
-
<textarea id="blacklist-rules">{rules}</textarea
|
|
18
|
-
<
|
|
19
|
-
<
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<
|
|
23
|
-
|
|
13
|
+
<div class="col-sm-6 d-flex flex-column">
|
|
14
|
+
<div class="card mb-3 flex-grow-1">
|
|
15
|
+
<div class="card-header">[[ip-blacklist:active-rules]]</div>
|
|
16
|
+
<div class="card-body d-flex flex-column">
|
|
17
|
+
<textarea id="blacklist-rules" class="flex-grow-1 mb-3 w-100 d-block border px-2 py-1">{rules}</textarea>
|
|
18
|
+
<div>
|
|
19
|
+
<button type="button" class="btn btn-warning" data-action="test">
|
|
20
|
+
<i class="fa fa-bomb"></i> [[ip-blacklist:validate]]
|
|
21
|
+
</button>
|
|
22
|
+
<button type="button" class="btn btn-primary" data-action="apply">
|
|
23
|
+
<i class="fa fa-save"></i> [[ip-blacklist:apply]]
|
|
24
|
+
</button>
|
|
25
|
+
</div>
|
|
24
26
|
</div>
|
|
25
27
|
</div>
|
|
26
|
-
<div class="
|
|
27
|
-
<div class="
|
|
28
|
-
<div class="
|
|
28
|
+
<div class="card flex-shrink-1">
|
|
29
|
+
<div class="card-header">[[ip-blacklist:hints]]</div>
|
|
30
|
+
<div class="card-body">
|
|
29
31
|
<p>
|
|
30
32
|
[[ip-blacklist:hint-1]]
|
|
31
33
|
</p>
|
|
@@ -36,18 +38,18 @@
|
|
|
36
38
|
</div>
|
|
37
39
|
</div>
|
|
38
40
|
<div class="col-sm-6">
|
|
39
|
-
<div class="
|
|
40
|
-
<div class="
|
|
41
|
+
<div class="card mb-3">
|
|
42
|
+
<div class="card-body">
|
|
41
43
|
<div><canvas id="blacklist:hourly" height="250"></canvas></div>
|
|
42
44
|
</div>
|
|
43
|
-
<div class="
|
|
45
|
+
<div class="card-footer"><small>[[ip-blacklist:analytics.blacklist-hourly]]</small></div>
|
|
44
46
|
</div>
|
|
45
47
|
|
|
46
|
-
<div class="
|
|
47
|
-
<div class="
|
|
48
|
+
<div class="card">
|
|
49
|
+
<div class="card-body">
|
|
48
50
|
<div><canvas id="blacklist:daily" height="250"></canvas></div>
|
|
49
51
|
</div>
|
|
50
|
-
<div class="
|
|
52
|
+
<div class="card-footer"><small>[[ip-blacklist:analytics.blacklist-daily]]</small></div>
|
|
51
53
|
</div>
|
|
52
54
|
</div>
|
|
53
55
|
</div>
|
package/templates/login.tpl
CHANGED
|
@@ -17,14 +17,14 @@
|
|
|
17
17
|
</div>
|
|
18
18
|
|
|
19
19
|
<form class="form-horizontal" role="form" method="post" id="login-form">
|
|
20
|
-
<div class="
|
|
21
|
-
<label for="username" class="col-lg-2
|
|
20
|
+
<div class="row mb-2">
|
|
21
|
+
<label for="username" class="col-lg-2 col-form-label">{allowLoginWith}</label>
|
|
22
22
|
<div class="col-lg-10">
|
|
23
23
|
<input class="form-control" type="text" placeholder="{allowLoginWith}" name="username" id="username" autocorrect="off" autocapitalize="off" value="{username}"/>
|
|
24
24
|
</div>
|
|
25
25
|
</div>
|
|
26
|
-
<div class="
|
|
27
|
-
<label for="password" class="col-lg-2
|
|
26
|
+
<div class="row mb-2">
|
|
27
|
+
<label for="password" class="col-lg-2 col-form-label">[[user:password]]</label>
|
|
28
28
|
<div class="col-lg-10">
|
|
29
29
|
<input class="form-control" type="password" placeholder="[[user:password]]" name="password" id="password" <!-- IF username -->autocomplete="off"<!-- ENDIF username -->/>
|
|
30
30
|
<p id="caps-lock-warning" class="text-danger hidden">
|
|
@@ -32,8 +32,8 @@
|
|
|
32
32
|
</p>
|
|
33
33
|
</div>
|
|
34
34
|
</div>
|
|
35
|
-
<div class="
|
|
36
|
-
<div class="col-lg-offset-
|
|
35
|
+
<div class="row mb-2">
|
|
36
|
+
<div class="col-lg-10 offset-lg-2">
|
|
37
37
|
<div class="checkbox">
|
|
38
38
|
<label>
|
|
39
39
|
<input type="checkbox" name="remember" id="remember" checked /> [[login:remember_me]]
|
|
@@ -42,26 +42,29 @@
|
|
|
42
42
|
</div>
|
|
43
43
|
</div>
|
|
44
44
|
{{{each loginFormEntry}}}
|
|
45
|
-
<div class="
|
|
46
|
-
<label for="login-{loginFormEntry.styleName}" class="col-lg-
|
|
47
|
-
<div id="login-{loginFormEntry.styleName}" class="col-lg-
|
|
45
|
+
<div class="row mb-2 loginFormEntry">
|
|
46
|
+
<label for="login-{loginFormEntry.styleName}" class="col-lg-2 col-form-label">{loginFormEntry.label}</label>
|
|
47
|
+
<div id="login-{loginFormEntry.styleName}" class="col-lg-10">{{loginFormEntry.html}}</div>
|
|
48
48
|
</div>
|
|
49
49
|
{{{end}}}
|
|
50
50
|
<input type="hidden" name="_csrf" value="{config.csrf_token}" />
|
|
51
51
|
<input type="hidden" name="noscript" id="noscript" value="true" />
|
|
52
|
-
<div class="
|
|
53
|
-
<div class="col-lg-offset-
|
|
54
|
-
<button class="btn btn-primary btn-lg
|
|
52
|
+
<div class="row">
|
|
53
|
+
<div class="col-lg-10 offset-lg-2">
|
|
54
|
+
<button class="btn btn-primary btn-lg" id="login" type="submit">[[global:login]]</button>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="row">
|
|
58
|
+
<div class="col-lg-10 offset-lg-2">
|
|
55
59
|
<!-- IF allowRegistration -->
|
|
56
60
|
<span>[[login:dont_have_account]] <a href="{config.relative_path}/register">[[register:register]]</a></span>
|
|
57
61
|
<!-- ENDIF allowRegistration -->
|
|
58
62
|
<!-- IF allowPasswordReset -->
|
|
59
|
-
|
|
63
|
+
<a id="reset-link" href="{config.relative_path}/reset">[[login:forgot_password]]</a>
|
|
60
64
|
<!-- ENDIF allowPasswordReset -->
|
|
61
65
|
</div>
|
|
62
66
|
</div>
|
|
63
67
|
</form>
|
|
64
|
-
|
|
65
68
|
</div>
|
|
66
69
|
</div>
|
|
67
70
|
{{{ end }}}
|
|
@@ -16,11 +16,11 @@
|
|
|
16
16
|
</a>
|
|
17
17
|
|
|
18
18
|
<div class="row usercard-info">
|
|
19
|
-
<div class="col-
|
|
19
|
+
<div class="col-4">
|
|
20
20
|
<small>[[global:posts]]</small>
|
|
21
21
|
<span class="human-readable-number">{postcount}</span>
|
|
22
22
|
</div>
|
|
23
|
-
<div class="col-
|
|
23
|
+
<div class="col-4">
|
|
24
24
|
<small>[[global:reputation]]</small>
|
|
25
25
|
<span class="human-readable-number">{reputation}</span>
|
|
26
26
|
</div>
|
|
@@ -2,59 +2,61 @@
|
|
|
2
2
|
<div class="notifications">
|
|
3
3
|
|
|
4
4
|
<!-- IMPORT partials/breadcrumbs.tpl -->
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
<i class="fa fa-eye"></i>
|
|
10
|
-
<span class="caret"></span>
|
|
5
|
+
<div class="btn-toolbar justify-content-end" role="toolbar">
|
|
6
|
+
<div class="btn-group me-2">
|
|
7
|
+
<button class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown">
|
|
8
|
+
{{{ if selectedFilter }}}{selectedFilter.name}{{{ end}}} <span class="caret"></span>
|
|
11
9
|
</button>
|
|
12
|
-
<ul class="dropdown-menu dropdown-menu-
|
|
13
|
-
|
|
10
|
+
<ul class="dropdown-menu dropdown-menu-end" role="menu">
|
|
11
|
+
{{{ each filters }}}
|
|
12
|
+
{{{ if filters.separator }}}
|
|
13
|
+
<li role="separator" class="dropdown-divider"></li>
|
|
14
|
+
{{{ else }}}
|
|
15
|
+
<li role="presentation" class="category">
|
|
16
|
+
<a class="dropdown-item" role="menu-item" href="{config.relative_path}/notifications?filter={filters.filter}"><i class="fa fa-fw {{{ if filters.selected }}}fa-check{{{ end }}}"></i> {filters.name}</a>
|
|
17
|
+
</li>
|
|
18
|
+
{{{ end }}}
|
|
19
|
+
{{{ end }}}
|
|
14
20
|
</ul>
|
|
15
21
|
</div>
|
|
16
22
|
|
|
17
|
-
<div class="
|
|
18
|
-
<button class="btn btn-
|
|
19
|
-
|
|
23
|
+
<div class="btn-group">
|
|
24
|
+
<button class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="true">
|
|
25
|
+
<i class="fa fa-eye"></i>
|
|
26
|
+
<span class="caret"></span>
|
|
20
27
|
</button>
|
|
21
|
-
<ul class="dropdown-menu" role="menu">
|
|
22
|
-
|
|
23
|
-
<!-- IF filters.separator -->
|
|
24
|
-
<li role="separator" class="divider"></li>
|
|
25
|
-
<!-- ELSE -->
|
|
26
|
-
<li role="presentation" class="category">
|
|
27
|
-
<a role="menu-item" href="{config.relative_path}/notifications?filter={filters.filter}"><i class="fa fa-fw <!-- IF filters.selected -->fa-check<!-- ENDIF filters.selected -->"></i> {filters.name}</a>
|
|
28
|
-
</li>
|
|
29
|
-
<!-- ENDIF filters.separator -->
|
|
30
|
-
{{{end}}}
|
|
28
|
+
<ul class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="dropdownMenu1">
|
|
29
|
+
<li role="presentation"><a class="dropdown-item" role="menuitem" tabindex="-1" href="#" component="notifications/mark_all">[[notifications:mark_all_read]]</a></li>
|
|
31
30
|
</ul>
|
|
32
31
|
</div>
|
|
33
32
|
</div>
|
|
34
33
|
|
|
35
34
|
<hr />
|
|
36
35
|
|
|
37
|
-
<div class="alert alert-info
|
|
36
|
+
<div class="alert alert-info {{{ if notifications.length }}}hidden{{{ end }}}">
|
|
38
37
|
[[notifications:no_notifs]]
|
|
39
38
|
</div>
|
|
40
39
|
|
|
41
|
-
<ul class="notifications-list" data-nextstart="{nextStart}">
|
|
40
|
+
<ul class="notifications-list list-unstyled" data-nextstart="{nextStart}">
|
|
42
41
|
{{{each notifications}}}
|
|
43
|
-
<li data-nid="{notifications.nid}" class="{notifications.readClass}" component="notifications/item">
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
42
|
+
<li data-nid="{notifications.nid}" class="{notifications.readClass} {{{ if !./read}}}text-bg-warning{{{ end }}} d-flex pointer border p-3 mb-2" component="notifications/item">
|
|
43
|
+
<div class="me-2">
|
|
44
|
+
{{{ if notifications.from }}}
|
|
45
|
+
{buildAvatar(notifications.user, "24px", true)}
|
|
46
|
+
{{{ else }}}
|
|
47
|
+
{{{ if notifications.image }}}
|
|
48
|
+
<img width="24" height="24" src="{notifications.image}" />
|
|
49
|
+
{{{ end }}}
|
|
50
|
+
{{{ end }}}
|
|
51
|
+
</div>
|
|
52
|
+
<div>
|
|
53
|
+
<p class="mb-1">
|
|
54
|
+
<a class="text-reset" component="notifications/item/link" href="{notifications.path}">{notifications.bodyShort}</a>
|
|
55
|
+
</p>
|
|
56
|
+
<p class="timestamp">
|
|
57
|
+
<span class="timeago small text-reset" title="{notifications.datetimeISO}"></span>
|
|
58
|
+
</p>
|
|
59
|
+
</div>
|
|
58
60
|
</li>
|
|
59
61
|
{{{end}}}
|
|
60
62
|
</ul>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
<div class="form-group">
|
|
2
|
-
<label for="agree-terms">[[register:terms_of_use]]</label>
|
|
3
|
-
<div class="tos">{termsOfUse}</div>
|
|
4
|
-
<div class="checkbox">
|
|
5
|
-
<label>
|
|
6
|
-
<input type="checkbox" name="agree-terms" id="agree-terms"> [[register:agree_to_terms_of_use]]
|
|
7
|
-
</label>
|
|
8
|
-
</div>
|
|
1
|
+
<div class="form-group">
|
|
2
|
+
<label for="agree-terms">[[register:terms_of_use]]</label>
|
|
3
|
+
<div class="tos">{termsOfUse}</div>
|
|
4
|
+
<div class="checkbox">
|
|
5
|
+
<label>
|
|
6
|
+
<input type="checkbox" name="agree-terms" id="agree-terms"> [[register:agree_to_terms_of_use]]
|
|
7
|
+
</label>
|
|
8
|
+
</div>
|
|
9
9
|
</div>
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<li component="categories/category" data-cid="{../cid}" data-parent-cid="{../parentCid}" class="row clearfix">
|
|
2
2
|
<meta itemprop="name" content="{../name}">
|
|
3
3
|
|
|
4
|
-
<div class="content col-
|
|
5
|
-
<div class="
|
|
6
|
-
|
|
4
|
+
<div class="content col-10 depth-{../depth}">
|
|
5
|
+
<div class="float-start">
|
|
6
|
+
{buildCategoryIcon(@value, "48px", "rounded-circle")}
|
|
7
7
|
</div>
|
|
8
8
|
|
|
9
9
|
<h2 class="title">
|
|
@@ -11,12 +11,13 @@
|
|
|
11
11
|
</h2>
|
|
12
12
|
<div>
|
|
13
13
|
<!-- IF ../descriptionParsed -->
|
|
14
|
-
<div class="description">
|
|
14
|
+
<div class="description text-muted">
|
|
15
15
|
{../descriptionParsed}
|
|
16
16
|
</div>
|
|
17
17
|
<!-- ENDIF ../descriptionParsed -->
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
|
-
|
|
20
|
+
<div class="col-2">
|
|
21
21
|
<!-- IMPORT partials/category/watch.tpl -->
|
|
22
|
+
</div>
|
|
22
23
|
</li>
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
<div class="cover" component="account/cover" style="background-image: url({cover:url}); background-position: {cover:position};">
|
|
10
10
|
<div class="avatar-wrapper" data-uid="{uid}">
|
|
11
11
|
<!-- IF picture -->
|
|
12
|
-
<img src="{picture}" class="avatar avatar-
|
|
12
|
+
<img src="{picture}" class="avatar avatar-rounded" style="--avatar-size: 128px;" />
|
|
13
13
|
<!-- ELSE -->
|
|
14
|
-
<div class="avatar avatar-
|
|
14
|
+
<div class="avatar avatar-rounded" style="background-color: {icon:bgColor}; --avatar-size: 128px;" title="{username}">{icon:text}</div>
|
|
15
15
|
<!-- ENDIF picture -->
|
|
16
16
|
<i component="user/status" class="fa fa-circle status {status}" title="[[global:{status}]]"></i>
|
|
17
17
|
|
|
@@ -1,101 +1,101 @@
|
|
|
1
1
|
<div class="btn-group account-fab bottom-sheet">
|
|
2
|
-
<button type="button" class="persona-fab dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
2
|
+
<button type="button" class="persona-fab dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
|
3
3
|
<i class="fa fa-ellipsis-v"></i>
|
|
4
4
|
</button>
|
|
5
|
-
<ul class="dropdown-menu dropdown-menu-
|
|
5
|
+
<ul class="dropdown-menu dropdown-menu-end">
|
|
6
6
|
<!-- IF loggedIn -->
|
|
7
7
|
<!-- IF !isSelf -->
|
|
8
8
|
<!-- IF !banned -->
|
|
9
9
|
<!-- IF !config.disableChat -->
|
|
10
10
|
<li class="<!-- IF !hasPrivateChat -->hidden<!-- ENDIF !hasPrivateChat -->">
|
|
11
|
-
<a component="account/chat" href="#">[[user:chat_with, {username}]]</a>
|
|
11
|
+
<a class="dropdown-item" component="account/chat" href="#">[[user:chat_with, {username}]]</a>
|
|
12
12
|
</li>
|
|
13
13
|
<li>
|
|
14
|
-
<a component="account/new-chat" href="#">[[user:new_chat_with, {username}]]</a>
|
|
14
|
+
<a class="dropdown-item" component="account/new-chat" href="#">[[user:new_chat_with, {username}]]</a>
|
|
15
15
|
</li>
|
|
16
16
|
<!-- ENDIF !config.disableChat -->
|
|
17
17
|
<li>
|
|
18
|
-
<a component="account/flag" href="#">[[user:flag-profile]]</a>
|
|
18
|
+
<a class="dropdown-item" component="account/flag" href="#">[[user:flag-profile]]</a>
|
|
19
19
|
</li>
|
|
20
20
|
<li>
|
|
21
|
-
<a component="account/block" href="#"><!-- IF !../isBlocked -->[[user:block_user]]<!-- ELSE -->[[user:unblock_user]]<!-- END --></a>
|
|
21
|
+
<a class="dropdown-item" component="account/block" href="#"><!-- IF !../isBlocked -->[[user:block_user]]<!-- ELSE -->[[user:unblock_user]]<!-- END --></a>
|
|
22
22
|
</li>
|
|
23
|
-
<li role="separator" class="divider"></li>
|
|
23
|
+
<li role="separator" class="dropdown-divider"></li>
|
|
24
24
|
<!-- ENDIF !banned -->
|
|
25
25
|
<!-- ENDIF !isSelf -->
|
|
26
26
|
<!-- ENDIF loggedIn -->
|
|
27
27
|
<li>
|
|
28
|
-
<a href="{config.relative_path}/user/{userslug}" class="inline-block" id="profile">[[user:profile]]</a>
|
|
28
|
+
<a class="dropdown-item" href="{config.relative_path}/user/{userslug}" class="d-inline-block" id="profile">[[user:profile]]</a>
|
|
29
29
|
</li>
|
|
30
30
|
<!-- IF canEdit -->
|
|
31
|
-
<li><a href="{config.relative_path}/user/{userslug}/edit">[[user:edit]]</a></li>
|
|
32
|
-
<li><a href="{config.relative_path}/user/{userslug}/settings">[[user:settings]]</a></li>
|
|
31
|
+
<li><a class="dropdown-item" href="{config.relative_path}/user/{userslug}/edit">[[user:edit]]</a></li>
|
|
32
|
+
<li><a class="dropdown-item" href="{config.relative_path}/user/{userslug}/settings">[[user:settings]]</a></li>
|
|
33
33
|
<!-- ENDIF canEdit -->
|
|
34
34
|
|
|
35
35
|
<!-- IF !isSelf -->
|
|
36
36
|
{{{ if (canBan || canMute) }}}
|
|
37
|
-
<li role="separator" class="divider"></li>
|
|
37
|
+
<li role="separator" class="dropdown-divider"></li>
|
|
38
38
|
<li class="dropdown-header">[[user:admin_actions_label]]</li>
|
|
39
39
|
{{{ end }}}
|
|
40
40
|
{{{ if canBan }}}
|
|
41
41
|
<li class="<!-- IF banned -->hide<!-- ENDIF banned -->">
|
|
42
|
-
<a component="account/ban" href="#">[[user:ban_account]]</a>
|
|
42
|
+
<a class="dropdown-item" component="account/ban" href="#">[[user:ban_account]]</a>
|
|
43
43
|
</li>
|
|
44
44
|
<li class="<!-- IF !banned -->hide<!-- ENDIF !banned -->">
|
|
45
|
-
<a component="account/unban" href="#">[[user:unban_account]]</a>
|
|
45
|
+
<a class="dropdown-item" component="account/unban" href="#">[[user:unban_account]]</a>
|
|
46
46
|
</li>
|
|
47
47
|
{{{ end }}}
|
|
48
48
|
{{{ if canMute }}}
|
|
49
49
|
<li class="<!-- IF muted -->hide<!-- ENDIF muted -->">
|
|
50
|
-
<a component="account/mute" href="#">[[user:mute_account]]</a>
|
|
50
|
+
<a class="dropdown-item" component="account/mute" href="#">[[user:mute_account]]</a>
|
|
51
51
|
</li>
|
|
52
52
|
<li class="<!-- IF !muted -->hide<!-- ENDIF !muted -->">
|
|
53
|
-
<a component="account/unmute" href="#">[[user:unmute_account]]</a>
|
|
53
|
+
<a class="dropdown-item" component="account/unmute" href="#">[[user:unmute_account]]</a>
|
|
54
54
|
</li>
|
|
55
55
|
{{{ end }}}
|
|
56
56
|
<!-- IF isAdmin -->
|
|
57
57
|
<li>
|
|
58
|
-
<a component="account/delete-account" href="#" class="">[[user:delete_account_as_admin]]</a>
|
|
59
|
-
<a component="account/delete-content" href="#" class="">[[user:delete_content]]</a>
|
|
60
|
-
<a component="account/delete-all" href="#" class="">[[user:delete_all]]</a>
|
|
58
|
+
<a component="account/delete-account" href="#" class="dropdown-item">[[user:delete_account_as_admin]]</a>
|
|
59
|
+
<a component="account/delete-content" href="#" class="dropdown-item">[[user:delete_content]]</a>
|
|
60
|
+
<a component="account/delete-all" href="#" class="dropdown-item">[[user:delete_all]]</a>
|
|
61
61
|
</li>
|
|
62
62
|
<!-- ENDIF isAdmin -->
|
|
63
63
|
<!-- ENDIF !isSelf -->
|
|
64
64
|
|
|
65
|
-
<li role="separator" class="divider"></li>
|
|
66
|
-
<li><a href="{config.relative_path}/user/{userslug}/following">[[user:following]] <span class="badge
|
|
67
|
-
<li><a href="{config.relative_path}/user/{userslug}/followers">[[user:followers]] <span class="badge
|
|
65
|
+
<li role="separator" class="dropdown-divider"></li>
|
|
66
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/following">[[user:following]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.following}">{counts.following}</span></a></li>
|
|
67
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/followers">[[user:followers]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.followers}">{counts.followers}</span></a></li>
|
|
68
68
|
<!-- IF canEdit -->
|
|
69
|
-
<li><a href="{config.relative_path}/user/{userslug}/blocks">[[user:blocks]] <span class="badge
|
|
69
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/blocks">[[user:blocks]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.blocks}">{counts.blocks}</span></a></li>
|
|
70
70
|
<!-- ENDIF canEdit -->
|
|
71
|
-
<li role="separator" class="divider"></li>
|
|
72
|
-
<li><a href="{config.relative_path}/user/{userslug}/topics">[[global:topics]] <span class="badge
|
|
73
|
-
<li><a href="{config.relative_path}/user/{userslug}/posts">[[global:posts]] <span class="badge
|
|
71
|
+
<li role="separator" class="dropdown-divider"></li>
|
|
72
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/topics">[[global:topics]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.topics}">{counts.topics}</span></a></li>
|
|
73
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/posts">[[global:posts]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.posts}">{counts.posts}</span></a></li>
|
|
74
74
|
<!-- IF !reputation:disabled -->
|
|
75
|
-
<li><a href="{config.relative_path}/user/{userslug}/best">[[global:best]] <span class="badge
|
|
76
|
-
<li><a href="{config.relative_path}/user/{userslug}/controversial">[[global:controversial]] <span class="badge
|
|
75
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/best">[[global:best]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.best}">{counts.best}</span></a></li>
|
|
76
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/controversial">[[global:controversial]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.controversial}">{counts.controversial}</span></a></li>
|
|
77
77
|
<!-- ENDIF !reputation:disabled -->
|
|
78
|
-
<li><a href="{config.relative_path}/user/{userslug}/groups">[[global:header.groups]] <span class="badge
|
|
78
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/groups">[[global:header.groups]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.groups}">{counts.groups}</span></a></li>
|
|
79
79
|
|
|
80
80
|
<!-- IF canEdit -->
|
|
81
|
-
<li><a href="{config.relative_path}/user/{userslug}/categories">[[user:watched_categories]] <span class="badge
|
|
82
|
-
<li><a href="{config.relative_path}/user/{userslug}/bookmarks">[[user:bookmarks]] <span class="badge
|
|
83
|
-
<li><a href="{config.relative_path}/user/{userslug}/watched">[[user:watched]] <span class="badge
|
|
84
|
-
<li><a href="{config.relative_path}/user/{userslug}/ignored">[[user:ignored]] <span class="badge
|
|
81
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/categories">[[user:watched_categories]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.categoriesWatched}">{counts.categoriesWatched}</span></a></li>
|
|
82
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/bookmarks">[[user:bookmarks]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.bookmarks}">{counts.bookmarks}</span></a></li>
|
|
83
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/watched">[[user:watched]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.watched}">{counts.watched}</span></a></li>
|
|
84
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/ignored">[[user:ignored]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.ignored}">{counts.ignored}</span></a></li>
|
|
85
85
|
<!-- IF !reputation:disabled -->
|
|
86
|
-
<li><a href="{config.relative_path}/user/{userslug}/upvoted">[[global:upvoted]] <span class="badge
|
|
86
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/upvoted">[[global:upvoted]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.upvoted}">{counts.upvoted}</span></a></li>
|
|
87
87
|
<!-- IF !downvote:disabled -->
|
|
88
|
-
<li><a href="{config.relative_path}/user/{userslug}/downvoted">[[global:downvoted]] <span class="badge
|
|
88
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/downvoted">[[global:downvoted]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.downvoted}">{counts.downvoted}</span></a></li>
|
|
89
89
|
<!-- ENDIF !downvote:disabled -->
|
|
90
90
|
<!-- ENDIF !reputation:disabled -->
|
|
91
|
-
<li><a href="{config.relative_path}/user/{userslug}/uploads">[[global:uploads]] <span class="badge
|
|
91
|
+
<li><a class="dropdown-item d-flex justify-content-between align-items-center" href="{config.relative_path}/user/{userslug}/uploads">[[global:uploads]] <span class="badge bg-secondary formatted-number rounded-pill ms-2" title="{counts.uploaded}">{counts.uploaded}</span></a></li>
|
|
92
92
|
<!-- ENDIF canEdit -->
|
|
93
93
|
|
|
94
94
|
{{{each profile_links}}}
|
|
95
95
|
<!-- IF @first -->
|
|
96
|
-
<li role="separator" class="divider"></li>
|
|
96
|
+
<li role="separator" class="dropdown-divider"></li>
|
|
97
97
|
<!-- ENDIF @first -->
|
|
98
|
-
<li id="{profile_links.id}" class="plugin-link <!-- IF profile_links.public -->public<!-- ELSE -->private<!-- ENDIF profile_links.public -->"><a href="{config.relative_path}/user/{userslug}/{profile_links.route}"><!-- IF ../icon --><i class="fa fa-fw {profile_links.icon}"></i> <!-- END -->{profile_links.name}</a></li>
|
|
98
|
+
<li id="{profile_links.id}" class="plugin-link <!-- IF profile_links.public -->public<!-- ELSE -->private<!-- ENDIF profile_links.public -->"><a class="dropdown-item" href="{config.relative_path}/user/{userslug}/{profile_links.route}"><!-- IF ../icon --><i class="fa fa-fw {profile_links.icon}"></i> <!-- END -->{profile_links.name}</a></li>
|
|
99
99
|
{{{end}}}
|
|
100
100
|
</ul>
|
|
101
101
|
</div>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<!-- IF breadcrumbs.length -->
|
|
2
2
|
<ol class="breadcrumb" itemscope="itemscope" itemprop="breadcrumb" itemtype="http://schema.org/BreadcrumbList">
|
|
3
3
|
{{{each breadcrumbs}}}
|
|
4
|
-
<li<!-- IF @last --> component="breadcrumb/current"<!-- ENDIF @last --> itemscope="itemscope" itemprop="itemListElement" itemtype="http://schema.org/ListItem" <!-- IF @last -->
|
|
4
|
+
<li<!-- IF @last --> component="breadcrumb/current"<!-- ENDIF @last --> itemscope="itemscope" itemprop="itemListElement" itemtype="http://schema.org/ListItem" class="breadcrumb-item <!-- IF @last -->active<!-- ENDIF @last -->">
|
|
5
5
|
<meta itemprop="position" content="{@index}" />
|
|
6
6
|
{{{ if ./url }}}<a href="{breadcrumbs.url}" itemprop="item">{{{ end }}}
|
|
7
7
|
<span itemprop="name">
|
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
<noscript><div class="dropdown" component="category-selector"></noscript>
|
|
2
|
-
<
|
|
2
|
+
<button component="category/post" for="category-dropdown-check" class="btn btn-primary text-nowrap" id="new_topic" role="button">
|
|
3
3
|
[[category:new_topic_button]]
|
|
4
|
-
</
|
|
4
|
+
</button>
|
|
5
5
|
<noscript>
|
|
6
6
|
<input type="checkbox" class="hidden" id="category-dropdown-check" aria-hidden="true">
|
|
7
7
|
<ul component="category/list" class="dropdown-menu category-dropdown-menu" role="menu">
|
|
8
8
|
{{{each categories}}}
|
|
9
9
|
<li role="presentation" class="category {{{if categories.disabledClass}}}disabled{{{end}}}">
|
|
10
|
-
<a role="menu-item" href="{config.relative_path}/compose?cid={categories.cid}">{categories.level}
|
|
10
|
+
<a role="menu-item" href="{config.relative_path}/compose?cid={categories.cid}">{categories.level}
|
|
11
|
+
<span component="category-markup">
|
|
12
|
+
<div class="category-item d-inline-block">
|
|
13
|
+
{buildCategoryIcon(@value, "24px", "rounded-circle")}
|
|
14
|
+
{categories.name}
|
|
15
|
+
</div>
|
|
16
|
+
</span>
|
|
17
|
+
</a>
|
|
11
18
|
</li>
|
|
12
19
|
{{{end}}}
|
|
13
20
|
</ul>
|