nodebb-theme-persona 12.1.4 → 12.1.6
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
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
<div class="text-center">
|
|
2
|
-
<div class="
|
|
3
|
-
<div class="
|
|
2
|
+
<div class="card mb-3">
|
|
3
|
+
<div class="card-body collapse" id="flags-daily-wrapper" aria-expanded="false">
|
|
4
4
|
<div><canvas id="flags:daily" height="150"></canvas></div>
|
|
5
5
|
</div>
|
|
6
|
-
<div class="
|
|
6
|
+
<div class="card-footer" data-bs-toggle="collapse" data-bs-target="#flags-daily-wrapper" aria-controls="#flags-daily-wrapper"><small>[[flags:graph-label]]</small> <i class="fa fa-sort"></i></div>
|
|
7
7
|
</div>
|
|
8
8
|
</div>
|
|
9
9
|
|
|
10
|
-
<div class="
|
|
11
|
-
<div class="
|
|
12
|
-
|
|
10
|
+
<div class="card mb-3">
|
|
11
|
+
<div class="card-header">
|
|
12
|
+
[[flags:quick-filters]]
|
|
13
13
|
</div>
|
|
14
|
-
<div class="
|
|
14
|
+
<div class="card-body">
|
|
15
15
|
<ul>
|
|
16
16
|
<li><a href="{config.relative_path}/flags?quick=mine">[[flags:filter-quick-mine]]</a></li>
|
|
17
17
|
</ul>
|
|
18
18
|
</div>
|
|
19
19
|
</div>
|
|
20
20
|
|
|
21
|
-
<div class="
|
|
22
|
-
<div class="
|
|
23
|
-
|
|
21
|
+
<div class="card mb-3">
|
|
22
|
+
<div class="card-header">
|
|
23
|
+
[[flags:filters]]
|
|
24
24
|
</div>
|
|
25
|
-
<div class="
|
|
25
|
+
<div class="card-body">
|
|
26
26
|
<form role="form" component="flags/filters">
|
|
27
27
|
<fieldset>
|
|
28
|
-
<div class="
|
|
29
|
-
<label for="filter-cid">[[flags:filter-cid]]</label>
|
|
28
|
+
<div class="mb-3">
|
|
29
|
+
<label class="form-label" for="filter-cid">[[flags:filter-cid]]</label>
|
|
30
30
|
<div class="input-group">
|
|
31
31
|
<!-- IMPORT partials/category-filter.tpl -->
|
|
32
32
|
</div>
|
|
33
33
|
</div>
|
|
34
|
-
<div class="
|
|
35
|
-
<label for="sort">[[flags:sort]]</label>
|
|
34
|
+
<div class="mb-3">
|
|
35
|
+
<label class="form-label" for="sort">[[flags:sort]]</label>
|
|
36
36
|
<select class="form-control" id="sort" name="sort">
|
|
37
37
|
<optgroup label="[[flags:sort-all]]">
|
|
38
38
|
<option value="newest">[[flags:sort-newest]]</option>
|
|
@@ -46,8 +46,8 @@
|
|
|
46
46
|
</optgroup>
|
|
47
47
|
</select>
|
|
48
48
|
</div>
|
|
49
|
-
<div class="
|
|
50
|
-
<label for="filter-state">[[flags:filter-state]]</label>
|
|
49
|
+
<div class="mb-3">
|
|
50
|
+
<label class="form-label" for="filter-state">[[flags:filter-state]]</label>
|
|
51
51
|
<select class="form-control" id="filter-state" name="state">
|
|
52
52
|
<option value="">[[flags:state-all]]</option>
|
|
53
53
|
<option value="open">[[flags:state-open]]</option>
|
|
@@ -57,8 +57,8 @@
|
|
|
57
57
|
</select>
|
|
58
58
|
</div>
|
|
59
59
|
|
|
60
|
-
<div class="
|
|
61
|
-
<label for="filter-type">[[flags:filter-type]]</label>
|
|
60
|
+
<div class="mb-3">
|
|
61
|
+
<label class="form-label" for="filter-type">[[flags:filter-type]]</label>
|
|
62
62
|
<select class="form-control" id="filter-type" name="type">
|
|
63
63
|
<option value="">[[flags:filter-type-all]]</option>
|
|
64
64
|
<option value="post">[[flags:filter-type-post]]</option>
|
|
@@ -67,29 +67,31 @@
|
|
|
67
67
|
</div>
|
|
68
68
|
</fieldset>
|
|
69
69
|
|
|
70
|
-
<fieldset class="collapse{{{ if expanded }}}
|
|
71
|
-
<div class="
|
|
72
|
-
<label for="filter-assignee">[[flags:filter-assignee]]</label>
|
|
70
|
+
<fieldset class="collapse{{{ if expanded }}} show{{{ end }}}" id="more-filters" aria-expanded="{expanded}">
|
|
71
|
+
<div class="mb-3">
|
|
72
|
+
<label class="form-label" for="filter-assignee">[[flags:filter-assignee]]</label>
|
|
73
73
|
<input type="text" class="form-control" id="filter-assignee" name="assignee" />
|
|
74
74
|
</div>
|
|
75
75
|
|
|
76
|
-
<div class="
|
|
77
|
-
<label for="filter-targetUid">[[flags:filter-targetUid]]</label>
|
|
76
|
+
<div class="mb-3">
|
|
77
|
+
<label class="form-label" for="filter-targetUid">[[flags:filter-targetUid]]</label>
|
|
78
78
|
<input type="text" class="form-control" id="filter-targetUid" name="targetUid" />
|
|
79
79
|
</div>
|
|
80
80
|
|
|
81
|
-
<div class="
|
|
82
|
-
<label for="filter-reporterId">[[flags:filter-reporterId]]</label>
|
|
81
|
+
<div class="mb-3">
|
|
82
|
+
<label class="form-label" for="filter-reporterId">[[flags:filter-reporterId]]</label>
|
|
83
83
|
<input type="text" class="form-control" id="filter-reporterId" name="reporterId" />
|
|
84
84
|
</div>
|
|
85
85
|
</fieldset>
|
|
86
86
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
87
|
+
<div class="d-grid gap-2">
|
|
88
|
+
{{{ if expanded }}}
|
|
89
|
+
<button type="button" class="btn btn-link" data-bs-toggle="collapse" data-bs-target="#more-filters" aria-controls="#more-filters" data-text-variant="[[flags:more-filters]] ">[[flags:fewer-filters]] <i class="fa fa-sort"></i></button>
|
|
90
|
+
{{{ else }}}
|
|
91
|
+
<button type="button" class="btn btn-link" data-bs-toggle="collapse" data-bs-target="#more-filters" aria-controls="#more-filters" data-text-variant="[[flags:fewer-filters]] ">[[flags:more-filters]] <i class="fa fa-sort"></i></button>
|
|
92
|
+
{{{ end }}}
|
|
93
|
+
<button type="button" id="apply-filters" class="btn btn-primary">[[flags:apply-filters]]</button>
|
|
94
|
+
</div>
|
|
93
95
|
</form>
|
|
94
96
|
</div>
|
|
95
97
|
</div>
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
<div class="card mb-3">
|
|
2
|
+
<div class="card-header">
|
|
3
|
+
<div class="fs-5">
|
|
4
|
+
<i class="fa fa-clock-o"></i> [[groups:details.pending]]
|
|
5
|
+
<!-- IF group.pending.length -->
|
|
6
|
+
<div class="btn-group float-end">
|
|
7
|
+
<button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
|
|
8
|
+
[[global:more]] <span class="caret"></span>
|
|
9
|
+
</button>
|
|
10
|
+
<ul class="dropdown-menu" role="menu">
|
|
11
|
+
<li><a class="dropdown-item" href="#" data-ajaxify="false" data-action="acceptAll">[[groups:pending.accept_all]]</a></li>
|
|
12
|
+
<li><a class="dropdown-item" href="#" data-ajaxify="false" data-action="rejectAll">[[groups:pending.reject_all]]</a></li>
|
|
13
|
+
</ul>
|
|
14
|
+
</div>
|
|
15
|
+
<!-- ENDIF group.pending.length -->
|
|
16
|
+
</div>
|
|
17
|
+
</div>
|
|
18
|
+
<div class="card-body">
|
|
19
|
+
<table component="groups/pending" class="table table-striped table-hover">
|
|
20
|
+
<!-- IF !group.pending.length -->
|
|
21
|
+
<div class="alert alert-info">[[groups:pending.none]]</div>
|
|
22
|
+
<!-- ENDIF !group.pending.length -->
|
|
23
|
+
{{{each group.pending}}}
|
|
24
|
+
<tr data-uid="{group.pending.uid}">
|
|
25
|
+
<td class="p-2">
|
|
26
|
+
<a href="{config.relative_path}/user/{group.pending.userslug}">{buildAvatar(group.pending, "24px", true)}</a>
|
|
27
|
+
</td>
|
|
28
|
+
<td class="member-name p-2">
|
|
29
|
+
<a href="{config.relative_path}/user/{group.pending.userslug}">{group.pending.username}</a>
|
|
30
|
+
</td>
|
|
31
|
+
<td class="p-2">
|
|
32
|
+
<div class="btn-group float-end">
|
|
33
|
+
<button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
|
|
34
|
+
[[global:more]] <span class="caret"></span>
|
|
35
|
+
</button>
|
|
36
|
+
<ul class="dropdown-menu" role="menu">
|
|
37
|
+
<li><a class="dropdown-item" href="#" data-ajaxify="false" data-action="accept">[[groups:pending.accept]]</a></li>
|
|
38
|
+
<li><a class="dropdown-item" href="#" data-ajaxify="false" data-action="reject">[[groups:pending.reject]]</a></li>
|
|
39
|
+
</ul>
|
|
40
|
+
</div>
|
|
41
|
+
</td>
|
|
42
|
+
</tr>
|
|
43
|
+
{{{end}}}
|
|
44
|
+
</table>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
<div class="card mb-3">
|
|
48
|
+
<div class="card-header">
|
|
49
|
+
<span class="fs-5">
|
|
50
|
+
<i class="fa fa-gift"></i> [[groups:details.invited]]
|
|
51
|
+
</span>
|
|
52
|
+
</div>
|
|
53
|
+
<div class="card-body">
|
|
54
|
+
<div class="input-group mb-2">
|
|
55
|
+
<input class="form-control" type="text" component="groups/members/invite" placeholder="[[groups:invited.search]]"/>
|
|
56
|
+
<span class="input-group-text search-button"><i class="fa fa-search"></i></span>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div class="mb-2">
|
|
60
|
+
<textarea class="form-control" component="groups/members/bulk-invite" placeholder="[[groups:bulk-invite-instructions]]"></textarea>
|
|
61
|
+
</div>
|
|
62
|
+
|
|
63
|
+
<div class="mb-2 clearfix">
|
|
64
|
+
<button class="btn btn-outline-secondary btn-sm float-end" component="groups/members/bulk-invite-button">[[groups:bulk-invite]]</button>
|
|
65
|
+
</div>
|
|
66
|
+
|
|
67
|
+
<table component="groups/invited" class="table table-striped table-hover">
|
|
68
|
+
<!-- IF !group.invited.length -->
|
|
69
|
+
<div class="alert alert-info">[[groups:invited.none]]</div>
|
|
70
|
+
<!-- ENDIF !group.invited.length -->
|
|
71
|
+
{{{each group.invited}}}
|
|
72
|
+
<tr data-uid="{group.invited.uid}">
|
|
73
|
+
<td class="p-2">
|
|
74
|
+
<a href="{config.relative_path}/user/{group.invited.userslug}">{buildAvatar(group.invited, "24px", true)}</a>
|
|
75
|
+
</td>
|
|
76
|
+
<td class="member-name p-2">
|
|
77
|
+
<a href="{config.relative_path}/user/{group.invited.userslug}">{group.invited.username}</a>
|
|
78
|
+
</td>
|
|
79
|
+
<td class="p-2">
|
|
80
|
+
<div class="btn-group float-end">
|
|
81
|
+
<button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
|
|
82
|
+
[[global:more]] <span class="caret"></span>
|
|
83
|
+
</button>
|
|
84
|
+
<ul class="dropdown-menu" role="menu">
|
|
85
|
+
<li><a class="dropdown-item" href="#" data-ajaxify="false" data-action="rescindInvite">[[groups:invited.uninvite]]</a></li>
|
|
86
|
+
</ul>
|
|
87
|
+
</div>
|
|
88
|
+
</td>
|
|
89
|
+
</tr>
|
|
90
|
+
{{{end}}}
|
|
91
|
+
</table>
|
|
92
|
+
</div>
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
<div class="card mb-3">
|
|
96
|
+
<div class="card-header pointer" data-bs-toggle="collapse" data-bs-target=".options">
|
|
97
|
+
<span class="fs-5">
|
|
98
|
+
<i class="fa fa-caret-down float-end"></i>
|
|
99
|
+
<i class="fa fa-cogs"></i> [[groups:details.owner_options]]
|
|
100
|
+
</span>
|
|
101
|
+
</div>
|
|
102
|
+
|
|
103
|
+
<div class="card-body options collapse">
|
|
104
|
+
<form component="groups/settings" role="form">
|
|
105
|
+
<div class="mb-3">
|
|
106
|
+
<label class="form-label" for="name">[[groups:details.group_name]]</label>
|
|
107
|
+
<input <!-- IF group.system -->readonly<!-- ENDIF group.system --> class="form-control" name="name" id="name" type="text" value="{group.displayName}" />
|
|
108
|
+
</div>
|
|
109
|
+
<div class="mb-3">
|
|
110
|
+
<label class="form-label" for="name">[[groups:details.description]]</label>
|
|
111
|
+
<textarea class="form-control" name="description" id="description" type="text" maxlength="255">{group.description}</textarea>
|
|
112
|
+
</div>
|
|
113
|
+
|
|
114
|
+
<hr />
|
|
115
|
+
<div class="mb-3">
|
|
116
|
+
<label class="form-label" for="memberPostCids">[[groups:details.member-post-cids]]</label>
|
|
117
|
+
<div class="row">
|
|
118
|
+
<div class="col-md-6">
|
|
119
|
+
<input id="memberPostCids" type="text" class="form-control" value="{group.memberPostCids}">
|
|
120
|
+
</div>
|
|
121
|
+
<div class="col-md-6 member-post-cids-selector">
|
|
122
|
+
<!-- IMPORT partials/category-selector.tpl -->
|
|
123
|
+
</div>
|
|
124
|
+
</div>
|
|
125
|
+
</div>
|
|
126
|
+
|
|
127
|
+
<hr />
|
|
128
|
+
|
|
129
|
+
<div class="mb-3 user-title-option">
|
|
130
|
+
<label class="form-label" for="userTitle">[[groups:details.badge_text]]</label>
|
|
131
|
+
<input component="groups/userTitleOption" class="form-control" name="userTitle" id="userTitle" type="text" maxlength="40" value="{group.userTitleEscaped}"<!-- IF !group.userTitleEnabled --> disabled<!-- ENDIF !group.userTitleEnabled --> />
|
|
132
|
+
</div>
|
|
133
|
+
|
|
134
|
+
<div class="mb-3 user-title-option">
|
|
135
|
+
<label>[[groups:details.badge_preview]]</label><br />
|
|
136
|
+
<span class="badge rounded-1 text-uppercase text-truncate rounded-1 {{{ if !group.userTitleEnabled }}} hide{{{ end }}}" style="max-width:150px; color: {group.textColor}; background-color: {group.labelColor}"><i class="fa{{{ if group.icon }}} {group.icon}{{{ end }}}"></i> <span class="badge-text">{{{ if group.userTitle }}}{group.userTitle}{{{ else }}}{group.displayName}{{{ end }}}</span></span>
|
|
137
|
+
|
|
138
|
+
<hr/>
|
|
139
|
+
<button component="groups/userTitleOption" type="button" class="btn btn-outline-secondary btn-sm" data-action="icon-select"<!-- IF !group.userTitleEnabled --> disabled<!-- ENDIF !group.userTitleEnabled -->>[[groups:details.change_icon]]</button>
|
|
140
|
+
<div>
|
|
141
|
+
<label class="form-label" for="labelColor" class="badge-color-label">[[groups:details.change_label_colour]]</label>
|
|
142
|
+
<input component="groups/userTitleOption" type="color" name="labelColor" value="<!-- IF group.labelColor -->{group.labelColor}<!-- ENDIF group.labelColor -->" />
|
|
143
|
+
</div>
|
|
144
|
+
<div>
|
|
145
|
+
<label class="form-label" for="color" class="badge-color-label">[[groups:details.change_text_colour]]</label>
|
|
146
|
+
<input component="groups/userTitleOption" type="color" name="textColor" value="<!-- IF group.textColor -->{group.textColor}<!-- ENDIF group.textColor -->" />
|
|
147
|
+
</div>
|
|
148
|
+
<input type="hidden" name="icon" value="<!-- IF group.icon -->{group.icon}<!-- ENDIF group.icon -->" />
|
|
149
|
+
|
|
150
|
+
<div id="icons" class="hidden">
|
|
151
|
+
<div class="icon-container">
|
|
152
|
+
<div class="row nbb-fa-icons">
|
|
153
|
+
<!-- IMPORT partials/fontawesome.tpl -->
|
|
154
|
+
</div>
|
|
155
|
+
</div>
|
|
156
|
+
</div>
|
|
157
|
+
</div>
|
|
158
|
+
<hr />
|
|
159
|
+
<div class="form-check">
|
|
160
|
+
<label class="form-check-label">[[groups:details.userTitleEnabled]]</label>
|
|
161
|
+
<input class="form-check-input" name="userTitleEnabled" type="checkbox"<!-- IF group.userTitleEnabled --> checked<!-- ENDIF group.userTitleEnabled -->>
|
|
162
|
+
</div>
|
|
163
|
+
<div class="form-check">
|
|
164
|
+
<label class="form-check-label">[[groups:details.private]]</label>
|
|
165
|
+
<input class="form-check-input" name="private" type="checkbox"<!-- IF group.private --> checked<!-- ENDIF group.private -->>
|
|
166
|
+
<!-- IF !allowPrivateGroups -->
|
|
167
|
+
<p class="form-text">
|
|
168
|
+
[[groups:details.private_system_help]]
|
|
169
|
+
</p>
|
|
170
|
+
<!-- ENDIF !allowPrivateGroups -->
|
|
171
|
+
<p class="form-text">
|
|
172
|
+
[[groups:details.private_help]]
|
|
173
|
+
</p>
|
|
174
|
+
</div>
|
|
175
|
+
<div class="form-check">
|
|
176
|
+
<label class="form-check-label">[[groups:details.disableJoinRequests]]</label>
|
|
177
|
+
<input class="form-check-input" name="disableJoinRequests" type="checkbox"<!-- IF group.disableJoinRequests --> checked<!-- ENDIF group.disableJoinRequests -->>
|
|
178
|
+
</div>
|
|
179
|
+
<div class="form-check">
|
|
180
|
+
<label class="form-check-label">[[groups:details.disableLeave]]</label>
|
|
181
|
+
<input class="form-check-input" name="disableLeave" type="checkbox"{{{if group.disableLeave}}} checked{{{end}}}>
|
|
182
|
+
</div>
|
|
183
|
+
<div class="form-check">
|
|
184
|
+
<label class="form-check-label">[[groups:details.hidden]]</label>
|
|
185
|
+
<input class="form-check-input" name="hidden" type="checkbox"<!-- IF group.hidden --> checked<!-- ENDIF group.hidden -->>
|
|
186
|
+
<p class="form-text">
|
|
187
|
+
[[groups:details.hidden_help]]
|
|
188
|
+
</p>
|
|
189
|
+
</div>
|
|
190
|
+
|
|
191
|
+
<button class="btn btn-link text-danger float-end" type="button" data-action="delete">[[groups:details.delete_group]]</button>
|
|
192
|
+
<button class="btn btn-primary" type="button" data-action="update">[[global:save_changes]]</button>
|
|
193
|
+
</form>
|
|
194
|
+
</div>
|
|
195
|
+
</div>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<a class="lh-1" href="{config.relative_path}/groups/{./slug}"><small class="badge rounded-1 text-uppercase text-truncate" style="max-width: 150px;color:{./textColor};background-color: {./labelColor};"><i class="fa {{{ if ./icon }}}{./icon} me-1{{{else}}}hidden{{{ end }}}"></i><span class="badge-text">{{{ if ./userTitle }}}{./userTitle}{{{ else }}}{./displayName}{{{ end }}}</span></small></a>
|
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{{{each groups}}}
|
|
2
|
-
<div class="col-lg-4 col-md-6 col-sm-12" component="groups/summary" data-slug="{groups.slug}">
|
|
3
|
-
<div class="
|
|
4
|
-
<a href="{config.relative_path}/groups/{groups.slug}" class="
|
|
5
|
-
<
|
|
2
|
+
<div class="col-lg-4 col-md-6 col-sm-12 mb-3" component="groups/summary" data-slug="{groups.slug}">
|
|
3
|
+
<div class="card h-100">
|
|
4
|
+
<a href="{config.relative_path}/groups/{groups.slug}" class="card-header list-cover" style="<!-- IF groups.cover:thumb:url -->background-image: url({groups.cover:thumb:url});<!-- ENDIF groups.cover:thumb:url -->">
|
|
5
|
+
<h5 class="card-title">{groups.displayName} <small>{groups.memberCount}</small></h5>
|
|
6
6
|
</a>
|
|
7
|
-
<div class="
|
|
7
|
+
<div class="card-body">
|
|
8
8
|
<ul class="members">
|
|
9
9
|
{{{each groups.members}}}
|
|
10
10
|
<li>
|
|
11
|
-
<a href="{config.relative_path}/user/{groups.members.userslug}">{buildAvatar(groups.members, "
|
|
11
|
+
<a href="{config.relative_path}/user/{groups.members.userslug}">{buildAvatar(groups.members, "24px", true)}</a>
|
|
12
12
|
</li>
|
|
13
13
|
{{{end}}}
|
|
14
14
|
<!-- IF groups.truncated -->
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
<div class="
|
|
1
|
+
<div class="d-flex mb-3">
|
|
2
2
|
<!-- IF group.isOwner -->
|
|
3
|
-
<div class="
|
|
4
|
-
<button component="groups/members/add" type="button" class="btn btn-primary" title="[[groups:details.add-member]]"><i class="fa fa-user-plus"></i></button>
|
|
3
|
+
<div class="flex-shrink-0">
|
|
4
|
+
<button component="groups/members/add" type="button" class="btn btn-primary me-3" title="[[groups:details.add-member]]"><i class="fa fa-user-plus"></i></button>
|
|
5
5
|
</div>
|
|
6
6
|
<!-- ENDIF group.isOwner -->
|
|
7
|
-
<div class="
|
|
7
|
+
<div class="flex-grow-1">
|
|
8
8
|
<div class="input-group">
|
|
9
9
|
<input class="form-control" type="text" component="groups/members/search" placeholder="[[global:search]]"/>
|
|
10
|
-
<span class="input-group-
|
|
10
|
+
<span class="input-group-text search-button"><i class="fa fa-search"></i></span>
|
|
11
11
|
</div>
|
|
12
12
|
</div>
|
|
13
13
|
</div>
|
|
@@ -16,14 +16,15 @@
|
|
|
16
16
|
<tbody>
|
|
17
17
|
{{{each group.members}}}
|
|
18
18
|
<tr data-uid="{group.members.uid}">
|
|
19
|
-
<td>
|
|
20
|
-
<a href="{config.relative_path}/user/{group.members.userslug}">{buildAvatar(group.members, "
|
|
19
|
+
<td class="p-2">
|
|
20
|
+
<a href="{config.relative_path}/user/{group.members.userslug}">{buildAvatar(group.members, "24px", true)}</a>
|
|
21
21
|
</td>
|
|
22
|
-
<td class="member-name">
|
|
23
|
-
<a href="{config.relative_path}/user/{group.members.userslug}">{group.members.username}</a>
|
|
22
|
+
<td class="member-name p-2">
|
|
23
|
+
<a class="align-text-top" href="{config.relative_path}/user/{group.members.userslug}">{group.members.username}</a>
|
|
24
|
+
<i title="[[groups:owner]]" class="user-owner-icon fa fa-star align-text-top text-warning <!-- IF !group.members.isOwner -->invisible<!-- ENDIF !group.members.isOwner -->"></i>
|
|
24
25
|
|
|
25
26
|
<!-- IF group.isOwner -->
|
|
26
|
-
<div class="owner-controls btn-group
|
|
27
|
+
<div class="owner-controls btn-group float-end">
|
|
27
28
|
<a class="btn btn-sm" href="#" data-ajaxify="false" data-action="toggleOwnership" title="[[groups:details.grant]]">
|
|
28
29
|
<i class="fa fa-star"></i>
|
|
29
30
|
</a>
|