aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMario <mario@mariovavti.com>2024-07-23 22:08:42 +0000
committerMario <mario@mariovavti.com>2024-07-23 22:08:42 +0000
commit467e0b32b4e5a25c48b7d006058b051d52c005ac (patch)
tree618fa378aece709f33a24c47094f870a7b36fc82
parent204d91c3c3c0c54b67ac3255a666038533b4fe85 (diff)
downloadvolse-hubzilla-467e0b32b4e5a25c48b7d006058b051d52c005ac.tar.gz
volse-hubzilla-467e0b32b4e5a25c48b7d006058b051d52c005ac.tar.bz2
volse-hubzilla-467e0b32b4e5a25c48b7d006058b051d52c005ac.zip
fa2bi and a php error in mod appman
-rw-r--r--Zotlabs/Module/Appman.php28
-rw-r--r--Zotlabs/Widget/Hq_controls.php4
-rw-r--r--Zotlabs/Widget/Messages.php6
-rw-r--r--Zotlabs/Widget/Notifications.php14
-rw-r--r--app/affinity.apd4
-rw-r--r--app/calendar.apd4
-rw-r--r--app/carddav.apd4
-rw-r--r--app/channel.apd4
-rw-r--r--app/chat.apd4
-rw-r--r--app/connections.apd4
-rw-r--r--app/defperm.apd4
-rw-r--r--app/directory.apd4
-rw-r--r--app/group.apd4
-rw-r--r--app/hq.apd4
-rw-r--r--app/invite.apd4
-rw-r--r--app/lang.apd4
-rw-r--r--app/network.apd4
-rw-r--r--app/notes.apd4
-rw-r--r--app/oauth.apd4
-rw-r--r--app/oauth2.apd4
-rw-r--r--app/pdledit_gui.apd4
-rw-r--r--app/permcats.apd4
-rw-r--r--app/photos.apd4
-rw-r--r--app/probe.apd4
-rw-r--r--app/randprof.apd4
-rw-r--r--app/sources.apd4
-rw-r--r--app/storage.apd4
-rw-r--r--app/suggest.apd4
-rw-r--r--app/tokens.apd4
-rw-r--r--app/uexport.apd4
-rw-r--r--app/webpages.apd4
-rw-r--r--view/js/main.js16
-rw-r--r--view/theme/redbasic/css/style.css6
-rw-r--r--view/theme/redbasic/js/redbasic.js8
-rw-r--r--view/tpl/app.tpl16
-rw-r--r--view/tpl/app_inline.tpl6
-rw-r--r--view/tpl/app_install.tpl2
-rw-r--r--view/tpl/app_nav.tpl2
-rw-r--r--view/tpl/app_nav_pinned.tpl2
-rw-r--r--view/tpl/app_order.tpl6
-rw-r--r--view/tpl/conv_item.tpl4
-rw-r--r--view/tpl/hq_controls.tpl2
-rw-r--r--view/tpl/messages_widget.tpl12
-rw-r--r--view/tpl/myapps.tpl2
-rw-r--r--view/tpl/navbar_default.tpl36
-rw-r--r--view/tpl/notifications_widget.tpl12
46 files changed, 146 insertions, 146 deletions
diff --git a/Zotlabs/Module/Appman.php b/Zotlabs/Module/Appman.php
index 5f72d771b..8a842feda 100644
--- a/Zotlabs/Module/Appman.php
+++ b/Zotlabs/Module/Appman.php
@@ -16,21 +16,21 @@ class Appman extends \Zotlabs\Web\Controller {
if(isset($_POST['url']) && $_POST['url']) {
$arr = array(
'uid' => intval($_REQUEST['uid']),
- 'url' => escape_tags($_REQUEST['url']),
- 'guid' => escape_tags($_REQUEST['guid']),
- 'author' => escape_tags($_REQUEST['author']),
- 'addr' => escape_tags($_REQUEST['addr']),
- 'name' => escape_tags($_REQUEST['name']),
- 'desc' => escape_tags($_REQUEST['desc']),
- 'photo' => escape_tags($_REQUEST['photo']),
- 'version' => escape_tags($_REQUEST['version']),
- 'price' => escape_tags($_REQUEST['price']),
- 'page' => escape_tags($_REQUEST['page']),
- 'requires' => escape_tags($_REQUEST['requires']),
+ 'url' => escape_tags($_REQUEST['url'] ?? ''),
+ 'guid' => escape_tags($_REQUEST['guid'] ?? ''),
+ 'author' => escape_tags($_REQUEST['author'] ?? ''),
+ 'addr' => escape_tags($_REQUEST['addr'] ?? ''),
+ 'name' => escape_tags($_REQUEST['name'] ?? ''),
+ 'desc' => escape_tags($_REQUEST['desc'] ?? ''),
+ 'photo' => escape_tags($_REQUEST['photo'] ?? ''),
+ 'version' => escape_tags($_REQUEST['version'] ?? ''),
+ 'price' => escape_tags($_REQUEST['price'] ?? ''),
+ 'page' => escape_tags($_REQUEST['page'] ?? ''),
+ 'requires' => escape_tags($_REQUEST['requires'] ?? ''),
'system' => intval($_REQUEST['system']),
- 'plugin' => escape_tags($_REQUEST['plugin']),
- 'sig' => escape_tags($_REQUEST['sig']),
- 'categories' => escape_tags($_REQUEST['categories'])
+ 'plugin' => escape_tags($_REQUEST['plugin'] ?? ''),
+ 'sig' => escape_tags($_REQUEST['sig'] ?? ''),
+ 'categories' => escape_tags($_REQUEST['categories'] ?? '')
);
$_REQUEST['appid'] = Apps::app_install(local_channel(),$arr);
diff --git a/Zotlabs/Widget/Hq_controls.php b/Zotlabs/Widget/Hq_controls.php
index 51212d145..0db492c37 100644
--- a/Zotlabs/Widget/Hq_controls.php
+++ b/Zotlabs/Widget/Hq_controls.php
@@ -34,7 +34,7 @@ class Hq_controls {
'href' => '#',
'class' => 'btn notes-toggle',
'type' => 'button',
- 'icon' => 'sticky-note-o',
+ 'icon' => 'sticky',
'extra' => 'data-toggle="button"'
];
}
@@ -44,7 +44,7 @@ class Hq_controls {
'href' => '#',
'class' => 'btn channel-activities-toggle d-none',
'type' => 'button',
- 'icon' => 'user-circle-o',
+ 'icon' => 'person-circle',
'extra' => 'data-toggle="button"'
];
diff --git a/Zotlabs/Widget/Messages.php b/Zotlabs/Widget/Messages.php
index 8654d8e8f..294a982b1 100644
--- a/Zotlabs/Widget/Messages.php
+++ b/Zotlabs/Widget/Messages.php
@@ -170,10 +170,10 @@ class Messages {
switch(intval($item['item_private'])) {
case 1:
- $icon = '<i class="fa fa-lock"></i>';
+ $icon = '<i class="bi bi-lock"></i>';
break;
case 2:
- $icon = '<i class="fa fa-envelope-o"></i>';
+ $icon = '<i class="bi bi-envelope"></i>';
break;
default:
$icon = '';
@@ -293,7 +293,7 @@ class Messages {
$entries[$i]['summary'] = $summary;
$entries[$i]['b64mid'] = (($notice['ntype'] & NOTIFY_INTRO) ? '' : ((str_contains($notice['hash'], '-')) ? $notice['hash'] : basename($notice['link'])));
$entries[$i]['href'] = (($notice['ntype'] & NOTIFY_INTRO) ? $notice['link'] : z_root() . '/hq/' . ((str_contains($notice['hash'], '-')) ? $notice['hash'] : basename($notice['link'])));
- $entries[$i]['icon'] = (($notice['ntype'] & NOTIFY_INTRO) ? '<i class="fa fa-user-plus"></i>' : '');
+ $entries[$i]['icon'] = (($notice['ntype'] & NOTIFY_INTRO) ? '<i class="bi bi-person-plus"></i>' : '');
$i++;
}
diff --git a/Zotlabs/Widget/Notifications.php b/Zotlabs/Widget/Notifications.php
index eeef1d7d4..5a922cee0 100644
--- a/Zotlabs/Widget/Notifications.php
+++ b/Zotlabs/Widget/Notifications.php
@@ -18,7 +18,7 @@ class Notifications {
if(local_channel()) {
$notifications[] = [
'type' => 'network',
- 'icon' => 'th',
+ 'icon' => 'grid-3x3',
'severity' => 'secondary',
'label' => t('Network'),
'title' => t('New network activity notifications'),
@@ -38,7 +38,7 @@ class Notifications {
$notifications[] = [
'type' => 'home',
- 'icon' => 'home',
+ 'icon' => 'house',
'severity' => 'danger',
'label' => t('Home'),
'title' => t('New home activity notifications'),
@@ -76,7 +76,7 @@ class Notifications {
$notifications[] = [
'type' => 'all_events',
- 'icon' => 'calendar',
+ 'icon' => 'calendar-week',
'severity' => 'secondary',
'label' => t('Events'),
'title' => t('New events notifications'),
@@ -91,7 +91,7 @@ class Notifications {
$notifications[] = [
'type' => 'intros',
- 'icon' => 'users',
+ 'icon' => 'people',
'severity' => 'danger',
'label' => t('New Connections'),
'title' => t('New connections notifications'),
@@ -111,7 +111,7 @@ class Notifications {
$notifications[] = [
'type' => 'notify',
- 'icon' => 'exclamation',
+ 'icon' => 'exclamation-circle',
'severity' => 'danger',
'label' => t('Notices'),
'title' => t('Notices'),
@@ -126,7 +126,7 @@ class Notifications {
$notifications[] = [
'type' => 'forums',
- 'icon' => 'comments-o',
+ 'icon' => 'chat-quote',
'severity' => 'secondary',
'label' => t('Forums'),
'title' => t('Forums'),
@@ -139,7 +139,7 @@ class Notifications {
if(local_channel() && is_site_admin()) {
$notifications[] = [
'type' => 'register',
- 'icon' => 'user-o',
+ 'icon' => 'person-exclamation',
'severity' => 'danger',
'label' => t('Registrations'),
'title' => t('New registrations notifications'),
diff --git a/app/affinity.apd b/app/affinity.apd
index 7821a2a6f..631ddc46d 100644
--- a/app/affinity.apd
+++ b/app/affinity.apd
@@ -1,7 +1,7 @@
-version: 2
+version: 3
url: $baseurl/affinity
requires: local_channel
name: Affinity Tool
-photo: icon:arrows-h
+photo: icon:arrows
categories: Networking
desc: This app presents a slider control in your connection editor and also on your network page. The slider represents your degree of friendship (affinity) with each connection. It allows you to zoom in or out and display conversations from only your closest friends or everybody in your stream.
diff --git a/app/calendar.apd b/app/calendar.apd
index 9398e6aa9..9b0accb65 100644
--- a/app/calendar.apd
+++ b/app/calendar.apd
@@ -1,7 +1,7 @@
-version: 2
+version: 3
url: $baseurl/cdav/calendar, $baseurl/settings/calendar
requires: local_channel
name: Calendar
-photo: icon:calendar
+photo: icon:calendar-week
categories: Productivity, nav_featured_app
desc: DAV capable calendar
diff --git a/app/carddav.apd b/app/carddav.apd
index c06407d97..2608652af 100644
--- a/app/carddav.apd
+++ b/app/carddav.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/cdav/addressbook
requires: local_channel
name: CardDAV
-photo: icon:vcard-o
+photo: icon:person-vcard
categories: Productivity, Personal
desc: DAV capable addressbook
diff --git a/app/channel.apd b/app/channel.apd
index 7e7727ebe..3fd3909d0 100644
--- a/app/channel.apd
+++ b/app/channel.apd
@@ -1,7 +1,7 @@
-version: 4
+version: 5
url: $baseurl/channel/$nick, $baseurl/settings/channel_home
requires: local_channel
name: Channel
-photo: icon:home
+photo: icon:house
categories: nav_featured_app, Personal
desc: Your channel homepage featuring your personal posts.
diff --git a/app/chat.apd b/app/chat.apd
index cac192ab2..d4ef061b6 100644
--- a/app/chat.apd
+++ b/app/chat.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/chat/$nick
requires: local_channel
name: Chatrooms
-photo: icon:comments-o
+photo: icon:chat-text
categories: Productivity
desc: Access controlled personal chatrooms.
diff --git a/app/connections.apd b/app/connections.apd
index 006d2cde2..c13b7e10a 100644
--- a/app/connections.apd
+++ b/app/connections.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/connections, $baseurl/settings/connections
requires: local_channel
name: Connections
-photo: icon:users
+photo: icon:people
categories: nav_featured_app, Networking
desc: Manage your connections.
diff --git a/app/defperm.apd b/app/defperm.apd
index 18259c7b1..24541ad42 100644
--- a/app/defperm.apd
+++ b/app/defperm.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/defperms
requires: local_channel, custom_role
name: Default Permissions
-photo: icon:unlock-alt
+photo: icon:person-lock
categories: Access Control
desc: Set custom default permissions for new connections.
diff --git a/app/directory.apd b/app/directory.apd
index 10d9054ff..d7842237b 100644
--- a/app/directory.apd
+++ b/app/directory.apd
@@ -1,6 +1,6 @@
-version: 3
+version: 4
url: $baseurl/directory, $baseurl/settings/directory
name: Directory
-photo: icon:sitemap
+photo: icon:diagram-3
categories: nav_featured_app, Networking
desc: Members directory of the Zot network.
diff --git a/app/group.apd b/app/group.apd
index bf3ddf4a1..b622966ec 100644
--- a/app/group.apd
+++ b/app/group.apd
@@ -1,7 +1,7 @@
-version: 4
+version: 5
url: $baseurl/group
requires: local_channel
name: Privacy Groups
-photo: icon:lock
+photo: icon:file-lock
categories: Networking
desc: A tool to create and manage privacy groups.
diff --git a/app/hq.apd b/app/hq.apd
index 07f82653f..71ff55040 100644
--- a/app/hq.apd
+++ b/app/hq.apd
@@ -1,7 +1,7 @@
-version: 2
+version: 3
url: $baseurl/hq
requires: local_channel
name: HQ
-photo: icon:user-circle-o
+photo: icon:person-circle
categories: nav_pinned_app
desc: The default landing page after login. It provides a quick overview over recent posts and direct messages.
diff --git a/app/invite.apd b/app/invite.apd
index 8506408a6..8d4b59121 100644
--- a/app/invite.apd
+++ b/app/invite.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/invite
requires: local_channel
name: Invite
-photo: icon:user-plus
+photo: icon:person-plus
categories: Networking
desc: Send invite emails with an invite token. This app only works if your hub is configured to allow invites.
diff --git a/app/lang.apd b/app/lang.apd
index 27e2d7c84..a9eadce01 100644
--- a/app/lang.apd
+++ b/app/lang.apd
@@ -1,6 +1,6 @@
-version: 3
+version: 4
url: $baseurl/lang
name: Language
-photo: icon:language
+photo: icon:translate
categories: System
desc: A simple language selector.
diff --git a/app/network.apd b/app/network.apd
index cbce18153..7db0a2d06 100644
--- a/app/network.apd
+++ b/app/network.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/network, $baseurl/settings/network
requires: local_channel
name: Network
-photo: icon:th
+photo: icon:grid-3x3
categories: nav_featured_app, Networking
desc: Your network activity in a traditional timeline view.
diff --git a/app/notes.apd b/app/notes.apd
index 20794ebb4..66fb04c49 100644
--- a/app/notes.apd
+++ b/app/notes.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/notes
requires: local_channel
name: Notes
-photo: icon:sticky-note-o
+photo: icon:sticky
categories: Personal, Productivity
desc: A simple notes app. It provides a dedicated notes app and a widget which can be added to other pages.
diff --git a/app/oauth.apd b/app/oauth.apd
index 32a0f6d11..a48a28b96 100644
--- a/app/oauth.apd
+++ b/app/oauth.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/oauth
requires: local_channel
name: OAuth Apps Manager
-photo: icon:chevron-circle-up
+photo: icon:1-circle-fill
categories: Access Control
desc: Manage OAuth authentication tokens for mobile and remote apps.
diff --git a/app/oauth2.apd b/app/oauth2.apd
index c1422e505..550b343d7 100644
--- a/app/oauth2.apd
+++ b/app/oauth2.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/oauth2
requires: local_channel
name: OAuth2 Apps Manager
-photo: icon:chevron-circle-up
+photo: icon:2-circle-fill
categories: Access Control
desc: Manage OAuth2 authentication tokens for mobile and remote apps.
diff --git a/app/pdledit_gui.apd b/app/pdledit_gui.apd
index 85a95a067..da944382c 100644
--- a/app/pdledit_gui.apd
+++ b/app/pdledit_gui.apd
@@ -1,7 +1,7 @@
-version: 1
+version: 2
url: $baseurl/pdledit_gui
requires: local_channel
name: PDL Editor
-photo: icon:object-group
+photo: icon:columns-gap
categories: Appearance
desc: An editor for system page layouts.
diff --git a/app/permcats.apd b/app/permcats.apd
index d71eedb4f..ef0cbada6 100644
--- a/app/permcats.apd
+++ b/app/permcats.apd
@@ -1,7 +1,7 @@
-version: 5
+version: 6
url: $baseurl/permcats
requires: local_channel
name: Contact Roles
-photo: icon:user-o
+photo: icon:person-lock
categories: Access Control
desc: Create and manage custom contact roles.
diff --git a/app/photos.apd b/app/photos.apd
index e861747cb..ed257a3d6 100644
--- a/app/photos.apd
+++ b/app/photos.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/photos/$nick, $baseurl/settings/photos
requires: local_channel
name: Photos
-photo: icon:photo
+photo: icon:image
categories: nav_featured_app, Multimedia
desc: A simple tool to view and manage your photos.
diff --git a/app/probe.apd b/app/probe.apd
index 9a78f4cde..fb62deb16 100644
--- a/app/probe.apd
+++ b/app/probe.apd
@@ -1,7 +1,7 @@
-version: 4
+version: 5
url: $baseurl/zot_probe
requires: local_channel
name: Remote Diagnostics
-photo: icon:user-md
+photo: icon:tools
categories: Developer
desc: A diagnose tool useful for developers.
diff --git a/app/randprof.apd b/app/randprof.apd
index 4979a15c1..bf7e73651 100644
--- a/app/randprof.apd
+++ b/app/randprof.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/randprof
name: Random Channel
target: randprof
-photo: icon:random
+photo: icon:shuffle
categories: Networking
desc: Visit a random channel in the network.
diff --git a/app/sources.apd b/app/sources.apd
index d3a43dd04..c058cd8ad 100644
--- a/app/sources.apd
+++ b/app/sources.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/sources
requires: local_channel
name: Channel Sources
-photo: icon:commenting-o
+photo: icon:chat-dots
categories: Networking
desc: Import channel content from other channels or feeds.
diff --git a/app/storage.apd b/app/storage.apd
index a81af9c52..9dd9388a5 100644
--- a/app/storage.apd
+++ b/app/storage.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/cloud/$nick
requires: local_channel
name: Files
-photo: icon:folder-open
+photo: icon:folder
categories: nav_featured_app, Productivity
desc: A mighty tool to manage your files and folders.
diff --git a/app/suggest.apd b/app/suggest.apd
index 56bced0dc..733543187 100644
--- a/app/suggest.apd
+++ b/app/suggest.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/suggest
requires: local_channel
name: Suggest Channels
-photo: icon:lightbulb-o
+photo: icon:person-lines-fill
categories: Networking
desc: Suggestions for channels in the network you might be interested in.
diff --git a/app/tokens.apd b/app/tokens.apd
index 95506f11c..2110b2e7e 100644
--- a/app/tokens.apd
+++ b/app/tokens.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/tokens
requires: local_channel
name: Guest Access
-photo: icon:user-secret
+photo: icon:incognito
categories: Access Control
desc: Create and manage guest access tokens. Those tokens are useful to share private content with people outside the Zot network.
diff --git a/app/uexport.apd b/app/uexport.apd
index 25cd91549..a3ae7061b 100644
--- a/app/uexport.apd
+++ b/app/uexport.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/uexport
requires: local_channel
name: Channel Export
-photo: icon:download
+photo: icon:person-down
categories: Personal, System
desc: Export your channel.
diff --git a/app/webpages.apd b/app/webpages.apd
index e72b8586b..36f774edd 100644
--- a/app/webpages.apd
+++ b/app/webpages.apd
@@ -1,7 +1,7 @@
-version: 3
+version: 4
url: $baseurl/webpages/$nick
requires: local_channel
name: Webpages
-photo: icon:newspaper-o
+photo: icon:layout-text-sidebar
categories: nav_featured_app, Productivity
desc: Create and manage web pages for your channel.
diff --git a/view/js/main.js b/view/js/main.js
index 782ce4b62..aa6b72dda 100644
--- a/view/js/main.js
+++ b/view/js/main.js
@@ -1256,7 +1256,7 @@ function doscroll(parent, hidden) {
});
$('html, body').animate({scrollTop:(id.offset().top) - 50}, 'slow');
- $('<a href="javascript:doscrollback(' + pos + ');" id="back-to-reply" title="' + aStr['to_reply'] + '"><i class="fa fa-angle-double-down"></i></a>').insertAfter('#wall-item-ago-' + id.attr('id').replace(/\D/g,''));
+ $('<a href="javascript:doscrollback(' + pos + ');" id="back-to-reply" title="' + aStr['to_reply'] + '"><i class="bi bi-chevron-double-down"></i></a>').insertAfter('#wall-item-ago-' + id.attr('id').replace(/\D/g,''));
}
function doscrollback(pos) {
@@ -1281,7 +1281,7 @@ function dopin(id) {
$('.dropdown-item-pinnable').html($('.dropdown-item-pinnable').html().replace(aStr['unpin_item'],aStr['pin_item']));
$('.wall-item-pinned').remove()
if(i.length == 0) {
- $('<span class="wall-item-pinned" title="' + aStr['pinned'] + '" id="wall-item-pinned-' + id + '"><i class="fa fa-thumb-tack">&nbsp;</i></span>').insertAfter('#wall-item-ago-' + id);
+ $('<span class="wall-item-pinned" title="' + aStr['pinned'] + '" id="wall-item-pinned-' + id + '"><i class="bi bi-pin">&nbsp;</i></span>').insertAfter('#wall-item-ago-' + id);
me.html(me.html().replace(aStr['pin_item'],aStr['unpin_item']));
};
})
@@ -1356,8 +1356,8 @@ function dostar(ident) {
if(data.result == 1) {
$('#starred-' + ident).addClass('starred');
$('#starred-' + ident).removeClass('unstarred');
- $('#starred-' + ident).addClass('fa-star');
- $('#starred-' + ident).removeClass('fa-star-o');
+ $('#starred-' + ident).addClass('bi-star-fill');
+ $('#starred-' + ident).removeClass('bi-star');
$('#star-' + ident).addClass('hidden');
$('#unstar-' + ident).removeClass('hidden');
var btn_tpl = '<div class="" id="star-button-' + ident + '"><button type="button" class="btn btn-outline-secondary border-0 wall-item-star" onclick="dostar(' + ident + ');"><i class="fa fa-star"></i></button></div>'
@@ -1366,8 +1366,8 @@ function dostar(ident) {
else {
$('#starred-' + ident).addClass('unstarred');
$('#starred-' + ident).removeClass('starred');
- $('#starred-' + ident).addClass('fa-star-o');
- $('#starred-' + ident).removeClass('fa-star');
+ $('#starred-' + ident).addClass('bi-star');
+ $('#starred-' + ident).removeClass('bi-star-fill');
$('#star-' + ident).removeClass('hidden');
$('#unstar-' + ident).addClass('hidden');
$('#star-button-' + ident).remove();
@@ -1678,7 +1678,7 @@ function push_notification(title, body, b64mid) {
function toggleAside() {
if ($('main.region_1-on').length) {
- $('#expand-aside-icon').addClass('fa-arrow-circle-right').removeClass('fa-arrow-circle-left');
+ $('#expand-aside-icon').addClass('bi-arrow-right-circle').removeClass('bi-arrow-left-circle');
$('html, body').css({ 'position': '', 'left': '' });
$('main').removeClass('region_1-on');
$('#region_1').addClass('d-none');
@@ -1686,7 +1686,7 @@ function toggleAside() {
$('#overlay').remove();
}
else {
- $('#expand-aside-icon').removeClass('fa-arrow-circle-right').addClass('fa-arrow-circle-left');
+ $('#expand-aside-icon').removeClass('bi-arrow-right-circle').addClass('bi-arrow-left-circle');
$('html, body').css({ 'position': 'sticky', 'left': '0px'});
$('main').addClass('region_1-on');
$('#region_1').removeClass('d-none');
diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css
index 2de40d671..49b3fe25e 100644
--- a/view/theme/redbasic/css/style.css
+++ b/view/theme/redbasic/css/style.css
@@ -855,12 +855,12 @@ a .generic-icons {
.generic-icons-nav {
font-size: 1rem;
- margin-right: 7px;
+ margin-right: 0.5rem;
}
.admin-icons {
- font-size: 1.2em;
- margin-right: 7px;
+ font-size: 1rem;
+ margin-right: 0.5rem;
}
.drop-icons,
diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js
index 0f2617cc0..76d6c0854 100644
--- a/view/theme/redbasic/js/redbasic.js
+++ b/view/theme/redbasic/js/redbasic.js
@@ -29,11 +29,11 @@ $(document).ready(function() {
}
if (redbasic_dark_mode == 1) {
- $('#theme-switch-icon').removeClass('fa-moon-o').addClass('fa-sun-o');
+ $('#theme-switch-icon').removeClass('bi-moon').addClass('bi-sun');
$('[data-bs-theme="light"]').attr('data-bs-theme', 'dark');
}
if (redbasic_dark_mode == 0) {
- $('#theme-switch-icon').removeClass('fa-sun-o').addClass('fa-moon-o');
+ $('#theme-switch-icon').removeClass('bi-sun').addClass('bi-moon');
$('[data-bs-theme="dark"]:not(nav)').attr('data-bs-theme', 'light');
}
@@ -84,12 +84,12 @@ $(document).ready(function() {
$('[data-bs-theme="dark"]').attr('data-bs-theme', 'light');
}
localStorage.setItem('redbasic_dark_mode', 0);
- $('#theme-switch-icon').removeClass('fa-sun-o').addClass('fa-moon-o');
+ $('#theme-switch-icon').removeClass('bi-sun').addClass('bi-moon');
}
else {
$('[data-bs-theme="light"]').attr('data-bs-theme', 'dark');
localStorage.setItem('redbasic_dark_mode', 1);
- $('#theme-switch-icon').removeClass('fa-moon-o').addClass('fa-sun-o');
+ $('#theme-switch-icon').removeClass('bi-moon').addClass('bi-sun');
}
$('meta[name=theme-color]').attr('content', $('nav').css('background-color'));
localStorage.setItem('redbasic_theme_color', $('nav').css('background-color'));
diff --git a/view/tpl/app.tpl b/view/tpl/app.tpl
index f3f6ae58b..b078aa66d 100644
--- a/view/tpl/app.tpl
+++ b/view/tpl/app.tpl
@@ -3,19 +3,19 @@
{{if $app.type !== 'system'}}
{{if $purchase}}
<div class="app-purchase">
- <a href="{{$app.page}}" class="btn btn-outline-secondary" title="{{$purchase}}" ><i class="fa fa-external"></i></a>
+ <a href="{{$app.page}}" class="btn btn-outline-secondary" title="{{$purchase}}" ><i class="bi bi-box-arrow-up-right"></i></a>
</div>
{{/if}}
{{if $action_label || $update || $delete || $feature}}
<div class="app-tools">
<form action="{{$hosturl}}appman" method="post">
<input type="hidden" name="papp" value="{{$app.papp}}" />
- {{if $action_label}}<button type="submit" name="install" value="{{$action_label}}" class="btn btn-{{if $installed}}outline-secondary{{else}}success{{/if}} btn-sm" title="{{$action_label}}" ><i class="fa fa-fw {{if $installed}}fa-refresh{{else}}fa-arrow-circle-o-down{{/if}}" ></i> {{$action_label}}</button>{{/if}}
- {{if $edit}}<input type="hidden" name="appid" value="{{$app.guid}}" /><button type="submit" name="edit" value="{{$edit}}" class="btn btn-outline-secondary btn-sm" title="{{$edit}}" ><i class="fa fa-fw fa-pencil" ></i></button>{{/if}}
- {{if $delete}}<button type="submit" name="delete" value="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" class="btn btn-outline-secondary btn-sm" title="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" ><i class="fa fa-fw fa-trash-o drop-icons"></i></button>{{/if}}
- {{if $settings_url}}<a href="{{$settings_url}}/?f=&rpath={{$rpath}}" class="btn btn-outline-secondary btn-sm"><i class="fa fa-fw fa-cog"></i></a>{{/if}}
- {{if $feature}}<button type="submit" name="feature" value="nav_featured_app" class="btn btn-outline-secondary btn-sm" title="{{if $featured}}{{$remove}}{{else}}{{$add}}{{/if}}"><i class="fa fa-fw fa-star{{if $featured}} text-warning{{/if}}"></i></button>{{/if}}
- {{if $pin}}<button type="submit" name="pin" value="nav_pinned_app" class="btn btn-outline-secondary btn-sm" title="{{if $pinned}}{{$remove_nav}}{{else}}{{$add_nav}}{{/if}}"><i class="fa fa-fw fa-thumb-tack{{if $pinned}} text-success{{/if}}"></i></button>{{/if}}
+ {{if $action_label}}<button type="submit" name="install" value="{{$action_label}}" class="btn btn-{{if $installed}}outline-secondary{{else}}success{{/if}} btn-sm" title="{{$action_label}}" ><i class="bi{{if $installed}} bi-arrow-repeat{{else}} bi-arrow-down-circle{{/if}}" ></i> {{$action_label}}</button>{{/if}}
+ {{if $edit}}<input type="hidden" name="appid" value="{{$app.guid}}" /><button type="submit" name="edit" value="{{$edit}}" class="btn btn-outline-secondary btn-sm" title="{{$edit}}" ><i class="bi bi-pencil" ></i></button>{{/if}}
+ {{if $delete}}<button type="submit" name="delete" value="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" class="btn btn-outline-secondary btn-sm" title="{{if $deleted}}{{$undelete}}{{else}}{{$delete}}{{/if}}" ><i class="bi bi-trash drop-icons"></i></button>{{/if}}
+ {{if $settings_url}}<a href="{{$settings_url}}/?f=&rpath={{$rpath}}" class="btn btn-outline-secondary btn-sm"><i class="bi bi-gear"></i></a>{{/if}}
+ {{if $feature}}<button type="submit" name="feature" value="nav_featured_app" class="btn btn-outline-secondary btn-sm" title="{{if $featured}}{{$remove}}{{else}}{{$add}}{{/if}}"><i class="bi bi-star{{if $featured}} text-warning{{/if}}"></i></button>{{/if}}
+ {{if $pin}}<button type="submit" name="pin" value="nav_pinned_app" class="btn btn-outline-secondary btn-sm" title="{{if $pinned}}{{$remove_nav}}{{else}}{{$add_nav}}{{/if}}"><i class="bi bi-pin{{if $pinned}} text-success{{/if}}"></i></button>{{/if}}
</form>
</div>
{{/if}}
@@ -27,7 +27,7 @@
<div class="{{if $deleted}} app-deleted{{/if}} mb-3">
<a class="app-icon app-link" href="{{$app.url}}"{{if $app.target}} target="{{$app.target}}"{{/if}}{{if $installed}} data-papp="{{$app.papp}}" data-icon="{{$icon}}" data-url="{{$app.url}}" data-name="{{$app.name}}"{{/if}}>
{{if $icon}}
- <i class="app-icon fa fa-fw fa-{{$icon}}"></i>
+ <i class="app-icon bi bi-{{$icon}}"></i>
{{else}}
<img src="{{$app.photo}}" width="80" height="80" />
{{/if}}
diff --git a/view/tpl/app_inline.tpl b/view/tpl/app_inline.tpl
index fc3675380..678720f5f 100644
--- a/view/tpl/app_inline.tpl
+++ b/view/tpl/app_inline.tpl
@@ -1,7 +1,7 @@
<h3 class="mb-3">{{$app.name}}{{if $app.price}} ({{$app.price}}){{/if}}</h3>
<a class="app-icon" href="{{$app.url}}" >
{{if $icon}}
- <i class="app-icon fa fa-fw fa-{{$icon}} mb-3"></i>
+ <i class="app-icon bi bi-{{$icon}} mb-3"></i>
{{else}}
<img src="{{$app.photo}}" width="80" height="80" class="mb-3" />
{{/if}}
@@ -14,10 +14,10 @@
<form action="{{$hosturl}}appman" method="post">
<input type="hidden" name="papp" value="{{$app.papp}}" />
{{if $action_label}}
- <button type="submit" name="install" value="{{$action_label}}" class="btn btn-{{if $installed}}outline-secondary{{else}}success{{/if}} btn-sm" title="{{$action_label}}" ><i class="fa fa-fw {{if $installed}}fa-refresh{{else}}fa-arrow-circle-o-down{{/if}}" ></i> {{$action_label}}</button>
+ <button type="submit" name="install" value="{{$action_label}}" class="btn btn-{{if $installed}}outline-secondary{{else}}success{{/if}} btn-sm" title="{{$action_label}}" ><i class="bi{{if $installed}} bi-repeat{{else}}bi-arrow-down-circle{{/if}}" ></i> {{$action_label}}</button>
{{/if}}
{{if $purchase && $app.type !== 'system'}}
- <a href="{{$app.page}}" class="btn btn-sm btn-link" title="{{$purchase}}" ><i class="fa fa-external-link"></i></a>
+ <a href="{{$app.page}}" class="btn btn-sm btn-link" title="{{$purchase}}" ><i class="bi bi-box-arrow-up-right"></i></a>
{{/if}}
</form>
</div>
diff --git a/view/tpl/app_install.tpl b/view/tpl/app_install.tpl
index 16b89d350..4783ba977 100644
--- a/view/tpl/app_install.tpl
+++ b/view/tpl/app_install.tpl
@@ -8,6 +8,6 @@
<input type="hidden" name="papp" value="{{$papp.papp}}" />
<input type="hidden" name="return_path" value="{{$return_path}}" />
<button type="submit" name="install" value="install" class="btn btn-success">
- <i class="fa fa-fw fa-arrow-circle-o-down"></i> {{$install}}
+ <i class="bi bi-arrow-down-circle"></i> {{$install}}
</button>
</form>
diff --git a/view/tpl/app_nav.tpl b/view/tpl/app_nav.tpl
index a8489382e..c91a0c9af 100644
--- a/view/tpl/app_nav.tpl
+++ b/view/tpl/app_nav.tpl
@@ -1 +1 @@
-<a class="nav-link{{if $app.active}} active{{/if}}" href="{{$app.url}}" data-papp="{{$app.papp}}" data-icon="{{$icon}}" data-url="{{$app.url}}" data-name="{{$app.name}}">{{if $icon}}<i class="generic-icons-nav fa fa-fw fa-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="16" height="16" style="margin-right:9px;"/>{{/if}}{{$app.name}}</a>
+<a class="nav-link{{if $app.active}} active{{/if}}" href="{{$app.url}}" data-papp="{{$app.papp}}" data-icon="{{$icon}}" data-url="{{$app.url}}" data-name="{{$app.name}}">{{if $icon}}<i class="generic-icons-nav bi bi-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="16" height="16" style="margin-right:9px;"/>{{/if}}{{$app.name}}</a>
diff --git a/view/tpl/app_nav_pinned.tpl b/view/tpl/app_nav_pinned.tpl
index bf942dd48..5156372c3 100644
--- a/view/tpl/app_nav_pinned.tpl
+++ b/view/tpl/app_nav_pinned.tpl
@@ -1,6 +1,6 @@
<a class="navbar-app nav-link{{if $app.active}} active{{/if}}" href="{{$app.url}}" title="{{$app.name}}">
{{if $icon}}
- <i class="fa fa-fw fa-{{$icon}}"></i>
+ <i class="bi bi-{{$icon}}"></i>
<span class="d-lg-none">{{$app.name}}</span>
{{else}}
<img src="{{$app.photo}}" width="16" height="16" />
diff --git a/view/tpl/app_order.tpl b/view/tpl/app_order.tpl
index 53c770cb7..4552e8e37 100644
--- a/view/tpl/app_order.tpl
+++ b/view/tpl/app_order.tpl
@@ -1,3 +1,3 @@
-<a href="{{$hosturl}}appman/{{$app.guid}}/moveup{{if $mode == 'nav-order-pinned'}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav fa fa-fw fa-arrow-up"></i></a>
-<a href="{{$hosturl}}appman/{{$app.guid}}/movedown{{if $mode == 'nav-order-pinned'}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav fa fa-fw fa-arrow-down"></i></a>
-{{if $icon}}<i class="generic-icons-nav fa fa-fw fa-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="16" height="16" style="margin-right:9px;"/>{{/if}}{{$app.name}}<br>
+<a href="{{$hosturl}}appman/{{$app.guid}}/moveup{{if $mode == 'nav-order-pinned'}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav bi bi-arrow-up"></i></a>
+<a href="{{$hosturl}}appman/{{$app.guid}}/movedown{{if $mode == 'nav-order-pinned'}}/nav_pinned_app{{else}}/nav_featured_app{{/if}}" class="btn btn-outline-secondary btn-sm" style="margin-bottom: 5px;"><i class="generic-icons-nav bi bi-arrow-down"></i></a>
+{{if $icon}}<i class="generic-icons-nav bi bi-{{$icon}}"></i>{{else}}<img src="{{$app.photo}}" width="16" height="16" style="margin-right:9px;"/>{{/if}}{{$app.name}}<br>
diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl
index 54ac8cae4..ed8241545 100644
--- a/view/tpl/conv_item.tpl
+++ b/view/tpl/conv_item.tpl
@@ -187,7 +187,7 @@
{{/if}}
{{if $item.reply_to}}
<button type="button" title="{{$item.reply_to.0}}" class="btn btn-outline-secondary border-0" onclick="doreply({{$item.parent}}, {{$item.id}}, '{{$item.author_id}}', '{{$item.reply_to.2}} {{$item.name|escape:javascript}}');">
- <i class="bi bi-reply" ></i>
+ <i class="bi bi-arrow-90deg-left" ></i>
</button>
{{/if}}
<div class="">
@@ -199,7 +199,7 @@
<!--a class="dropdown-item" href="#" onclick="jotShare({{$item.id}},{{$item.item_type}}); return false"><i class="generic-icons-nav fa fa-fw fa-retweet" title="{{$item.share.0}}"></i>{{$item.share.0}}</a-->
{{/if}}
{{if $item.embed}}
- <a class="dropdown-item" href="#" onclick="jotEmbed({{$item.id}},{{$item.item_type}}); return false"><i class="generic-icons-nav bi bi-arrow-up-right" title="{{$item.embed.0}}"></i>{{$item.embed.0}}</a>
+ <a class="dropdown-item" href="#" onclick="jotEmbed({{$item.id}},{{$item.item_type}}); return false"><i class="generic-icons-nav bi bi-arrow-90deg-right" title="{{$item.embed.0}}"></i>{{$item.embed.0}}</a>
{{/if}}
{{if $item.plink}}
<a class="dropdown-item" href="{{$item.plink.href}}" title="{{$item.plink.title}}" class="u-url"><i class="generic-icons-nav bi bi-box-arrow-up-right"></i>{{$item.plink.title}}</a>
diff --git a/view/tpl/hq_controls.tpl b/view/tpl/hq_controls.tpl
index 0d433c2c2..83c62cb1d 100644
--- a/view/tpl/hq_controls.tpl
+++ b/view/tpl/hq_controls.tpl
@@ -1,7 +1,7 @@
<div class="mb-3 hq_controls{{if $wrapper_class}} {{$wrapper_class}}{{/if}}">
{{foreach $entries as $e}}
<button class="{{$e.class}} rounded-circle{{if $entry_class}} {{$entry_class}}{{/if}}" type="{{$e.type}}" title="{{$e.label}}"{{if $e.extra}} {{$e.extra}}{{/if}}>
- {{if $e.icon}}<i class="fa fa-{{$e.icon}}"></i>{{/if}}
+ {{if $e.icon}}<i class="bi bi-{{$e.icon}}"></i>{{/if}}
</button>
{{/foreach}}
</div>
diff --git a/view/tpl/messages_widget.tpl b/view/tpl/messages_widget.tpl
index 9b6c6d03b..8bcecd9d4 100644
--- a/view/tpl/messages_widget.tpl
+++ b/view/tpl/messages_widget.tpl
@@ -1,24 +1,24 @@
<ul class="nav nav-tabs nav-fill clearfix">
<li class="nav-item">
<a class="nav-link active messages-type" href="#" title="{{$strings.messages_title}}" data-messages_type="">
- <i class="fa fa-fw fa-comment-o"></i>
+ <i class="bi bi-chat"></i>
</a>
</li>
<li class="nav-item">
<a class="nav-link messages-type" href="#" title="{{$strings.direct_messages_title}}" data-messages_type="direct">
- <i class="fa fa-fw fa-envelope-o"></i>
+ <i class="bi bi-envelope"></i>
</a>
</li>
{{if $feature_star}}
<li class="nav-item">
<a class="nav-link messages-type" href="#" title="{{$strings.starred_messages_title}}" data-messages_type="starred">
- <i class="fa fa-fw fa-star"></i>
+ <i class="bi bi-star"></i>
</a>
</li>
{{/if}}
<li class="nav-item">
<a class="nav-link messages-type" href="#" title="{{$strings.notice_messages_title}}" data-messages_type="notification">
- <i class="fa fa-fw fa-exclamation"></i>
+ <i class="bi bi-exclamation-circle"></i>
</a>
</li>
</ul>
@@ -49,9 +49,9 @@
</div>
<div id="messages-container" class="list-group list-group-flush" data-offset="10">
<div id="messages-author-container" class="list-group-item notifications-textinput">
- <div class="text-muted notifications-textinput-filter"><i class="fa fa-fw fa-filter"></i></div>
+ <div class="text-muted notifications-textinput-filter"><i class="bi bi-funnel"></i></div>
<input id="messages-author" type="text" class="form-control form-control-sm" placeholder="{{$strings.filter}}">
- <div id="messages-author-input-clear" class="text-muted notifications-textinput-clear d-none"><i class="fa fa-times"></i></div>
+ <div id="messages-author-input-clear" class="text-muted notifications-textinput-clear d-none"><i class="bi bi-x-lg"></i></div>
</div>
{{foreach $entries as $e}}
<a href="{{$e.href}}" class="list-group-item list-group-item-action message" data-b64mid="{{$e.b64mid}}">
diff --git a/view/tpl/myapps.tpl b/view/tpl/myapps.tpl
index 404ab73d3..d11dad59f 100644
--- a/view/tpl/myapps.tpl
+++ b/view/tpl/myapps.tpl
@@ -2,7 +2,7 @@
<div class="section-title-wrapper clearfix">
{{if $authed}}
{{if $create}}
- <a href="appman" class="float-end btn btn-success btn-sm"><i class="fa fa-pencil-square-o"></i>&nbsp;{{$create}}</a>
+ <a href="appman" class="float-end btn btn-success btn-sm"><i class="bi bi-pencil-square"></i>&nbsp;{{$create}}</a>
{{elseif $manage}}
<a href="apps/edit{{if $cat.0}}/?f=&cat={{$cat.0}}{{/if}}" class="float-end btn btn-primary btn-sm">{{$manage}}</a>
{{/if}}
diff --git a/view/tpl/navbar_default.tpl b/view/tpl/navbar_default.tpl
index d8b8e2f74..3e9c96053 100644
--- a/view/tpl/navbar_default.tpl
+++ b/view/tpl/navbar_default.tpl
@@ -5,7 +5,7 @@
<div class="dropdown">
<div class="cursor-pointer usermenu" data-bs-toggle="dropdown">
<img id="avatar" src="{{$userinfo.icon}}" alt="{{$userinfo.name}}" class="rounded">
- <i class="navbar-text fa fa-caret-down"></i>
+ <i class="navbar-text bi bi-caret-down-fill"></i>
</div>
{{if $is_owner}}
<div class="dropdown-menu" {{$color_mode}}>
@@ -20,7 +20,7 @@
{{/if}}
{{if $nav.channels}}
{{foreach $nav.channels as $chan}}
- <a class="dropdown-item" href="manage/{{$chan.channel_id}}" title="{{$chan.channel_name}}" role="menuitem"><i class="fa fa-circle{{if $localuser == $chan.channel_id}} text-success{{else}} invisible{{/if}}"></i> {{$chan.channel_name}}</a>
+ <a class="dropdown-item" href="manage/{{$chan.channel_id}}" title="{{$chan.channel_name}}" role="menuitem"><i class="bi bi-circle-fill{{if $localuser == $chan.channel_id}} text-success{{else}} invisible{{/if}}"></i> {{$chan.channel_name}}</a>
{{/foreach}}
{{/if}}
{{if $nav.profiles}}
@@ -59,7 +59,7 @@
{{if $settings_url}}
<div id="nav-app-settings-link-wrapper" class="navbar-nav">
<a id="nav-app-settings-link" href="{{$settings_url}}/?f=&rpath={{$url}}" class="nav-link">
- <i class="fa fa-fw fa-cog"></i>
+ <i class="bi bi-gear"></i>
</a>
</div>
{{/if}}
@@ -71,19 +71,19 @@
<div class="navbar-toggler-right">
{{if $nav.help.6}}
<button id="context-help-btn" class="navbar-toggler border-0" type="button" onclick="contextualHelp(); return false;">
- <i class="fa fa-question-circle"></i>
+ <i class="bi bi-question-circle-fill"></i>
</button>
{{/if}}
<button id="expand-aside" type="button" class="d-lg-none navbar-toggler border-0">
- <i class="fa fa-arrow-circle-right" id="expand-aside-icon"></i>
+ <i class="bi bi-arrow-right-circle" id="expand-aside-icon"></i>
</button>
{{if $localuser || $nav.pubs}}
<button id="notifications-btn-1" type="button" class="navbar-toggler border-0 notifications-btn">
- <i id="notifications-btn-icon-1" class="fa fa-exclamation-circle notifications-btn-icon"></i>
+ <i id="notifications-btn-icon-1" class="bi bi-exclamation-circle notifications-btn-icon"></i>
</button>
{{/if}}
<button id="menu-btn" class="navbar-toggler border-0" type="button" data-bs-toggle="offcanvas" data-bs-target="#app-bin">
- <i class="fa fa-bars"></i>
+ <i class="bi bi-three-dots-vertical"></i>
</button>
</div>
<div class="collapse navbar-collapse justify-content-between" id="navbar-collapse-1">
@@ -125,16 +125,16 @@
</div>
</li>
<li class="nav-item" id="nav-search-btn">
- <a class="nav-link" href="#nav-search" title="{{$nav.search.3}}" onclick="openMenu('nav-search'); closeMenu('nav-search-btn'); $('#nav-search-text').focus(); return false;"><i class="fa fa-fw fa-search"></i></a>
+ <a class="nav-link" href="#nav-search" title="{{$nav.search.3}}" onclick="openMenu('nav-search'); closeMenu('nav-search-btn'); $('#nav-search-text').focus(); return false;"><i class="bi bi-search"></i></a>
</li>
{{if $nav.help.6}}
<li class="nav-item dropdown {{$sel.help}}">
- <a class="nav-link {{$nav.help.2}}" target="hubzilla-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" id="{{$nav.help.4}}" onclick="contextualHelp(); return false;"><i class="fa fa-fw fa-question-circle"></i></a>
+ <a class="nav-link {{$nav.help.2}}" target="hubzilla-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" id="{{$nav.help.4}}" onclick="contextualHelp(); return false;"><i class="bi bi-question-circle-fill"></i></a>
</li>
{{/if}}
{{if $localuser || $nav.pubs}}
<li id="notifications-btn" class="nav-item d-xl-none">
- <a class="nav-link notifications-btn" href="#"><i id="notifications-btn-icon" class="fa fa-exclamation-circle notifications-btn-icon"></i></a>
+ <a class="nav-link notifications-btn" href="#"><i id="notifications-btn-icon" class="bi bi-exclamation-circle notifications-btn-icon"></i></a>
</li>
{{/if}}
{{if $navbar_apps}}
@@ -145,7 +145,7 @@
{{/foreach}}
{{/if}}
<li class="nav-item dropdown" id="app-menu">
- <a class="nav-link" href="#" data-bs-toggle="offcanvas" data-bs-target="#app-bin" aria-controls="app-bin"><i class="fa fa-fw fa-bars"></i></a>
+ <a class="nav-link" href="#" data-bs-toggle="offcanvas" data-bs-target="#app-bin" aria-controls="app-bin"><i class="bi bi-three-dots-vertical"></i></a>
</li>
</ul>
</div>
@@ -153,8 +153,8 @@
<div id="contextual-help-content" class="contextual-help-content">
{{$nav.help.5}}
<div class="float-end">
- <a class="btn btn-primary btn-sm" target="hubzilla-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}"><i class="fa fa-question"></i>&nbsp;{{$fulldocs}}</a>
- <a class="contextual-help-tool" href="#" onclick="contextualHelp(); return false;"><i class="fa fa-times"></i></a>
+ <a class="btn btn-primary btn-sm" target="hubzilla-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}"><i class="bi bi-question"></i>&nbsp;{{$fulldocs}}</a>
+ <a class="contextual-help-tool" href="#" onclick="contextualHelp(); return false;"><i class="bi bi-x-lg"></i></a>
</div>
</div>
{{/if}}
@@ -192,11 +192,11 @@
</div>
{{/if}}
</div>
- <i id="app-bin-trash" class="fa fa-2x fa-fw fa-trash-o d-none"></i>
+ <i id="app-bin-trash" class="bi bi-trash d-none"></i>
{{/if}}
<div class="hstack gap-1">
{{if $theme_switch_icon}}
- <button id="theme-switch" type="button" class="btn btn-outline-secondary border-0"><i id="theme-switch-icon" class="fa fa-{{$theme_switch_icon}}-o"></i></button>
+ <button id="theme-switch" type="button" class="btn btn-outline-secondary border-0"><i id="theme-switch-icon" class="bi bi-{{$theme_switch_icon}}"></i></button>
{{/if}}
<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
</div>
@@ -234,7 +234,7 @@
</div>
<hr>
<div class="nav nav-pills flex-column">
- <a class="nav-link" href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus"></i>{{$addapps}}</a>
+ <a class="nav-link" href="/apps"><i class="generic-icons-nav bi bi-plus-lg"></i>{{$addapps}}</a>
</div>
{{else}}
<div class="text-uppercase text-muted nav-link">
@@ -372,7 +372,7 @@
}
})
.done( function() {
- $('<li><a class="navbar-app nav-link" href="' + app_url + '"><i class="fa fa-fw fa-' + app_icon + '"></i></li>').insertBefore('#app-menu');
+ $('<li><a class="navbar-app nav-link" href="' + app_url + '"><i class="bi bi-' + app_icon + '"></i></li>').insertBefore('#app-menu');
});
});
@@ -406,7 +406,7 @@
}
})
.done( function() {
- $('<a class="dropdown-item" href="' + app_url + '"><i class="generic-icons-nav fa fa-fw fa-' + app_icon + '"></i>' + app_name + '</a>').appendTo('#app-bin-container');
+ $('<a class="dropdown-item" href="' + app_url + '"><i class="generic-icons-nav bi bi-' + app_icon + '"></i>' + app_name + '</a>').appendTo('#app-bin-container');
});
});
diff --git a/view/tpl/notifications_widget.tpl b/view/tpl/notifications_widget.tpl
index 0b3b463bc..caa9a4f91 100644
--- a/view/tpl/notifications_widget.tpl
+++ b/view/tpl/notifications_widget.tpl
@@ -572,7 +572,7 @@
<div class="rounded-top rounded-bottom border border-start-0 border-end-0 border-bottom-0 list-group list-group-flush collapse {{$notification.type}}-button">
<a id="notification-link-{{$notification.type}}" class="collapsed list-group-item justify-content-between align-items-center d-flex fakelink stretched-link notification-link" href="#" title="{{$notification.title}}" data-bs-target="#nav-{{$notification.type}}-sub" data-bs-toggle="collapse" data-sse_type="{{$notification.type}}">
<div>
- <i class="fa fa-fw fa-{{$notification.icon}}"></i>
+ <i class="bi bi-{{$notification.icon}} generic-icons-nav"></i>
{{$notification.label}}
</div>
<span class="badge bg-{{$notification.severity}} {{$notification.type}}-update"></span>
@@ -581,25 +581,25 @@
<div id="nav-{{$notification.type}}-sub" class="rounded-bottom border border-start-0 border-end-0 border-bottom-0 list-group list-group-flush collapse notification-content" data-bs-parent="#notifications" data-sse_type="{{$notification.type}}">
{{if $notification.viewall}}
<a class="list-group-item list-group-item-action text-decoration-none" id="nav-{{$notification.type}}-see-all" href="{{$notification.viewall.url}}">
- <i class="fa fa-fw fa-external-link"></i> {{$notification.viewall.label}}
+ <i class="bi bi-box-arrow-up-right generic-icons-nav"></i> {{$notification.viewall.label}}
</a>
{{/if}}
{{if $notification.markall}}
<div class="list-group-item list-group-item-action cursor-pointer" id="nav-{{$notification.type}}-mark-all" onclick="markRead('{{$notification.type}}'); return false;">
- <i class="fa fa-fw fa-check"></i> {{$notification.markall.label}}
+ <i class="bi bi-check-circle generic-icons-nav"></i> {{$notification.markall.label}}
</div>
{{/if}}
{{if $notification.filter}}
{{if $notification.filter.posts_label}}
<div class="list-group-item list-group-item-action cursor-pointer" id="tt-{{$notification.type}}-only">
- <i class="fa fa-fw fa-filter"></i> {{$notification.filter.posts_label}}
+ <i class="bi bi-funnel generic-icons-nav"></i> {{$notification.filter.posts_label}}
</div>
{{/if}}
{{if $notification.filter.name_label}}
<div class="list-group-item clearfix notifications-textinput" id="cn-{{$notification.type}}-only">
- <div class="text-muted notifications-textinput-filter"><i class="fa fa-fw fa-filter"></i></div>
+ <div class="text-muted notifications-textinput-filter"><i class="bi bi-funnel"></i></div>
<input id="cn-{{$notification.type}}-input" type="text" class="notification-filter form-control form-control-sm" placeholder="{{$notification.filter.name_label}}">
- <div id="cn-{{$notification.type}}-input-clear" class="text-muted notifications-textinput-clear d-none"><i class="fa fa-times"></i></div>
+ <div id="cn-{{$notification.type}}-input-clear" class="text-muted notifications-textinput-clear d-none"><i class="bi bi-x-lg"></i></div>
</div>
{{/if}}
{{/if}}