diff options
Diffstat (limited to 'view')
141 files changed, 1074 insertions, 1331 deletions
diff --git a/view/css/bootstrap-red.css b/view/css/bootstrap-red.css index 8e273dfdb..e494dc960 100644 --- a/view/css/bootstrap-red.css +++ b/view/css/bootstrap-red.css @@ -32,15 +32,15 @@ input { min-width: 0; } -#navbar-collapse-1 i { - font-size: 1.0rem; -} - nav .dropdown-menu { max-height: 70vh; overflow: auto; } +.navbar-expand-lg .navbar-nav .nav-link { + padding-right: var(--bs-navbar-nav-link-padding-x); + padding-left: var(--bs-navbar-nav-link-padding-x); +} /* offcanvas */ .offcanvas, diff --git a/view/css/widgets.css b/view/css/widgets.css index eb629ee96..f722e3f11 100644 --- a/view/css/widgets.css +++ b/view/css/widgets.css @@ -281,7 +281,6 @@ a.wikilist { width: 2.6rem; height: 2.6rem; padding: 0; - font-size: .9rem; } .hq_controls_fixed_bottom_center .btn.rounded-circle { diff --git a/view/js/acl.js b/view/js/acl.js index ee6cb062f..a96c39090 100644 --- a/view/js/acl.js +++ b/view/js/acl.js @@ -300,7 +300,7 @@ ACL.prototype.update_view = function(value) { that.update_select('public'); /* jot acl */ - $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('fa-lock').addClass('fa-unlock'); + $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('bi-lock').addClass('bi-unlock'); $('#jot-perms-icon').removeClass('jot-lock-warn'); $('#dbtn-jotnets').show(); $('.profile-jot-net input').attr('disabled', false); @@ -314,7 +314,7 @@ ACL.prototype.update_view = function(value) { that.update_select(that.selected_id); /* jot acl */ - $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('fa-unlock').addClass('fa-lock'); + $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('bi-unlock').addClass('bi-lock'); $('#dbtn-jotnets').hide(); $('.profile-jot-net input').attr('disabled', 'disabled'); } @@ -326,7 +326,7 @@ ACL.prototype.update_view = function(value) { that.update_select('onlyme'); /* jot acl */ - $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('fa-unlock').addClass('fa-lock'); + $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('bi-unlock').addClass('bi-lock'); $('#dbtn-jotnets').hide(); $('.profile-jot-net input').attr('disabled', 'disabled'); } @@ -349,7 +349,7 @@ ACL.prototype.update_view = function(value) { } /* jot acl */ - $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('fa-unlock').addClass('fa-lock'); + $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('bi-unlock').addClass('bi-lock'); $('#dbtn-jotnets').hide(); $('.profile-jot-net input').attr('disabled', 'disabled'); } @@ -366,12 +366,12 @@ ACL.prototype.update_view = function(value) { /* jot acl */ if(that.allow_gid.length === 0 && that.allow_cid.length === 0 && that.deny_gid.length === 0 && that.deny_cid.length === 0 && value === 'custom') { - $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('fa-lock').addClass('fa-unlock'); + $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('bi-lock').addClass('bi-unlock'); $('#dbtn-jotnets').show(); $('.profile-jot-net input').attr('disabled', false); } else { - $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('fa-unlock').addClass('fa-lock'); + $('#jot-perms-icon, #dialog-perms-icon, #' + that.form_id[0].id + ' .jot-perms-icon').removeClass('bi-unlock').addClass('bi-lock'); $('#dbtn-jotnets').hide(); $('.profile-jot-net input').attr('disabled', 'disabled'); } diff --git a/view/js/main.js b/view/js/main.js index 7eca7408e..dfec9e0f0 100644 --- a/view/js/main.js +++ b/view/js/main.js @@ -93,7 +93,7 @@ $(document).ready(function() { $(document).on('click focus', '.comment-edit-form textarea', function(e) { if(! this.autocomplete_handled) { /* autocomplete @nicknames */ - $(this).editor_autocomplete(baseurl+"/acl?f=&n=1"); + $(this).editor_autocomplete(baseurl+"/acl?n=1"); /* autocomplete bbcode */ $(this).bbco_autocomplete('bbcode'); @@ -114,7 +114,7 @@ $(document).ready(function() { } if ( typeof(window.tao.zin) == 'undefined' ) { tao.zin = { syslc: '', syslcs: {}, htm: '', me: '', debug: '' }; - tao.zin.axim = '<div class="zinpax fa fa-sync fa-spin"> </div>'; + tao.zin.axim = '<i class="zinpax bi bi-arrow-repeat"></i>'; $('.navbar-app[href*="/lang"]').attr({"aria-expand": "true", "id": "zintog"}) .removeAttr('href').addClass('zinlcx zinlcxp dropdown dropdown-toggle').css('cursor','pointer'); $('.nav-link[href*="/lang"]').addClass('zinlcxmi zinlcx').removeAttr('href').css('cursor','pointer'); @@ -129,9 +129,9 @@ $(document).ready(function() { tao.zin.re = JSON.parse(re); tao.zin.syslc = tao.zin.re.lc; tao.zin.syslcs = tao.zin.re.lcs; - tao.zin.htm = '<ul class="zinlcs fa-ul">'; + tao.zin.htm = '<ul class="zinlcs">'; $.each( tao.zin.syslcs, function( k, v ) { - tao.zin.htm += '<li><a id="zinlc' + k + '" class="zinlc nav-link fakelink">' + k + ' ' + v + '</a></li>'; + tao.zin.htm += '<li><a id="zinlc' + k + '" class="zinlc fakelink">' + k + ' ' + v + '</a></li>'; }); tao.zin.htm += '</ul>'; $('.zinpax').remove(); @@ -250,25 +250,24 @@ $(document).ready(function() { }); function getConversationSettings() { - $.get('settings/conversation/?f=&aj=1',function(data) { + $.get('settings/conversation/?aj=1',function(data) { $('#conversation_settings_body').html(data); }); } function postConversationSettings() { - $.post( - 'settings/conversation', - $('#settings_module_ajax_form').serialize() + "&auto_update=" + next_page - ); - if(next_page === 1) { page_load = true; } - $('#conversation_settings').modal('hide'); - - if(timer) clearTimeout(timer); - timer = setTimeout(updateInit,100); + $.post( + 'settings/conversation', + $('#settings_module_ajax_form').serialize() + "&auto_update=" + next_page + ).done(function() { + $('#conversation_settings').modal('hide'); + toast('Conversation features updated', 'info'); + updateInit(); + }); return false; } @@ -486,7 +485,7 @@ function insertCommentURL(comment, id) { if(reply && reply.length) { reply = bin2hex(reply); $('body').css('cursor', 'wait'); - $.get('linkinfo?f=&binurl=' + reply, function(data) { + $.get('linkinfo?binurl=' + reply, function(data) { var tmpStr = $("#comment-edit-text-" + id).val(); if(tmpStr == comment) { tmpStr = ""; @@ -515,16 +514,19 @@ function viewsrc(id) { } function showHideComments(id) { - if( $('#collapsed-comments-' + id).is(':visible')) { + if($('#collapsed-comments-' + id).is(':visible')) { $('#collapsed-comments-' + id + ' .autotime').timeago('dispose'); $('#collapsed-comments-' + id).hide(); - $('#hide-comments-' + id).html(aStr.showmore); + $('#hide-comments-label-' + id).html(aStr.showmore); $('#hide-comments-total-' + id).show(); + $('#hide-comments-icon-' + id).toggleClass('bi-chevron-down bi-chevron-up'); + } else { $('#collapsed-comments-' + id + ' .autotime').timeago(); $('#collapsed-comments-' + id).show(); - $('#hide-comments-' + id).html(aStr.showfewer); + $('#hide-comments-label-' + id).html(aStr.showfewer); $('#hide-comments-total-' + id).hide(); + $('#hide-comments-icon-' + id).toggleClass('bi-chevron-down bi-chevron-up'); } } @@ -566,7 +568,7 @@ function closeMenu(theID) { } function markRead(notifType) { - $.get('notifications?f=&markRead='+notifType); + $.get('notifications?markRead='+notifType); $('.' + notifType + '-button').fadeOut(function() { $("." + notifType + "-update").html('0'); $('#nav-' + notifType + '-menu').html(''); @@ -579,7 +581,7 @@ function markRead(notifType) { } function markItemRead(itemId) { - $.get('notifications?f=&markItemRead='+itemId); + $.get('notifications?markItemRead='+itemId); $('.unseen-wall-indicator-'+itemId).remove(); } @@ -835,7 +837,7 @@ function scrollToItem() { var scrolltoid = $('.collapsed-comments').attr('id').substring(19); $('#collapsed-comments-' + scrolltoid + ' .autotime').timeago(); $('#collapsed-comments-' + scrolltoid).show(); - $('#hide-comments-' + scrolltoid).html(aStr.showfewer); + $('#hide-comments-label-' + scrolltoid).html(aStr.showfewer); $('#hide-comments-total-' + scrolltoid).hide(); } $('html, body').animate({ scrollTop: $(this).offset().top - $('nav').outerHeight(true) }, 'slow'); @@ -869,8 +871,8 @@ function collapseHeight() { startOpen: open, heightMargin: 50, collapsedHeight: divmore_height, - moreLink: '<a href="#" class="divgrow-showmore fakelink">' + aStr.divgrowmore + '</a>', - lessLink: '<a href="#" class="divgrow-showmore fakelink">' + aStr.divgrowless + '</a>', + moreLink: '<a href="#" class="divgrow-showmore fakelink"><i class="bi bi-chevron-down align-middle divgrow-showmore-icon"></i> <span class="divgrow-showmore-label align-middle">' + aStr.divgrowmore + '</span></a>', + lessLink: '<a href="#" class="divgrow-showmore fakelink"><i class="bi bi-chevron-up align-middle divgrow-showmore-icon"></i> <span class="divgrow-showmore-label align-middle">' + aStr.divgrowless + '</span></a>', beforeToggle: function(trigger, element, expanded) { if(expanded) { if((($(element).offset().top + divmore_height) - $(window).scrollTop()) < 65 ) { @@ -1008,7 +1010,7 @@ function liveUpdate(notify_id) { in_progress = false; liveRecurse ++; if(liveRecurse < 10) { - liveUpdate(); + liveUpdate(notify_id); } else { console.log('Incomplete data. Too many attempts. Giving up.'); @@ -1144,7 +1146,7 @@ function pageUpdate() { bParam_page = 1; } - update_url = baseurl + '/' + decodeURIComponent(page_query) + '/?f=&aj=1&page=' + bParam_page + extra_args ; + update_url = baseurl + '/' + decodeURIComponent(page_query) + '?aj=1&page=' + bParam_page + extra_args ; $("#page-spinner").show(); update_mode = 'append'; @@ -1225,7 +1227,7 @@ function doreply(parent, ident, owner, hint) { form.find('input[name=parent]').val(ident); var i = form.find('button[type=submit]'); var btn = i.html().replace(/<[^>]*>/g, '').trim(); - i.html('<i class="fa fa-reply" ></i> ' + btn); + i.html('<i class="bi bi-arrow-90deg-left"></i> ' + btn); var sel = 'wall-item-body-' + ident.toString(); var quote = window.getSelection().toString().trim(); form.find('textarea').val("@{" + owner + "}" + ((($(window.getSelection().anchorNode).closest("#" + sel).attr("id") != sel) || (quote.length === 0))? " " : "\n[quote]" + quote + "[/quote]\n")); @@ -1257,7 +1259,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) { @@ -1282,7 +1284,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"> </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"> </i></span>').insertAfter('#wall-item-ago-' + id); me.html(me.html().replace(aStr['pin_item'],aStr['unpin_item'])); }; }) @@ -1305,7 +1307,7 @@ function dropItem(url, object, b64mid) { $(object + ', #pinned-wrapper-' + id).remove(); $('body').css('cursor', 'auto'); - toast(aStr.itemdel, 'info') + toast(aStr.itemdel, 'info'); //$.jGrowl(aStr.itemdel, { sticky: false, theme: 'info', life: 3000 }); if (typeof b64mid !== typeof undefined) { @@ -1357,18 +1359,18 @@ 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="btn-group" id="star-button-' + ident + '"><button type="button" class="btn btn-outline-secondary border-0 btn-sm wall-item-star" onclick="dostar(' + ident + ');"><i class="fa fa-star"></i></button></div>' - $('#wall-item-tools-left-' + ident).prepend(btn_tpl); + 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="bi bi-star"></i></button></div>' + $('#wall-item-tools-right-' + ident).prepend(btn_tpl); } 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(); @@ -1553,7 +1555,7 @@ function contactgroupChangeMember(gid, cid) { $('body').css('cursor', 'wait'); $.get('contactgroup/' + gid + '/' + cid, function(data) { $('body').css('cursor', 'auto'); - $('#group-' + gid).toggleClass('fa-check-square-o fa-square-o'); + $('#group-' + gid).toggleClass('bi-check-square bi-square'); }); } @@ -1622,11 +1624,6 @@ $(window).scroll(function () { } }); -function addhtmltext(data) { - data = h2b(data); - addeditortext(data); -} - function loadText(textRegion,data) { var currentText = $(textRegion).val(); $(textRegion).val(currentText + data); @@ -1639,123 +1636,6 @@ function addeditortext(data) { } } -function h2b(s) { - var y = s; - function rep(re, str) { - y = y.replace(re,str); - } - - rep(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]"); - rep(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]"); - rep(/<span style=\"color:(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]"); - rep(/<font>(.*?)<\/font>/gi,"$1"); - rep(/<img.*?width=\"(.*?)\".*?height=\"(.*?)\".*?src=\"(.*?)\".*?\/>/gi,"[img=$1x$2]$3[/img]"); - rep(/<img.*?height=\"(.*?)\".*?width=\"(.*?)\".*?src=\"(.*?)\".*?\/>/gi,"[img=$2x$1]$3[/img]"); - rep(/<img.*?src=\"(.*?)\".*?height=\"(.*?)\".*?width=\"(.*?)\".*?\/>/gi,"[img=$3x$2]$1[/img]"); - rep(/<img.*?src=\"(.*?)\".*?width=\"(.*?)\".*?height=\"(.*?)\".*?\/>/gi,"[img=$2x$3]$1[/img]"); - rep(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]"); - - rep(/<ul class=\"listbullet\" style=\"list-style-type\: circle\;\">(.*?)<\/ul>/gi,"[list]$1[/list]"); - rep(/<ul class=\"listnone\" style=\"list-style-type\: none\;\">(.*?)<\/ul>/gi,"[list=]$1[/list]"); - rep(/<ul class=\"listdecimal\" style=\"list-style-type\: decimal\;\">(.*?)<\/ul>/gi,"[list=1]$1[/list]"); - rep(/<ul class=\"listlowerroman\" style=\"list-style-type\: lower-roman\;\">(.*?)<\/ul>/gi,"[list=i]$1[/list]"); - rep(/<ul class=\"listupperroman\" style=\"list-style-type\: upper-roman\;\">(.*?)<\/ul>/gi,"[list=I]$1[/list]"); - rep(/<ul class=\"listloweralpha\" style=\"list-style-type\: lower-alpha\;\">(.*?)<\/ul>/gi,"[list=a]$1[/list]"); - rep(/<ul class=\"listupperalpha\" style=\"list-style-type\: upper-alpha\;\">(.*?)<\/ul>/gi,"[list=A]$1[/list]"); - rep(/<li>(.*?)<\/li>/gi,"[li]$1[/li]"); - - rep(/<code>(.*?)<\/code>/gi,"[code]$1[/code]"); - rep(/<\/(strong|b)>/gi,"[/b]"); - rep(/<(strong|b)>/gi,"[b]"); - rep(/<\/(em|i)>/gi,"[/i]"); - rep(/<(em|i)>/gi,"[i]"); - rep(/<\/u>/gi,"[/u]"); - - rep(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]"); - rep(/<u>/gi,"[u]"); - rep(/<blockquote[^>]*>/gi,"[quote]"); - rep(/<\/blockquote>/gi,"[/quote]"); - rep(/<hr \/>/gi,"[hr]"); - rep(/<br (.*?)\/>/gi,"\n"); - rep(/<br\/>/gi,"\n"); - rep(/<br>/gi,"\n"); - rep(/<p>/gi,""); - rep(/<\/p>/gi,"\n"); - rep(/ /gi," "); - rep(/"/gi,"\""); - rep(/</gi,"<"); - rep(/>/gi,">"); - rep(/&/gi,"&"); - - return y; -} - -function b2h(s) { - var y = s; - function rep(re, str) { - y = y.replace(re,str); - } - - rep(/\&/gi,"&"); - rep(/\</gi,"<"); - rep(/\>/gi,">"); - rep(/\"/gi,"""); - - rep(/\n/gi,"<br />"); - rep(/\[b\]/gi,"<strong>"); - rep(/\[\/b\]/gi,"</strong>"); - rep(/\[i\]/gi,"<em>"); - rep(/\[\/i\]/gi,"</em>"); - rep(/\[u\]/gi,"<u>"); - rep(/\[\/u\]/gi,"</u>"); - rep(/\[hr\]/gi,"<hr />"); - rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"<a href=\"$1\">$2</a>"); - rep(/\[url\](.*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>"); - rep(/\[img=(.*?)x(.*?)\](.*?)\[\/img\]/gi,"<img width=\"$1\" height=\"$2\" src=\"$3\" />"); - rep(/\[img\](.*?)\[\/img\]/gi,"<img src=\"$1\" />"); - - rep(/\[zrl=([^\]]+)\](.*?)\[\/zrl\]/gi,"<a href=\"$1" + '?f=&zid=' + zid + "\">$2</a>"); - rep(/\[zrl\](.*?)\[\/zrl\]/gi,"<a href=\"$1" + '?f=&zid=' + zid + "\">$1</a>"); - rep(/\[zmg=(.*?)x(.*?)\](.*?)\[\/zmg\]/gi,"<img width=\"$1\" height=\"$2\" src=\"$3" + '?f=&zid=' + zid + "\" />"); - rep(/\[zmg\](.*?)\[\/zmg\]/gi,"<img src=\"$1" + '?f=&zid=' + zid + "\" />"); - - rep(/\[list\](.*?)\[\/list\]/gi, '<ul class="listbullet" style="list-style-type: circle;">$1</ul>'); - rep(/\[list=\](.*?)\[\/list\]/gi, '<ul class="listnone" style="list-style-type: none;">$1</ul>'); - rep(/\[list=1\](.*?)\[\/list\]/gi, '<ul class="listdecimal" style="list-style-type: decimal;">$1</ul>'); - rep(/\[list=i\](.*?)\[\/list\]/gi,'<ul class="listlowerroman" style="list-style-type: lower-roman;">$1</ul>'); - rep(/\[list=I\](.*?)\[\/list\]/gi, '<ul class="listupperroman" style="list-style-type: upper-roman;">$1</ul>'); - rep(/\[list=a\](.*?)\[\/list\]/gi, '<ul class="listloweralpha" style="list-style-type: lower-alpha;">$1</ul>'); - rep(/\[list=A\](.*?)\[\/list\]/gi, '<ul class="listupperalpha" style="list-style-type: upper-alpha;">$1</ul>'); - rep(/\[li\](.*?)\[\/li\]/gi, '<li>$1</li>'); - rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"<span style=\"color: $1;\">$2</span>"); - rep(/\[size=(.*?)\](.*?)\[\/size\]/gi,"<span style=\"font-size: $1;\">$2</span>"); - rep(/\[code\](.*?)\[\/code\]/gi,"<code>$1</code>"); - rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"<blockquote>$1</blockquote>"); - - rep(/\[video\](.*?)\[\/video\]/gi,"<a href=\"$1\">$1</a>"); - rep(/\[audio\](.*?)\[\/audio\]/gi,"<a href=\"$1\">$1</a>"); - - rep(/\[\&\;([#a-z0-9]+)\;\]/gi,'&$1;'); - - rep(/\<(.*?)(src|href)=\"[^hfm](.*?)\>/gi,'<$1$2="">'); - - return y; -} - -function zid(s) { - if((! s.length) || (s.indexOf('zid=') != (-1))) - return s; - - if(! zid.length) - return s; - - var has_params = ((s.indexOf('?') == (-1)) ? false : true); - var achar = ((has_params) ? '&' : '?'); - s = s + achar + 'f=&zid=' + zid; - - return s; -} - function makeid(length) { var result = ''; var characters = 'abcdef0123456789'; @@ -1801,7 +1681,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'); @@ -1809,7 +1689,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/js/mod_help.js b/view/js/mod_help.js index 9c3591498..abd0d1194 100644 --- a/view/js/mod_help.js +++ b/view/js/mod_help.js @@ -1,8 +1,8 @@ function docoTocToggle() { if ($('#doco-top-toc').is(':visible')) { - $('#doco-toc-toggle').removeClass('fa-cog').addClass('fa-caret-right'); + $('#doco-toc-toggle').removeClass('bi-gear').addClass('bi-caret-right'); } else { - $('#doco-toc-toggle').removeClass('fa-caret-right').addClass('fa-caret-down'); + $('#doco-toc-toggle').removeClass('bi-caret-right').addClass('bi-caret-down'); } $('#doco-top-toc').toggle(); @@ -69,54 +69,4 @@ $(document).ready(function () { var newref = p.protocol + '//' + p.hostname + portstr + p.pathname + p.hash.split('?').shift(); location.replace(newref) } - - - // Determine language translations available from the language selector menu itself - var langChoices = []; - $('.lang-selector').find('.lang-choice').each(function (idx, a) { - langChoices.push($(a).html()); - }); - // Parse the URL and insert the language code for the loaded language, based - // on the variable "help_language" that is declared in the help.tpl page template - var path = window.location.pathname.split('/'); - var pathParts = []; - var pick_me = true; - for (var i = 0; i < path.length; i++) { - if(i === 2 && pick_me ) { - if(path[i].length > 0) { - pathParts.push(help_language); - pick_me = false; - if($.inArray(path[i], langChoices) < 0) { - i--; - } - } - } else { - if(path[i].length > 0) { - pathParts.push(path[i]); - } - } - - } - // Update the address bar to reflect the loaded language - window.history.replaceState({}, '', '/' + pathParts.join('/')); - - // Highlight the language in the language selector that is currently viewed - $('.lang-selector').find('.lang-choice:contains("' + help_language + '")').addClass('active'); - - // Construct the links to the available translations based and populate the selector menu - $('.lang-selector').find('.lang-choice').each(function (idx, a) { - var langLink = []; - - for (var i = 0; i < pathParts.length; i++) { - - if(i === 1) { - langLink.push($(a).html()); - } else { - langLink.push(pathParts[i]); - } - - } - $(a).attr('href', '/' + langLink.join('/')); - }); - }); diff --git a/view/pdl/mod_admin.pdl b/view/pdl/mod_admin.pdl index 3c9633a69..39bccd466 100644 --- a/view/pdl/mod_admin.pdl +++ b/view/pdl/mod_admin.pdl @@ -1,10 +1,8 @@ +[template]doubleleft[/template] [region=aside] +[widget=notifications][var=sys_only]1[/var][/widget] [widget=admin][/widget] [/region] [region=content] $content [/region] -[region=right_aside] -[widget=notifications][/widget] -[widget=newmember][/widget] -[/region] diff --git a/view/pdl/mod_home.pdl b/view/pdl/mod_home.pdl index 8b3ff52f8..2660f63e0 100644 --- a/view/pdl/mod_home.pdl +++ b/view/pdl/mod_home.pdl @@ -1,3 +1,6 @@ +[region=aside] +[widget=notifications][var=sys_only]1[/var][/widget] +[/region] [region=content] $content [/region] diff --git a/view/pdl/mod_import.pdl b/view/pdl/mod_import.pdl new file mode 100644 index 000000000..9f0bb4d9a --- /dev/null +++ b/view/pdl/mod_import.pdl @@ -0,0 +1,8 @@ +[region=aside] +[/region] +[region=content] +$content +[/region] +[region=right_aside] +[widget=notifications][/widget] +[/region] diff --git a/view/pdl/mod_login.pdl b/view/pdl/mod_login.pdl new file mode 100644 index 000000000..3065703de --- /dev/null +++ b/view/pdl/mod_login.pdl @@ -0,0 +1,6 @@ +[region=aside] +[widget=notifications][var=sys_only]1[/var][/widget] +[/region] +[region=content] +$content +[/region] diff --git a/view/php/doubleleft.php b/view/php/doubleleft.php index 2d1571bf8..97b1546dc 100644 --- a/view/php/doubleleft.php +++ b/view/php/doubleleft.php @@ -23,7 +23,7 @@ <main> <div class="content"> <div class="columns"> - <aside id="region_1"><div class="aside_spacer_top_left"></div><div class="aside_spacer_left"><div id="left_aside_wrapper" class="aside_wrapper"><?php if(x($page,'aside')) echo $page['aside']; ?></div></div></aside> + <aside id="region_1" class="d-none d-lg-block"><div class="aside_spacer_top_left"></div><div class="aside_spacer_left"><div id="left_aside_wrapper" class="aside_wrapper"><?php if(x($page,'aside')) echo $page['aside']; ?></div></div></aside> <section id="region_2"><?php if(x($page,'content')) echo $page['content']; ?> <div id="page-footer"></div> <div id="pause"></div> diff --git a/view/theme/redbasic/css/style.css b/view/theme/redbasic/css/style.css index 0fc158108..ec8ce42b3 100644 --- a/view/theme/redbasic/css/style.css +++ b/view/theme/redbasic/css/style.css @@ -781,7 +781,7 @@ nav .acpopup { .shared_header img { border-radius: var(--bs-border-radius); - margin-right: .75rem; + margin-right: .5rem; } .tag1 { @@ -844,28 +844,27 @@ margin-right: 50px; .generic-icons, a .generic-icons { - font-size: 1rem; - margin-right: 0.5rem; + font-size: 1.2rem; } .generic-icons-right { - font-size: 1rem; + font-size: 1.2rem; margin-left: 0.5rem; } .generic-icons-nav { - font-size: 1rem; - margin-right: 7px; + font-size: 1.2rem; + margin-right: 0.5rem; } .admin-icons { - font-size: 1.2em; - margin-right: 7px; + font-size: 1.2rem; + margin-right: 0.5rem; } .drop-icons, a .drop-icons { - font-size: 1rem; + font-size: 1.2rem; text-decoration: none; cursor: pointer; } @@ -895,25 +894,6 @@ a .drop-icons:hover { list-style-type: none; } -table { - border-spacing: 2px; - max-width: 100%; -} - -th,td { - padding: 3px; -} - -#channels > tbody > tr > td, #users > tbody > tr > td { - max-width: 19.4em; - overflow: hidden; -} - -/* mail */ - -img.mail-conv-sender-photo { - border-radius: var(--bs-border-radius); -} /* jot */ @@ -929,6 +909,11 @@ img.mail-conv-sender-photo { font-weight: bold; } +.jot-icons, +.comment-icon { + font-size: 1.2rem; +} + #profile-jot-wrapper { background-color: var(--bs-body-bg); border: 1px solid var(--bs-border-color); @@ -1007,6 +992,19 @@ img.mail-conv-sender-photo { border-top: 1px dashed #adadad; } + +.hide-comments-icon, +.divgrow-showmore-icon { + font-size: $font_size; +} + +.divgrow-showmore-label, +.hide-comments-label { + text-transform: uppercase; + font-size: 0.7rem; +} + + .wall-item-comment-wrapper { padding: 7px 10px; background-color: var(--bs-tertiary-bg); 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/theme/redbasic/php/theme_init.php b/view/theme/redbasic/php/theme_init.php index cffe22de6..c26621068 100644 --- a/view/theme/redbasic/php/theme_init.php +++ b/view/theme/redbasic/php/theme_init.php @@ -3,7 +3,8 @@ use Zotlabs\Lib\Config; require_once('view/php/theme_init.php'); -head_add_css('/library/fork-awesome/css/fork-awesome.min.css'); +head_add_css('/vendor/twbs/bootstrap-icons/font/bootstrap-icons.min.css'); + head_add_css('/library/bootstrap-tagsinput/bootstrap-tagsinput.css'); head_add_css('/library/bootstrap-colorpicker/dist/css/bootstrap-colorpicker.min.css'); diff --git a/view/tpl/abook_edit.tpl b/view/tpl/abook_edit.tpl index 28631ed68..eb55b132a 100644 --- a/view/tpl/abook_edit.tpl +++ b/view/tpl/abook_edit.tpl @@ -4,7 +4,7 @@ <div class="float-end"> <div class="btn-group"> <button id="connection-dropdown" class="btn btn-outline-secondary btn-sm dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-cog"></i> {{$tools_label}} + <i class="bi bi-gear"></i> {{$tools_label}} </button> <div class="dropdown-menu dropdown-menu-end" aria-labelledby="dLabel"> <a class="dropdown-item" href="{{$tools.view.url}}" title="{{$tools.view.title}}">{{$tools.view.label}}</a> @@ -23,10 +23,10 @@ </div> {{if $abook_prev || $abook_next}} <div class="btn-group"> - <a href="connedit/{{$abook_prev}}{{if $section}}?f=§ion={{$section}}{{/if}}" class="btn btn-outline-secondary btn-sm{{if ! $abook_prev}} disabled{{/if}}" ><i class="fa fa-backward"></i></a> + <a href="connedit/{{$abook_prev}}{{if $section}}?f=§ion={{$section}}{{/if}}" class="btn btn-outline-secondary btn-sm{{if ! $abook_prev}} disabled{{/if}}" ><i class="bi fa-backward"></i></a> {{if $sections}} <div class="btn-group" > - <button class="btn btn-outline-secondary btn-sm{{if $is_pending}} disabled{{/if}}" type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="fa fa-bars"></i></button> + <button class="btn btn-outline-secondary btn-sm{{if $is_pending}} disabled{{/if}}" type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><i class="bi fa-bars"></i></button> <div class="dropdown-menu dropdown-menu-end" aria-labelledby="dLabel"> {{foreach $sections as $s}} <a class="dropdown-item" href="{{$s.url}}" title="{{$s.title}}">{{$s.label}}</a> @@ -34,7 +34,7 @@ </div> </div> {{/if}} - <a href="connedit/{{$abook_next}}{{if $section}}?f=§ion={{$section}}{{/if}}" class="btn btn-outline-secondary btn-sm{{if ! $abook_next}} disabled{{/if}}" ><i class="fa fa-forward"></i></a> + <a href="connedit/{{$abook_next}}{{if $section}}?f=§ion={{$section}}{{/if}}" class="btn btn-outline-secondary btn-sm{{if ! $abook_next}} disabled{{/if}}" ><i class="bi fa-forward"></i></a> </div> {{/if}} </div> @@ -48,7 +48,7 @@ <input type="hidden" name="section" value="{{$section}}"> <div class="section-content-wrapper"> - <a href="permcats/{{$permcat_value}}" class="float-end"><i class="fa fa-external-link"></i> {{$permcat_new}}</a> + <a href="permcats/{{$permcat_value}}" class="float-end"><i class="bi bi-box-arrow-up-right"></i> {{$permcat_new}}</a> {{include file="field_select.tpl" field=$permcat}} <button type="button" class="btn btn-outline-secondary float-end" data-bs-toggle="modal" data-bs-target="#perms_modal">Permissions</button> <button type="submit" name="done" value="{{$submit}}" class="btn btn-primary">{{$submit}}</button> @@ -75,16 +75,16 @@ <td>{{$perm.1}}</td> <td> {{if $perm.2}} - <i class="fa fa-check text-success"></i> + <i class="bi bi-check-lg text-success"></i> {{else}} - <i class="fa fa-times text-danger"></i> + <i class="bi bi-x-lg text-danger"></i> {{/if}} </td> <td> {{if $perm.3}} - <i class="fa fa-check text-success"></i> + <i class="bi bi-check-lg text-success"></i> {{else}} - <i class="fa fa-times text-danger"></i> + <i class="bi bi-x-lg text-danger"></i> {{/if}} </td> </tr> @@ -141,14 +141,14 @@ <div id="template-form-vcard-org" class="mb-3 form-vcard-org"> <div class="mb-3 form-vcard-org"> <input type="text" name="org" value="" placeholder="{{$org_label}}"> - <i data-remove="vcard-org" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-org" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> </div> <div id="template-form-vcard-title" class="mb-3 form-vcard-title"> <div class="mb-3 form-vcard-title"> <input type="text" name="title" value="" placeholder="{{$title_label}}"> - <i data-remove="vcard-title" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-title" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> </div> @@ -160,7 +160,7 @@ <option value="OTHER">{{$other}}</option> </select> <input type="text" name="tel[]" value="" placeholder="{{$tel_label}}"> - <i data-remove="vcard-tel" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-tel" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div id="template-form-vcard-email" class="mb-3 form-vcard-email"> @@ -170,7 +170,7 @@ <option value="OTHER">{{$other}}</option> </select> <input type="text" name="email[]" value="" placeholder="{{$email_label}}"> - <i data-remove="vcard-email" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-email" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div id="template-form-vcard-impp" class="mb-3 form-vcard-impp"> @@ -180,7 +180,7 @@ <option value="OTHER">{{$other}}</option> </select> <input type="text" name="impp[]" value="" placeholder="{{$impp_label}}"> - <i data-remove="vcard-impp" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-impp" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div id="template-form-vcard-url" class="mb-3 form-vcard-url"> @@ -190,7 +190,7 @@ <option value="OTHER">{{$other}}</option> </select> <input type="text" name="url[]" value="" placeholder="{{$url_label}}"> - <i data-remove="vcard-url" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-url" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div id="template-form-vcard-adr" class="mb-3 form-vcard-adr"> @@ -201,7 +201,7 @@ <option value="OTHER">{{$other}}</option> </select> <label>{{$adr_label}}</label> - <i data-remove="vcard-adr" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-adr" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div class="mb-3"> <input type="text" name="" value="" placeholder="{{$po_box}}"> @@ -228,14 +228,14 @@ <div id="template-form-vcard-note" class="mb-3 form-vcard-note"> <label>{{$note_label}}</label> - <i data-remove="vcard-note" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-note" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> <textarea name="note" class="form-control"></textarea> </div> <div class="section-content-wrapper-np"> - <div id="vcard-cancel-{{$vcard.id}}" class="vcard-cancel vcard-cancel-btn" data-id="{{$vcard.id}}" data-action="cancel"><i class="fa fa-close"></i></div> + <div id="vcard-cancel-{{$vcard.id}}" class="vcard-cancel vcard-cancel-btn" data-id="{{$vcard.id}}" data-action="cancel"><i class="bi bi-x-lg"></i></div> <div id="vcard-add-field-{{$vcard.id}}" class="dropdown float-end vcard-add-field"> - <button data-bs-toggle="dropdown" type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle"><i class="fa fa-plus"></i> {{$add_field}}</button> + <button data-bs-toggle="dropdown" type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle"><i class="bi bi-plus-lg"></i> {{$add_field}}</button> <ul class="dropdown-menu"> <li class="add-vcard-org"{{if $vcard.org}} style="display: none"{{/if}}><a href="#" data-add="vcard-org" data-id="{{$vcard.id}}" class="add-field" onclick="return false;">{{$org_label}}</a></li> <li class="add-vcard-title"{{if $vcard.title}} style="display: none"{{/if}}><a href="#" data-add="vcard-title" data-id="{{$vcard.id}}" class="add-field" onclick="return false;">{{$title_label}}</a></li> @@ -248,11 +248,11 @@ </ul> </div> <div id="vcard-header-{{$vcard.id}}" class="vcard-header" data-id="{{$vcard.id}}" data-action="open"> - <i class="vcard-fn-preview fa fa-address-card-o"></i> + <i class="vcard-fn-preview bi fa-address-card-o"></i> <span id="vcard-preview-{{$vcard.id}}" class="vcard-preview"> {{if $vcard.fn}}<span class="vcard-fn-preview">{{$vcard.fn}}</span>{{/if}} {{if $vcard.emails.0.address}}<span class="vcard-email-preview d-none d-md-table-cell"><a href="mailto:{{$vcard.emails.0.address}}">{{$vcard.emails.0.address}}</a></span>{{/if}} - {{if $vcard.tels.0}}<span class="vcard-tel-preview d-none d-md-table-cell">{{$vcard.tels.0.nr}} <a class="btn btn-outline-secondary btn-sm" href="tel:{{$vcard.tels.0.nr}}"><i class="fa fa-phone connphone"></i></a></span>{{/if}} + {{if $vcard.tels.0}}<span class="vcard-tel-preview d-none d-md-table-cell">{{$vcard.tels.0.nr}} <a class="btn btn-outline-secondary btn-sm" href="tel:{{$vcard.tels.0.nr}}"><i class="bi fa-phone connphone"></i></a></span>{{/if}} </span> <input id="vcard-fn-{{$vcard.id}}" class="vcard-fn" type="text" name="fn" value="{{$vcard.fn}}" size="{{$vcard.fn|count_characters:true}}" placeholder="{{$name_label}}"> </div> @@ -264,7 +264,7 @@ {{if $vcard.org}} <div class="mb-3 form-vcard-org"> <input type="text" name="org" value="{{$vcard.org}}" size="{{$vcard.org|count_characters:true}}" placeholder="{{$org_label}}"> - <i data-remove="vcard-org" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-org" data-id="{{$vcard.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/if}} </div> @@ -275,7 +275,7 @@ {{if $vcard.title}} <div class="mb-3 form-vcard-title"> <input type="text" name="title" value="{{$vcard.title}}" size="{{$vcard.title|count_characters:true}}" placeholder="{{$title_label}}"> - <i data-remove="vcard-title" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-title" data-id="{{$vcard.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/if}} </div> @@ -295,7 +295,7 @@ <option value="OTHER"{{if $tel.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> <input type="text" name="tel[]" value="{{$tel.nr}}" size="{{$tel.nr|count_characters:true}}" placeholder="{{$tel_label}}"> - <i data-remove="vcard-tel" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-tel" data-id="{{$vcard.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/foreach}} {{/if}} @@ -315,7 +315,7 @@ <option value="OTHER"{{if $email.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> <input type="text" name="email[]" value="{{$email.address}}" size="{{$email.address|count_characters:true}}" placeholder="{{$email_label}}"> - <i data-remove="vcard-email" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-email" data-id="{{$vcard.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/foreach}} {{/if}} @@ -334,7 +334,7 @@ <option value="OTHER"{{if $impp.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> <input type="text" name="impp[]" value="{{$impp.address}}" size="{{$impp.address|count_characters:true}}" placeholder="{{$impp_label}}"> - <i data-remove="vcard-impp" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-impp" data-id="{{$vcard.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/foreach}} {{/if}} @@ -353,7 +353,7 @@ <option value="OTHER"{{if $url.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> <input type="text" name="url[]" value="{{$url.address}}" size="{{$url.address|count_characters:true}}" placeholder="{{$url_label}}"> - <i data-remove="vcard-url" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-url" data-id="{{$vcard.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/foreach}} {{/if}} @@ -373,7 +373,7 @@ <option value="WORK"{{if $adr.type.0 == 'WORK'}} selected="selected"{{/if}}>{{$work}}</option> <option value="OTHER"{{if $adr.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> - <i data-remove="vcard-adr" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-adr" data-id="{{$vcard.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div class="mb-3"> <input type="text" name="adr[{{$adr@index}}][]" value="{{$adr.address.0}}" size="{{$adr.address.0|count_characters:true}}" placeholder="{{$po_box}}"> @@ -406,7 +406,7 @@ <div class="form-vcard-note-wrapper"> {{if $vcard.note}} <label>{{$note_label}}</label> - <i data-remove="vcard-note" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-note" data-id="{{$vcard.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> <textarea name="note" class="form-control">{{$vcard.note}}</textarea> {{/if}} </div> diff --git a/view/tpl/acl_selector.tpl b/view/tpl/acl_selector.tpl index bc33b8b6f..a1f8aaa6a 100644 --- a/view/tpl/acl_selector.tpl +++ b/view/tpl/acl_selector.tpl @@ -4,9 +4,9 @@ <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title"> - <i id="dialog-perms-icon" class="fa fa-fw"></i> {{$aclModalTitle}} + <i id="dialog-perms-icon" class="bi"></i> {{$aclModalTitle}} {{if $helpUrl}} - <a target="hubzilla-help" href="{{$helpUrl}}" class="contextual-help-tool" title="Help and documentation"><i class="fa fa-fw fa-question"></i></a> + <a target="hubzilla-help" href="{{$helpUrl}}" class="contextual-help-tool" title="Help and documentation"><i class="bi bi-question-lg"></i></a> {{/if}} </h4> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true"></button> @@ -15,7 +15,7 @@ {{if $aclModalDesc}} <div id="acl-dialog-description" class="section-content-info-wrapper">{{$aclModalDesc}}</div> {{/if}} - <label for="acl-select">{{if $aclModalDesc}}<i class="fa fa-send-o"></i> {{/if}}{{$select_label}}</label> + <label for="acl-select">{{if $aclModalDesc}}<i class="bi bi-send"></i> {{/if}}{{$select_label}}</label> <select id="acl-select" name="optionsRadios" class="form-control mb-3"> <option id="acl-showall" value="public" {{$public_selected}}>{{$showall}}</option> <option id="acl-onlyme" value="onlyme" {{$justme_selected}}>{{$onlyme}}</option> @@ -27,13 +27,13 @@ {{if $showallOrigin}} <div id="acl-info" class="mb-3"> - <i class="fa fa-info-circle"></i> {{$showallOrigin}} + <i class="bi bi-info-circle"></i> {{$showallOrigin}} </div> {{/if}} <div id="acl-wrapper"> <div id="acl-list"> - <input class="form-control" type="text" id="acl-search" placeholder="" title="{{$search}}"> + <input class="form-control" type="text" id="acl-search" placeholder="{{$search}}" title="{{$search}}"> <small class="text-muted">{{$showlimitedDesc}}</small> <div id="acl-list-content"></div> </div> @@ -45,8 +45,8 @@ <span class="font-weight-bold contactname">{1}</span> <span class="dropdown-sub-text">{6}</span> </div> - <button class="acl-button-hide btn btn-sm btn-outline-danger"><i class="fa fa-times"></i> {{$hide}}</button> - <button class="acl-button-show btn btn-sm btn-outline-success"><i class="fa fa-check"></i> {{$show}}</button> + <button class="acl-button-hide btn btn-sm btn-outline-danger"><i class="bi bi-x-lg"></i> {{$hide}}</button> + <button class="acl-button-show btn btn-sm btn-outline-success"><i class="bi bi-check-lg"></i> {{$show}}</button> </div> </div> <div class="modal-footer clear"> diff --git a/view/tpl/activity_filter_widget.tpl b/view/tpl/activity_filter_widget.tpl index 779786828..8dba64381 100644 --- a/view/tpl/activity_filter_widget.tpl +++ b/view/tpl/activity_filter_widget.tpl @@ -3,7 +3,7 @@ {{$title}} {{if $reset}} <a href="{{$reset.url}}" class="text-muted" title="{{$reset.title}}"> - <i class="fa fa-fw fa-{{$reset.icon}}"></i> + <i class="bi bi-{{$reset.icon}}"></i> </a> {{/if}} </h3> @@ -11,7 +11,7 @@ {{if $name}} <div id="cid-filter-wrapper" class="notifications-textinput"> <form method="get" action="{{$name.url}}" role="search"> - <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-filter"></i></div> <input id="cid" type="hidden" value="" name="cid" /> <input id="cid-filter" class="form-control form-control-sm{{if $name.sel}} {{$name.sel}}{{/if}}" type="text" value="" placeholder="{{$name.label}}" name="name" title="" /> </form> diff --git a/view/tpl/admin_accounts.tpl b/view/tpl/admin_accounts.tpl index 1f5617f00..9a9fbd865 100644 --- a/view/tpl/admin_accounts.tpl +++ b/view/tpl/admin_accounts.tpl @@ -1,4 +1,4 @@ -<div class="generic-content-wrapper-styled" id="adminpage"> +<div class="generic-content-wrapper-styled table-responsive" id="adminpage"> <h1>{{$title}} - {{$page}}</h1> <form action="{{$baseurl}}/admin/accounts" method="post"> @@ -25,8 +25,8 @@ <td class="">{{$u.reg_atip_n}}</td> <td class="checkbox_bulkedit"><input type="checkbox" class="pending_ckbx" id="id_pending_{{$n}}" name="pending[]" value="{{$n}}"></td> <td class="tools"> - <a id="zara_{{$n}}" {{* href="{{$baseurl}}/regmod/allow/{{$n}}" *}} class="zar2s zara btn btn-default btn-xs" title="{{$approve}}"><i class="fa fa-thumbs-o-up admin-icons"></i></a> - <a id="zard_{{$n}}" {{* href="{{$baseurl}}/regmod/deny/{{$n}}" *}} class="zar2s zard btn btn-default btn-xs" title="{{$deny}}"><i class="fa fa-thumbs-o-down admin-icons"></i></a> + <a id="zara_{{$n}}" {{* href="{{$baseurl}}/regmod/allow/{{$n}}" *}} class="zar2s zara btn btn-default btn-xs" title="{{$approve}}"><i class="bi bi-hand-thumbs-up generic-icons"></i></a> + <a id="zard_{{$n}}" {{* href="{{$baseurl}}/regmod/deny/{{$n}}" *}} class="zar2s zard btn btn-default btn-xs" title="{{$deny}}"><i class="bi bi-hand-thumbs-down generic-icons"></i></a> <span id="zarreax_{{$n}}" class="zarreax"></span> </td> </tr> @@ -38,8 +38,8 @@ </table> <div class="float-end"> <a id="zar2sat" class="btn btn-sm btn-primary" href="javascript:;">{{$sel_tall}}</a> - <a id="zar2aas" class="zar2xas btn btn-sm btn-success" href="javascript:;"><i class="fa fa-check"></i> {{$sel_aprv}}</a> - <a id="zar2das" class="zar2xas btn btn-sm btn-danger" href="javascript:;"><i class="fa fa-close"></i> {{$sel_deny}}</a> + <a id="zar2aas" class="zar2xas btn btn-sm btn-success" href="javascript:;"><i class="bi bi-check-lg"></i> {{$sel_aprv}}</a> + <a id="zar2das" class="zar2xas btn btn-sm btn-danger" href="javascript:;"><i class="bi bi-x-lg"></i> {{$sel_deny}}</a> </div> {{else}} <div class="text-muted"> @@ -78,10 +78,10 @@ <td class="service_class">{{$u.account_service_class}}</td> <td class="checkbox_bulkedit"><input type="checkbox" class="users_ckbx p-1" id="id_user_{{$u.account_id}}" name="user[]" value="{{$u.account_id}}"><input type="hidden" name="blocked[]" value="{{$u.blocked}}"></td> <td class="tools"> - <a href="{{$baseurl}}/admin/accounts/delete/{{$u.account_id}}?t={{$form_security_token}}" class="p-1 text-reset" title='{{$delete}}' onclick="return confirm_delete('{{$u.name}}')"><i class="fa fa-trash-o admin-icons"></i></a> + <a href="{{$baseurl}}/admin/accounts/delete/{{$u.account_id}}?t={{$form_security_token}}" class="p-1 text-reset" title='{{$delete}}' onclick="return confirm_delete('{{$u.name}}')"><i class="bi bi-trash admin-icons"></i></a> </td> <td class="tools"> - <a href="{{$baseurl}}/admin/accounts/{{if ($u.blocked)}}un{{/if}}block/{{$u.account_id}}?t={{$form_security_token}}" class="p-1 text-reset" title='{{if ($u.blocked)}}{{$unblock}}{{else}}{{$block}}{{/if}}'><i class="fa fa-ban admin-icons{{if ($u.blocked)}} dim{{/if}}"></i></a> + <a href="{{$baseurl}}/admin/accounts/{{if ($u.blocked)}}un{{/if}}block/{{$u.account_id}}?t={{$form_security_token}}" class="p-1 text-reset" title='{{if ($u.blocked)}}{{$unblock}}{{else}}{{$block}}{{/if}}'><i class="bi fa-ban admin-icons{{if ($u.blocked)}} dim{{/if}}"></i></a> </td> </tr> {{/foreach}} diff --git a/view/tpl/admin_channels.tpl b/view/tpl/admin_channels.tpl index 75db77593..ca05313ed 100644 --- a/view/tpl/admin_channels.tpl +++ b/view/tpl/admin_channels.tpl @@ -10,7 +10,7 @@ return false; } </script> -<div class = "generic-content-wrapper-styled" id='adminpage'> +<div class="generic-content-wrapper-styled table-responsive" id='adminpage'> <h1>{{$title}} - {{$page}}</h1> <form action="{{$baseurl}}/admin/channels" method="post"> @@ -36,13 +36,13 @@ <td class='channel_address'>{{$c.channel_address}}</td> <td class="checkbox_bulkedit"><input type="checkbox" class="channels_ckbx p-1" id="id_channel_{{$c.channel_id}}" name="channel[]" value="{{$c.channel_id}}"/></td> <td class="tools"> - <a href="{{$baseurl}}/admin/channels/block/{{$c.channel_id}}?t={{$form_security_token}}" class="p-1 text-reset" title='{{if ($c.blocked)}}{{$unblock}}{{else}}{{$block}}{{/if}}'><i class='fa fa-ban admin-icons {{if ($c.blocked)}}text-danger{{/if}}'></i></a> + <a href="{{$baseurl}}/admin/channels/block/{{$c.channel_id}}?t={{$form_security_token}}" class="p-1 text-reset" title='{{if ($c.blocked)}}{{$unblock}}{{else}}{{$block}}{{/if}}'><i class='bi fa-ban admin-icons {{if ($c.blocked)}}text-danger{{/if}}'></i></a> </td> <td class="tools"> - <a href="{{$baseurl}}/admin/channels/code/{{$c.channel_id}}?t={{$form_security_token}}" class="p-1 text-reset" title='{{if ($c.allowcode)}}{{$uncode}}{{else}}{{$code}}{{/if}}'><i class='fa fa-terminal admin-icons {{if ($c.allowcode)}}text-danger{{/if}}'></i></a> + <a href="{{$baseurl}}/admin/channels/code/{{$c.channel_id}}?t={{$form_security_token}}" class="p-1 text-reset" title='{{if ($c.allowcode)}}{{$uncode}}{{else}}{{$code}}{{/if}}'><i class='bi bi-code admin-icons {{if ($c.allowcode)}}text-danger{{/if}}'></i></a> </td> <td class="tools"> - <a href="{{$baseurl}}/admin/channels/delete/{{$c.channel_id}}?t={{$form_security_token}}" class="p-1 text-reset" title='{{$delete}}' onclick="return confirm_delete('{{$c.channel_name}}')"><i class='fa fa-trash-o admin-icons'></i></a> + <a href="{{$baseurl}}/admin/channels/delete/{{$c.channel_id}}?t={{$form_security_token}}" class="p-1 text-reset" title='{{$delete}}' onclick="return confirm_delete('{{$c.channel_name}}')"><i class='bi bi-trash admin-icons'></i></a> </td> </tr> {{/foreach}} diff --git a/view/tpl/admin_plugins.tpl b/view/tpl/admin_plugins.tpl index 7d413d085..f231da2ad 100644 --- a/view/tpl/admin_plugins.tpl +++ b/view/tpl/admin_plugins.tpl @@ -23,10 +23,10 @@ <span class="float-start">{{$repo.name}}</span><span id="update-message-{{$repo.name}}" style="margin-left: 20px;"></span> </td> <td style="width: 15%;"> - <button class="btn btn-sm btn-primary float-end" style="margin-left: 10px; margin-right: 10px;" onclick="updateAddonRepo('{{$repo.name}}'); return false;"><i class='fa fa-download'></i> {{$repoUpdateButton}}</button> + <button class="btn btn-sm btn-primary float-end" style="margin-left: 10px; margin-right: 10px;" onclick="updateAddonRepo('{{$repo.name}}'); return false;"><i class='bi fa-download'></i> {{$repoUpdateButton}}</button> </td> <td style="width: 15%;"> - <button class="btn btn-sm btn-danger float-end" style="margin-left: 10px; margin-right: 0px;" onclick="removeAddonRepo('{{$repo.name}}'); return false;"><i class='fa fa-trash-o'></i> {{$repoRemoveButton}}</button> + <button class="btn btn-sm btn-danger float-end" style="margin-left: 10px; margin-right: 0px;" onclick="removeAddonRepo('{{$repo.name}}'); return false;"><i class='bi bi-trash'></i> {{$repoRemoveButton}}</button> </td> <div class="clear"></div> </td></tr> @@ -50,9 +50,9 @@ <div class="section-content-tools-wrapper" id="pluginslist"> <div class="contact-info plugin {{$p.1}}"> {{if ! $p.2.disabled}} - <a class='toggleplugin' href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}?a=t&t={{$form_security_token}}' title="{{if $p.1==on}}Disable{{else}}Enable{{/if}}" ><i class='fa {{if $p.1==on}}fa-check-square-o{{else}}fa-square-o{{/if}} admin-icons'></i></a> + <a class='toggleplugin' href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}?a=t&t={{$form_security_token}}' title="{{if $p.1==on}}Disable{{else}}Enable{{/if}}" ><i class='bi {{if $p.1==on}}bi-check-square{{else}}bi-square{{/if}} admin-icons'></i></a> {{else}} - <i class='fa fa-stop admin-icons'></i> + <i class='bi fa-stop admin-icons'></i> {{/if}} <a href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}'><span class='name'>{{$p.2.name}}</span></a> - <span class="version">{{$p.2.version}}</span>{{if $p.2.disabled}} {{$disabled}}{{/if}} {{if $p.2.experimental}} {{$experimental}} {{/if}}{{if $p.2.unsupported}} {{$unsupported}} {{/if}} diff --git a/view/tpl/admin_plugins_details.tpl b/view/tpl/admin_plugins_details.tpl index 309fc9569..6b377fe74 100644 --- a/view/tpl/admin_plugins_details.tpl +++ b/view/tpl/admin_plugins_details.tpl @@ -1,7 +1,7 @@ <div class = "generic-content-wrapper-styled" id='adminpage'> <h1>{{$title}} - {{$page}}</h1> - <p>{{if ! $info.disabled}}<i class='toggleplugin fa {{if $status==on}}fa-check-square-o{{else}}fa-square-o{{/if}} admin-icons'></i>{{else}}<i class='fa fa-stop admin-icons'></i>{{/if}} {{$info.name}} - {{$info.version}}{{if ! $info.disabled}} : <a href="{{$baseurl}}/admin/{{$function}}/{{$plugin}}/?a=t&t={{$form_security_token}}">{{$action}}</a>{{/if}}</p> + <p>{{if ! $info.disabled}}<i class='toggleplugin bi {{if $status==on}}bi-check-square{{else}}bi-square{{/if}} admin-icons'></i>{{else}}<i class='bi fa-stop admin-icons'></i>{{/if}} {{$info.name}} - {{$info.version}}{{if ! $info.disabled}} : <a href="{{$baseurl}}/admin/{{$function}}/{{$plugin}}/?a=t&t={{$form_security_token}}">{{$action}}</a>{{/if}}</p> {{if $info.disabled}} <p>{{$disabled}}</p> diff --git a/view/tpl/admin_profiles.tpl b/view/tpl/admin_profiles.tpl index 1df3f5492..b19360bfe 100644 --- a/view/tpl/admin_profiles.tpl +++ b/view/tpl/admin_profiles.tpl @@ -1,5 +1,5 @@ <div class="generic-content-wrapper"> -<div class="section-title-wrapper"><a title="{{$new}}" class="btn btn-primary btn-sm float-end" href="admin/profs/new"><i class="fa fa-plus-circle"></i> {{$new}}</a><h2>{{$title}}</h2> +<div class="section-title-wrapper"><a title="{{$new}}" class="btn btn-primary btn-sm float-end" href="admin/profs/new"><i class="bi bi-plus-lg"></i> {{$new}}</a><h2>{{$title}}</h2> <div class="clear"></div> </div> @@ -28,7 +28,7 @@ <table width="100%"> {{foreach $cust_fields as $field}} -<tr><td>{{$field.field_name}}</td><td>{{$field.field_desc}}</td><td><a class="btn btn-danger btn-sm" href="admin/profs/drop/{{$field.id}}" title="{{$drop}}"><i class="fa fa-trash-o"></i> {{$drop}}</a> <a class="btn btn-sm" title="{{$edit}}" href="admin/profs/{{$field.id}}" ><i class="fa fa-pencil"></i></a></td></tr> +<tr><td>{{$field.field_name}}</td><td>{{$field.field_desc}}</td><td><a class="btn btn-danger btn-sm" href="admin/profs/drop/{{$field.id}}" title="{{$drop}}"><i class="bi bi-trash"></i> {{$drop}}</a> <a class="btn btn-sm" title="{{$edit}}" href="admin/profs/{{$field.id}}" ><i class="bi bi-pencil"></i></a></td></tr> {{/foreach}} </table> {{/if}} diff --git a/view/tpl/admin_queue.tpl b/view/tpl/admin_queue.tpl index 1587bff47..c03fce140 100644 --- a/view/tpl/admin_queue.tpl +++ b/view/tpl/admin_queue.tpl @@ -7,7 +7,7 @@ {{foreach $entries as $e}} -<tr><td>{{$e.total}}</td><td>{{$e.outq_posturl}}</td><td>{{$e.priority}}</td>{{if $expert}}<td><a href="admin/queue?f=&drophub={{$e.eurl}}" title="{{$nukehub}}" class="btn btn-outline-secondary"><i class="fa fa-times"></i><a></td><td><a href="admin/queue?f=&emptyhub={{$e.eurl}}" title="{{$empty}}" class="btn btn-outline-secondary"><i class="fa fa-trash-o"></i></a></td><td><a href="admin/queue?f=&deliverhub={{$e.eurl}}" title="{{$deliverhub}}" class="btn btn-outline-secondary"><i class="fa fa-refresh"></i><a></td>{{/if}}</tr> +<tr><td>{{$e.total}}</td><td>{{$e.outq_posturl}}</td><td>{{$e.priority}}</td>{{if $expert}}<td><a href="admin/queue?f=&drophub={{$e.eurl}}" title="{{$nukehub}}" class="btn btn-outline-secondary"><i class="bi bi-x-lg"></i><a></td><td><a href="admin/queue?f=&emptyhub={{$e.eurl}}" title="{{$empty}}" class="btn btn-outline-secondary"><i class="bi bi-trash"></i></a></td><td><a href="admin/queue?f=&deliverhub={{$e.eurl}}" title="{{$deliverhub}}" class="btn btn-outline-secondary"><i class="bi fa-refresh"></i><a></td>{{/if}}</tr> {{/foreach}} </table> 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..aaaea86ff 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}} generic-icons"></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/attach_edit.tpl b/view/tpl/attach_edit.tpl index 0de4404ec..591db6709 100644 --- a/view/tpl/attach_edit.tpl +++ b/view/tpl/attach_edit.tpl @@ -8,16 +8,16 @@ <div id="attach-edit-tools-share" class="btn-group mb-3"> {{if !$isadir}} <a href="/rpost?attachment=[attachment]{{$file.hash}},{{$file.revision}}[/attachment]" id="attach-btn" class="btn btn-outline-secondary btn-sm" title="{{$attach_btn_title}}"> - <i class="fa fa-share-square-o jot-icons"></i> + <i class="bi bi-download jot-icons"></i> </a> {{/if}} <button id="link-btn" class="btn btn-outline-secondary btn-sm" type="button" onclick="openClose('link-code');" title="{{$link_btn_title}}"> - <i class="fa fa-link jot-icons"></i> + <i class="bi bi-link-45deg jot-icons"></i> </button> </div> <div id="attach-edit-perms" class="btn-group float-end"> <button id="dbtn-acl" class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" title="{{$permset}}" type="button"> - <i id="jot-perms-icon" class="fa fa-{{$lockstate}} jot-icons"></i> + <i id="jot-perms-icon" class="bi bi-{{$lockstate}} jot-icons"></i> </button> <button id="dbtn-submit" class="btn btn-primary btn-sm" type="submit" name="submit"> {{$submit}} diff --git a/view/tpl/blocklist.tpl b/view/tpl/blocklist.tpl index 0d859166e..1d62ee1d6 100644 --- a/view/tpl/blocklist.tpl +++ b/view/tpl/blocklist.tpl @@ -2,7 +2,7 @@ <div class="section-title-wrapper"> {{if $editor}} <div class="float-end"> - <button id="webpage-create-btn" class="btn btn-sm btn-success" onclick="openClose('block-editor');"><i class="fa fa-pencil-square-o"></i> {{$create}}</button> + <button id="webpage-create-btn" class="btn btn-sm btn-success" onclick="openClose('block-editor');"><i class="bi bi-pencil-square-o"></i> {{$create}}</button> </div> {{/if}} <h2>{{$title}}</h2> @@ -40,17 +40,17 @@ </td> <td class="webpage-list-tool"> {{if $edit}} - <a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="fa fa-pencil"></i></a> + <a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="bi bi-pencil"></i></a> {{/if}} </td> <td class="webpage-list-tool"> {{if $item.bb_element}} - <a href="rpost?attachment={{$item.bb_element}}" title="{{$share}}"><i class="fa fa-share-square-o"></i></a> + <a href="rpost?attachment={{$item.bb_element}}" title="{{$share}}"><i class="bi bi-download"></i></a> {{/if}} </td> <td class="webpage-list-tool"> {{if $edit}} - <a href="#" title="{{$delete}}" onclick="dropItem('item/drop/{{$item.url}}', '#block-list-item-{{$item.url}}'); return false;"><i class="fa fa-trash-o drop-icons"></i></a> + <a href="#" title="{{$delete}}" onclick="dropItem('item/drop/{{$item.url}}', '#block-list-item-{{$item.url}}'); return false;"><i class="bi bi-trash drop-icons"></i></a> {{/if}} </td> <td class="d-none d-md-table-cell"> diff --git a/view/tpl/build_query.tpl b/view/tpl/build_query.tpl index af70a9595..b009d4c9c 100644 --- a/view/tpl/build_query.tpl +++ b/view/tpl/build_query.tpl @@ -41,36 +41,37 @@ var bParam_unseen = "{{$unseen}}"; function buildCmd() { - var udargs = ((page_load) ? "/load" : ""); - var bCmd = bParam_cmd + udargs + "?f=" ; - if(bParam_uid) bCmd = bCmd + "&p=" + bParam_uid; - if(bParam_cmin != (-1)) bCmd = bCmd + "&cmin=" + bParam_cmin; - if(bParam_cmax != (-1)) bCmd = bCmd + "&cmax=" + bParam_cmax; - if(bParam_gid != 0) { bCmd = bCmd + "&gid=" + bParam_gid; } else - if(bParam_cid != 0) { bCmd = bCmd + "&cid=" + bParam_cid; } - if(bParam_star != 0) bCmd = bCmd + "&star=" + bParam_star; - if(bParam_liked != 0) bCmd = bCmd + "&liked=" + bParam_liked; - if(bParam_conv!= 0) bCmd = bCmd + "&conv=" + bParam_conv; - if(bParam_spam != 0) bCmd = bCmd + "&spam=" + bParam_spam; - if(bParam_new != 0) bCmd = bCmd + "&new=" + bParam_new; - if(bParam_wall != 0) bCmd = bCmd + "&wall=" + bParam_wall; - if(bParam_list != 0) bCmd = bCmd + "&list=" + bParam_list; - if(bParam_fh != 0) bCmd = bCmd + "&fh=" + bParam_fh; - if(bParam_dm != 0) bCmd = bCmd + "&dm=" + bParam_dm; - if(bParam_search != "") bCmd = bCmd + "&search=" + bParam_search; - if(bParam_xchan != "") bCmd = bCmd + "&xchan=" + bParam_xchan; - if(bParam_order != "") bCmd = bCmd + "&order=" + bParam_order; - if(bParam_file != "") bCmd = bCmd + "&file=" + bParam_file; - if(bParam_cats != "") bCmd = bCmd + "&cat=" + bParam_cats; - if(bParam_tags != "") bCmd = bCmd + "&tag=" + bParam_tags; - if(bParam_dend != "") bCmd = bCmd + "&dend=" + bParam_dend; - if(bParam_dbegin != "") bCmd = bCmd + "&dbegin=" + bParam_dbegin; - if(bParam_mid != "") bCmd = bCmd + "&mid=" + bParam_mid; - if(bParam_verb != "") bCmd = bCmd + "&verb=" + bParam_verb; - if(bParam_net != "") bCmd = bCmd + "&net=" + bParam_net; - if(bParam_page != 1) bCmd = bCmd + "&page=" + bParam_page; - if(bParam_pf != 0) bCmd = bCmd + "&pf=" + bParam_pf; - if(bParam_unseen != 0) bCmd = bCmd + "&unseen=" + bParam_unseen; + let udargs = ((page_load) ? "/load" : ""); + let bCmd = bParam_cmd + udargs; + + if(bParam_uid) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "p=" + bParam_uid; + if(bParam_cmin != (-1)) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "cmin=" + bParam_cmin; + if(bParam_cmax != (-1)) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "cmax=" + bParam_cmax; + if(bParam_gid != 0) { bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "gid=" + bParam_gid; } else + if(bParam_cid != 0) { bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "cid=" + bParam_cid; } + if(bParam_star != 0) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "star=" + bParam_star; + if(bParam_liked != 0) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "liked=" + bParam_liked; + if(bParam_conv!= 0) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "conv=" + bParam_conv; + if(bParam_spam != 0) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "spam=" + bParam_spam; + if(bParam_new != 0) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "new=" + bParam_new; + if(bParam_wall != 0) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "wall=" + bParam_wall; + if(bParam_list != 0) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "list=" + bParam_list; + if(bParam_fh != 0) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "fh=" + bParam_fh; + if(bParam_dm != 0) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "dm=" + bParam_dm; + if(bParam_search != "") bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "search=" + bParam_search; + if(bParam_xchan != "") bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "xchan=" + bParam_xchan; + if(bParam_order != "") bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "order=" + bParam_order; + if(bParam_file != "") bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "file=" + bParam_file; + if(bParam_cats != "") bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "cat=" + bParam_cats; + if(bParam_tags != "") bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "tag=" + bParam_tags; + if(bParam_dend != "") bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "dend=" + bParam_dend; + if(bParam_dbegin != "") bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "dbegin=" + bParam_dbegin; + if(bParam_mid != "") bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "mid=" + bParam_mid; + if(bParam_verb != "") bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "verb=" + bParam_verb; + if(bParam_net != "") bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "net=" + bParam_net; + if(bParam_page != 1) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "page=" + bParam_page; + if(bParam_pf != 0) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "pf=" + bParam_pf; + if(bParam_unseen != 0) bCmd = bCmd + ((bCmd.includes('?')) ? '&' : '?') + "unseen=" + bParam_unseen; return(bCmd); } diff --git a/view/tpl/cal_calendar.tpl b/view/tpl/cal_calendar.tpl index 2f3140ce3..437cd8363 100644 --- a/view/tpl/cal_calendar.tpl +++ b/view/tpl/cal_calendar.tpl @@ -85,12 +85,12 @@ function updateSize() { <div class="section-title-wrapper"> <div class="float-end"> <div class="btn-group"> - <button id="prev-btn" class="btn btn-outline-secondary btn-sm" title="{{$prev}}"><i class="fa fa-backward"></i></button> - <button id="today-btn" class="btn btn-outline-secondary btn-sm" title="{{$today}}"><span id="events-spinner" class="spinner s"></span><i class="fa fa-bullseye" style="display: none; width: 1rem;"></i></button> - <button id="next-btn" class="btn btn-outline-secondary btn-sm" title="{{$next}}"><i class="fa fa-forward"></i></button> + <button id="prev-btn" class="btn btn-outline-secondary btn-sm" title="{{$prev}}"><i class="bi bi-chevron-left"></i></button> + <button id="today-btn" class="btn btn-outline-secondary btn-sm" title="{{$today}}"><span id="events-spinner" class="spinner s"></span><i class="bi bi-crosshair" style="display: none; padding: 0.065rem;"></i></button> + <button id="next-btn" class="btn btn-outline-secondary btn-sm" title="{{$next}}"><i class="bi bi-chevron-right"></i></button> </div> - <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen();"><i class="fa fa-expand"></i></button> - <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false);"><i class="fa fa-compress"></i></button> + <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen();"><i class="bi bi-arrows-angle-expand"></i></button> + <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false);"><i class="bi bi-arrows-angle-contract"></i></button> </div> <h2 id="title"></h2> <div class="clear"></div> diff --git a/view/tpl/cal_event.tpl b/view/tpl/cal_event.tpl index 0719d5262..7be5d225d 100644 --- a/view/tpl/cal_event.tpl +++ b/view/tpl/cal_event.tpl @@ -6,7 +6,7 @@ </div> {{$event.html}} <div class="event-buttons"> - {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="btn btn-sm btn-outline-secondary border-0 plink-event-link"><i class="fa fa-external-link"></i></a>{{/if}} + {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="btn btn-sm btn-outline-secondary border-0 plink-event-link"><i class="bi bi-box-arrow-up-right"></i></a>{{/if}} </div> <div class="clear"></div> </div> diff --git a/view/tpl/cdav_addressbook.tpl b/view/tpl/cdav_addressbook.tpl index ab0b43ffc..617096096 100644 --- a/view/tpl/cdav_addressbook.tpl +++ b/view/tpl/cdav_addressbook.tpl @@ -72,14 +72,14 @@ $(document).ready(function() { <div id="template-form-vcard-org" class="mb-3 form-vcard-org"> <div class="mb-3 form-vcard-org"> <input type="text" name="org" value="" placeholder="{{$org_label}}"> - <i data-remove="vcard-org" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-org" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> </div> <div id="template-form-vcard-title" class="mb-3 form-vcard-title"> <div class="mb-3 form-vcard-title"> <input type="text" name="title" value="" placeholder="{{$title_label}}"> - <i data-remove="vcard-title" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-title" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> </div> @@ -91,7 +91,7 @@ $(document).ready(function() { <option value="OTHER">{{$other}}</option> </select> <input type="text" name="tel[]" value="" placeholder="{{$tel_label}}"> - <i data-remove="vcard-tel" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-tel" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div id="template-form-vcard-email" class="mb-3 form-vcard-email"> @@ -101,7 +101,7 @@ $(document).ready(function() { <option value="OTHER">{{$other}}</option> </select> <input type="text" name="email[]" value="" placeholder="{{$email_label}}"> - <i data-remove="vcard-email" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-email" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div id="template-form-vcard-impp" class="mb-3 form-vcard-impp"> @@ -111,7 +111,7 @@ $(document).ready(function() { <option value="OTHER">{{$other}}</option> </select> <input type="text" name="impp[]" value="" placeholder="{{$impp_label}}"> - <i data-remove="vcard-impp" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-impp" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div id="template-form-vcard-url" class="mb-3 form-vcard-url"> @@ -121,7 +121,7 @@ $(document).ready(function() { <option value="OTHER">{{$other}}</option> </select> <input type="text" name="url[]" value="" placeholder="{{$url_label}}"> - <i data-remove="vcard-url" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-url" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div id="template-form-vcard-adr" class="mb-3 form-vcard-adr"> @@ -132,7 +132,7 @@ $(document).ready(function() { <option value="OTHER">{{$other}}</option> </select> <label>{{$adr_label}}</label> - <i data-remove="vcard-adr" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-adr" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div class="mb-3"> <input type="text" name="" value="" placeholder="{{$po_box}}"> @@ -159,20 +159,20 @@ $(document).ready(function() { <div id="template-form-vcard-note" class="mb-3 form-vcard-note"> <label>{{$note_label}}</label> - <i data-remove="vcard-note" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-note" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> <textarea name="note" class="form-control"></textarea> </div> <div class="generic-content-wrapper"> <div class="section-title-wrapper"> - <button type="button" class="btn btn-success btn-sm float-end" onclick="openClose('create_form')"><i class="fa fa-plus-circle"></i> {{$add_card}}</button> + <button type="button" class="btn btn-success btn-sm float-end" onclick="openClose('create_form')"><i class="bi bi-plus-lg"></i> {{$add_card}}</button> <h2>{{$displayname}}</h2> </div> <div id="create_form" class="section-content-tools-wrapper"> <form id="card_form_new" method="post" action=""> <input type="hidden" name="target" value="{{$id}}"> <div class="dropdown float-end"> - <button data-bs-toggle="dropdown" type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle"><i class="fa fa-plus"></i> {{$add_field}}</button> + <button data-bs-toggle="dropdown" type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle"><i class="bi bi-plus-lg"></i> {{$add_field}}</button> <div class="dropdown-menu dropdown-menu-end"> <a class="dropdown-item add-vcard-org add-field" style="display: none" href="#" data-add="vcard-org" data-id="new">{{$org_label}}</a> <a class="dropdown-item add-vcard-title add-field" style="display: none" href="#" data-add="vcard-title" data-id="new">{{$title_label}}</a> @@ -188,7 +188,7 @@ $(document).ready(function() { <div class="vcard-fn-create mb-3"> <div class="form-vcard-fn-wrapper"> <div class="mb-3 form-vcard-fn"> - <div class="vcard-nophoto"><i class="fa fa-user"></i></div><input type="text" name="fn" value="" placeholder="{{$name_label}}"> + <div class="vcard-nophoto"><i class="bi bi-person"></i></div><input type="text" name="fn" value="" placeholder="{{$name_label}}"> </div> </div> </div> @@ -197,7 +197,7 @@ $(document).ready(function() { <div class="form-vcard-org-wrapper"> <div class="mb-3 form-vcard-org"> <input type="text" name="org" value="" placeholder="{{$org_label}}"> - <i data-remove="vcard-org" data-id="new" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-org" data-id="new" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> </div> </div> @@ -206,7 +206,7 @@ $(document).ready(function() { <div class="form-vcard-title-wrapper"> <div class="mb-3 form-vcard-title"> <input type="text" name="title" value="" placeholder="{{$title_label}}"> - <i data-remove="vcard-title" data-id="new" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-title" data-id="new" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> </div> </div> @@ -221,7 +221,7 @@ $(document).ready(function() { <option value="OTHER">{{$other}}</option> </select> <input type="text" name="tel[]" value="" placeholder="{{$tel_label}}"> - <i data-remove="vcard-tel" data-id="new" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-tel" data-id="new" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> </div> </div> @@ -236,7 +236,7 @@ $(document).ready(function() { <option value="OTHER">{{$other}}</option> </select> <input type="text" name="email[]" value="" placeholder="{{$email_label}}"> - <i data-remove="vcard-email" data-id="new" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-email" data-id="new" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> </div> </div> @@ -272,9 +272,9 @@ $(document).ready(function() { <input type="hidden" name="target" value="{{$id}}"> <input type="hidden" name="uri" value="{{$card.uri}}"> <div class="section-content-wrapper-np"> - <div id="vcard-cancel-{{$card.id}}" class="vcard-cancel vcard-cancel-btn" data-id="{{$card.id}}" data-action="cancel"><i class="fa fa-close"></i></div> + <div id="vcard-cancel-{{$card.id}}" class="vcard-cancel vcard-cancel-btn" data-id="{{$card.id}}" data-action="cancel"><i class="bi bi-x-lg"></i></div> <div id="vcard-add-field-{{$card.id}}" class="dropdown float-end vcard-add-field"> - <button data-bs-toggle="dropdown" type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle"><i class="fa fa-plus"></i> {{$add_field}}</button> + <button data-bs-toggle="dropdown" type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle"><i class="bi bi-plus-lg"></i> {{$add_field}}</button> <div class="dropdown-menu dropdown-menu-end"> <a class="dropdown-item add-vcard-org add-field"{{if $card.org}} style="display: none"{{/if}} href="#" data-add="vcard-org" data-id="{{$card.id}}">{{$org_label}}</a> <a class="dropdown-item add-vcard-title add-field"{{if $card.title}} style="display: none"{{/if}} href="#" data-add="vcard-title" data-id="{{$card.id}}">{{$title_label}}</a> @@ -287,7 +287,7 @@ $(document).ready(function() { </div> </div> <div id="vcard-header-{{$card.id}}" class="vcard-header" data-id="{{$card.id}}" data-action="open"> - {{if $card.photo}}<img class="vcard-photo" src="{{$card.photo}}" width="32px" height="32px">{{else}}<div class="vcard-nophoto"><i class="fa fa-user"></i></div>{{/if}} + {{if $card.photo}}<img class="vcard-photo" src="{{$card.photo}}" width="32px" height="32px">{{else}}<div class="vcard-nophoto"><i class="bi bi-person"></i></div>{{/if}} <span id="vcard-preview-{{$card.id}}" class="vcard-preview"> {{if $card.fn}}<span class="vcard-fn-preview">{{$card.fn}}</span>{{/if}} {{if $card.emails.0.address}}<span class="vcard-email-preview hidden-xs">{{$card.emails.0.address}}</span>{{/if}} @@ -303,7 +303,7 @@ $(document).ready(function() { {{if $card.org}} <div class="mb-3 form-vcard-org"> <input type="text" name="org" value="{{$card.org}}" size="{{$card.org|count_characters:true}}" placeholder="{{$org_label}}"> - <i data-remove="vcard-org" data-id="{{$card.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-org" data-id="{{$card.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/if}} </div> @@ -314,7 +314,7 @@ $(document).ready(function() { {{if $card.title}} <div class="mb-3 form-vcard-title"> <input type="text" name="title" value="{{$card.title}}" size="{{$card.title|count_characters:true}}" placeholder="{{$title_label}}"> - <i data-remove="vcard-title" data-id="{{$card.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-title" data-id="{{$card.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/if}} </div> @@ -334,7 +334,7 @@ $(document).ready(function() { <option value="OTHER"{{if $tel.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> <input type="text" name="tel[]" value="{{$tel.nr}}" size="{{$tel.nr|count_characters:true}}" placeholder="{{$tel_label}}"> - <i data-remove="vcard-tel" data-id="{{$card.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-tel" data-id="{{$card.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/foreach}} {{/if}} @@ -354,7 +354,7 @@ $(document).ready(function() { <option value="OTHER"{{if $email.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> <input type="text" name="email[]" value="{{$email.address}}" size="{{$email.address|count_characters:true}}" placeholder="{{$email_label}}"> - <i data-remove="vcard-email" data-id="{{$card.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-email" data-id="{{$card.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/foreach}} {{/if}} @@ -373,7 +373,7 @@ $(document).ready(function() { <option value="OTHER"{{if $impp.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> <input type="text" name="impp[]" value="{{$impp.address}}" size="{{$impp.address|count_characters:true}}" placeholder="{{$impp_label}}"> - <i data-remove="vcard-impp" data-id="{{$card.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-impp" data-id="{{$card.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/foreach}} {{/if}} @@ -392,7 +392,7 @@ $(document).ready(function() { <option value="OTHER"{{if $url.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> <input type="text" name="url[]" value="{{$url.address}}" size="{{$url.address|count_characters:true}}" placeholder="{{$url_label}}"> - <i data-remove="vcard-url" data-id="{{$card.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-url" data-id="{{$card.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/foreach}} {{/if}} @@ -412,7 +412,7 @@ $(document).ready(function() { <option value="WORK"{{if $adr.type.0 == 'WORK'}} selected="selected"{{/if}}>{{$work}}</option> <option value="OTHER"{{if $adr.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> - <i data-remove="vcard-adr" data-id="{{$card.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-adr" data-id="{{$card.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div class="mb-3"> <input type="text" name="adr[{{$adr@index}}][]" value="{{$adr.address.0}}" size="{{$adr.address.0|count_characters:true}}" placeholder="{{$po_box}}"> @@ -445,7 +445,7 @@ $(document).ready(function() { <div class="form-vcard-note-wrapper"> {{if $card.note}} <label>{{$note_label}}</label> - <i data-remove="vcard-note" data-id="{{$card.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-note" data-id="{{$card.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> <textarea name="note" class="form-control">{{$card.note}}</textarea> {{/if}} </div> diff --git a/view/tpl/cdav_calendar.tpl b/view/tpl/cdav_calendar.tpl index 5d8c6115f..cd2e45b8c 100644 --- a/view/tpl/cdav_calendar.tpl +++ b/view/tpl/cdav_calendar.tpl @@ -106,7 +106,7 @@ $(document).ready(function() { if(! $('#l2s').length) $('#id_title_wrapper').prepend('<span id="l2s" class="float-end"></span>'); - $('#l2s').html('<a href="' + event.extendedProps.plink[0] + '" target="_blank"><i class="fa fa-external-link"></i> ' + event.extendedProps.plink[1] + '</a>'); + $('#l2s').html('<a href="' + event.extendedProps.plink[0] + '" target="_blank"><i class="bi bi-box-arrow-up-right"></i> ' + event.extendedProps.plink[1] + '</a>'); } else { $('#l2s').remove(); @@ -349,7 +349,7 @@ $(document).ready(function() { $('.section-content-tools-wrapper, #event_form_wrapper').show(); $('#id_title_wrapper').prepend('<span id="l2s" class="float-end"></span>'); - $('#l2s').html('<a href="' + resource.plink[0] + '" target="_blank"><i class="fa fa-external-link"></i> ' + resource.plink[1] + '</a>'); + $('#l2s').html('<a href="' + resource.plink[0] + '" target="_blank"><i class="bi bi-box-arrow-up-right"></i> ' + resource.plink[1] + '</a>'); event_id = resource.id; event_uri = resource.event_hash; @@ -411,7 +411,7 @@ function add_remove_json_source(source, color, editable, status) { var selector = '#calendar-btn-' + id; if(status === undefined) - status = 'fa-calendar-check-o'; + status = 'bi-calendar-check'; if(status === 'drop') { eventSource.remove(); @@ -419,16 +419,16 @@ function add_remove_json_source(source, color, editable, status) { return; } - if($(selector).hasClass('fa-calendar-o')) { + if($(selector).hasClass('bi-calendar')) { calendar.addEventSource({ id: id, url: source, color: color, editable: editable }); - $(selector).removeClass('fa-calendar-o'); + $(selector).removeClass('bi-calendar'); $(selector).addClass(status); $.get('/cdav/calendar/switch/' + id + '/1'); } else { eventSource.remove(); $(selector).removeClass(status); - $(selector).addClass('fa-calendar-o'); + $(selector).addClass('bi-calendar'); $.get('/cdav/calendar/switch/' + id + '/0'); } } @@ -559,11 +559,11 @@ function reset_form() { function on_more() { if($('#more_block').hasClass('open')) { - $('#event_more').html('<i class="fa fa-caret-down"></i> {{$more}}'); + $('#event_more').html('<i class="bi bi-caret-down"></i> {{$more}}'); $('#more_block').removeClass('open').hide(); } else { - $('#event_more').html('<i class="fa fa-caret-up"></i> {{$less}}'); + $('#event_more').html('<i class="bi bi-caret-up"></i> {{$less}}'); $('#more_block').addClass('open').show(); } } @@ -589,12 +589,12 @@ function exportDate() { <a class="dropdown-item" href="#" onclick="changeView('listDay'); return false;">{{$list_day}}</a> </div> <div class="btn-group"> - <button id="prev-btn" class="btn btn-outline-secondary btn-sm" title="{{$prev}}"><i class="fa fa-backward"></i></button> - <button id="today-btn" class="btn btn-outline-secondary btn-sm" title="{{$today}}"><span id="events-spinner" class="spinner s"></span><i class="fa fa-bullseye" style="display: none; width: 1rem;"></i></button> - <button id="next-btn" class="btn btn-outline-secondary btn-sm" title="{{$next}}"><i class="fa fa-forward"></i></button> + <button id="prev-btn" class="btn btn-outline-secondary btn-sm" title="{{$prev}}"><i class="bi bi-chevron-left"></i></button> + <button id="today-btn" class="btn btn-outline-secondary btn-sm" title="{{$today}}"><span id="events-spinner" class="spinner s"></span><i class="bi bi-crosshair" style="display: none; padding: 0.065rem;"></i></button> + <button id="next-btn" class="btn btn-outline-secondary btn-sm" title="{{$next}}"><i class="bi bi-chevron-right"></i></button> </div> - <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen();"><i class="fa fa-expand"></i></button> - <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false);"><i class="fa fa-compress"></i></button> + <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen();"><i class="bi bi-arrows-angle-expand"></i></button> + <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false);"><i class="bi bi-arrows-angle-contract"></i></button> </div> </div> <h2 id="title"></h2> @@ -643,8 +643,8 @@ function exportDate() { </div> <div class="mb-3"> <div class="float-end"> - <button id="event_more" type="button" class="btn btn-outline-secondary btn-sm"><i class="fa fa-caret-down"></i> {{$more}}</button> - <button id="dbtn-acl" class="btn btn-outline-secondary btn-sm d-none" type="button" data-bs-toggle="modal" data-bs-target="#aclModal"><i id="jot-perms-icon" class="fa fa-{{$lockstate}}"></i></button> + <button id="event_more" type="button" class="btn btn-outline-secondary btn-sm"><i class="bi bi-caret-down"></i> {{$more}}</button> + <button id="dbtn-acl" class="btn btn-outline-secondary btn-sm d-none" type="button" data-bs-toggle="modal" data-bs-target="#aclModal"><i id="jot-perms-icon" class="bi bi-{{$lockstate}}"></i></button> <button id="event_submit" type="button" value="" class="btn btn-primary btn-sm"></button> </div> diff --git a/view/tpl/cdav_widget_addressbook.tpl b/view/tpl/cdav_widget_addressbook.tpl index fdaa26710..54b0a84d5 100644 --- a/view/tpl/cdav_widget_addressbook.tpl +++ b/view/tpl/cdav_widget_addressbook.tpl @@ -3,11 +3,11 @@ {{foreach $addressbooks as $addressbook}} <div id="addressbook-{{$addressbook.id}}" class="ml-3"> <div class="mb-3"> - <i class="fa fa-user generic-icons"></i><a href="/cdav/addressbook/{{$addressbook.id}}">{{$addressbook.displayname}}</a> + <i class="bi bi-person generic-icons"></i><a href="/cdav/addressbook/{{$addressbook.id}}">{{$addressbook.displayname}}</a> <div class="float-end"> - <i id="edit-icon" class="fa fa-pencil fakelink generic-icons" onclick="openClose('edit-addressbook-{{$addressbook.id}}')"></i> - <a href="/cdav/addressbooks/{{$addressbook.ownernick}}/{{$addressbook.uri}}/?export"><i id="download-icon" class="fa fa-cloud-download fakelink generic-icons"></i></a> - <a href="#" onclick="dropItem('/cdav/addressbook/drop/{{$addressbook.id}}', '#addressbook-{{$addressbook.id}}'); return false;"><i class="fa fa-trash-o drop-icons"></i></a> + <i id="edit-icon" class="bi bi-pencil fakelink generic-icons" onclick="openClose('edit-addressbook-{{$addressbook.id}}')"></i> + <a href="/cdav/addressbooks/{{$addressbook.ownernick}}/{{$addressbook.uri}}/?export"><i id="download-icon" class="bi bi-download fakelink generic-icons"></i></a> + <a href="#" onclick="dropItem('/cdav/addressbook/drop/{{$addressbook.id}}', '#addressbook-{{$addressbook.id}}'); return false;"><i class="bi bi-trash drop-icons"></i></a> </div> </div> <div id="edit-addressbook-{{$addressbook.id}}" class="sub-menu" style="display: none;"> @@ -30,7 +30,7 @@ <h3>{{$tools_label}}</h3> <ul class="nav nav-pills flex-column"> <li class="nav-item"> - <a class="nav-link" href="#" onclick="openClose('create-addressbook'); return false;"><i class="fa fa-user-plus generic-icons"></i> {{$create_label}}</a> + <a class="nav-link" href="#" onclick="openClose('create-addressbook'); return false;"><i class="bi bi-person-plus generic-icons"></i> {{$create_label}}</a> </li> <div id="create-addressbook" class="sub-menu-wrapper"> <div class="sub-menu"> @@ -43,7 +43,7 @@ </div> </div> <li class="nav-item"> - <a class="nav-link" href="#" onclick="openClose('upload-form'); return false;"><i class="fa fa-cloud-upload generic-icons"></i> {{$import_label}}</a> + <a class="nav-link" href="#" onclick="openClose('upload-form'); return false;"><i class="bi bi-upload generic-icons"></i> {{$import_label}}</a> </li> <div id="upload-form" class="sub-menu-wrapper"> <div class="sub-menu"> diff --git a/view/tpl/cdav_widget_calendar.tpl b/view/tpl/cdav_widget_calendar.tpl index b076a3320..aff01197f 100644 --- a/view/tpl/cdav_widget_calendar.tpl +++ b/view/tpl/cdav_widget_calendar.tpl @@ -3,9 +3,9 @@ {{foreach $channel_calendars as $channel_calendar}} <div id="calendar-{{$channel_calendar.calendarid}}"> <div class="ml-3{{if !$channel_calendar@last}} mb-3{{/if}}"> - <i id="calendar-btn-{{$channel_calendar.calendarid}}" class="fa {{if $channel_calendar.switch}}fa-calendar-check-o{{else}}fa-calendar-o{{/if}} generic-icons cursor-pointer" onclick="add_remove_json_source('{{$channel_calendar.json_source}}', '{{$channel_calendar.color}}', {{$channel_calendar.editable}})" style="color: {{$channel_calendar.color}};"></i>{{$channel_calendar.displayname}} + <i id="calendar-btn-{{$channel_calendar.calendarid}}" class="bi {{if $channel_calendar.switch}}bi-calendar-check{{else}}bi-calendar{{/if}} generic-icons-nav cursor-pointer" onclick="add_remove_json_source('{{$channel_calendar.json_source}}', '{{$channel_calendar.color}}', {{$channel_calendar.editable}})" style="color: {{$channel_calendar.color}};"></i>{{$channel_calendar.displayname}} <div class="float-end"> - <a class="text-reset" href="#" onclick="exportDate(); return false;"><i id="download-icon" class="fa fa-cloud-download cursor-pointer generic-icons-right"></i></a> + <a class="text-reset" href="#" onclick="exportDate(); return false;"><i id="download-icon" class="bi bi-download cursor-pointer generic-icons-right"></i></a> </div> </div> </div> @@ -18,20 +18,20 @@ {{foreach $my_calendars as $calendar}} <div id="calendar-{{$calendar.calendarid}}"> <div class="ml-3{{if !$calendar@last}} mb-3{{/if}}"> - <i id="calendar-btn-{{$calendar.calendarid}}" class="fa {{if $calendar.switch}}fa-calendar-check-o{{else}}fa-calendar-o{{/if}} generic-icons cursor-pointer" onclick="add_remove_json_source('{{$calendar.json_source}}', '{{$calendar.color}}', {{$calendar.editable}})" style="color: {{$calendar.color}};"></i>{{$calendar.displayname}} + <i id="calendar-btn-{{$calendar.calendarid}}" class="bi {{if $calendar.switch}}bi-calendar-check{{else}}bi-calendar{{/if}} generic-icons-nav cursor-pointer" onclick="add_remove_json_source('{{$calendar.json_source}}', '{{$calendar.color}}', {{$calendar.editable}})" style="color: {{$calendar.color}};"></i>{{$calendar.displayname}} <div class="float-end"> - <i id="edit-icon" class="fa fa-pencil cursor-pointer generic-icons" onclick="openClose('edit-calendar-{{$calendar.calendarid}}')"></i> - <a class="text-reset" href="/cdav/calendars/{{$calendar.ownernick}}/{{$calendar.uri}}/?export"><i id="download-icon" class="fa fa-cloud-download cursor-pointer generic-icons"></i></a> - <i id="share-icon" class="fa fa-share-alt cursor-pointer generic-icons" onclick="openClose('share-calendar-{{$calendar.calendarid}}')"></i> - <a class="text-reset" href="#" onclick="var drop = dropItem('/cdav/calendar/drop/{{$calendar.calendarid}}/{{$calendar.instanceid}}', '#calendar-{{$calendar.calendarid}}'); if(drop) { add_remove_json_source('{{$calendar.json_source}}', '{{$calendar.color}}', {{$calendar.editable}}, 'drop'); } return false;"><i class="fa fa-trash-o drop-icons"></i></a> + <i id="edit-icon" class="bi bi-pencil cursor-pointer generic-icons-right" onclick="openClose('edit-calendar-{{$calendar.calendarid}}')"></i> + <a class="text-reset" href="/cdav/calendars/{{$calendar.ownernick}}/{{$calendar.uri}}/?export"><i id="download-icon" class="bi bi-download cursor-pointer generic-icons-right"></i></a> + <i id="share-icon" class="bi bi-share cursor-pointer generic-icons-right" onclick="openClose('share-calendar-{{$calendar.calendarid}}')"></i> + <a class="text-reset" href="#" onclick="var drop = dropItem('/cdav/calendar/drop/{{$calendar.calendarid}}/{{$calendar.instanceid}}', '#calendar-{{$calendar.calendarid}}'); if(drop) { add_remove_json_source('{{$calendar.json_source}}', '{{$calendar.color}}', {{$calendar.editable}}, 'drop'); } return false;"><i class="bi bi-trash generic-icons-right"></i></a> </div> <div id="share-calendar-{{$calendar.calendarid}}" class="sub-menu" style="display: none; border-color: {{$calendar.color}};"> {{if $calendar.sharees}} {{foreach $calendar.sharees as $sharee}} <div id="sharee-{{$calendar.calendarid}}-{{$sharee@iteration}}" class="mb-3"> - <i class="fa fa-share generic-icons"></i>{{$sharee.name}} {{$sharee.access}} + <i class="bi bi-share generic-icons-right"></i>{{$sharee.name}} {{$sharee.access}} <div class="float-end"> - <a class="text-reset" href="#" onclick="dropItem('/cdav/calendar/dropsharee/{{$calendar.calendarid}}/{{$calendar.instanceid}}/{{$sharee.hash}}', '#sharee-{{$calendar.calendarid}}-{{$sharee@iteration}}'); return false;"><i class="fa fa-trash-o drop-icons"></i></a> + <a class="text-reset" href="#" onclick="dropItem('/cdav/calendar/dropsharee/{{$calendar.calendarid}}/{{$calendar.instanceid}}/{{$sharee.hash}}', '#sharee-{{$calendar.calendarid}}-{{$sharee@iteration}}'); return false;"><i class="bi bi-trash generic-icons-right"></i></a> </div> </div> {{/foreach}} @@ -80,10 +80,10 @@ <h3>{{$shared_calendars_label}}</h3> {{foreach $shared_calendars as $calendar}} <div id="shared-calendar-{{$calendar.calendarid}}" class="ml-3{{if !$calendar@last}} mb-3{{/if}}"> - <i id="calendar-btn-{{$calendar.calendarid}}" class="fa {{if $calendar.switch}}{{if $calendar.access == 'read-write'}}fa-calendar-check-o{{else}}fa-calendar-times-o{{/if}}{{else}}fa-calendar-o{{/if}} generic-icons cursor-pointer" onclick="add_remove_json_source('{{$calendar.json_source}}', '{{$calendar.color}}', {{$calendar.editable}}, {{if $calendar.access == 'read-write'}}'fa-calendar-check-o'{{else}}'fa-calendar-times-o'{{/if}})" style="color: {{$calendar.color}};"></i>{{$calendar.displayname}} ({{$calendar.sharer}}) + <i id="calendar-btn-{{$calendar.calendarid}}" class="bi {{if $calendar.switch}}{{if $calendar.access == 'read-write'}}bi-calendar-check{{else}}bi-calendar-x{{/if}}{{else}}bi-calendar{{/if}} generic-icons-nav cursor-pointer" onclick="add_remove_json_source('{{$calendar.json_source}}', '{{$calendar.color}}', {{$calendar.editable}}, {{if $calendar.access == 'read-write'}}'bi-calendar-check'{{else}}'bi-calendar-x'{{/if}})" style="color: {{$calendar.color}};"></i>{{$calendar.displayname}} ({{$calendar.sharer}}) <div class="float-end"> - <a class="text-reset" href="/cdav/calendars/{{$calendar.ownernick}}/{{$calendar.uri}}/?export"><i id="download-icon" class="fa fa-cloud-download cursor-pointer generic-icons"></i></a> - <a class="text-reset" href="#" onclick="var drop = dropItem('/cdav/calendar/drop/{{$calendar.calendarid}}/{{$calendar.instanceid}}', '#shared-calendar-{{$calendar.calendarid}}'); if(drop) { add_remove_json_source('{{$calendar.json_source}}', '{{$calendar.color}}', {{$calendar.editable}}, 'drop'); } return false;"><i class="fa fa-trash-o drop-icons"></i></a> + <a class="text-reset" href="/cdav/calendars/{{$calendar.ownernick}}/{{$calendar.uri}}/?export"><i id="download-icon" class="bi bi-download cursor-pointer generic-icons-right"></i></a> + <a class="text-reset" href="#" onclick="var drop = dropItem('/cdav/calendar/drop/{{$calendar.calendarid}}/{{$calendar.instanceid}}', '#shared-calendar-{{$calendar.calendarid}}'); if(drop) { add_remove_json_source('{{$calendar.json_source}}', '{{$calendar.color}}', {{$calendar.editable}}, 'drop'); } return false;"><i class="bi bi-trash generic-icons-right"></i></a> </div> </div> {{/foreach}} @@ -94,7 +94,7 @@ <h3>{{$tools_label}}</h3> <div class="nav nav-pills flex-column"> <li class="nav-item"> - <a class="nav-link text-reset" href="#" onclick="openClose('create-calendar'); return false;"><i class="fa fa-calendar-plus-o generic-icons"></i> {{$create_label}}</a> + <a class="nav-link text-reset" href="#" onclick="openClose('create-calendar'); return false;"><i class="bi bi-calendar-plus generic-icons-nav"></i> {{$create_label}}</a> </li> <div id="create-calendar" class="sub-menu-wrapper"> <div class="sub-menu"> @@ -111,7 +111,7 @@ </div> </div> <li class="nav-item"> - <a class="nav-link text-reset" href="#" onclick="openClose('upload-form'); return false;"><i class="fa fa-cloud-upload generic-icons"></i> {{$import_label}}</a> + <a class="nav-link text-reset" href="#" onclick="openClose('upload-form'); return false;"><i class="bi bi-upload generic-icons-nav"></i> {{$import_label}}</a> </li> <div id="upload-form" class="sub-menu-wrapper"> <div class="sub-menu"> diff --git a/view/tpl/channel.tpl b/view/tpl/channel.tpl index 04278fbf4..ade8e5126 100644 --- a/view/tpl/channel.tpl +++ b/view/tpl/channel.tpl @@ -3,11 +3,11 @@ {{if $channel.default_links}} {{if $channel.default}} <div> - <i class="fa fa-check-square-o"></i> {{$msg_default}} + <i class="bi bi-check-square"></i> {{$msg_default}} </div> {{else}} <a href="manage/{{$channel.channel_id}}/default" class="make-default-link"> - <i class="fa fa-square-o"></i> {{$msg_make_default}} + <i class="bi bi-square"></i> {{$msg_make_default}} </a> {{/if}} {{/if}} @@ -17,10 +17,10 @@ </div> <h3> {{if $selected == $channel.channel_id}} - <i class="fa fa-circle text-success" title="{{$msg_selected}}"></i> + <i class="bi bi-circle-fill text-success" title="{{$msg_selected}}"></i> {{/if}} {{if $channel.delegate}} - <i class="fa fa-arrow-circle-right" title="{{$delegated_desc}}"></i> + <i class="bi fa-arrow-circle-right" title="{{$delegated_desc}}"></i> {{/if}} {{if $selected != $channel.channel_id}}<a href="{{$channel.link}}" title="{{$channel.channel_name}}">{{/if}} {{$channel.channel_name}} @@ -37,7 +37,7 @@ <div class="channel-notifications-wrapper"> {{if !$channel.delegate}} <div class="channel-notification"> - <i class="fa fa-fw fa-user{{if $channel.intros != 0}} text-danger{{/if}}"></i> + <i class="bi bi-person{{if $channel.intros != 0}} text-danger{{/if}}"></i> {{if $channel.intros != 0}}<a href='manage/{{$channel.channel_id}}/connections/ifpending'>{{/if}}{{$channel.intros|string_format:$intros_format}}{{if $channel.intros != 0}}</a>{{/if}} </div> {{/if}} diff --git a/view/tpl/channel_activities.tpl b/view/tpl/channel_activities.tpl index 3ec37e235..72c654b60 100644 --- a/view/tpl/channel_activities.tpl +++ b/view/tpl/channel_activities.tpl @@ -1,5 +1,5 @@ <div class="mb-1 text-uppercase"> - <a href="{{$url}}"><i class="fa fa-fw fa-{{$icon}} generic-icons-nav"></i>{{$label}}</a> + <a href="{{$url}}"><i class="bi bi-{{$icon}} generic-icons-nav"></i>{{$label}}</a> </div> <div class="row row-cols-1 row-cols-sm-3 g-4 mb-4"> {{foreach $items as $i}} diff --git a/view/tpl/channel_activities_photos.tpl b/view/tpl/channel_activities_photos.tpl index cba157627..171b511d7 100644 --- a/view/tpl/channel_activities_photos.tpl +++ b/view/tpl/channel_activities_photos.tpl @@ -1,5 +1,5 @@ <div class="mb-1 text-uppercase"> - <a href="{{$url}}"><i class="fa fa-fw fa-{{$icon}} generic-icons-nav"></i>{{$label}}</a> + <a href="{{$url}}"><i class="bi bi-{{$icon}} generic-icons-nav"></i>{{$label}}</a> </div> <div id="photo-album" class="mb-4"> {{foreach $items as $i}} diff --git a/view/tpl/channels.tpl b/view/tpl/channels.tpl index 60bc85933..92cd9dd8c 100644 --- a/view/tpl/channels.tpl +++ b/view/tpl/channels.tpl @@ -1,6 +1,6 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper"> - <a class="btn btn-success btn-sm float-end" href="{{$create.0}}" title="{{$create.1}}"><i class="fa fa-plus-circle"></i> {{$create.2}}</a> + <a class="btn btn-success btn-sm float-end" href="{{$create.0}}" title="{{$create.1}}"><i class="bi bi-plus-lg"></i> {{$create.2}}</a> <h2>{{$header}}</h2> </div> <div class="section-content-wrapper-np"> diff --git a/view/tpl/chat.tpl b/view/tpl/chat.tpl index a0e528894..620839ec8 100644 --- a/view/tpl/chat.tpl +++ b/view/tpl/chat.tpl @@ -5,11 +5,11 @@ <form id="chat-destroy" method="post" action="chat"> <input type="hidden" name="room_name" value="{{$room_name}}" /> <input type="hidden" name="action" value="drop" /> - <button class="btn btn-danger btn-sm" type="submit" name="submit" value="{{$drop}}" onclick="return confirmDelete();"><i class="fa fa-trash-o"></i> {{$drop}}</button> + <button class="btn btn-danger btn-sm" type="submit" name="submit" value="{{$drop}}" onclick="return confirmDelete();"><i class="bi bi-trash"></i> {{$drop}}</button> </form> {{/if}} - <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(); adjustFullscreenTopBarHeight();"><i class="fa fa-expand"></i></button> - <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false); adjustInlineTopBarHeight();"><i class="fa fa-compress"></i></button> + <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(); adjustFullscreenTopBarHeight();"><i class="bi fa-expand"></i></button> + <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false); adjustInlineTopBarHeight();"><i class="bi fa-compress"></i></button> </div> <h2>{{$room_name}}</h2> <div class="clear"></div> @@ -30,60 +30,60 @@ </div> <div id="chat-submit-wrapper" class="clearfix"> <div id="chat-submit" class="dropup float-end"> - <button class="btn btn-outline-secondary btn-sm dropdown-toggle" type="button" data-bs-toggle="dropdown"><i class="fa fa-cog"></i></button> + <button class="btn btn-outline-secondary btn-sm dropdown-toggle" type="button" data-bs-toggle="dropdown"><i class="bi bi-gear"></i></button> <button class="btn btn-primary btn-sm" type="submit" id="chat-submit" name="submit" value="{{$submit}}">{{$submit}}</button> <div class="dropdown-menu dropdown-menu-end"> - <a class="dropdown-item" href="{{$baseurl}}/chatsvc?f=&room_id={{$room_id}}&status=online"><i class="fa fa-circle online"></i> {{$online}}</a> - <a class="dropdown-item" href="{{$baseurl}}/chatsvc?f=&room_id={{$room_id}}&status=away"><i class="fa fa-circle away"></i> {{$away}}</a> - <a class="dropdown-item" href="{{$baseurl}}/chat/{{$nickname}}/{{$room_id}}/leave"><i class="fa fa-circle leave"></i> {{$leave}}</a> + <a class="dropdown-item" href="{{$baseurl}}/chatsvc?f=&room_id={{$room_id}}&status=online"><i class="bi bi-circle-fill online"></i> {{$online}}</a> + <a class="dropdown-item" href="{{$baseurl}}/chatsvc?f=&room_id={{$room_id}}&status=away"><i class="bi bi-circle-fill away"></i> {{$away}}</a> + <a class="dropdown-item" href="{{$baseurl}}/chat/{{$nickname}}/{{$room_id}}/leave"><i class="bi bi-circle-fill leave"></i> {{$leave}}</a> <div class="dropdown-divider"></div> - <a id="toggle-notifications" class="dropdown-item" href="" onclick="toggleChatNotifications(); return false;"><i id="toggle-notifications-icon" class="fa fa-bell-slash-o"></i> Toggle notifications</a> - <a id="toggle-notifications-audio" class="dropdown-item disabled" href="" onclick="toggleChatNotificationAudio(); return false;"><i id="toggle-notifications-audio-icon" class="fa fa-volume-off"></i> Toggle sound</a> + <a id="toggle-notifications" class="dropdown-item" href="" onclick="toggleChatNotifications(); return false;"><i id="toggle-notifications-icon" class="bi fa-bell-slash-o"></i> Toggle notifications</a> + <a id="toggle-notifications-audio" class="dropdown-item disabled" href="" onclick="toggleChatNotificationAudio(); return false;"><i id="toggle-notifications-audio-icon" class="bi fa-volume-off"></i> Toggle sound</a> {{if $bookmark_link}} <div class="dropdown-divider"></div> - <a class="dropdown-item" href="{{$bookmark_link}}" target="_blank" ><i class="fa fa-bookmark"></i> {{$bookmark}}</a> + <a class="dropdown-item" href="{{$bookmark_link}}" target="_blank" ><i class="bi fa-bookmark"></i> {{$bookmark}}</a> {{/if}} </div> </div> <div id="chat-tools" class="btn-toolbar"> <div class="btn-group me-2"> <button id="main-editor-bold" class="btn btn-outline-secondary btn-sm" title="{{$bold}}" onclick="inserteditortag('b', 'chatText'); return false;"> - <i class="fa fa-bold jot-icons"></i> + <i class="bi bi-type-bold jot-icons"></i> </button> <button id="main-editor-italic" class="btn btn-outline-secondary btn-sm" title="{{$italic}}" onclick="inserteditortag('i', 'chatText'); return false;"> - <i class="fa fa-italic jot-icons"></i> + <i class="bi bi-type-italic jot-icons"></i> </button> <button id="main-editor-underline" class="btn btn-outline-secondary btn-sm" title="{{$underline}}" onclick="inserteditortag('u', 'chatText'); return false;"> - <i class="fa fa-underline jot-icons"></i> + <i class="bi bi-type-underline jot-icons"></i> </button> <button id="main-editor-quote" class="btn btn-outline-secondary btn-sm" title="{{$quote}}" onclick="inserteditortag('quote', 'chatText'); return false;"> - <i class="fa fa-quote-left jot-icons"></i> + <i class="bi bi-quote jot-icons"></i> </button> <button id="main-editor-code" class="btn btn-outline-secondary btn-sm" title="{{$code}}" onclick="inserteditortag('code', 'chatText'); return false;"> - <i class="fa fa-terminal jot-icons"></i> + <i class="bi bi-code jot-icons"></i> </button> </div> <div class="btn-group me-2 d-none d-md-flex"> <button id="chat-link-wrapper" class="btn btn-outline-secondary btn-sm" onclick="chatJotGetLink(); return false;" > - <i id="chat-link" class="fa fa-link jot-icons" title="{{$insert}}" ></i> + <i id="chat-link" class="bi bi-link-45deg jot-icons" title="{{$insert}}" ></i> </button> </div> {{if $feature_encrypt}} <div class="btn-group me-2 d-none d-md-flex"> <button id="chat-encrypt-wrapper" class="btn btn-outline-secondary btn-sm" onclick="sodium_encrypt('#chatText'); return false;"> - <i id="chat-encrypt" class="fa fa-key jot-icons" title="{{$encrypt}}" ></i> + <i id="chat-encrypt" class="bi bi-key jot-icons" title="{{$encrypt}}" ></i> </button> </div> {{/if}} <div class="btn-group dropup d-md-none"> <button type="button" id="more-tools" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> - <i id="more-tools-icon" class="fa fa-cog jot-icons"></i> + <i id="more-tools-icon" class="bi bi-gear jot-icons"></i> </button> <div class="dropdown-menu"> - <a class="dropdown-item" href="#" onclick="chatJotGetLink(); return false;" ><i class="fa fa-link"></i> {{$insert}}</a> + <a class="dropdown-item" href="#" onclick="chatJotGetLink(); return false;" ><i class="bi bi-link-45deg"></i> {{$insert}}</a> {{if $feature_encrypt}} <div class="dropdown-divider"></div> - <a class="dropdown-item" href="#" onclick="sodium_encrypt('#chatText'); return false;"><i class="fa fa-key"></i> {{$encrypt}}</a> + <a class="dropdown-item" href="#" onclick="sodium_encrypt('#chatText'); return false;"><i class="bi bi-key"></i> {{$encrypt}}</a> {{/if}} </div> </div> diff --git a/view/tpl/chatroom_new.tpl b/view/tpl/chatroom_new.tpl index 2977563f9..c2eac418a 100644 --- a/view/tpl/chatroom_new.tpl +++ b/view/tpl/chatroom_new.tpl @@ -3,7 +3,7 @@ {{include file="field_input.tpl" field=$name}} {{include file="field_input.tpl" field=$chat_expire}} <div class="btn-group float-end"> - <button id="dbtn-acl" class="btn btn-outline-secondary" data-bs-toggle="modal" data-bs-target="#aclModal" title="{{$permissions}}" onclick="return false;" ><i id="jot-perms-icon" class="fa fa-{{$lockstate}}"></i></button> + <button id="dbtn-acl" class="btn btn-outline-secondary" data-bs-toggle="modal" data-bs-target="#aclModal" title="{{$permissions}}" onclick="return false;" ><i id="jot-perms-icon" class="bi bi-{{$lockstate}}"></i></button> <button id="dbtn-submit" class="acl-submit btn btn-primary" type="submit" name="submit" value="{{$submit}}" data-formid="chatroom-new-form">{{$submit}}</button> </div> <div class="clear"></div> diff --git a/view/tpl/chatrooms.tpl b/view/tpl/chatrooms.tpl index 88c42882c..7948152f6 100644 --- a/view/tpl/chatrooms.tpl +++ b/view/tpl/chatrooms.tpl @@ -1,7 +1,7 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper clearfix"> {{if $is_owner}} - <button type="button" class="btn btn-success btn-sm float-end acl-form-trigger" onclick="openClose('chatroom-new');" data-form_id="chatroom-new-form"><i class="fa fa-plus-circle"></i> {{$newroom}}</button> + <button type="button" class="btn btn-success btn-sm float-end acl-form-trigger" onclick="openClose('chatroom-new');" data-form_id="chatroom-new-form"><i class="bi bi-plus-lg"></i> {{$newroom}}</button> {{/if}} <h2>{{$header}}</h2> </div> @@ -23,7 +23,7 @@ <td>{{$room.cr_expire}} min</td> <td class="chatrooms-index-tool{{if $room.allow_cid || $room.allow_gid || $room.deny_cid || $room.deny_gid}} dropdown float-end{{/if}}"> {{if $room.allow_cid || $room.allow_gid || $room.deny_cid || $room.deny_gid}} - <i class="fa fa-lock lockview" data-bs-toggle="dropdown" onclick="lockview('chatroom',{{$room.cr_id}});"></i> + <i class="bi bi-lock lockview" data-bs-toggle="dropdown" onclick="lockview('chatroom',{{$room.cr_id}});"></i> <ul id="panel-{{$room.cr_id}}" class="lockview-panel dropdown-menu"></ul> {{/if}} </td> diff --git a/view/tpl/cloud_actionspanel.tpl b/view/tpl/cloud_actionspanel.tpl index 53e509a83..67e95177d 100644 --- a/view/tpl/cloud_actionspanel.tpl +++ b/view/tpl/cloud_actionspanel.tpl @@ -11,7 +11,7 @@ <div class="btn-group"> {{if $lockstate}} <button class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" type="button"> - <i class="jot-perms-icon fa fa-{{$lockstate}}"></i> + <i class="jot-perms-icon bi bi-{{$lockstate}}"></i> </button> {{/if}} <button class="btn btn-primary btn-sm float-end" type="submit" value="{{$folder_submit}}">{{$folder_submit}}</button> @@ -37,7 +37,7 @@ <div class="btn-group"> {{if $lockstate}} <button class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" type="button"> - <i class="jot-perms-icon fa fa-{{$lockstate}}"></i> + <i class="jot-perms-icon bi bi-{{$lockstate}}"></i> </button> {{/if}} <button id="upload-submit" class="btn btn-primary btn-sm float-end">{{$upload_submit}}</button> diff --git a/view/tpl/cloud_directory.tpl b/view/tpl/cloud_directory.tpl index 9b8d85ab4..ec2d1afe1 100644 --- a/view/tpl/cloud_directory.tpl +++ b/view/tpl/cloud_directory.tpl @@ -9,7 +9,7 @@ <div class="card h-100"> <a href="{{$parentpath}}" class="text-decoration-none"> <div class="d-flex align-items-center justify-content-center m-1" style="height: 4.5rem;"> - <i class="fa fa-fw fa-level-up fa-5x" style="font-size: 4rem"></i> + <i class="bi bi-arrow-90deg-up" style="font-size: 4rem"></i> </div> <div class="card-footer text-center"> <small class="text-muted text-truncate">..</small> @@ -26,7 +26,7 @@ {{if $item.photo_icon}} <img src="{{$item.photo_icon}}" class="rounded" alt="{{$item.photo_icon}}" title="{{$item.size_formatted}}" style="max-height: 4rem; width: auto; max-width: 100%;"> {{else}} - <i class="fa fa-fw {{$item.icon_from_type}}" title="{{$item.size_formatted}}" style="font-size: 4rem"></i> + <i class="bi {{$item.icon_from_type}}" title="{{$item.size_formatted}}" style="font-size: 4rem"></i> {{/if}} </div> <div class="card-footer text-truncate text-center"> @@ -52,7 +52,7 @@ {{if $parentpath}} <tr id="cloud-index-up" class="cloud-index{{if ! $is_root_folder}} attach-drop{{/if}}"{{if ! $is_root_folder}} data-folder="{{$folder_parent}}"/{{/if}}> <td></td> - <td><i class="fa fa-level-up"></i></td> + <td><i class="bi bi-arrow-90deg-up"></i></td> <td colspan="6"><a href="{{$parentpath}}" title="{{$parent}}" class="p-2" draggable="false">..</a></td> </tr> <tr class="cloud-tools"> @@ -75,25 +75,25 @@ {{if $is_owner}} <div class="dropdown"> <button class="btn btn-warning btn-sm" id="multi-dropdown-button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-fw fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">{{$bulk_actions_label}}</span> + <i class="bi fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">{{$bulk_actions_label}}</span> </button> <div class="dropdown-menu dropdown-menu-end" aria-labelledby="dropdown-button"> {{if $is_owner}} - <a id="cloud-multi-tool-perms-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-lock"></i> {{$adjust_permissions_label}}</a> + <a id="cloud-multi-tool-perms-btn" class="dropdown-item" href="#"><i class="bi bi-lock"></i> {{$adjust_permissions_label}}</a> {{/if}} - <a id="cloud-multi-tool-move-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-copy"></i> {{$move_copy_label}}</a> - <a id="cloud-multi-tool-categories-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-asterisk"></i> {{$categories_label}}</a> - <a id="cloud-multi-tool-download-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a> - <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-trash-o"></i> {{$delete_label}}</a> + <a id="cloud-multi-tool-move-btn" class="dropdown-item" href="#"><i class="bi fa-copy"></i> {{$move_copy_label}}</a> + <a id="cloud-multi-tool-categories-btn" class="dropdown-item" href="#"><i class="bi fa-asterisk"></i> {{$categories_label}}</a> + <a id="cloud-multi-tool-download-btn" class="dropdown-item" href="#"><i class="bi bi-download"></i> {{$download_label}}</a> + <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="bi bi-trash"></i> {{$delete_label}}</a> </div> </div> {{else if $is_admin}} <div class="dropdown"> <button class="btn btn-warning btn-sm" id="multi-dropdown-button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-fw fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">{{$bulk_actions_label}}</span> + <i class="bi fa-ellipsis-v d-table-cell"></i><span class="d-none d-md-table-cell">{{$bulk_actions_label}}</span> </button> <div class="dropdown-menu dropdown-menu-end" aria-labelledby="dropdown-button"> - <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="fa fa-fw fa-trash-o"></i> {{$admin_delete_label}}</a> + <a id="cloud-multi-tool-delete-btn" class="dropdown-item" href="#"><i class="bi bi-trash"></i> {{$admin_delete_label}}</a> </div> </div> {{/if}} @@ -123,7 +123,7 @@ <div id="attach-multi-edit-perms" class="btn-group float-end"> {{if $is_owner}} <button id="multi-dbtn-acl" class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" title="{{$permset}}" type="button"> - <i id="multi-jot-perms-icon" class="fa fa-{{$lockstate}} jot-icons jot-perms-icon"></i> + <i id="multi-jot-perms-icon" class="bi bi-{{$lockstate}} jot-icons jot-perms-icon"></i> </button> {{/if}} <button id="multi-dbtn-submit" class="btn btn-primary btn-sm" type="submit" name="submit"> @@ -146,12 +146,12 @@ </div> {{/if}} </td> - <td><i class="fa {{$item.icon_from_type}}" title="{{$item.type}}"></i></td> + <td><i class="bi {{$item.icon_from_type}} generic-icons" title="{{$item.type}}"></i></td> <td><a href="{{$item.rel_path}}" class="p-2" draggable="false">{{$item.name}}</a></td> <td>{{$item.terms}}</td> <td class="cloud-index-tool p-2"> {{if $item.lockstate == 'lock'}} - <i class="fa fa-lock lockview" data-bs-toggle="dropdown" onclick="lockview('attach',{{$item.attach_id}});"></i> + <i class="bi bi-lock lockview" data-bs-toggle="dropdown" onclick="lockview('attach',{{$item.attach_id}});"></i> <ul id="panel-{{$item.attach_id}}" class="lockview-panel dropdown-menu dropdown-menu-end"></ul> {{/if}} </td> @@ -159,41 +159,41 @@ {{if ($is_owner || ($item.is_creator && $has_perms)) && $item.attach_id}} <div class="dropdown"> <button class="btn btn-link btn-sm" id="dropdown-button-{{$item.attach_id}}" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-fw fa-ellipsis-v"></i> + <i class="bi bi-three-dots-vertical"></i> </button> <div class="dropdown-menu dropdown-menu-end" aria-labelledby="dropdown-button-{{$item.attach_id}}"> - <a id="cloud-tool-info-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-info-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-info"></i> {{$info_label}}</a> + <a id="cloud-tool-info-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-info-btn" href="#" data-id="{{$item.attach_id}}"><i class="bi bi-info-lg generic-icons-nav"></i>{{$info_label}}</a> {{if $is_owner}} - <a id="cloud-tool-perms-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-perms-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-{{$item.lockstate}}"></i> {{$adjust_permissions_label}}</a> + <a id="cloud-tool-perms-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-perms-btn" href="#" data-id="{{$item.attach_id}}"><i class="bi bi-{{$item.lockstate}} generic-icons-nav"></i>{{$adjust_permissions_label}}</a> {{/if}} - <a id="cloud-tool-rename-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-rename-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-pencil"></i> {{$rename_label}}</a> - <a id="cloud-tool-move-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-move-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-copy"></i> {{$move_copy_label}}</a> - <a id="cloud-tool-categories-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-categories-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-asterisk"></i> {{$categories_label}}</a> + <a id="cloud-tool-rename-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-rename-btn" href="#" data-id="{{$item.attach_id}}"><i class="bi bi-pencil generic-icons-nav"></i>{{$rename_label}}</a> + <a id="cloud-tool-move-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-move-btn" href="#" data-id="{{$item.attach_id}}"><i class="bi bi-copy generic-icons-nav"></i>{{$move_copy_label}}</a> + <a id="cloud-tool-categories-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-categories-btn" href="#" data-id="{{$item.attach_id}}"><i class="bi bi-asterisk generic-icons-nav"></i>{{$categories_label}}</a> {{if $item.collection}} - <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a> + <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="bi bi-download generic-icons-nav"></i>{{$download_label}}</a> {{else}} {{if $is_owner}} - <a id="cloud-tool-share-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-share-btn" href="/rpost?attachment=[attachment]{{$item.resource}},{{$item.revision}}[/attachment]" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-share-square-o"></i> {{$post_label}}</a> + <a id="cloud-tool-share-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-share-btn" href="/rpost?attachment=[attachment]{{$item.resource}},{{$item.revision}}[/attachment]" data-id="{{$item.attach_id}}"><i class="bi bi-arrow-90deg-right generic-icons-nav"></i>{{$post_label}}</a> {{/if}} - <a download="{{$item.name}}" id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a> + <a download="{{$item.name}}" id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="bi bi-download generic-icons-nav"></i>{{$download_label}}</a> {{/if}} - <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-trash-o"></i> {{$delete_label}}</a> + <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="bi bi-trash generic-icons-nav"></i>{{$delete_label}}</a> </div> </div> {{else}} {{if $is_admin || $item.attach_id}} <div class="dropdown"> <button class="btn btn-link btn-sm" id="dropdown-button-{{$item.attach_id}}" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-fw fa-ellipsis-v"></i> + <i class="bi bi-three-dots-vertical"></i> </button> <div class="dropdown-menu dropdown-menu-end" aria-labelledby="dropdown-button-{{$item.attach_id}}"> {{if $item.collection}} - <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a> + <a id="cloud-tool-dir-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-dir-download-btn" href="#" data-id="{{$item.attach_id}}"><i class="bi bi-download"></i> {{$download_label}}</a> {{else}} - <a id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-cloud-download"></i> {{$download_label}}</a> + <a id="cloud-tool-download-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-download-btn" href="/attach/{{$item.resource}}" data-id="{{$item.attach_id}}"><i class="bi bi-download"></i> {{$download_label}}</a> {{/if}} {{if $is_admin}} - <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="fa fa-fw fa-trash-o"></i> {{$admin_delete_label}}</a> + <a id="cloud-tool-delete-btn-{{$item.attach_id}}" class="dropdown-item cloud-tool-delete-btn" href="#" data-id="{{$item.attach_id}}"><i class="bi bi-trash"></i> {{$admin_delete_label}}</a> {{/if}} </div> </div> @@ -255,7 +255,7 @@ <div id="attach-edit-perms-{{$item.attach_id}}" class="btn-group float-end"> {{if $is_owner}} <button id="dbtn-acl-{{$item.attach_id}}" class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" title="{{$permset}}" type="button"> - <i id="jot-perms-icon-{{$item.attach_id}}" class="fa fa-{{$item.lockstate}} jot-icons jot-perms-icon"></i> + <i id="jot-perms-icon-{{$item.attach_id}}" class="bi bi-{{$item.lockstate}} jot-icons jot-perms-icon"></i> </button> {{/if}} <button id="dbtn-submit-{{$item.attach_id}}" class="btn btn-primary btn-sm" type="submit" name="submit"> diff --git a/view/tpl/cloud_header.tpl b/view/tpl/cloud_header.tpl index 48ada325f..43645a9f5 100644 --- a/view/tpl/cloud_header.tpl +++ b/view/tpl/cloud_header.tpl @@ -1,12 +1,12 @@ <div class="section-title-wrapper"> <div class="float-end"> - <a href="cloud_tiles/{{$cpath}}" class="btn btn-sm btn-outline-secondary"><i class="fa fa-fw {{if $tiles}}fa-th-list{{else}}fa-th-large{{/if}}"></i></a> + <a href="cloud_tiles/{{$cpath}}" class="btn btn-sm btn-outline-secondary"><i class="bi {{if $tiles}}bi-list{{else}}bi-grid{{/if}}"></i></a> {{if $actionspanel}} {{if $is_owner}} - <a href="/sharedwithme" class="btn btn-sm btn-outline-secondary"><i class="fa fa-cloud-download"></i> {{$shared}}</a> + <a href="/sharedwithme" class="btn btn-sm btn-outline-secondary"><i class="bi bi-download"></i> {{$shared}}</a> {{/if}} - <button id="files-create-btn" class="btn btn-sm btn-primary" onclick="openClose('files-mkdir-tools'); closeMenu('files-upload-tools');"><i class="fa fa-folder-o"></i> {{$create}}</button> - <button id="files-upload-btn" class="btn btn-sm btn-success" onclick="openClose('files-upload-tools'); closeMenu('files-mkdir-tools');"><i class="fa fa-plus-circle"></i> {{$upload}}</button> + <button id="files-create-btn" class="btn btn-sm btn-primary" onclick="openClose('files-mkdir-tools'); closeMenu('files-upload-tools');"><i class="bi bi-folder"></i> {{$create}}</button> + <button id="files-upload-btn" class="btn btn-sm btn-success" onclick="openClose('files-upload-tools'); closeMenu('files-mkdir-tools');"><i class="bi bi-plus-lg"></i> {{$upload}}</button> {{/if}} </div> diff --git a/view/tpl/comment_item.tpl b/view/tpl/comment_item.tpl index 891d901c9..76b756846 100644 --- a/view/tpl/comment_item.tpl +++ b/view/tpl/comment_item.tpl @@ -23,35 +23,35 @@ <div id="comment-edit-bb-{{$id}}" class="btn-toolbar float-start"> <div class="btn-group me-2"> <button class="btn btn-outline-secondary btn-sm border-0" title="{{$edbold}}" onclick="insertbbcomment('{{$comment}}','b', {{$id}}); return false;"> - <i class="fa fa-bold comment-icon"></i> + <i class="bi bi-type-bold comment-icon"></i> </button> <button class="btn btn-outline-secondary btn-sm border-0" title="{{$editalic}}" onclick="insertbbcomment('{{$comment}}','i', {{$id}}); return false;"> - <i class="fa fa-italic comment-icon"></i> + <i class="bi bi-type-italic comment-icon"></i> </button> <button class="btn btn-outline-secondary btn-sm border-0" title="{{$eduline}}" onclick="insertbbcomment('{{$comment}}','u', {{$id}}); return false;"> - <i class="fa fa-underline comment-icon"></i> + <i class="bi bi-type-underline comment-icon"></i> </button> <button class="btn btn-outline-secondary btn-sm border-0" title="{{$edquote}}" onclick="insertbbcomment('{{$comment}}','quote', {{$id}}); return false;"> - <i class="fa fa-quote-left comment-icon"></i> + <i class="bi bi-quote comment-icon"></i> </button> <button class="btn btn-outline-secondary btn-sm border-0" title="{{$edcode}}" onclick="insertbbcomment('{{$comment}}','code', {{$id}}); return false;"> - <i class="fa fa-terminal comment-icon"></i> + <i class="bi bi-code comment-icon"></i> </button> </div> <div class="btn-group me-2"> {{if $can_upload}} <button class="btn btn-outline-secondary btn-sm border-0" title="{{$edatt}}" onclick="insertCommentAttach('{{$comment}}',{{$id}}); return false;"> - <i class="fa fa-paperclip comment-icon"></i> + <i class="bi bi-paperclip comment-icon"></i> </button> {{/if}} <button class="btn btn-outline-secondary btn-sm border-0" title="{{$edurl}}" onclick="insertCommentURL('{{$comment}}',{{$id}}); return false;"> - <i class="fa fa-link comment-icon"></i> + <i class="bi bi-link-45deg comment-icon"></i> </button> </div> {{if $feature_encrypt}} <div class="btn-group me-2"> <button class="btn btn-outline-secondary btn-sm border-0" title="{{$encrypt}}" onclick="sodium_encrypt('#comment-edit-text-' + '{{$id}}'); return false;"> - <i class="fa fa-key comment-icon"></i> + <i class="bi bi-key comment-icon"></i> </button> </div> {{/if}} @@ -60,7 +60,7 @@ <div class="btn-group float-end" id="comment-edit-submit-wrapper-{{$id}}"> {{if $preview}} <button id="comment-edit-presubmit-{{$id}}" class="btn btn-outline-secondary btn-sm" onclick="preview_comment({{$id}}); return false;" title="{{$preview}}"> - <i class="fa fa-eye comment-icon" ></i> + <i class="bi bi-eye comment-icon" ></i> </button> {{/if}} <button id="comment-edit-submit-{{$id}}" class="btn btn-primary btn-sm" type="submit" name="button-submit" onclick="post_comment({{$id}}); return false;">{{$submit}}</button> diff --git a/view/tpl/common_pills.tpl b/view/tpl/common_pills.tpl index e2b018d26..73534221f 100644 --- a/view/tpl/common_pills.tpl +++ b/view/tpl/common_pills.tpl @@ -2,20 +2,20 @@ {{foreach $pills as $p}} <li class="nav-item hover-fx-show"{{if $p.id}} id="{{$p.id}}"{{/if}}> <a class="nav-link{{if $p.sel}} {{$p.sel}}{{/if}}" href="{{$p.url}}"{{if $p.title}} title="{{$p.title}}"{{/if}}{{if $p.sub}} onclick="{{if $p.sel}}closeOpen('{{$p.id}}_sub');{{else}}openClose('{{$p.id}}_sub');{{/if}} return false;"{{/if}}> - {{if $p.icon}}<i class="fa fa-fw fa-{{$p.icon}}"></i>{{/if}} + {{if $p.icon}}<i class="bi bi-{{$p.icon}} generic-icons-nav"></i>{{/if}} {{if $p.img}}<img class="menu-img-1" src="{{$p.img}}">{{/if}} {{$p.label}} - {{if $p.sub}}<i class="fa fa-fw fa-caret-down hover-fx-hide"></i>{{/if}} + {{if $p.sub}}<i class="bi bi-caret-down hover-fx-hide"></i>{{/if}} </a> {{if $p.sub}} <ul class="nav nav-pills flex-column ml-4" id="{{$p.id}}_sub"{{if !$p.sel}} style="display: none;"{{/if}}> {{foreach $p.sub as $ps}} <li class="nav-item"{{if $ps.id}} id="{{$ps.id}}"{{/if}}> <a class="nav-link{{if $ps.sel}} {{$ps.sel}}{{/if}}" href="{{$ps.url}}"{{if $ps.title}} title="{{$ps.title}}"{{/if}}> - {{if $ps.icon}}<i class="fa fa-fw fa-{{$ps.icon}}"></i>{{/if}} + {{if $ps.icon}}<i class="bi bi-{{$ps.icon}}"></i>{{/if}} {{if $ps.img}}<img class="menu-img-1" src="{{$ps.img}}">{{/if}} {{$ps.label}} - {{if $ps.lock}}<i class="fa fa-{{$ps.lock}} text-muted"></i>{{/if}} + {{if $ps.lock}}<i class="bi bi-{{$ps.lock}} text-muted"></i>{{/if}} </a> </li> {{/foreach}} diff --git a/view/tpl/common_tabs.tpl b/view/tpl/common_tabs.tpl index 429cc561d..f2b968fc8 100644 --- a/view/tpl/common_tabs.tpl +++ b/view/tpl/common_tabs.tpl @@ -7,7 +7,7 @@ </div> <div class="d-md-none dropdown clearfix" style="position:fixed; right:7px; top:4.5rem; z-index:1020"> <button type="button" class="btn btn-outline-secondary btn-sm float-end" data-bs-toggle="dropdown"> - <i class="fa fa-bars"></i> + <i class="bi fa-bars"></i> </button> <div class="dropdown-menu dropdown-menu-end"> {{foreach $tabs as $tab}} diff --git a/view/tpl/connection_template.tpl b/view/tpl/connection_template.tpl index ffd02f352..5ae290da8 100644 --- a/view/tpl/connection_template.tpl +++ b/view/tpl/connection_template.tpl @@ -8,13 +8,13 @@ {{/if}} <span id="contact-role-{{$contact.id}}" class="badge rounded-pill bg-warning text-dark me-1" title="{{$role_label}}">{{$contact.role}}</span> <button type="button" class="btn btn-outline-secondary btn-sm contact-edit" title="{{$contact.edit_hover}}" data-id="{{$contact.id}}"> - <i class="fa fa-fw fa-pencil contact-edit-icon-{{$contact.id}}"></i> + <i class="bi bi-pencil contact-edit-icon-{{$contact.id}}"></i> <div class="spinner-wrapper contact-edit-rotator-{{$contact.id}}" style="vertical-align: text-bottom; margin-right: 2px"><div class="spinner s"></div></div> {{$contact.edit}} </button> </div> - <h3>{{if $contact.public_forum}}<i class="fa fa-comments-o" title="{{$group_label}}"></i> {{/if}}<a href="{{$contact.url}}" title="{{$contact.img_hover}}" >{{$contact.name}}</a>{{if $contact.phone}} <a class="btn btn-outline-secondary btn-sm" href="tel:{{$contact.phone}}" title="{{$contact.call}}"><i class="fa fa-phone connphone"></i></a>{{/if}}</h3> + <h3>{{if $contact.public_forum}}<i class="bi fa-comments-o" title="{{$group_label}}"></i> {{/if}}<a href="{{$contact.url}}" title="{{$contact.img_hover}}" >{{$contact.name}}</a>{{if $contact.phone}} <a class="btn btn-outline-secondary btn-sm" href="tel:{{$contact.phone}}" title="{{$contact.call}}"><i class="bi fa-phone connphone"></i></a>{{/if}}</h3> </div> <div class="section-content-tools-wrapper"> <div class="contact-photo-wrapper" > @@ -45,7 +45,7 @@ </div> {{/if}} {{if $contact.connect}} - <a href="{{$contact.follow}}" class="btn btn-success btn-sm" title="{{$contact.connect_hover}}"><i class="fa fa-plus"></i> {{$contact.connect}}</a> + <a href="{{$contact.follow}}" class="btn btn-success btn-sm" title="{{$contact.connect_hover}}"><i class="bi bi-plus-lg"></i> {{$contact.connect}}</a> {{/if}} </div> diff --git a/view/tpl/connections.tpl b/view/tpl/connections.tpl index 5fb6b0007..8617f6034 100644 --- a/view/tpl/connections.tpl +++ b/view/tpl/connections.tpl @@ -2,13 +2,13 @@ <div class="section-title-wrapper clearfix"> <div class="dropdown float-end"> <button type="button" class="btn btn-success btn-sm" onclick="openClose('contacts-follow-form'); closeMenu('contacts-search-form'); $('#contacts-follow').focus();"> - <i class="fa fa-plus"></i> Add + <i class="bi bi-plus-lg"></i> Add </button> <button type="button" class="btn btn-primary btn-sm" onclick="openClose('contacts-search-form'); closeMenu('contacts-follow-form'); $('#contacts-search').focus();"> - <i class="fa fa-search"></i> {{$label}} + <i class="bi bi-search"></i> {{$label}} </button> <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" title="{{$sort}}"> - <i class="fa fa-filter"></i> + <i class="bi bi-funnel"></i> </button> <div class="dropdown-menu dropdown-menu-end"> {{foreach $tabs as $menu}} @@ -23,7 +23,7 @@ <div class="input-group mb-3"> <input type="text" name="search" id="contacts-search" class="form-control" onfocus="this.select();" value="{{$search}}" placeholder="{{$desc}}" /> <input type="hidden" name="search_xchan" id="contacts-search-xchan" value=""/> - <button id="contacts-search-submit" class="btn btn-primary" type="submit"><i class="fa fa-fw fa-search"></i></button> + <button id="contacts-search-submit" class="btn btn-primary" type="submit"><i class="bi bi-search"></i></button> </div> </form> </div> @@ -36,7 +36,7 @@ <form action="follow" method="post"> <div class="input-group mb-3"> <input class="form-control" id="contacts-follow" type="text" name="url" title="Examples: bob@example.com, https://example.com/barbara" placeholder="Enter channel address"> - <button class="btn btn-success" type="submit" name="submit" value="Connect" title="Connect"><i class="fa fa-fw fa-plus"></i></button> + <button class="btn btn-success" type="submit" name="submit" value="Connect" title="Connect"><i class="bi bi-plus-lg"></i></button> </div> </form> </div> diff --git a/view/tpl/connstatus.tpl b/view/tpl/connstatus.tpl index 30f450820..c6b1c9b40 100644 --- a/view/tpl/connstatus.tpl +++ b/view/tpl/connstatus.tpl @@ -1 +1 @@ -<i class="fa fa-circle oneway-overlay text-{{if $perminfo.connpermcount == 3}}success{{elseif $perminfo.connpermcount > 0}}warning{{else}}danger{{/if}}" title="{{$perminfo.connperms}}"></i> +<i class="bi bi-circle-fill oneway-overlay text-{{if $perminfo.connpermcount == 3}}success{{elseif $perminfo.connpermcount > 0}}warning{{else}}danger{{/if}}" title="{{$perminfo.connperms}}"></i> diff --git a/view/tpl/contact_edit.tpl b/view/tpl/contact_edit.tpl index 46bdbba80..188b1bfa7 100644 --- a/view/tpl/contact_edit.tpl +++ b/view/tpl/contact_edit.tpl @@ -15,7 +15,7 @@ {{$compare_label}} </button> <a href="permcats/{{$permcat_value}}" class="btn btn-sm btn-outline-primary"> - <i class="fa fa-external-link"></i> {{$permcat_new}} + <i class="bi bi-box-arrow-up-right"></i> {{$permcat_new}} </a> <table id="perms-table" class="table table-hover table-sm mt-3" style="display: {{if $sub_section == 'perms'}}table{{else}}none{{/if}};"> <thead> @@ -31,16 +31,16 @@ <td>{{$perm.1}}</td> <td> {{if $perm.2}} - <i class="fa fa-check text-success"></i> + <i class="bi bi-check-lg text-success"></i> {{else}} - <i class="fa fa-times text-danger"></i> + <i class="bi bi-x-lg text-danger"></i> {{/if}} </td> <td> {{if $perm.3}} - <i class="fa fa-check text-success"></i> + <i class="bi bi-check-lg text-success"></i> {{else}} - <i class="fa fa-times text-danger"></i> + <i class="bi bi-x-lg text-danger"></i> {{/if}} </td> </tr> @@ -66,7 +66,7 @@ {{include file="field_checkbox.tpl" field=$group}} {{/foreach}} <a href="group/new" class="btn btn-sm btn-outline-primary"> - <i class="fa fa-external-link"></i> {{$pgroups_label}} + <i class="bi bi-box-arrow-up-right"></i> {{$pgroups_label}} </a> </div> </div> @@ -85,7 +85,7 @@ <div class="section-content-tools-wrapper"> {{$profile_select}} <a href="profiles" class="btn btn-sm btn-outline-primary"> - <i class="fa fa-external-link"></i> {{$profiles_label}} + <i class="bi bi-box-arrow-up-right"></i> {{$profiles_label}} </a> </div> </div> diff --git a/view/tpl/contact_edit_header.tpl b/view/tpl/contact_edit_header.tpl index 997d294bd..8ec6054a3 100644 --- a/view/tpl/contact_edit_header.tpl +++ b/view/tpl/contact_edit_header.tpl @@ -4,6 +4,6 @@ </a> </div> <div class="m-1"> - <div class="text-truncate h3 m-0"><strong>{{if $is_group}}<i class="fa fa-comments-o" title="{{$group_label}}"></i> {{/if}}{{$name}}</strong></div> + <div class="text-truncate h3 m-0"><strong>{{if $is_group}}<i class="bi fa-comments-o" title="{{$group_label}}"></i> {{/if}}{{$name}}</strong></div> <div class="text-truncate text-muted">{{$addr}}</div> </div> diff --git a/view/tpl/contact_edit_tools.tpl b/view/tpl/contact_edit_tools.tpl index 2d0b8a8cf..788c75b99 100644 --- a/view/tpl/contact_edit_tools.tpl +++ b/view/tpl/contact_edit_tools.tpl @@ -1,5 +1,5 @@ <button id="contact-tools" class="btn btn-outline-secondary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-cog"></i> {{$tools_label}} + <i class="bi bi-gear"></i> {{$tools_label}} </button> <div class="dropdown-menu"> <a class="dropdown-item contact-tool" href="#" title="{{$tools.refresh.title}}" data-cmd="refresh">{{$tools.refresh.label}}</a> diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl index 61886c3ee..b3e927d3f 100644 --- a/view/tpl/conv_item.tpl +++ b/view/tpl/conv_item.tpl @@ -1,6 +1,6 @@ {{if $item.comment_firstcollapsed}} -<div id="hide-comments-outer-{{$item.parent}}" class="hide-comments-outer fakelink" onclick="showHideComments({{$item.id}});"> - <span id="hide-comments-{{$item.id}}" class="hide-comments">{{$item.hide_text}}</span> <span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">{{$item.num_comments}}</span> +<div id="hide-comments-outer-{{$item.parent}}" class="hide-comments-outer fakelink small" onclick="showHideComments({{$item.id}});"> + <i id="hide-comments-icon-{{$item.id}}" class="bi bi-chevron-down align-middle hide-comments-icon"></i> <span id="hide-comments-label-{{$item.id}}" class="hide-comments-label align-middle">{{$item.hide_text}}</span> <span id="hide-comments-total-{{$item.id}}" class="hide-comments-label align-middle">{{$item.num_comments}}</span> </div> <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;"> {{/if}} @@ -18,7 +18,7 @@ {{$item.event}} </div> {{/if}} - {{if $item.title && !$item.event}} + {{if $item.title && $item.toplevel && !$item.event}} <div class="p-2{{if $item.is_new}} bg-primary text-white{{/if}} wall-item-title h3{{if !$item.photo}} rounded-top{{/if}}" id="wall-item-title-{{$item.id}}"> {{if $item.title_tosource}}{{if $item.plink}}<a href="{{$item.plink.href}}" title="{{$item.title}} ({{$item.plink.title}})" rel="nofollow">{{/if}}{{/if}}{{$item.title}}{{if $item.title_tosource}}{{if $item.plink}}</a>{{/if}}{{/if}} </div> @@ -27,29 +27,29 @@ {{/if}} {{/if}} <div class="p-2 wall-item-head{{if !$item.title && !$item.event && !$item.photo}} rounded-top{{/if}}{{if $item.is_new && !$item.event && !$item.is_comment}} wall-item-head-new{{/if}} clearfix"> - <div class="text-end float-end"> + <div class="lh-sm text-end float-end"> <div class="wall-item-ago opacity-75" id="wall-item-ago-{{$item.id}}"> - {{if $item.editedtime}} - <i class="fa fa-pencil"></i> + {{if $item.location}} + {{$item.location}} {{/if}} {{if $item.delayed}} - <i class="fa fa-clock-o"></i> + <i class="bi bi-clock"></i> {{/if}} - {{if $item.location}} - <small class="wall-item-location p-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</small> + {{if $item.editedtime}} + <i class="bi bi-pencil"></i> {{/if}} {{if $item.verified}} - <i class="fa fa-check text-success" title="{{$item.verified}}"></i> + <i class="bi bi-shield-check" title="{{$item.verified}}"></i> {{elseif $item.forged}} - <i class="fa fa-exclamation text-danger" title="{{$item.forged}}"></i> + <i class="bi bi-shield-exclamation text-danger" title="{{$item.forged}}"></i> {{/if}} <small class="autotime" title="{{$item.isotime}}"><time class="dt-published" datetime="{{$item.isotime}}">{{$item.localtime}}</time>{{if $item.editedtime}} {{$item.editedtime}}{{/if}}{{if $item.expiretime}} {{$item.expiretime}}{{/if}}</small> </div> {{if $item.thr_parent_uuid}} - <a href="javascript:doscroll('{{$item.thr_parent_uuid}}',{{$item.parent}});" class="ms-3" title="{{$item.top_hint}}"><i class="fa fa-angle-double-up"></i></a> + <a href="javascript:doscroll('{{$item.thr_parent_uuid}}',{{$item.parent}});" class="ms-3" title="{{$item.top_hint}}"><i class="bi bi-chevron-double-up"></i></a> {{/if}} {{if $item.pinned}} - <div class="wall-item-pinned" title="{{$item.pinned}}" id="wall-item-pinned-{{$item.id}}"><i class="fa fa-thumb-tack"></i></div> + <div class="wall-item-pinned" title="{{$item.pinned}}" id="wall-item-pinned-{{$item.id}}"><i class="bi bi-pin-fill"></i></div> {{/if}} </div> <div class="float-start wall-item-info pe-2" id="wall-item-info-{{$item.id}}" > @@ -59,10 +59,10 @@ {{/if}} <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" loading="lazy" data-bs-toggle="dropdown" /> {{if $item.author_is_group_actor}} - <i class="fa fa-comments-o wall-item-photo-group-actor" title="{{$item.author_is_group_actor}}"></i> + <i class="bi bi-chat-quote-fill wall-item-photo-group-actor" title="{{$item.author_is_group_actor}}"></i> {{/if}} {{if $item.thread_author_menu}} - <i class="fa fa-caret-down wall-item-photo-caret cursor-pointer" data-bs-toggle="dropdown"></i> + <i class="bi bi-caret-down-fill wall-item-photo-caret cursor-pointer" data-bs-toggle="dropdown"></i> <div class="dropdown-menu"> {{foreach $item.thread_author_menu as $mitem}} <a class="dropdown-item{{if $mitem.class}} {{$mitem.class}}{{/if}}" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}}{{if $mitem.data}} {{$mitem.data}}{{/if}}>{{$mitem.title}}</a> @@ -74,7 +74,7 @@ <div class="wall-item-author"> {{if $item.lock}} <div class="float-start dropdown wall-item-lock"> - <i class="fa {{if $item.locktype == 2}}fa-envelope-o{{else if $item.locktype == 1}}fa-lock{{else}}fa-unlock{{/if}} lockview{{if $item.privacy_warning}} text-danger{{/if}}" data-bs-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i> + <i class="bi {{if $item.locktype == 2}}bi-envelope{{else if $item.locktype == 1}}bi-lock{{else}}bi-unlock{{/if}} lockview{{if $item.privacy_warning}} text-danger{{/if}}" data-bs-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i> <div id="panel-{{$item.id}}" class="dropdown-menu"></div> </div> {{/if}} @@ -101,159 +101,14 @@ </div> </div> {{/if}} - <div class="p-2 clearfix wall-item-tools"> - <div class="float-end wall-item-tools-right"> - <div class="btn-group"> - <div id="like-rotator-{{$item.id}}" class="spinner-wrapper"> - <div class="spinner s"></div> - </div> - </div> - {{if $item.toplevel && $item.emojis && $item.reactions}} - <div class="btn-group"> - <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" id="wall-item-react-{{$item.id}}"> - <i class="fa fa-smile-o"></i> - </button> - <div class="dropdown-menu dropdown-menu-end"> - {{foreach $item.reactions as $react}} - <a class="dropdown-item clearfix" href="#" onclick="jotReact({{$item.id}},'{{$react}}'); return false;"><img class="menu-img-2" src="/images/emoji/{{$react}}.png" alt="{{$react}}" /></a> - {{/foreach}} - </div> - </div> - {{/if}} - {{if $item.moderate}} - <a href="moderate/{{$item.id}}/approve" onclick="moderate_approve({{$item.id}}); return false;" class="btn btn-sm btn-outline-success"><i class="fa fa-check" ></i> {{$item.moderate_approve}}</a> - <a href="moderate/{{$item.id}}/drop" onclick="moderate_drop({{$item.id}}); return false;" class="btn btn-sm btn-outline-danger"><i class="fa fa-trash-o" ></i> {{$item.moderate_delete}}</a> - {{else}} - <div class="btn-group"> - {{if $item.like}} - <button type="button" title="{{$item.like.0}}" class="btn btn-outline-secondary btn-sm" onclick="dolike({{$item.id}},'like'); return false;"> - <i class="fa fa-thumbs-o-up{{if $item.my_responses.like}} ivoted{{/if}}" ></i> - </button> - {{/if}} - {{if $item.dislike}} - <button type="button" title="{{$item.dislike.0}}" class="btn btn-outline-secondary btn-sm" onclick="dolike({{$item.id}},'dislike'); return false;"> - <i class="fa fa-thumbs-o-down{{if $item.my_responses.dislike}} ivoted{{/if}}" ></i> - </button> - {{/if}} - {{if $item.reply_to}} - <button type="button" title="{{$item.reply_to.0}}" class="btn btn-outline-secondary btn-sm" onclick="doreply({{$item.parent}}, {{$item.id}}, '{{$item.author_id}}', '{{$item.reply_to.2}} {{$item.name|escape:javascript}}');"> - <i class="fa fa-reply" ></i> - </button> - {{/if}} - {{if $item.isevent}} - <div class="btn-group"> - <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" id="wall-item-attend-menu-{{$item.id}}" title="{{$item.attend_title}}"> - <i class="fa fa-calendar-check-o"></i> - </button> - <div class="dropdown-menu dropdown-menu-end"> - <a class="dropdown-item" href="#" title="{{$item.attend.0}}" onclick="itemAddToCal({{$item.id}}); dolike({{$item.id}},'attendyes'); return false;"> - <i class="item-act-list fa fa-check{{if $item.my_responses.attend}} ivoted{{/if}}" ></i> {{$item.attend.0}} - </a> - <a class="dropdown-item" href="#" title="{{$item.attend.1}}" onclick="itemAddToCal({{$item.id}}), dolike({{$item.id}},'attendno'); return false;"> - <i class="item-act-list fa fa-times{{if $item.my_responses.attendno}} ivoted{{/if}}" ></i> {{$item.attend.1}} - </a> - <a class="dropdown-item" href="#" title="{{$item.attend.2}}" onclick="itemAddToCal({{$item.id}}); dolike({{$item.id}},'attendmaybe'); return false;"> - <i class="item-act-list fa fa-question{{if $item.my_responses.attendmaybe}} ivoted{{/if}}" ></i> {{$item.attend.2}} - </a> - </div> - </div> - {{/if}} - {{if $item.canvote}} - <div class="btn-group"> - <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" id="wall-item-consensus-menu-{{$item.id}}" title="{{$item.vote_title}}"> - <i class="fa fa-check-square-o"></i> - </button> - <div class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="wall-item-consensus-menu-{{$item.id}}"> - <a class="dropdown-item" href="#" title="{{$item.conlabels.0}}" onclick="dolike({{$item.id}},'agree'); return false;"> - <i class="item-act-list fa fa-check{{if $item.my_responses.agree}} ivoted{{/if}}" ></i> {{$item.conlabels.0}} - </a> - <a class="dropdown-item" href="#" title="{{$item.conlabels.1}}" onclick="dolike({{$item.id}},'disagree'); return false;"> - <i class="item-act-list fa fa-times{{if $item.my_responses.disagree}} ivoted{{/if}}" ></i> {{$item.conlabels.1}} - </a> - <a class="dropdown-item" href="#" title="{{$item.conlabels.2}}" onclick="dolike({{$item.id}},'abstain'); return false;"> - <i class="item-act-list fa fa-question{{if $item.my_responses.abstain}} ivoted{{/if}}" ></i> {{$item.conlabels.2}} - </a> - </div> - </div> - {{/if}} - <div class="btn-group"> - <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" id="wall-item-menu-{{$item.id}}"> - <i class="fa fa-cog"></i> - </button> - <div class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="wall-item-menu-{{$item.id}}"> - {{if $item.share}} - <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 fa fa-fw fa-share" 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 fa fa-fw fa-external-link"></i>{{$item.plink.title}}</a> - {{/if}} - {{if $item.edpost}} - <a class="dropdown-item" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="generic-icons-nav fa fa-fw fa-pencil"></i>{{$item.edpost.1}}</a> - {{/if}} - {{if $item.tagger}} - <a class="dropdown-item" href="#" onclick="itemTag({{$item.id}}); return false;"><i id="tagger-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-tag" title="{{$item.tagger.tagit}}"></i>{{$item.tagger.tagit}}</a> - {{/if}} - {{if $item.filer}} - <a class="dropdown-item" href="#" onclick="itemFiler({{$item.id}}); return false;"><i id="filer-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-folder-open" title="{{$item.filer}}"></i>{{$item.filer}}</a> - {{/if}} - {{if $item.pinnable}} - <a class="dropdown-item dropdown-item-pinnable" href="#" onclick="dopin({{$item.id}}); return false;" id="item-pinnable-{{$item.id}}"><i class="generic-icons-nav fa fa-fw fa-thumb-tack"></i>{{$item.pinme}}</a> - {{/if}} - {{if $item.bookmark}} - <a class="dropdown-item" href="#" onclick="itemBookmark({{$item.id}}); return false;"><i id="bookmarker-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-bookmark" title="{{$item.bookmark}}"></i>{{$item.bookmark}}</a> - {{/if}} - {{if $item.addtocal}} - <a class="dropdown-item" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-calendar" title="{{$item.addtocal}}"></i>{{$item.addtocal}}</a> - {{/if}} - {{if $item.star}} - <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav fa fa-fw{{if $item.star.isstarred}} starred fa-star{{else}} unstarred fa-star-o{{/if}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a> - {{/if}} - {{if $item.thread_action_menu}} - {{foreach $item.thread_action_menu as $mitem}} - <a class="dropdown-item" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} ><i class="generic-icons-nav fa fa-fw fa-{{$mitem.icon}}"></i>{{$mitem.title}}</a> - {{/foreach}} - {{/if}} - {{if $item.drop.dropping}} - <a class="dropdown-item" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}', '{{$item.mid}}'); return false;" title="{{$item.drop.delete}}" ><i class="generic-icons-nav fa fa-fw fa-trash-o"></i>{{$item.drop.delete}}</a> - {{/if}} - {{if $item.dropdown_extras}} - <div class="dropdown-divider"></div> - {{$item.dropdown_extras}} - {{/if}} - {{if $item.edpost && $item.dreport}} - <div class="dropdown-divider"></div> - <a class="dropdown-item" href="dreport/{{$item.dreport_link}}">{{$item.dreport}}</a> - {{/if}} - {{if $item.settings}} - <div class="dropdown-divider"></div> - <a class="dropdown-item conversation-settings-link" href="" data-bs-toggle="modal" data-bs-target="#conversation_settings">{{$item.settings}}</a> - {{/if}} - </div> - </div> - </div> - {{/if}} - </div> - - {{if $item.responses || $item.attachments}} + <div class="p-2 wall-item-tools d-flex justify-content-between"> <div class="wall-item-tools-left hstack gap-1" id="wall-item-tools-left-{{$item.id}}"> - {{if $item.star && $item.star.isstarred}} - <div class="" id="star-button-{{$item.id}}"> - <button type="button" class="btn btn-outline-secondary border-0 btn-sm wall-item-star" onclick="dostar({{$item.id}});"><i class="fa fa-star"></i></button> - </div> - {{/if}} - {{if $item.attachments}} - <div class=""> - <button type="button" class="btn btn-outline-secondary border-0 btn-sm wall-item-attach" data-bs-toggle="dropdown" id="attachment-menu-{{$item.id}}"><i class="fa fa-paperclip"></i></button> - <div class="dropdown-menu">{{$item.attachments}}</div> - </div> - {{/if}} {{foreach $item.responses as $verb=>$response}} - {{if $response.count}} + {{if $item.reactions_allowed || (!$item.reactions_allowed && $response.count)}} <div class=""> - <button type="button" title="{{$response.count}} {{$response.button.label}}" class="btn btn-outline-secondary border-0 btn-sm wall-item-{{$response.button.class}}"{{if $response.modal}} data-bs-toggle="modal" data-bs-target="#{{$verb}}Modal-{{$item.id}}"{{else}} data-bs-toggle="dropdown"{{/if}} id="wall-item-{{$verb}}-{{$item.id}}"><i class="fa fa-{{$response.button.icon}}"></i> {{$response.count}}</button> + <button type="button" title="{{$response.count}} {{$response.button.label}}" class="btn btn-sm btn-outline-secondary border-0 wall-item-{{$response.button.class}}"{{if $response.modal}} data-bs-toggle="modal" data-bs-target="#{{$verb}}Modal-{{$item.id}}"{{else if $response.count}} data-bs-toggle="dropdown"{{elseif $item.reactions_allowed}} onclick="{{$response.button.onclick}}({{$item.id}},'{{$verb}}'); return false;"{{/if}} id="wall-item-{{$verb}}-{{$item.id}}"> + <i class="bi bi-{{$response.button.icon}} generic-icons"></i>{{if $response.count}}<span style="display: inline-block; margin-top: -.25rem;" class="align-top{{if $item.my_responses.$verb}} text-decoration-underline{{/if}}">{{$response.count}}</span>{{/if}} + </button> {{if $response.modal}} <div class="modal" id="{{$verb}}Modal-{{$item.id}}"> <div class="modal-dialog"> @@ -262,8 +117,17 @@ <h3 class="modal-title">{{$response.count}} {{$response.button.label}}</h3> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true"></button> </div> + {{if $item.reactions_allowed && !($verb === 'announce' && $item.my_responses.$verb)}} {{** undo announce is not yet supported **}} + <div class="modal-header"> + <a href="#" class="text-reset" onclick="{{$response.button.onclick}}({{$item.id}},'{{$verb}}'); return false;">{{if $item.my_responses.$verb}}- {{$item.reaction_str.1}}{{else}}+ {{$item.reaction_str.0}}{{/if}}</a> + </div> + {{/if}} <div class="modal-body response-list"> - <ul class="nav nav-pills flex-column">{{foreach $response.list as $liker}}<li class="nav-item">{{$liker}}</li>{{/foreach}}</ul> + <ul class="nav nav-pills flex-column"> + {{foreach $response.list as $liker}} + {{$liker}} + {{/foreach}} + </ul> </div> <div class="modal-footer clear"> <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">{{$item.modal_dismiss}}</button> @@ -272,13 +136,118 @@ </div><!-- /.modal-dialog --> </div><!-- /.modal --> {{else}} - <div class="dropdown-menu">{{foreach $response.list as $liker}}{{$liker}}{{/foreach}}</div> + <div class="dropdown-menu"> + {{if $item.reactions_allowed && !($verb === 'announce' && $item.my_responses.$verb)}} {{** undo announce is not yet supported **}} + <div class="dropdown-item"> + <a href="#" class="text-reset" onclick="{{$response.button.onclick}}({{$item.id}},'{{$verb}}'); return false;">{{if $item.my_responses.$verb}}- {{$item.reaction_str.1}}{{else}}+ {{$item.reaction_str.0}}{{/if}}</a> + </div> + <div class="dropdown-divider"></div> + {{/if}} + {{foreach $response.list as $liker}}{{$liker}}{{/foreach}} + </div> {{/if}} </div> {{/if}} {{/foreach}} + {{if $item.toplevel && $item.emojis && $item.reactions}} + <div class=""> + <button type="button" class="btn btn-sm btn-outline-secondary border-0" data-bs-toggle="dropdown" id="wall-item-react-{{$item.id}}"> + <i class="bi bi-emoji-smile generic-icons"></i> + </button> + <div class="dropdown-menu dropdown-menu-start container text-center w-25"> + <div class="row g-0"> + {{foreach $item.reactions as $react}} + <div class="col-3 p-2"> + <a class="" href="#" onclick="jotReact({{$item.id}},'{{$react}}'); return false;"><img class="menu-img-1" src="/images/emoji/{{$react}}.png" alt="{{$react}}" /></a> + </div> + {{/foreach}} + </div> + </div> + </div> + {{/if}} + <div class=""> + <div id="like-rotator-{{$item.id}}" class="spinner-wrapper"> + <div class="spinner s"></div> + </div> + </div> + </div> + <div class="wall-item-tools-right hstack gap-1" id="wall-item-tools-right-{{$item.id}}"> + {{if $item.moderate}} + <a href="moderate/{{$item.id}}/approve" onclick="moderate_approve({{$item.id}}); return false;" class="btn btn-sm btn-outline-success"><i class="bi bi-check-lg" ></i> {{$item.moderate_approve}}</a> + <a href="moderate/{{$item.id}}/drop" onclick="moderate_drop({{$item.id}}); return false;" class="btn btn-sm btn-outline-danger"><i class="bi bi-trash" ></i> {{$item.moderate_delete}}</a> + {{else}} + {{if $item.star && $item.star.isstarred}} + <div class="" id="star-button-{{$item.id}}"> + <button type="button" class="btn btn-sm btn-outline-secondary border-0 wall-item-star" onclick="dostar({{$item.id}});"><i class="bi bi-star generic-icons"></i></button> + </div> + {{/if}} + {{if $item.attachments}} + <div class=""> + <button type="button" class="btn btn-sm btn-outline-secondary border-0 wall-item-attach" data-bs-toggle="dropdown" id="attachment-menu-{{$item.id}}"><i class="bi bi-paperclip generic-icons"></i></button> + <div class="dropdown-menu dropdown-menu-end">{{$item.attachments}}</div> + </div> + {{/if}} + {{if $item.reply_to}} + <button type="button" title="{{$item.reply_to.0}}" class="btn btn-sm 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-arrow-90deg-left generic-icons" ></i> + </button> + {{/if}} + <div class=""> + <button type="button" class="btn btn-sm btn-outline-secondary border-0" data-bs-toggle="dropdown" id="wall-item-menu-{{$item.id}}"> + <i class="bi bi-three-dots-vertical generic-icons"></i> + </button> + <div class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="wall-item-menu-{{$item.id}}"> + {{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-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> + {{/if}} + {{if $item.edpost}} + <a class="dropdown-item" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="generic-icons-nav bi bi-pencil"></i>{{$item.edpost.1}}</a> + {{/if}} + {{if $item.tagger}} + <a class="dropdown-item" href="#" onclick="itemTag({{$item.id}}); return false;"><i id="tagger-{{$item.id}}" class="generic-icons-nav bi bi-tag" title="{{$item.tagger.tagit}}"></i>{{$item.tagger.tagit}}</a> + {{/if}} + {{if $item.filer}} + <a class="dropdown-item" href="#" onclick="itemFiler({{$item.id}}); return false;"><i id="filer-{{$item.id}}" class="generic-icons-nav bi bi-folder-plus" title="{{$item.filer}}"></i>{{$item.filer}}</a> + {{/if}} + {{if $item.pinnable}} + <a class="dropdown-item dropdown-item-pinnable" href="#" onclick="dopin({{$item.id}}); return false;" id="item-pinnable-{{$item.id}}"><i class="generic-icons-nav bi bi-pin"></i>{{$item.pinme}}</a> + {{/if}} + {{if $item.bookmark}} + <a class="dropdown-item" href="#" onclick="itemBookmark({{$item.id}}); return false;"><i id="bookmarker-{{$item.id}}" class="generic-icons-nav bi bi-bookmark" title="{{$item.bookmark}}"></i>{{$item.bookmark}}</a> + {{/if}} + {{if $item.addtocal}} + <a class="dropdown-item" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="generic-icons-nav bi bi-calendar-plus" title="{{$item.addtocal}}"></i>{{$item.addtocal}}</a> + {{/if}} + {{if $item.star}} + <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav bi{{if $item.star.isstarred}} starred bi-star-fill{{else}} unstarred bi-star{{/if}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a> + {{/if}} + {{if $item.thread_action_menu}} + {{foreach $item.thread_action_menu as $mitem}} + <a class="dropdown-item" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} ><i class="generic-icons-nav bi bi-{{$mitem.icon}}"></i>{{$mitem.title}}</a> + {{/foreach}} + {{/if}} + {{if $item.drop.dropping}} + <a class="dropdown-item" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}', '{{$item.mid}}'); return false;" title="{{$item.drop.delete}}" ><i class="generic-icons-nav bi bi-trash"></i>{{$item.drop.delete}}</a> + {{/if}} + {{if $item.dropdown_extras}} + <div class="dropdown-divider"></div> + {{$item.dropdown_extras}} + {{/if}} + {{if $item.edpost && $item.dreport}} + <div class="dropdown-divider"></div> + <a class="dropdown-item" href="dreport/{{$item.dreport_link}}">{{$item.dreport}}</a> + {{/if}} + {{if $item.settings}} + <div class="dropdown-divider"></div> + <a class="dropdown-item conversation-settings-link" href="" data-bs-toggle="modal" data-bs-target="#conversation_settings">{{$item.settings}}</a> + {{/if}} + </div> + </div> + {{/if}} </div> - {{/if}} </div> </div> </div> diff --git a/view/tpl/conv_list.tpl b/view/tpl/conv_list.tpl index 374c3f53f..388a952f2 100644 --- a/view/tpl/conv_list.tpl +++ b/view/tpl/conv_list.tpl @@ -1,9 +1,3 @@ -{{if $item.comment_firstcollapsed}} -<div class="hide-comments-outer fakelink" onclick="showHideComments({{$item.id}});"> - <span id="hide-comments-{{$item.id}}" class="hide-comments">{{$item.hide_text}}</span> <span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">{{$item.num_comments}}</span> -</div> -<div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;"> -{{/if}} <div id="thread-wrapper-{{$item.id}}" class="thread-wrapper{{if $item.toplevel}} {{$item.toplevel}} generic-content-wrapper h-entry {{else}} u-comment h-cite {{/if}}" data-b64mids='{{$item.mids}}'> <a name="item_{{$item.id}}" ></a> <div class="wall-item-outside-wrapper{{if $item.is_comment}} comment{{/if}}{{if $item.previewing}} preview{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" > @@ -27,29 +21,26 @@ {{/if}} {{/if}} <div class="p-2 wall-item-head{{if !$item.title && !$item.event && !$item.photo}} rounded-top{{/if}}{{if $item.is_new && !$item.event && !$item.is_comment}} wall-item-head-new{{/if}}" > - <div class="text-end float-end"> + <div class="lh-sm text-end float-end"> <div class="wall-item-ago opacity-75" id="wall-item-ago-{{$item.id}}"> - {{if $item.editedtime}} - <i class="fa fa-pencil"></i> + {{if $item.location}} + {{$item.location}} {{/if}} {{if $item.delayed}} - <i class="fa fa-clock-o"></i> + <i class="bi bi-clock"></i> {{/if}} - {{if $item.location}} - <small class="wall-item-location p-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</small> + {{if $item.editedtime}} + <i class="bi bi-pencil"></i> {{/if}} {{if $item.verified}} - <i class="fa fa-check text-success" title="{{$item.verified}}"></i> + <i class="bi bi-shield-check" title="{{$item.verified}}"></i> {{elseif $item.forged}} - <i class="fa fa-exclamation text-danger" title="{{$item.forged}}"></i> + <i class="bi bi-shield-exclamation text-danger" title="{{$item.forged}}"></i> {{/if}} <small class="autotime" title="{{$item.isotime}}"><time class="dt-published" datetime="{{$item.isotime}}">{{$item.localtime}}</time>{{if $item.editedtime}} {{$item.editedtime}}{{/if}}{{if $item.expiretime}} {{$item.expiretime}}{{/if}}</small> </div> - {{if $item.thr_parent}} - <a href="javascript:doscroll('{{$item.thr_parent}}',{{$item.parent}});" class="ms-3" title="{{$item.top_hint}}"><i class="fa fa-angle-double-up"></i></a> - {{/if}} {{if $item.pinned}} - <div class="wall-item-pinned" title="{{$item.pinned}}" id="wall-item-pinned-{{$item.id}}"><i class="fa fa-thumb-tack"></i></div> + <div class="wall-item-pinned" title="{{$item.pinned}}" id="wall-item-pinned-{{$item.id}}"><i class="bi bi-pin-fill"></i></div> {{/if}} </div> <div class="float-start wall-item-info pe-2" id="wall-item-info-{{$item.id}}" > @@ -59,10 +50,10 @@ {{/if}} <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" loading="lazy" data-bs-toggle="dropdown" /> {{if $item.author_is_group_actor}} - <i class="fa fa-comments-o wall-item-photo-group-actor" title="{{$item.author_is_group_actor}}"></i> + <i class="bi bi-chat-quote-fill wall-item-photo-group-actor" title="{{$item.author_is_group_actor}}"></i> {{/if}} {{if $item.thread_author_menu}} - <i class="fa fa-caret-down wall-item-photo-caret cursor-pointer" data-bs-toggle="dropdown"></i> + <i class="bi bi-caret-down-fill wall-item-photo-caret cursor-pointer" data-bs-toggle="dropdown"></i> <div class="dropdown-menu"> {{foreach $item.thread_author_menu as $mitem}} <a class="dropdown-item{{if $mitem.class}} {{$mitem.class}}{{/if}}" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}}{{if $mitem.data}} {{$mitem.data}}{{/if}}>{{$mitem.title}}</a> @@ -74,7 +65,7 @@ <div class="wall-item-author"> {{if $item.lock}} <div class="float-start dropdown wall-item-lock"> - <i class="fa {{if $item.locktype == 2}}fa-envelope-o{{else if $item.locktype == 1}}fa-lock{{else}}fa-unlock{{/if}} lockview{{if $item.privacy_warning}} text-danger{{/if}}" data-bs-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i> + <i class="bi {{if $item.locktype == 2}}bi-envelope{{else if $item.locktype == 1}}bi-lock{{else}}bi-unlock{{/if}} lockview{{if $item.privacy_warning}} text-danger{{/if}}" data-bs-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i> <div id="panel-{{$item.id}}" class="dropdown-menu"></div> </div> {{/if}} @@ -96,165 +87,49 @@ {{/if}} {{if $item.has_tags}} <div class="p-2 wall-item-tools clearfix"> - <div class="body-tags"> <span class="tag">{{$item.mentions}} {{$item.tags}} {{$item.categories}} {{$item.folders}}</span> </div> </div> {{/if}} - <div class="p-2 clearfix wall-item-tools"> - <div class="float-end wall-item-tools-right"> - {{if $item.toplevel && $item.emojis && $item.reactions}} - <div class="btn-group"> - <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" id="wall-item-react-{{$item.id}}"> - <i class="fa fa-smile-o"></i> - </button> - <div class="dropdown-menu dropdown-menu-end"> - {{foreach $item.reactions as $react}} - <a class="dropdown-item clearfix" href="#" onclick="jotReact({{$item.id}},'{{$react}}'); return false;"><img class="menu-img-2" src="/images/emoji/{{$react}}.png" alt="{{$react}}" /></a> - {{/foreach}} - </div> - </div> - {{/if}} - <div class="btn-group"> - {{if $item.like}} - <button type="button" title="{{$item.like.0}}" class="btn btn-outline-secondary btn-sm" onclick="dolike({{$item.id}},'like'); return false;"> - <i class="fa fa-thumbs-o-up{{if $item.my_responses.like}} ivoted{{/if}}" ></i> - </button> - {{/if}} - {{if $item.dislike}} - <button type="button" title="{{$item.dislike.0}}" class="btn btn-outline-secondary btn-sm" onclick="dolike({{$item.id}},'dislike'); return false;"> - <i class="fa fa-thumbs-o-down{{if $item.my_responses.dislike}} ivoted{{/if}}" ></i> - </button> - {{/if}} - {{if $item.isevent}} - <div class="btn-group"> - <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" id="wall-item-attend-menu-{{$item.id}}" title="{{$item.attend_title}}"> - <i class="fa fa-calendar-check-o"></i> - </button> - <div class="dropdown-menu"> - <a class="dropdown-item" href="#" title="{{$item.attend.0}}" onclick="itemAddToCal({{$item.id}}); dolike({{$item.id}},'attendyes'); return false;"> - <i class="item-act-list fa fa-check{{if $item.my_responses.attend}} ivoted{{/if}}" ></i> {{$item.attend.0}} - </a> - <a class="dropdown-item" href="#" title="{{$item.attend.1}}" onclick="itemAddToCal({{$item.id}}), dolike({{$item.id}},'attendno'); return false;"> - <i class="item-act-list fa fa-times{{if $item.my_responses.attendno}} ivoted{{/if}}" ></i> {{$item.attend.1}} - </a> - <a class="dropdown-item" href="#" title="{{$item.attend.2}}" onclick="itemAddToCal({{$item.id}}); dolike({{$item.id}},'attendmaybe'); return false;"> - <i class="item-act-list fa fa-question{{if $item.my_responses.attendmaybe}} ivoted{{/if}}" ></i> {{$item.attend.2}} - </a> - </div> - </div> - {{/if}} - {{if $item.canvote}} - <div class="btn-group"> - <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" id="wall-item-consensus-menu-{{$item.id}}" title="{{$item.vote_title}}"> - <i class="fa fa-check-square-o"></i> - </button> - <div class="dropdown-menu" role="menu" aria-labelledby="wall-item-consensus-menu-{{$item.id}}"> - <a class="dropdown-item" href="#" title="{{$item.conlabels.0}}" onclick="dolike({{$item.id}},'agree'); return false;"> - <i class="item-act-list fa fa-check{{if $item.my_responses.agree}} ivoted{{/if}}" ></i> {{$item.conlabels.0}} - </a> - <a class="dropdown-item" href="#" title="{{$item.conlabels.1}}" onclick="dolike({{$item.id}},'disagree'); return false;"> - <i class="item-act-list fa fa-times{{if $item.my_responses.disagree}} ivoted{{/if}}" ></i> {{$item.conlabels.1}} - </a> - <a class="dropdown-item" href="#" title="{{$item.conlabels.2}}" onclick="dolike({{$item.id}},'abstain'); return false;"> - <i class="item-act-list fa fa-question{{if $item.my_responses.abstain}} ivoted{{/if}}" ></i> {{$item.conlabels.2}} - </a> - </div> - </div> - {{/if}} - <div class="btn-group"> - <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" id="wall-item-menu-{{$item.id}}"> - <i class="fa fa-cog"></i> - </button> - <div class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="wall-item-menu-{{$item.id}}"> - {{if $item.share}} - <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 fa fa-fw fa-share" 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 fa fa-fw fa-external-link"></i>{{$item.plink.title}}</a> - {{/if}} - {{if $item.edpost}} - <a class="dropdown-item" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="generic-icons-nav fa fa-fw fa-pencil"></i>{{$item.edpost.1}}</a> - {{/if}} - {{if $item.tagger}} - <a class="dropdown-item" href="#" onclick="itemTag({{$item.id}}); return false;"><i id="tagger-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-tag" title="{{$item.tagger.tagit}}"></i>{{$item.tagger.tagit}}</a> - {{/if}} - {{if $item.filer}} - <a class="dropdown-item" href="#" onclick="itemFiler({{$item.id}}); return false;"><i id="filer-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-folder-open" title="{{$item.filer}}"></i>{{$item.filer}}</a> - {{/if}} - {{if $item.bookmark}} - <a class="dropdown-item" href="#" onclick="itemBookmark({{$item.id}}); return false;"><i id="bookmarker-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-bookmark" title="{{$item.bookmark}}"></i>{{$item.bookmark}}</a> - {{/if}} - {{if $item.addtocal}} - <a class="dropdown-item" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="generic-icons-nav fa fa-fw fa-calendar" title="{{$item.addtocal}}"></i>{{$item.addtocal}}</a> - {{/if}} - {{if $item.star}} - <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav fa fa-fw{{if $item.star.isstarred}} starred fa-star{{else}} unstarred fa-star-o{{/if}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a> - {{/if}} - {{if $item.thread_action_menu}} - {{foreach $item.thread_action_menu as $mitem}} - <a class="dropdown-item" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} ><i class="generic-icons-nav fa fa-fw fa-{{$mitem.icon}}"></i>{{$mitem.title}}</a> - {{/foreach}} - {{/if}} - {{if $item.drop.dropping}} - <a class="dropdown-item" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}', '{{$item.mid}}'); return false;" title="{{$item.drop.delete}}" ><i class="generic-icons-nav fa fa-fw fa-trash-o"></i>{{$item.drop.delete}}</a> - {{/if}} - {{if $item.edpost && $item.dreport}} - <div class="dropdown-divider"></div> - <a class="dropdown-item" href="dreport/{{$item.dreport_link}}">{{$item.dreport}}</a> - {{/if}} - {{if $item.settings}} - <div class="dropdown-divider"></div> - <a class="dropdown-item conversation-settings-link" href="" data-bs-toggle="modal" data-bs-target="#conversation_settings">{{$item.settings}}</a> - {{/if}} - </div> - </div> - </div> - </div> - <div id="like-rotator-{{$item.id}}" class="like-rotator"></div> - <div class="wall-item-tools-left hstack gap-1" id="wall-item-tools-left-{{$item.id}}"> - {{if $item.star && $item.star.isstarred}} - <div class="" id="star-button-{{$item.id}}"> - <button type="button" class="btn btn-outline-secondary btn-sm border-0 wall-item-star" onclick="dostar({{$item.id}});"><i class="fa fa-star"></i></button> - </div> - {{/if}} - {{if $item.attachments}} - <div class=""> - <button type="button" class="btn btn-outline-secondary btn-sm border-0 wall-item-attach" data-bs-toggle="dropdown" id="attachment-menu-{{$item.id}}"><i class="fa fa-paperclip"></i></button> - <ul class="dropdown-menu" role="menu" aria-labelledby="attachment-menu-{{$item.id}}">{{$item.attachments}}</ul> - </div> - {{/if}} + <div class="p-2 wall-item-tools d-flex justify-content-between"> + <div class="wall-item-tools-left hstack gap-1" id="wall-item-tools-left-{{$item.id}}"> <div class="wall-item-list-comments btn-group"> - <a class="btn btn-outline-secondary btn-sm border-0 wall-item-comments" href="{{$item.viewthread}}" title="{{$item.comment_count_txt.label}}{{if $item.list_unseen_txt}}, {{$item.list_unseen_txt.label}}{{/if}}"> - <i class="fa fa-comment-o"></i> {{$item.comment_count_txt.count}}{{if $item.unseen_comments}}<span class="unseen-wall-indicator-{{$item.id}}">, <i class="fa fa-eye-slash"></i> {{$item.list_unseen_txt.count}}</span>{{/if}} + <a class="btn btn-sm btn-outline-secondary border-0 wall-item-comments" href="{{$item.viewthread}}" title="{{$item.comment_count_txt.label}}{{if $item.list_unseen_txt}}, {{$item.list_unseen_txt.label}}{{/if}}"> + <i class="bi bi-chat generic-icons"></i>{{if $item.comment_count_txt.count}}<span style="display: inline-block; margin-top: -.25rem;" class="align-top">{{$item.comment_count_txt.count}}</span>{{/if}}{{if $item.unseen_comments}}, <i class="bi bi-eye-slash generic-icons"></i><span class="unseen-wall-indicator-{{$item.id}} align-top" style="display: inline-block; margin-top: -.25rem;">{{$item.list_unseen_txt.count}}</span>{{/if}} </a> </div> - {{if $item.unseen_comments}} + {{**if $item.unseen_comments}} <div class="unseen-wall-indicator-{{$item.id}} btn-group"> - <button class="btn btn-outline-secondary btn-sm border-0" title="{{$item.markseen}}" onclick="markItemRead({{$item.id}}); return false;"> - <i class="fa fa-check-square-o"></i> + <button class="btn btn-sm btn-outline-secondary border-0" title="{{$item.markseen}}" onclick="markItemRead({{$item.id}}); return false;"> + <i class="bi bi-check-square generic-icons"></i> </button> </div> - {{/if}} - {{if $item.responses }} + {{/if**}} {{foreach $item.responses as $verb=>$response}} - {{if $response.count}} + {{if $item.reactions_allowed || (!$item.reactions_allowed && $response.count)}} <div class=""> - <button type="button" class="btn btn-outline-secondary btn-sm border-0 wall-item-{{$response.button.class}}"{{if $response.modal}} data-bs-toggle="modal" data-bs-target="#{{$verb}}Modal-{{$item.id}}"{{else}} data-bs-toggle="dropdown"{{/if}} id="wall-item-{{$verb}}-{{$item.id}}"><i class="fa fa-{{$response.button.icon}}"></i> {{$response.count}}</button> - {{if $response.modal}} + <button type="button" title="{{$response.count}} {{$response.button.label}}" class="btn btn-sm btn-outline-secondary border-0 wall-item-{{$response.button.class}}"{{if $response.modal}} data-bs-toggle="modal" data-bs-target="#{{$verb}}Modal-{{$item.id}}"{{else if $response.count}} data-bs-toggle="dropdown"{{elseif $item.reactions_allowed}} onclick="{{$response.button.onclick}}({{$item.id}},'{{$verb}}'); return false;"{{/if}} id="wall-item-{{$verb}}-{{$item.id}}"> + <i class="bi bi-{{$response.button.icon}} generic-icons"></i>{{if $response.count}}<span style="display: inline-block; margin-top: -.25rem;" class="align-top{{if $item.my_responses.$verb}} text-decoration-underline{{/if}}">{{$response.count}}</span>{{/if}} + </button> {{if $response.modal}} <div class="modal" id="{{$verb}}Modal-{{$item.id}}"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> - <h4 class="modal-title">{{$response.count}} {{$response.button.label}}</h4> + <h3 class="modal-title">{{$response.count}} {{$response.button.label}}</h3> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true"></button> </div> + {{if $item.reactions_allowed && !($verb === 'announce' && $item.my_responses.$verb)}} {{** undo announce is not yet supported **}} + <div class="modal-header"> + <a href="#" class="text-reset" onclick="{{$response.button.onclick}}({{$item.id}},'{{$verb}}'); return false;">{{if $item.my_responses.$verb}}- {{$item.reaction_str.1}}{{else}}+ {{$item.reaction_str.0}}{{/if}}</a> + </div> + {{/if}} <div class="modal-body response-list"> - <ul class="nav nav-pills flex-column">{{foreach $response.list as $liker}}<li class="nav-item">{{$liker}}</li>{{/foreach}}</ul> + <ul class="nav nav-pills flex-column"> + {{foreach $response.list as $liker}} + {{$liker}} + {{/foreach}} + </ul> </div> <div class="modal-footer clear"> <button type="button" class="btn btn-outline-secondary" data-bs-dismiss="modal">{{$item.modal_dismiss}}</button> @@ -263,17 +138,114 @@ </div><!-- /.modal-dialog --> </div><!-- /.modal --> {{else}} - <div class="dropdown-menu">{{foreach $response.list as $liker}}{{$liker}}{{/foreach}}</div> + <div class="dropdown-menu"> + {{if $item.reactions_allowed && !($verb === 'announce' && $item.my_responses.$verb)}} {{** undo announce is not yet supported **}} + <div class="dropdown-item"> + <a href="#" class="text-reset" onclick="{{$response.button.onclick}}({{$item.id}},'{{$verb}}'); return false;">{{if $item.my_responses.$verb}}- {{$item.reaction_str.1}}{{else}}+ {{$item.reaction_str.0}}{{/if}}</a> + </div> + <div class="dropdown-divider"></div> + {{/if}} + {{foreach $response.list as $liker}}{{$liker}}{{/foreach}} + </div> {{/if}} </div> {{/if}} {{/foreach}} + {{if $item.toplevel && $item.emojis && $item.reactions}} + <div class=""> + <button type="button" class="btn btn-sm btn-outline-secondary border-0" data-bs-toggle="dropdown" id="wall-item-react-{{$item.id}}"> + <i class="bi bi-emoji-smile generic-icons"></i> + </button> + <div class="dropdown-menu dropdown-menu-start container text-center w-25"> + <div class="row g-0"> + {{foreach $item.reactions as $react}} + <div class="col-3 p-2"> + <a class="" href="#" onclick="jotReact({{$item.id}},'{{$react}}'); return false;"><img class="menu-img-1" src="/images/emoji/{{$react}}.png" alt="{{$react}}" /></a> + </div> + {{/foreach}} + </div> + </div> + </div> + {{/if}} + <div class=""> + <div id="like-rotator-{{$item.id}}" class="spinner-wrapper"> + <div class="spinner s"></div> + </div> + </div> + </div> + <div class="wall-item-tools-right hstack gap-1" id="wall-item-tools-right-{{$item.id}}"> + {{if $item.moderate}} + <a href="moderate/{{$item.id}}/approve" onclick="moderate_approve({{$item.id}}); return false;" class="btn btn-sm btn-outline-success"><i class="bi bi-check-lg" ></i> {{$item.moderate_approve}}</a> + <a href="moderate/{{$item.id}}/drop" onclick="moderate_drop({{$item.id}}); return false;" class="btn btn-sm btn-outline-danger"><i class="bi bi-trash" ></i> {{$item.moderate_delete}}</a> + {{else}} + {{if $item.star && $item.star.isstarred}} + <div class="" id="star-button-{{$item.id}}"> + <button type="button" class="btn btn-sm btn-outline-secondary border-0 wall-item-star" onclick="dostar({{$item.id}});"><i class="bi bi-star generic-icons"></i></button> + </div> + {{/if}} + {{if $item.attachments}} + <div class=""> + <button type="button" class="btn btn-sm btn-outline-secondary border-0 wall-item-attach" data-bs-toggle="dropdown" id="attachment-menu-{{$item.id}}"><i class="bi bi-paperclip generic-icons"></i></button> + <div class="dropdown-menu dropdown-menu-end">{{$item.attachments}}</div> + </div> + {{/if}} + <div class=""> + <button type="button" class="btn btn-sm btn-outline-secondary border-0" data-bs-toggle="dropdown" id="wall-item-menu-{{$item.id}}"> + <i class="bi bi-three-dots-vertical generic-icons"></i> + </button> + <div class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="wall-item-menu-{{$item.id}}"> + {{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-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> + {{/if}} + {{if $item.edpost}} + <a class="dropdown-item" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="generic-icons-nav bi bi-pencil"></i>{{$item.edpost.1}}</a> + {{/if}} + {{if $item.tagger}} + <a class="dropdown-item" href="#" onclick="itemTag({{$item.id}}); return false;"><i id="tagger-{{$item.id}}" class="generic-icons-nav bi bi-tag" title="{{$item.tagger.tagit}}"></i>{{$item.tagger.tagit}}</a> + {{/if}} + {{if $item.filer}} + <a class="dropdown-item" href="#" onclick="itemFiler({{$item.id}}); return false;"><i id="filer-{{$item.id}}" class="generic-icons-nav bi bi-folder-plus" title="{{$item.filer}}"></i>{{$item.filer}}</a> + {{/if}} + {{if $item.pinnable}} + <a class="dropdown-item dropdown-item-pinnable" href="#" onclick="dopin({{$item.id}}); return false;" id="item-pinnable-{{$item.id}}"><i class="generic-icons-nav bi bi-pin"></i>{{$item.pinme}}</a> + {{/if}} + {{if $item.bookmark}} + <a class="dropdown-item" href="#" onclick="itemBookmark({{$item.id}}); return false;"><i id="bookmarker-{{$item.id}}" class="generic-icons-nav bi bi-bookmark" title="{{$item.bookmark}}"></i>{{$item.bookmark}}</a> + {{/if}} + {{if $item.addtocal}} + <a class="dropdown-item" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="generic-icons-nav bi bi-calendar-plus" title="{{$item.addtocal}}"></i>{{$item.addtocal}}</a> + {{/if}} + {{if $item.star}} + <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav bi{{if $item.star.isstarred}} starred bi-star-fill{{else}} unstarred bi-star{{/if}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a> + {{/if}} + {{if $item.thread_action_menu}} + {{foreach $item.thread_action_menu as $mitem}} + <a class="dropdown-item" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} ><i class="generic-icons-nav bi bi-{{$mitem.icon}}"></i>{{$mitem.title}}</a> + {{/foreach}} + {{/if}} + {{if $item.drop.dropping}} + <a class="dropdown-item" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}', '{{$item.mid}}'); return false;" title="{{$item.drop.delete}}" ><i class="generic-icons-nav bi bi-trash"></i>{{$item.drop.delete}}</a> + {{/if}} + {{if $item.dropdown_extras}} + <div class="dropdown-divider"></div> + {{$item.dropdown_extras}} + {{/if}} + {{if $item.edpost && $item.dreport}} + <div class="dropdown-divider"></div> + <a class="dropdown-item" href="dreport/{{$item.dreport_link}}">{{$item.dreport}}</a> + {{/if}} + {{if $item.settings}} + <div class="dropdown-divider"></div> + <a class="dropdown-item conversation-settings-link" href="" data-bs-toggle="modal" data-bs-target="#conversation_settings">{{$item.settings}}</a> + {{/if}} + </div> + </div> {{/if}} </div> </div> </div> </div> </div> -{{if $item.comment_lastcollapsed}} -</div> -{{/if}} diff --git a/view/tpl/cover_photo.tpl b/view/tpl/cover_photo.tpl index 7bc72158b..dd0d3dbee 100644 --- a/view/tpl/cover_photo.tpl +++ b/view/tpl/cover_photo.tpl @@ -16,7 +16,7 @@ $('#embedPhotoModalBodyAlbumDialog').html('\ <div><div class="nav nav-pills flex-column">\n\ <li class="nav-item"><a class="nav-link" href="#" onclick="initializeEmbedPhotoDialog();return false;">\n\ - <i class="fa fa-chevron-left"></i> \n\ + <i class="bi fa-chevron-left"></i> \n\ {{$modaldiffalbum}}\n\ </a>\n\ </li>\n\ @@ -111,7 +111,7 @@ <br /> <div id="profile-photo-link-select-wrapper"> <button id="embed-photo-wrapper" class="btn btn-default btn-primary" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();return false;"> - <i id="embed-photo" class="fa fa-file-image-o"></i> {{$select}} + <i id="embed-photo" class="bi bi-file-image"></i> {{$select}} </button> </div> </div> diff --git a/view/tpl/defperms.tpl b/view/tpl/defperms.tpl index 5e15a43c9..3e8224483 100644 --- a/view/tpl/defperms.tpl +++ b/view/tpl/defperms.tpl @@ -17,7 +17,7 @@ <p>{{$permnote_self}}</p> </div> {{if $permcat_enable}} - <a href="permcats" class="float-end"><i class="fa fa-plus"></i> {{$permcat_new}}</a> + <a href="permcats" class="float-end"><i class="bi bi-plus-lg"></i> {{$permcat_new}}</a> {{include file="field_select.tpl" field=$permcat}} {{/if}} diff --git a/view/tpl/directory_header.tpl b/view/tpl/directory_header.tpl index a261762ac..50c29eab9 100644 --- a/view/tpl/directory_header.tpl +++ b/view/tpl/directory_header.tpl @@ -2,7 +2,7 @@ <div class="section-title-wrapper clearfix"> <div class="btn-group float-end"> <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" title="{{$sort}}"> - <i class="fa fa-sort"></i> + <i class="bi bi-arrow-down-up"></i> </button> <div class="dropdown-menu dropdown-menu-end"> <a class="dropdown-item" href="directory?f=&order=date{{$suggest}}">{{$date}}</a> diff --git a/view/tpl/direntry.tpl b/view/tpl/direntry.tpl index 16df987f4..79d66d3aa 100644 --- a/view/tpl/direntry.tpl +++ b/view/tpl/direntry.tpl @@ -11,10 +11,10 @@ <a class="directory-ignore btn btn-info btn-sm" href="{{$entry.ignlink}}"> {{$entry.ignore_label}}</a> {{/if}} {{if $entry.connect}} - <a class="btn btn-success btn-sm" href="{{$entry.connect}}"><i class="fa fa-plus connect-icon"></i> {{$entry.conn_label}}</a> + <a class="btn btn-success btn-sm" href="{{$entry.connect}}"><i class="bi bi-plus-lg connect-icon"></i> {{$entry.conn_label}}</a> {{/if}} </div> - <h3>{{if $entry.public_forum}}<i class="fa fa-comments-o" title="{{$entry.forum_label}} @{{$entry.nickname}}+"></i> {{/if}}<a href='{{$entry.profile_link}}' >{{$entry.name}}</a>{{if $entry.online}} <i class="fa fa-asterisk online-now" title="{{$entry.online}}"></i>{{/if}}</h3> + <h3>{{if $entry.public_forum}}<i class="bi bi-chat-quote" title="{{$entry.forum_label}} @{{$entry.nickname}}+"></i> {{/if}}<a href='{{$entry.profile_link}}' >{{$entry.name}}</a>{{if $entry.online}} <i class="bi fa-asterisk online-now" title="{{$entry.online}}"></i>{{/if}}</h3> </div> <div class="section-content-tools-wrapper directory-collapse"> <div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$entry.hash}}" > diff --git a/view/tpl/dreport.tpl b/view/tpl/dreport.tpl index a24608f58..0b8cfdb11 100644 --- a/view/tpl/dreport.tpl +++ b/view/tpl/dreport.tpl @@ -3,7 +3,7 @@ {{if $table == 'item'}} <div class="dropdown float-end"> <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false" title="{{$options}}"> - <i class="fa fa-cog"></i> + <i class="bi bi-gear"></i> </button> <div class="dropdown-menu"> <a href="dreport/push?mid={{$mid}}" class="dropdown-item">{{$push}}</a> diff --git a/view/tpl/edpost_head.tpl b/view/tpl/edpost_head.tpl index b8b1cdbc5..b77b1c910 100644 --- a/view/tpl/edpost_head.tpl +++ b/view/tpl/edpost_head.tpl @@ -5,7 +5,7 @@ <button id="dbtn-cancel" class="btn btn-warning btn-sm" onclick="itemCancel(); return false;">{{$cancel}}</button> {{/if}} {{if $delete}} - <a href="item/drop/{{$id}}" id="delete-btn" class="btn btn-sm btn-danger" onclick="return confirmDelete();"><i class="fa fa-trash-o"></i> {{$delete}}</a> + <a href="item/drop/{{$id}}" id="delete-btn" class="btn btn-sm btn-danger" onclick="return confirmDelete();"><i class="bi bi-trash"></i> {{$delete}}</a> {{/if}} </div> <h2>{{$title}}</h2> diff --git a/view/tpl/event.tpl b/view/tpl/event.tpl index 91dc53421..610ce7404 100644 --- a/view/tpl/event.tpl +++ b/view/tpl/event.tpl @@ -6,9 +6,9 @@ </div> {{$event.html}} <div class="event-buttons"> - {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="btn btn-sm btn-outline-secondary border-0 plink-event-link"><i class="fa fa-external-link" ></i></a>{{/if}} - {{if $event.edit}}<a href="{{$event.edit.0}}" title="{{$event.edit.1}}" class="btn btn-sm btn-outline-secondary border-0 edit-event-link"><i class="fa fa-pencil"></i></a>{{/if}} - {{if $event.drop}}<a href="{{$event.drop.0}}" title="{{$event.drop.1}}" class="btn btn-sm btn-outline-secondary border-0 drop-event-link"><i class="fa fa-trash-o"></i></a>{{/if}} + {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="btn btn-sm btn-outline-secondary border-0 plink-event-link"><i class="bi bi-box-arrow-up-right" ></i></a>{{/if}} + {{if $event.edit}}<a href="{{$event.edit.0}}" title="{{$event.edit.1}}" class="btn btn-sm btn-outline-secondary border-0 edit-event-link"><i class="bi bi-pencil"></i></a>{{/if}} + {{if $event.drop}}<a href="{{$event.drop.0}}" title="{{$event.drop.1}}" class="btn btn-sm btn-outline-secondary border-0 drop-event-link"><i class="bi bi-trash"></i></a>{{/if}} </div> <div class="clear"></div> </div> diff --git a/view/tpl/event_form.tpl b/view/tpl/event_form.tpl index c56c5d82f..43c6942e1 100644 --- a/view/tpl/event_form.tpl +++ b/view/tpl/event_form.tpl @@ -40,30 +40,30 @@ <div id="comment-edit-bb-desc" class="btn-toolbar"> <div class='btn-group me-2'> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edbold}}" onclick="insertbbcomment('none','b', 'desc');"> - <i class="fa fa-bold comment-icon"></i> + <i class="bi bi-type-bold comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$editalic}}" onclick="insertbbcomment('none','i', 'desc');"> - <i class="fa fa-italic comment-icon"></i> + <i class="bi bi-type-italic comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$eduline}}" onclick="insertbbcomment('none','u', 'desc');"> - <i class="fa fa-underline comment-icon"></i> + <i class="bi bi-type-underline comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edquote}}" onclick="insertbbcomment('none','quote','desc');"> - <i class="fa fa-quote-left comment-icon"></i> + <i class="bi bi-quote comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edcode}}" onclick="insertbbcomment('none','code', 'desc');"> - <i class="fa fa-terminal comment-icon"></i> + <i class="bi bi-code comment-icon"></i> </button> </div> <div class='btn-group'> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edimg}}" onclick="insertbbcomment('none','img', 'desc');"> - <i class="fa fa-camera comment-icon"></i> + <i class="bi fa-camera comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edurl}}" onclick="insertbbcomment('none','url', 'desc');"> - <i class="fa fa-link comment-icon"></i> + <i class="bi bi-link-45deg comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edvideo}}" onclick="insertbbcomment('none','video', 'desc');"> - <i class="fa fa-video-camera comment-icon"></i> + <i class="bi fa-video-camera comment-icon"></i> </button> </div> </div> @@ -78,33 +78,33 @@ <div id="comment-edit-bb-loc" class="btn-toolbar"> <div class='btn-group me-2'> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edbold}}" onclick="insertbbcomment('none','b', 'loc');"> - <i class="fa fa-bold comment-icon"></i> + <i class="bi bi-type-bold comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$editalic}}" onclick="insertbbcomment('none','i', 'loc');"> - <i class="fa fa-italic comment-icon"></i> + <i class="bi bi-type-italic comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$eduline}}" onclick="insertbbcomment('none','u', 'loc');"> - <i class="fa fa-underline comment-icon"></i> + <i class="bi bi-type-underline comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edquote}}" onclick="insertbbcomment('none','quote','loc');"> - <i class="fa fa-quote-left comment-icon"></i> + <i class="bi bi-quote comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edcode}}" onclick="insertbbcomment('none','code', 'loc');"> - <i class="fa fa-terminal comment-icon"></i> + <i class="bi bi-code comment-icon"></i> </button> </div> <div class='btn-group'> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edimg}}" onclick="insertbbcomment('none','img', 'loc');"> - <i class="fa fa-camera comment-icon"></i> + <i class="bi fa-camera comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edurl}}" onclick="insertbbcomment('none','url', 'loc');"> - <i class="fa fa-link comment-icon"></i> + <i class="bi bi-link-45deg comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$edvideo}}" onclick="insertbbcomment('none','video', 'loc');"> - <i class="fa fa-video-camera comment-icon"></i> + <i class="bi fa-video-camera comment-icon"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" title="{{$mapper}}" onclick="insertbbcomment('none','map','loc');"> - <i class="fa fa-globe comment-icon"></i> + <i class="bi bi-globe comment-icon"></i> </button> </div> @@ -117,9 +117,9 @@ <button type="button" class="btn btn-outline-secondary btn-sm" onclick="openClose('advanced');">{{$advanced}}</button> <div class="btn-group float-end"> - <button id="event-edit-preview-btn" class="btn btn-outline-secondary btn-sm" type="button" title="{{$preview}}" onclick="doEventPreview();"><i class="fa fa-eye" ></i></button> + <button id="event-edit-preview-btn" class="btn btn-outline-secondary btn-sm" type="button" title="{{$preview}}" onclick="doEventPreview();"><i class="bi bi-eye" ></i></button> {{if ! $eid}} - <button id="dbtn-acl" class="btn btn-outline-secondary btn-sm" type="button" data-bs-toggle="modal" data-bs-target="#aclModal" title="{{$perms_label}}"><i id="jot-perms-icon" class="fa fa-{{$lockstate}}"></i></button> + <button id="dbtn-acl" class="btn btn-outline-secondary btn-sm" type="button" data-bs-toggle="modal" data-bs-target="#aclModal" title="{{$perms_label}}"><i id="jot-perms-icon" class="bi bi-{{$lockstate}}"></i></button> {{/if}} <button id="event-submit" class="btn btn-primary btn-sm" type="submit" name="submit">{{$submit}}</button> </div> diff --git a/view/tpl/event_item_header.tpl b/view/tpl/event_item_header.tpl index e81db48a1..1c8fe034c 100644 --- a/view/tpl/event_item_header.tpl +++ b/view/tpl/event_item_header.tpl @@ -1,5 +1,5 @@ <div class="event-item-title"> - <h3><i class="fa fa-calendar"></i> {{$title}}</h3> + <h3><i class="bi fa-calendar"></i> {{$title}}</h3> </div> {{if $oneday && $allday}} <span class="dtstart">{{$dtstart_dt}}</span> diff --git a/view/tpl/events-js.tpl b/view/tpl/events-js.tpl index 5aa5b7ef8..e2c3167f4 100644 --- a/view/tpl/events-js.tpl +++ b/view/tpl/events-js.tpl @@ -2,7 +2,7 @@ <div class="section-title-wrapper"> <div class="float-end"> <div class="dropdown"> - <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown"><i class="fa fa-cog"></i> {{$view_label}}</button> + <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown"><i class="bi bi-gear"></i> {{$view_label}}</button> <div class="dropdown-menu"> <a class="dropdown-item" href="#" onclick="changeView('changeView', 'month'); return false;">{{$month}}</a> <a class="dropdown-item" href="#" onclick="changeView('changeView', 'agendaWeek'); return false;">{{$week}}</a> @@ -10,12 +10,12 @@ </div> <button class="btn btn-success btn-sm" onclick="openClose('form');">{{$new_event.1}}</button> <div class="btn-group"> - <button class="btn btn-outline-secondary btn-sm" onclick="changeView('prev', false);" title="{{$prev}}"><i class="fa fa-backward"></i></button> - <button id="today-btn" class="btn btn-outline-secondary btn-sm" onclick="changeView('today', false);" title="{{$today}}"><div id="events-spinner" class="spinner s"></div><i class="fa fa-bullseye" style="display: none; width: 1rem;"></i></button> - <button class="btn btn-outline-secondary btn-sm" onclick="changeView('next', false);" title="{{$next}}"><i class="fa fa-forward"></i></button> + <button class="btn btn-outline-secondary btn-sm" onclick="changeView('prev', false);" title="{{$prev}}"><i class="bi fa-backward"></i></button> + <button id="today-btn" class="btn btn-outline-secondary btn-sm" onclick="changeView('today', false);" title="{{$today}}"><div id="events-spinner" class="spinner s"></div><i class="bi fa-bullseye" style="display: none; width: 1rem;"></i></button> + <button class="btn btn-outline-secondary btn-sm" onclick="changeView('next', false);" title="{{$next}}"><i class="bi fa-forward"></i></button> </div> - <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen();"><i class="fa fa-expand"></i></button> - <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false);"><i class="fa fa-compress"></i></button> + <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen();"><i class="bi fa-expand"></i></button> + <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false);"><i class="bi fa-compress"></i></button> </div> </div> <h2 id="title"></h2> diff --git a/view/tpl/events_cal-js.tpl b/view/tpl/events_cal-js.tpl index a56c8b348..8f3104e34 100644 --- a/view/tpl/events_cal-js.tpl +++ b/view/tpl/events_cal-js.tpl @@ -3,12 +3,12 @@ <div class="section-title-wrapper"> <div class="float-end"> <div class="btn-group"> - <button class="btn btn-outline-secondary btn-sm" onclick="changeView('prev', false);" title="{{$prev}}"><i class="fa fa-backward"></i></button> - <button id="today-btn" class="btn btn-outline-secondary btn-sm" onclick="changeView('today', false);" title="{{$today}}"><div id="events-spinner" class="spinner s"></div><i class="fa fa-bullseye" style="display: none; width: 1rem;"></i></button> - <button class="btn btn-outline-secondary btn-sm" onclick="changeView('next', false);" title="{{$next}}"><i class="fa fa-forward"></i></button> + <button class="btn btn-outline-secondary btn-sm" onclick="changeView('prev', false);" title="{{$prev}}"><i class="bi fa-backward"></i></button> + <button id="today-btn" class="btn btn-outline-secondary btn-sm" onclick="changeView('today', false);" title="{{$today}}"><div id="events-spinner" class="spinner s"></div><i class="bi fa-bullseye" style="display: none; width: 1rem;"></i></button> + <button class="btn btn-outline-secondary btn-sm" onclick="changeView('next', false);" title="{{$next}}"><i class="bi fa-forward"></i></button> </div> - <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen();"><i class="fa fa-expand"></i></button> - <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false);"><i class="fa fa-compress"></i></button> + <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen();"><i class="bi fa-expand"></i></button> + <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false);"><i class="bi fa-compress"></i></button> </div> <h2 id="title"></h2> <div class="clear"></div> diff --git a/view/tpl/events_tools_side.tpl b/view/tpl/events_tools_side.tpl index bad1038a3..02dc12008 100644 --- a/view/tpl/events_tools_side.tpl +++ b/view/tpl/events_tools_side.tpl @@ -1,8 +1,8 @@ <div class="widget"> <h3>{{$title}}</h3> <ul class="nav nav-pills flex-column"> - <li class="nav-item"><a class="nav-link" href="#" onclick="exportDate(); return false;"><i class="fa fa-arrow-circle-o-down"></i> {{$export}}</a></li> - <li class="nav-item"><a class="nav-link" href="#" onclick="openClose('event-upload-form'); return false;"><i class="fa fa-arrow-circle-o-up"></i> {{$import}}</a></li> + <li class="nav-item"><a class="nav-link" href="#" onclick="exportDate(); return false;"><i class="bi fa-arrow-circle-o-down"></i> {{$export}}</a></li> + <li class="nav-item"><a class="nav-link" href="#" onclick="openClose('event-upload-form'); return false;"><i class="bi fa-arrow-circle-o-up"></i> {{$import}}</a></li> </ul> <div id="event-upload-form" class="sub-menu-wrapper"> <div class="sub-menu"> diff --git a/view/tpl/field_acheckbox.tpl b/view/tpl/field_acheckbox.tpl index 44f65fefd..7e2a92769 100644 --- a/view/tpl/field_acheckbox.tpl +++ b/view/tpl/field_acheckbox.tpl @@ -8,9 +8,9 @@ <span class="text-nowrap text-danger"> {{$inherited}} {{if $field.7}} - <i class="fa fa-check-square-o"></i> + <i class="bi bi-check-square"></i> {{else}} - <i class="fa fa-square-o"></i> + <i class="bi bi-square"></i> {{/if}} </span> {{/if}} @@ -18,9 +18,9 @@ <td> {{if $is_system_role}} {{if $field.3}} - <i class="fa fa-check-square-o"></i> + <i class="bi bi-check-square"></i> {{else}} - <i class="fa fa-square-o"></i> + <i class="bi bi-square"></i> {{/if}} {{else}} <input type="checkbox" name="{{$field.0}}" value="{{$field.4}}" {{if $field.3}}checked="checked"{{/if}} /> diff --git a/view/tpl/follow.tpl b/view/tpl/follow.tpl index 7adbc03ec..6c8c524c2 100644 --- a/view/tpl/follow.tpl +++ b/view/tpl/follow.tpl @@ -3,7 +3,7 @@ <form action="follow" method="post" /> <div class="input-group"> <input class="form-control" type="text" name="url" title="{{$hint}}" placeholder="{{$desc}}" /> - <button class="btn btn-success" type="submit" name="submit" value="{{$follow}}" title="{{$follow}}"><i class="fa fa-fw fa-plus"></i></button> + <button class="btn btn-success" type="submit" name="submit" value="{{$follow}}" title="{{$follow}}"><i class="bi bi-plus-lg"></i></button> </div> </form> {{if $abook_usage_message}} diff --git a/view/tpl/generic_addon_settings.tpl b/view/tpl/generic_addon_settings.tpl index aed8276da..685099807 100644 --- a/view/tpl/generic_addon_settings.tpl +++ b/view/tpl/generic_addon_settings.tpl @@ -5,7 +5,7 @@ {{if $addon.1|substr:0:1 === '<'}} {{$addon.1}} {{else}} - <i class="fa fa-gear"></i> {{$addon.1}} + <i class="bi fa-gear"></i> {{$addon.1}} {{/if}} </a> </h3> diff --git a/view/tpl/group_edit.tpl b/view/tpl/group_edit.tpl index f6ab1e594..0e22c50eb 100644 --- a/view/tpl/group_edit.tpl +++ b/view/tpl/group_edit.tpl @@ -1,8 +1,8 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper"> <div class="float-end"> - <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen();"><i class="fa fa-expand"></i></button> - <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false);"><i class="fa fa-compress"></i></button> + <button id="fullscreen-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen();"><i class="bi fa-expand"></i></button> + <button id="inline-btn" type="button" class="btn btn-outline-secondary btn-sm" onclick="makeFullScreen(false);"><i class="bi fa-compress"></i></button> </div> <h2>{{$title}}</h2> </div> diff --git a/view/tpl/group_side.tpl b/view/tpl/group_side.tpl index 979d20aa5..a4d9c305e 100644 --- a/view/tpl/group_side.tpl +++ b/view/tpl/group_side.tpl @@ -5,17 +5,17 @@ {{foreach $groups as $group}} <li class="nav-item nav-item-hack"> {{if $group.cid}} - <i id="group-{{$group.id}}" class="widget-nav-pills-checkbox fa fa-fw {{if $group.ismember}}fa-check-square-o{{else}}fa-square-o{{/if}}" onclick="contactgroupChangeMember('{{$group.id}}','{{$group.enc_cid}}'); return true;"></i> + <i id="group-{{$group.id}}" class="widget-nav-pills-checkbox bi {{if $group.ismember}}bi-check-square{{else}}bi-square{{/if}}" onclick="contactgroupChangeMember('{{$group.id}}','{{$group.enc_cid}}'); return true;"></i> {{/if}} {{if $group.edit}} - <a href="{{$group.edit.href}}" class="nav-link{{if $group.selected}} active{{/if}} widget-nav-pills-icons" title="{{$edittext}}"><i class="fa fa-fw fa-pencil"></i></a> + <a href="{{$group.edit.href}}" class="nav-link{{if $group.selected}} active{{/if}} widget-nav-pills-icons" title="{{$edittext}}"><i class="bi bi-pencil"></i></a> {{/if}} <a class="nav-link{{if $group.selected}} active{{/if}}" href="{{$group.href}}">{{$group.text}}</a> </li> {{/foreach}} {{if $createtext}} <li class="nav-item"> - <a class="nav-link" href="group/new" title="{{$createtext}}" ><i class="fa fa-external-link"></i> {{$createtext}}</a> + <a class="nav-link" href="group/new" title="{{$createtext}}" ><i class="bi bi-box-arrow-up-right"></i> {{$createtext}}</a> </li> {{/if}} </ul> diff --git a/view/tpl/help.tpl b/view/tpl/help.tpl index ba61a43ce..68e1c6694 100644 --- a/view/tpl/help.tpl +++ b/view/tpl/help.tpl @@ -1,24 +1,16 @@ <div id="help-content" class="generic-content-wrapper"> <div class="clearfix section-title-wrapper"> - <div class="float-end"> - <div class="btn-group"> - <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown"> - <i class="fa fa-language" style="font-size: 1.4em;"></i> - </button> - <div class="dropdown-menu dropdown-menu-end flex-column lang-selector"> - <a class="dropdown-item lang-choice" href="/help">de</a> - <a class="dropdown-item lang-choice" href="/help">en</a> - <a class="dropdown-item lang-choice" href="/help">es</a> - <a class="dropdown-item lang-choice" href="/help">fr</a> - </div> - </div> - </div> <h2>{{$module->get_page_title()}}</h2> </div> + {{if $module->missing_translation()}} + <div class="notice section-content-info-wrapper"> + {{$module->missing_translation_message()}} + </div> + {{/if}} <div class="section-content-wrapper" id="doco-content"> <h3 id="doco-top-toc-heading"> <span class="fakelink" onclick="docoTocToggle(); return false;"> - <i class="fa fa-fw fa-caret-right fakelink" id="doco-toc-toggle"></i> + <i class="bi bi-caret-right fakelink" id="doco-toc-toggle"></i> {{$module->get_toc_heading()}} </span> </h3> @@ -26,6 +18,3 @@ {{$module->render_content()}} </div> </div> -<script> - var help_language = '{{$module->lang["language"]}}' -</script> 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/install.tpl b/view/tpl/install.tpl index 56faa0527..e2c420e6f 100644 --- a/view/tpl/install.tpl +++ b/view/tpl/install.tpl @@ -3,7 +3,7 @@ <h1>{{$title}}</h1> <hr class="my-4"> {{if $icon}} - <h2><i class="fa fa-{{$icon}}"></i> {{$pass}}</h2> + <h2><i class="bi bi-{{$icon}}"></i> {{$pass}}</h2> {{/if}} </div> diff --git a/view/tpl/install_checks.tpl b/view/tpl/install_checks.tpl index 8bbb9f26d..f9743d02a 100644 --- a/view/tpl/install_checks.tpl +++ b/view/tpl/install_checks.tpl @@ -2,12 +2,12 @@ <div class="jumbotron"> <h1>{{$title}}</h1> <hr class="my-4"> - <h2><i class="fa fa-heartbeat"></i> {{$pass}}</h2> + <h2><i class="bi fa-heartbeat"></i> {{$pass}}</h2> </div> <form action="{{$baseurl}}/index.php?q=setup" method="post"> <table class="table"> {{foreach $checks as $check}} - <tr><td{{if ! $check.status}} class="text-danger"{{/if}}>{{$check.title}}</td><td><i class="fa {{if $check.status}}fa-check-square-o{{else}}{{if $check.required}}fa-square-o{{else}}fa-exclamation text-danger{{/if}}{{/if}}"></i></td><td>{{if $check.required}}(required){{/if}}</td></tr> + <tr><td{{if ! $check.status}} class="text-danger"{{/if}}>{{$check.title}}</td><td><i class="bi {{if $check.status}}bi-check-square{{else}}{{if $check.required}}bi-square{{else}}fa-exclamation text-danger{{/if}}{{/if}}"></i></td><td>{{if $check.required}}(required){{/if}}</td></tr> {{if $check.help}} <tr><td colspan="3" class="border-top-0 pt-0 pb-0"><div class="alert alert-info">{{$check.help}}</div></td></tr> {{/if}} @@ -20,10 +20,10 @@ {{if $passed}} <input type="hidden" name="pass" value="2"> - <button class="btn btn-success" type="submit"><i class="fa fa-check"></i> {{$next}}</button> + <button class="btn btn-success" type="submit"><i class="bi bi-check-lg"></i> {{$next}}</button> {{else}} <input type="hidden" name="pass" value="1"> - <button class="btn btn-warning" type="submit"><i class="fa fa-refresh"></i> {{$reload}}</button> + <button class="btn btn-warning" type="submit"><i class="bi fa-refresh"></i> {{$reload}}</button> {{/if}} </form> </div> diff --git a/view/tpl/install_db.tpl b/view/tpl/install_db.tpl index 8b9023443..c8e6af808 100644 --- a/view/tpl/install_db.tpl +++ b/view/tpl/install_db.tpl @@ -2,7 +2,7 @@ <div class="jumbotron"> <h1>{{$title}}</h1> <hr class="my-4"> - <h2><i class="fa fa-database"></i> {{$pass}}</h2> + <h2><i class="bi fa-database"></i> {{$pass}}</h2> </div> <div class="alert alert-info"> {{$info_01}}<br> diff --git a/view/tpl/install_settings.tpl b/view/tpl/install_settings.tpl index b62f8508b..8ee78425d 100644 --- a/view/tpl/install_settings.tpl +++ b/view/tpl/install_settings.tpl @@ -2,7 +2,7 @@ <div class="jumbotron"> <h1>{{$title}}</h1> <hr class="my-4"> - <h2><i class="fa fa-cogs"></i> {{$pass}}</h2> + <h2><i class="bi bi-gears"></i> {{$pass}}</h2> </div> {{if $status}} diff --git a/view/tpl/invite.tpl b/view/tpl/invite.tpl index 08c984a5e..fd1ce3134 100644 --- a/view/tpl/invite.tpl +++ b/view/tpl/invite.tpl @@ -67,7 +67,7 @@ '<style> '+ ' .zai_h0 { font-size: 1.2rem; display: inline; }'+ ' .zai_hi { background: #ffc107; font-weight: bold; }'+ - ' .zai_fa { margin: 0 0.2em 0 1em; }'+ + ' .zai_bi { margin: 0 0.2em 0 1em; }'+ ' .zai_lcc, .zai_qmc, .zuiqmid { font-family: monospace; text-transform: uppercase; }'+ ' .zai_lcc5 { display: none; }'+ ' .zai_ax { margin-inline: 8rem; }'+ diff --git a/view/tpl/item_attach.tpl b/view/tpl/item_attach.tpl index 95e38c0bd..a1c7f8606 100644 --- a/view/tpl/item_attach.tpl +++ b/view/tpl/item_attach.tpl @@ -1,5 +1,5 @@ {{if $attaches}} {{foreach $attaches as $a}} -<a class="dropdown-item" href="{{$a.url}}" title="{{$a.title}}"><i class="fa {{$a.icon}} attach-icons"></i> {{$a.label}}</a> +<a class="dropdown-item" href="{{$a.url}}" title="{{$a.title}}"><i class="bi {{$a.icon}} attach-icons"></i> {{$a.label}}</a> {{/foreach}} {{/if}} diff --git a/view/tpl/item_categories.tpl b/view/tpl/item_categories.tpl index 68f8944bc..c585c9802 100644 --- a/view/tpl/item_categories.tpl +++ b/view/tpl/item_categories.tpl @@ -1,7 +1,7 @@ {{if $categories}} <!--div class="categorytags"--> {{foreach $categories as $cat}} -<span class="item-category badge rounded-pill bg-warning text-dark"><i class="fa fa-asterisk"></i> {{if $cat.url}}<a class="text-dark" href="{{$cat.url}}">{{$cat.term}}</a>{{else}}{{$cat.term}}{{/if}}</span> +<span class="item-category badge rounded-pill bg-warning text-dark"><i class="bi bi-asterisk"></i> {{if $cat.url}}<a class="text-dark" href="{{$cat.url}}">{{$cat.term}}</a>{{else}}{{$cat.term}}{{/if}}</span> {{/foreach}} <!--/div--> {{/if}} diff --git a/view/tpl/item_filer.tpl b/view/tpl/item_filer.tpl index 3ecf9aa41..8f8e6f69f 100644 --- a/view/tpl/item_filer.tpl +++ b/view/tpl/item_filer.tpl @@ -1,7 +1,7 @@ {{if $categories}} <!--div class="filesavetags"--> {{foreach $categories as $cat}} -<span class="item-category badge rounded-pill bg-danger"><i class="fa fa-folder-o"></i> {{$cat.term}} <a href="{{$cat.removelink}}" class="text-white" title="{{$remove}}" onClick="itemFilerRm({{$cat.id}}, '{{$cat.term}}'); return false;"><i class="fa fa-close"></i></a></span> +<span class="item-category badge rounded-pill bg-danger"><i class="bi bi-folder"></i> {{$cat.term}} <a href="{{$cat.removelink}}" class="text-white" title="{{$remove}}" onClick="itemFilerRm({{$cat.id}}, '{{$cat.term}}'); return false;"><i class="bi bi-x-lg"></i></a></span> {{/foreach}} <!--/div--> {{/if}} diff --git a/view/tpl/jot-header.tpl b/view/tpl/jot-header.tpl index ca3cabd61..2c60b7c22 100644 --- a/view/tpl/jot-header.tpl +++ b/view/tpl/jot-header.tpl @@ -184,7 +184,6 @@ var activeCommentText = ''; } function jotGetExpiry() { - //reply = prompt("{{$expirewhen}}", $('#jot-expire').val()); $('#expiryModal').modal('show'); $('#expiry-modal-OKButton').on('click', function() { reply=$('#expiration-date').val(); @@ -196,7 +195,6 @@ var activeCommentText = ''; } function jotGetPubDate() { - //reply = prompt("{{$expirewhen}}", $('#jot-expire').val()); $('#createdModal').modal('show'); $('#created-modal-OKButton').on('click', function() { reply=$('#created-date').val(); @@ -376,32 +374,22 @@ var activeCommentText = ''; timer = setTimeout(updateInit,1000); } - function toggleVoting() { - if($('#jot-consensus').val() > 0) { - $('#jot-consensus').val(0); - $('#profile-voting, #profile-voting-sub').removeClass('fa-check-square-o').addClass('fa-square-o'); - } - else { - $('#jot-consensus').val(1); - $('#profile-voting, #profile-voting-sub').removeClass('fa-square-o').addClass('fa-check-square-o'); - } - } - function toggleNoComment() { if($('#jot-nocomment').val() > 0) { $('#jot-nocomment').val(0); - $('#profile-nocomment, #profile-nocomment-sub').removeClass('fa-comments-o').addClass('fa-comments'); + $('#profile-nocomment, #profile-nocomment-sub').removeClass('bi-chat').addClass('bi-chat-dots'); $('#profile-nocomment-wrapper').attr('title', '{{$nocomment_enabled|escape:'javascript'}}'); } else { $('#jot-nocomment').val(1); - $('#profile-nocomment, #profile-nocomment-sub').removeClass('fa-comments').addClass('fa-comments-o'); + $('#profile-nocomment, #profile-nocomment-sub').removeClass('bi-chat-dots').addClass('bi-chat'); $('#profile-nocomment-wrapper').attr('title', '{{$nocomment_disabled|escape:'javascript'}}'); } } function jotReact(id,icon) { if(id && icon) { + $('#like-rotator-' + id).show(); $.get('{{$baseurl}}/react?f=&postid=' + id + '&emoji=' + icon); if(timer) clearTimeout(timer); timer = setTimeout(updateInit,1000); @@ -431,7 +419,7 @@ var activeCommentText = ''; $('#embedPhotoModalBodyAlbumDialog').html('\ <div><div class="nav nav-pills flex-column">\n\ <li class="nav-item"><a class="nav-link" href="#" onclick="initializeEmbedPhotoDialog();return false;">\n\ - <i class="fa fa-chevron-left"></i> \n\ + <i class="bi bi-chevron-left"></i> \n\ {{$modaldiffalbum}}\n\ </a>\n\ </li>\n\ @@ -534,7 +522,7 @@ var activeCommentText = ''; } function jotAddOption() { - var option = '<div class="jot-poll-option mb-3"><input class="w-100 border-0" name="poll_answers[]" type="text" value="" placeholder="Option"><div class="poll-option-close"><i class="fa fa-close"></i></div></div>'; + var option = '<div class="jot-poll-option mb-3"><input class="w-100 border-0" name="poll_answers[]" type="text" value="" placeholder="Option"><div class="poll-option-close"><i class="bi bi-x-lg"></i></div></div>'; $('#jot-poll-options').append(option); } diff --git a/view/tpl/jot.tpl b/view/tpl/jot.tpl index d80e8d066..294750398 100644 --- a/view/tpl/jot.tpl +++ b/view/tpl/jot.tpl @@ -53,11 +53,11 @@ <div id="jot-text-wrap"> <div id="profile-jot-tools" class="btn-group d-none"> {{if $is_owner}} - <a id="profile-jot-settings" class="btn btn-outline-secondary btn-sm border-0" href="/settings/editor/?f=&rpath=/{{$return_path}}" tabindex="4"><i class="fa fa-cog"></i></a> + <a id="profile-jot-settings" class="btn btn-outline-secondary btn-sm border-0" href="/settings/editor/?f=&rpath=/{{$return_path}}" tabindex="4"><i class="bi bi-gear"></i></a> {{/if}} {{if $reset}} <button type="button" id="profile-jot-reset" class="btn btn-outline-secondary btn-sm border-0" title="{{$reset}}" tabindex="-1" onclick="itemCancel(); return false;"> - <i class="fa fa-close"></i> + <i class="bi bi-x-lg"></i> </button> {{/if}} </div> @@ -81,7 +81,7 @@ <div id="jot-poll-tools" class="clearfix"> <div id="poll-tools-left" class="float-start"> <button id="jot-add-option" class="btn btn-outline-secondary btn-sm" type="button"> - <i class="fa fa-plus"></i> {{$poll_add_option_label}} + <i class="bi bi-plus-lg"></i> {{$poll_add_option_label}} </button> </div> <div id="poll-tools-right" class="float-end"> @@ -101,19 +101,19 @@ {{if $bbcode}} <div class="btn-group me-2"> <button type="button" id="main-editor-bold" class="btn btn-outline-secondary btn-sm border-0" title="{{$bold}}" onclick="inserteditortag('b', 'profile-jot-text'); return false;"> - <i class="fa fa-bold jot-icons"></i> + <i class="bi bi-type-bold jot-icons"></i> </button> <button type="button" id="main-editor-italic" class="btn btn-outline-secondary btn-sm border-0" title="{{$italic}}" onclick="inserteditortag('i', 'profile-jot-text'); return false;"> - <i class="fa fa-italic jot-icons"></i> + <i class="bi bi-type-italic jot-icons"></i> </button> <button type="button" id="main-editor-underline" class="btn btn-outline-secondary btn-sm border-0" title="{{$underline}}" onclick="inserteditortag('u', 'profile-jot-text'); return false;"> - <i class="fa fa-underline jot-icons"></i> + <i class="bi bi-type-underline jot-icons"></i> </button> <button type="button" id="main-editor-quote" class="btn btn-outline-secondary btn-sm border-0" title="{{$quote}}" onclick="inserteditortag('quote', 'profile-jot-text'); return false;"> - <i class="fa fa-quote-left jot-icons"></i> + <i class="bi bi-quote jot-icons"></i> </button> <button type="button" id="main-editor-code" class="btn btn-outline-secondary btn-sm border-0" title="{{$code}}" onclick="inserteditortag('code', 'profile-jot-text'); return false;"> - <i class="fa fa-terminal jot-icons"></i> + <i class="bi bi-code jot-icons"></i> </button> </div> {{/if}} @@ -121,29 +121,29 @@ <div class="btn-group me-2 d-none d-lg-flex"> {{if $writefiles}} <button type="button" id="wall-file-upload" class="btn btn-outline-secondary btn-sm border-0" title="{{$attach}}" > - <i id="wall-file-upload-icon" class="fa fa-paperclip jot-icons"></i> + <i id="wall-file-upload-icon" class="bi bi-paperclip jot-icons"></i> </button> {{/if}} {{if $weblink}} <button type="button" id="profile-link-wrapper" class="btn btn-outline-secondary btn-sm border-0" title="{{$weblink}}" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"> - <i id="profile-link" class="fa fa-link jot-icons"></i> + <i id="profile-link" class="bi bi-link-45deg jot-icons"></i> </button> {{/if}} {{if $embedPhotos}} <button type="button" id="embed-photo-wrapper" class="btn btn-outline-secondary btn-sm border-0" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();return false;"> - <i id="embed-photo" class="fa fa-file-image-o jot-icons"></i> + <i id="embed-photo" class="bi bi-file-image jot-icons"></i> </button> {{/if}} </div> <div class="btn-group me-2 d-none d-lg-flex"> {{if $setloc}} <button type="button" id="profile-location-wrapper" class="btn btn-outline-secondary btn-sm border-0" title="{{$setloc}}" onclick="jotGetLocation();return false;"> - <i id="profile-location" class="fa fa-globe jot-icons"></i> + <i id="profile-location" class="bi bi-geo-alt-fill jot-icons"></i> </button> {{/if}} {{if $clearloc}} <button type="button" id="profile-nolocation-wrapper" class="btn btn-outline-secondary btn-sm border-0" title="{{$clearloc}}" onclick="jotClearLocation();return false;" disabled="disabled"> - <i id="profile-nolocation" class="fa fa-circle-o jot-icons"></i> + <i id="profile-nolocation" class="bi bi-geo-alt jot-icons"></i> </button> {{/if}} {{else}} @@ -151,25 +151,25 @@ {{/if}} {{if $feature_expire}} <button type="button" id="profile-expire-wrapper" class="btn btn-outline-secondary btn-sm border-0" title="{{$expires}}" onclick="jotGetExpiry();return false;"> - <i id="profile-expires" class="fa fa-eraser jot-icons"></i> + <i id="profile-expires" class="bi bi-eraser jot-icons"></i> </button> {{/if}} {{if $feature_future}} <button type="button" id="profile-future-wrapper" class="btn btn-outline-secondary btn-sm border-0" title="{{$future_txt}}" onclick="jotGetPubDate();return false;"> - <i id="profile-future" class="fa fa-clock-o jot-icons"></i> + <i id="profile-future" class="bi bi-clock jot-icons"></i> </button> {{/if}} {{if $feature_encrypt}} <button type="button" id="profile-encrypt-wrapper" class="btn btn-outline-secondary btn-sm border-0" title="{{$encrypt}}" onclick="sodium_encrypt('#profile-jot-text'); return false;"> - <i id="profile-encrypt" class="fa fa-key jot-icons"></i> + <i id="profile-encrypt" class="bi bi-key jot-icons"></i> </button> {{/if}} <button type="button" id="profile-poll-wrapper" class="btn btn-outline-secondary btn-sm border-0" title="{{$poll}}" onclick="initPoll();"> - <i id="profile-poll" class="fa fa-bar-chart jot-icons"></i> + <i id="profile-poll" class="bi bi-bar-chart jot-icons"></i> </button> {{if $feature_nocomment}} <button type="button" id="profile-nocomment-wrapper" class="btn btn-outline-secondary btn-sm border-0" title="{{$nocommenttitle}}" onclick="toggleNoComment();return false;"> - <i id="profile-nocomment" class="fa fa-comments jot-icons"></i> + <i id="profile-nocomment" class="bi bi-chat-dots jot-icons"></i> </button> {{/if}} {{if $custommoretoolsbuttons}} @@ -179,38 +179,38 @@ {{if $writefiles || $weblink || $setloc || $clearloc || $feature_expire || $feature_encrypt || $custommoretoolsdropdown}} <div class="btn-group d-lg-none"> <button type="button" id="more-tools" class="btn btn-outline-secondary btn-sm border-0 dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> - <i id="more-tools-icon" class="fa fa-cog jot-icons"></i> + <i id="more-tools-icon" class="bi bi-gear jot-icons"></i> </button> <div class="dropdown-menu"> {{if $visitor}} {{if $writefiles}} - <a class="dropdown-item" id="wall-file-upload-sub" href="#" ><i class="fa fa-paperclip"></i> {{$attach}}</a> + <a class="dropdown-item" id="wall-file-upload-sub" href="#" ><i class="bi bi-paperclip"></i> {{$attach}}</a> {{/if}} {{if $weblink}} - <a class="dropdown-item" href="#" onclick="jotGetLink(); return false;"><i class="fa fa-link"></i> {{$weblink}}</a> + <a class="dropdown-item" href="#" onclick="jotGetLink(); return false;"><i class="bi bi-link-45deg"></i> {{$weblink}}</a> {{/if}} {{if $embedPhotos}} - <a class="dropdown-item" href="#" onclick="initializeEmbedPhotoDialog(); return false;"><i class="fa fa-file-image-o jot-icons"></i> {{$embedPhotos}}</a> + <a class="dropdown-item" href="#" onclick="initializeEmbedPhotoDialog(); return false;"><i class="bi bi-file-image jot-icons"></i> {{$embedPhotos}}</a> {{/if}} {{if $setloc}} - <a class="dropdown-item" href="#" onclick="jotGetLocation(); return false;"><i class="fa fa-globe"></i> {{$setloc}}</a> + <a class="dropdown-item" href="#" onclick="jotGetLocation(); return false;"><i class="bi bi-geo-alt-fill"></i> {{$setloc}}</a> {{/if}} {{if $clearloc}} - <a class="dropdown-item" href="#" onclick="jotClearLocation(); return false;"><i class="fa fa-circle-o"></i> {{$clearloc}}</a> + <a class="dropdown-item" href="#" onclick="jotClearLocation(); return false;"><i class="bi bi-geo-alt"></i> {{$clearloc}}</a> {{/if}} {{/if}} {{if $feature_expire}} - <a class="dropdown-item" href="#" onclick="jotGetExpiry(); return false;"><i class="fa fa-eraser"></i> {{$expires}}</a> + <a class="dropdown-item" href="#" onclick="jotGetExpiry(); return false;"><i class="bi bi-eraser"></i> {{$expires}}</a> {{/if}} {{if $feature_future}} - <a class="dropdown-item" href="#" onclick="jotGetPubDate();return false;"><i class="fa fa-clock-o"></i> {{$future_txt}}</a> + <a class="dropdown-item" href="#" onclick="jotGetPubDate();return false;"><i class="bi bi-clock"></i> {{$future_txt}}</a> {{/if}} {{if $feature_encrypt}} - <a class="dropdown-item" href="#" onclick="sodium_encrypt('#profile-jot-text'); return false;"><i class="fa fa-key"></i> {{$encrypt}}</a> + <a class="dropdown-item" href="#" onclick="sodium_encrypt('#profile-jot-text'); return false;"><i class="bi bi-key"></i> {{$encrypt}}</a> {{/if}} - <a class="dropdown-item" href="#" onclick="initPoll(); return false"><i id="profile-poll" class="fa fa-bar-chart jot-icons"></i> {{$poll}}</a> + <a class="dropdown-item" href="#" onclick="initPoll(); return false"><i id="profile-poll" class="bi bi-bar-chart jot-icons"></i> {{$poll}}</a> {{if $feature_nocomment}} - <a class="dropdown-item" href="#" onclick="toggleNoComment(); return false;"><i id="profile-nocomment-sub" class="fa fa-comments"></i> {{$nocommenttitlesub}}</a> + <a class="dropdown-item" href="#" onclick="toggleNoComment(); return false;"><i id="profile-nocomment-sub" class="bi bi-chat"></i> {{$nocommenttitlesub}}</a> {{/if}} <hr /> {{$custommoretoolsdropdown}} @@ -231,17 +231,17 @@ {{/foreach}} {{if $preview}} <button type="button" class="btn btn-outline-secondary btn-sm" onclick="preview_post();return false;" title="{{$preview}}"> - <i class="fa fa-eye jot-icons" ></i> + <i class="bi bi-eye jot-icons" ></i> </button> {{/if}} {{if $jotnets}} <button type="button" id="dbtn-jotnets" class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#jotnetsModal" type="button" title="{{$jotnets_label}}" style="{{if $lockstate == 'lock'}}display: none;{{/if}}"> - <i class="fa fa-share-alt jot-icons"></i> + <i class="bi bi-share jot-icons"></i> </button> {{/if}} {{if $showacl}} <button type="button" id="dbtn-acl" class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" title="{{$permset}}" type="button" data-form_id="profile-jot-form"> - <i id="jot-perms-icon" class="fa fa-{{$lockstate}} jot-icons{{if $bang}} jot-lock-warn{{/if}}"></i> + <i id="jot-perms-icon" class="bi bi-{{$lockstate}} jot-icons{{if $bang}} jot-lock-warn{{/if}}"></i> </button> {{/if}} <button id="dbtn-submit" class="btn btn-primary btn-sm" type="submit" tabindex="3" name="button-submit">{{$share}}</button> @@ -258,7 +258,7 @@ <div class="modal-content"> <div class="modal-header"> <h3 class="modal-title" id="expiryModalLabel">{{$jotnets_label}}</h3> - <button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true">×</button> + <button type="button" class="btn-close" data-bs-dismiss="modal" aria-hidden="true"></button> </div> <div class="modal-body"> {{$jotnets}} diff --git a/view/tpl/layoutlist.tpl b/view/tpl/layoutlist.tpl index 723452839..288d38ec3 100644 --- a/view/tpl/layoutlist.tpl +++ b/view/tpl/layoutlist.tpl @@ -2,8 +2,8 @@ <div class="section-title-wrapper"> {{if $editor}} <div class="float-end"> - <button id="webpage-create-btn" class="btn btn-sm btn-success" onclick="openClose('layout-editor');"><i class="fa fa-pencil-square-o"></i> {{$create}}</button> - <a href="{{$help.url}}" target="_blank" class="btn btn-sm btn-warning" title="{{$help.title}}"><i class="fa fa-info"></i> {{$help.text}}</a> + <button id="webpage-create-btn" class="btn btn-sm btn-success" onclick="openClose('layout-editor');"><i class="bi bi-pencil-square-o"></i> {{$create}}</button> + <a href="{{$help.url}}" target="_blank" class="btn btn-sm btn-warning" title="{{$help.title}}"><i class="bi fa-info"></i> {{$help.text}}</a> </div> {{/if}} <h2>{{$title}}</h2> @@ -42,17 +42,17 @@ </td> <td class="webpage-list-tool"> {{if $edit}} - <a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="fa fa-pencil"></i></a> + <a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="bi bi-pencil"></i></a> {{/if}} </td> <td class="webpage-list-tool"> {{if $item.bb_element}} - <a href="rpost?attachment={{$item.bb_element}}" title="{{$share}}"><i class="fa fa-share-square-o"></i></a> + <a href="rpost?attachment={{$item.bb_element}}" title="{{$share}}"><i class="bi bi-download"></i></a> {{/if}} </td> <td class="webpage-list-tool"> {{if $edit}} - <a href="#" title="{{$delete}}" onclick="dropItem('item/drop/{{$item.url}}', '#layout-list-item-{{$item.url}}'); return false;"><i class="fa fa-trash-o drop-icons"></i></a> + <a href="#" title="{{$delete}}" onclick="dropItem('item/drop/{{$item.url}}', '#layout-list-item-{{$item.url}}'); return false;"><i class="bi bi-trash drop-icons"></i></a> {{/if}} </td> <td class="d-none d-md-table-cell"> diff --git a/view/tpl/like_noshare.tpl b/view/tpl/like_noshare.tpl index e83b885fe..e79b71609 100644 --- a/view/tpl/like_noshare.tpl +++ b/view/tpl/like_noshare.tpl @@ -1,5 +1,5 @@ <div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$id}}"> - <i class="fa fa-thumbs-o-up item-tool btn btn-outline-secondary" title="{{$likethis}}" onclick="dolike({{$id}},'like'); return false"></i> - <i class="fa fa-thumbs-o-down item-tool btn btn-outline-secondary" title="{{$nolike}}" onclick="dolike({{$id}},'dislike'); return false"></i> + <i class="bi fa-thumbs-o-up item-tool btn btn-outline-secondary" title="{{$likethis}}" onclick="dolike({{$id}},'like'); return false"></i> + <i class="bi fa-thumbs-o-down item-tool btn btn-outline-secondary" title="{{$nolike}}" onclick="dolike({{$id}},'dislike'); return false"></i> <div id="like-rotator-{{$id}}" class="like-rotator"></div> </div> diff --git a/view/tpl/locmanage.tpl b/view/tpl/locmanage.tpl index 70426dd3e..53b71a5ea 100644 --- a/view/tpl/locmanage.tpl +++ b/view/tpl/locmanage.tpl @@ -1,6 +1,6 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper"> - <button class="btn btn-success btn-sm float-end" onclick="window.location.href='/locs/f=&sync=1'; return false;"><i class="fa fa-refresh"></i> {{$sync}}</button> + <button class="btn btn-success btn-sm float-end" onclick="window.location.href='/locs/f=&sync=1'; return false;"><i class="bi fa-refresh"></i> {{$sync}}</button> <h2>{{$header}}</h2> </div> <div class="section-content-wrapper-np"> @@ -23,10 +23,10 @@ <tr class="locs-index-row"> <td>{{$hub.hubloc_addr}}</td> <td class="d-none d-md-table-cell">{{$hub.hubloc_url}}</td> - <td>{{if $hub.hubloc_primary}}<i class="fa fa-check-square-o"></i>{{else}}<i class="fa fa-square-o primehub" onclick="primehub({{$hub.hubloc_id}}); return false;"></i>{{/if}}</td> + <td>{{if $hub.hubloc_primary}}<i class="bi bi-check-square"></i>{{else}}<i class="bi bi-square primehub" onclick="primehub({{$hub.hubloc_id}}); return false;"></i>{{/if}}</td> <td> {{if $hub.hubloc_url != $base_url}} - <i class="fa fa-trash-o drophub" onclick="drophub({{$hub.hubloc_id}}); return false;"></i> + <i class="bi bi-trash drophub" onclick="drophub({{$hub.hubloc_id}}); return false;"></i> {{/if}} </td> </tr> diff --git a/view/tpl/menuedit.tpl b/view/tpl/menuedit.tpl index ad698f2c9..862143ec1 100644 --- a/view/tpl/menuedit.tpl +++ b/view/tpl/menuedit.tpl @@ -3,7 +3,7 @@ <div class="section-title-wrapper"> {{if $menu_edit_link}} <div class="float-end"> - <a href="{{$menu_edit_link}}" title="{{$hintedit}}" class="btn btn-sm btn-success"><i class="fa fa-pencil-square-o"></i> {{$editcontents}}</a> + <a href="{{$menu_edit_link}}" title="{{$hintedit}}" class="btn btn-sm btn-success"><i class="bi bi-pencil-square-o"></i> {{$editcontents}}</a> </div> {{/if}} <h2>{{$header}}</h2> @@ -23,7 +23,7 @@ {{include file="field_checkbox.tpl" field=$menu_bookmark}} <div class="menuedit-submit-wrapper mb-3 float-end" > - <button type="submit" name="submit" class="btn btn-primary">{{$submit}} <i class="fa fa-caret-right"></i></button> + <button type="submit" name="submit" class="btn btn-primary">{{$submit}} <i class="bi bi-caret-right"></i></button> </div> <div class="clear"></div> </form> diff --git a/view/tpl/menulist.tpl b/view/tpl/menulist.tpl index a173cd5f9..f37e7738e 100644 --- a/view/tpl/menulist.tpl +++ b/view/tpl/menulist.tpl @@ -1,7 +1,7 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper"> <div class="float-end"> - <button id="webpage-create-btn" class="btn btn-sm btn-success" onclick="openClose('menu-creator');"><i class="fa fa-pencil-square-o"></i> {{$hintnew}}</button> + <button id="webpage-create-btn" class="btn btn-sm btn-success" onclick="openClose('menu-creator');"><i class="bi bi-pencil-square-o"></i> {{$hintnew}}</button> </div> <h2>{{$title}}</h2> <div class="clear"></div> @@ -24,12 +24,12 @@ </tr> {{foreach $menus as $m }} <tr id="menu-list-item-{{$m.menu_id}}"> - <td>{{if $m.bookmark}}<i class="fa fa-bookmark menu-list-tool" title="{{$bmark}}" ></i>{{/if}}</td> + <td>{{if $m.bookmark}}<i class="bi fa-bookmark menu-list-tool" title="{{$bmark}}" ></i>{{/if}}</td> <td><a href="mitem/{{$nick}}/{{$m.menu_id}}{{if $sys}}?f=&sys=1{{/if}}" title="{{$hintcontent}}">{{$m.menu_name}}</a></td> <td>{{$m.menu_desc}}</td> - <td class="menu-list-tool"><a href="menu/{{$nick}}/{{$m.menu_id}}{{if $sys}}?f=&sys=1{{/if}}" title="{{$hintedit}}"><i class="fa fa-pencil"></i></a></td> - <td class="menu-list-tool"><a href="rpost?attachment={{$m.element}}" title="{{$share}}"><i class="fa fa-share-square-o"></i></a></td> - <td class="menu-list-tool"><a href="#" title="{{$hintdrop}}" onclick="dropItem('menu/{{$nick}}/{{$m.menu_id}}/drop{{if $sys}}?f=&sys=1{{/if}}', '#menu-list-item-{{$m.menu_id}}'); return false;"><i class="fa fa-trash-o drop-icons"></i></a></td> + <td class="menu-list-tool"><a href="menu/{{$nick}}/{{$m.menu_id}}{{if $sys}}?f=&sys=1{{/if}}" title="{{$hintedit}}"><i class="bi bi-pencil"></i></a></td> + <td class="menu-list-tool"><a href="rpost?attachment={{$m.element}}" title="{{$share}}"><i class="bi bi-download"></i></a></td> + <td class="menu-list-tool"><a href="#" title="{{$hintdrop}}" onclick="dropItem('menu/{{$nick}}/{{$m.menu_id}}/drop{{if $sys}}?f=&sys=1{{/if}}', '#menu-list-item-{{$m.menu_id}}'); return false;"><i class="bi bi-trash drop-icons"></i></a></td> <td class="d-none d-md-table-cell">{{$m.menu_created}}</td> <td class="d-none d-md-table-cell">{{$m.menu_edited}}</td> </tr> diff --git a/view/tpl/messages_widget.tpl b/view/tpl/messages_widget.tpl index 9b6c6d03b..52a9b96f4 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 generic-icons"></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 generic-icons"></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 generic-icons"></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 generic-icons"></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-filter"></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/mitemedit.tpl b/view/tpl/mitemedit.tpl index c973e8cbd..77260576a 100644 --- a/view/tpl/mitemedit.tpl +++ b/view/tpl/mitemedit.tpl @@ -25,10 +25,10 @@ <div class="float-end mb-3"> <div class="btn-group"> <button id="dbtn-acl" class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" onclick="return false;"> - <i id="jot-perms-icon" class="fa fa-{{$lockstate}}"></i> + <i id="jot-perms-icon" class="bi bi-{{$lockstate}}"></i> </button> {{if $submit_more}} - <button class="btn btn-primary btn-sm" type="submit" name="submit-more" value="{{$submit_more}}">{{$submit_more}} <i class="fa fa-caret-right"></i></button> + <button class="btn btn-primary btn-sm" type="submit" name="submit-more" value="{{$submit_more}}">{{$submit_more}} <i class="bi bi-caret-right"></i></button> {{/if}} <button class="btn btn-primary btn-sm" type="submit" name="submit" value="{{$submit}}">{{$submit}}</button> </div> diff --git a/view/tpl/mitemlist.tpl b/view/tpl/mitemlist.tpl index a430e18cc..e134baa17 100644 --- a/view/tpl/mitemlist.tpl +++ b/view/tpl/mitemlist.tpl @@ -1,7 +1,7 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper"> <div class="float-end"> - <button id="webpage-create-btn" class="btn btn-sm btn-success" onclick="openClose('menu-element-creator');"><i class="fa fa-pencil-square-o"></i> {{$hintnew}}</button> + <button id="webpage-create-btn" class="btn btn-sm btn-success" onclick="openClose('menu-element-creator');"><i class="bi bi-pencil-square-o"></i> {{$hintnew}}</button> </div> <h2>{{$title}} {{if $menudesc}}{{$menudesc}}{{else}}{{$menuname}}{{/if}}</h2> <div class="clear"></div> @@ -23,9 +23,9 @@ <tr id="mitem-list-item-{{$m.mitem_id}}"> <td width="1%">{{$m.mitem_desc}}</td> <td width="96%"><a href="{{$m.mitem_link}}">{{$m.mitem_link}}</a></td> - <td width="1%" class="mitem-list-tool dropdown">{{if $m.allow_cid || $m.allow_gid || $m.deny_cid || $m.deny_gid}}<i class="fa fa-lock lockview" data-bs-toggle="dropdown" onclick="lockview('menu_item',{{$m.mitem_id}});" ></i><ul id="panel-{{$m.mitem_id}}" class="lockview-panel dropdown-menu"></ul>{{/if}}</td> - <td width="1%" class="mitem-list-tool"><a href="mitem/{{$nick}}/{{$menu_id}}/{{$m.mitem_id}}" title="{{$hintedit}}"><i class="fa fa-pencil"></i></a></td> - <td width="1%" class="mitem-list-tool"><a href="#" title="{{$hintdrop}}" onclick="dropItem('mitem/{{$nick}}/{{$menu_id}}/{{$m.mitem_id}}/drop', '#mitem-list-item-{{$m.mitem_id}}, #pmenu-item-{{$m.mitem_id}}'); return false;"><i class="fa fa-trash-o drop-icons"></i></a></td> + <td width="1%" class="mitem-list-tool dropdown">{{if $m.allow_cid || $m.allow_gid || $m.deny_cid || $m.deny_gid}}<i class="bi bi-lock lockview" data-bs-toggle="dropdown" onclick="lockview('menu_item',{{$m.mitem_id}});" ></i><ul id="panel-{{$m.mitem_id}}" class="lockview-panel dropdown-menu"></ul>{{/if}}</td> + <td width="1%" class="mitem-list-tool"><a href="mitem/{{$nick}}/{{$menu_id}}/{{$m.mitem_id}}" title="{{$hintedit}}"><i class="bi bi-pencil"></i></a></td> + <td width="1%" class="mitem-list-tool"><a href="#" title="{{$hintdrop}}" onclick="dropItem('mitem/{{$nick}}/{{$menu_id}}/{{$m.mitem_id}}/drop', '#mitem-list-item-{{$m.mitem_id}}, #pmenu-item-{{$m.mitem_id}}'); return false;"><i class="bi bi-trash drop-icons"></i></a></td> </tr> {{/foreach}} </table> 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> {{$create}}</a> + <a href="appman" class="float-end btn btn-success btn-sm"><i class="bi bi-pencil-square"></i> {{$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..050301d02 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 generic-icons"></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 generic-icons" 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 generic-icons"></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 generic-icons"></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 generic-icons"></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 generic-icons"></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 generic-icons"></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> {{$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> {{$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> @@ -219,12 +219,13 @@ </div> <div id="nav-app-bin-container" class="d-lg-none nav nav-pills flex-column"> {{foreach $navbar_apps as $navbar_app}} - {{$navbar_app|replace:'fa':'generic-icons-nav fa'}} + {{$navbar_app|replace:'generic-icons':'generic-icons-nav'}} {{/foreach}} </div> + {{/if}} {{if $is_owner}} - <div class="text-uppercase text-muted nav-link"> + <div class="text-uppercase dropdown-header text-muted"> {{$featured_apps}} </div> <div id="app-bin-container" data-token="{{$form_security_token}}" class="nav nav-pills flex-column"> @@ -234,7 +235,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 +373,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 +407,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/navbar_tucson.tpl b/view/tpl/navbar_tucson.tpl index bb67ff31c..53fc0343a 100644 --- a/view/tpl/navbar_tucson.tpl +++ b/view/tpl/navbar_tucson.tpl @@ -21,7 +21,7 @@ <div class="dropdown"> <div class="fakelink usermenu" data-bs-toggle="dropdown"> <img id="avatar" src="{{$userinfo.icon}}" alt="{{$userinfo.name}}"> - <i class="fa fa-caret-down"></i> + <i class="bi bi-caret-down"></i> </div> {{if $is_owner}} <div class="dropdown-menu"> @@ -33,7 +33,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}} @@ -74,19 +74,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-lg-circle"></i> </button> {{/if}} <button id="expand-aside" type="button" class="d-lg-none navbar-toggler border-0" data-bs-toggle="offcanvas" data-bs-target="#region_1"> - <i class="fa fa-arrow-circle-right" id="expand-aside-icon"></i> + <i class="bi fa-arrow-circle-right" 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 fa-exclamation-circle notifications-btn-icon"></i> </button> {{/if}} <button id="menu-btn" class="navbar-toggler border-0" type="button" data-bs-toggle="collapse" data-bs-target="#navbar-collapse-2"> - <i class="fa fa-bars"></i> + <i class="bi fa-bars"></i> </button> </div> <div class="collapse navbar-collapse" id="navbar-collapse-1"> @@ -128,16 +128,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-lg-circle"></i></a> </li> {{/if}} {{if $localuser || $nav.pubs}} <li id="notifications-btn" class="nav-item d-xl-none"> - <a class="nav-link text-white notifications-btn" href="#"><i id="notifications-btn-icon" class="fa fa-exclamation-circle notifications-btn-icon"></i></a> + <a class="nav-link text-white notifications-btn" href="#"><i id="notifications-btn-icon" class="bi fa-exclamation-circle notifications-btn-icon"></i></a> </li> {{/if}} {{if $channel_menu && $channel_apps.0}} @@ -158,7 +158,7 @@ {{/foreach}} {{/if}} <li class="nav-item dropdown" id="app-menu"> - <a class="nav-link" href="#" data-bs-toggle="dropdown"><i class="fa fa-fw fa-bars"></i></a> + <a class="nav-link" href="#" data-bs-toggle="dropdown"><i class="bi fa-bars"></i></a> <div id="dropdown-menu" class="dropdown-menu dropdown-menu-end"> {{if $channel_apps.0 && ! $channel_menu}} {{foreach $channel_apps as $channel_app}} @@ -178,8 +178,8 @@ {{/if}} {{if $is_owner}} <div class="dropdown-divider"></div> - <a class="dropdown-item" href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus-circle"></i>{{$addapps}}</a> - <a class="dropdown-item" href="/apporder"><i class="generic-icons-nav fa fa-fw fa-sort"></i>{{$orderapps}}</a> + <a class="dropdown-item" href="/apps"><i class="generic-icons-nav bi bi-plus-lg"></i>{{$addapps}}</a> + <a class="dropdown-item" href="/apporder"><i class="generic-icons-nav bi fa-sort"></i>{{$orderapps}}</a> {{/if}} </div> </li> @@ -207,8 +207,8 @@ {{/if}} {{if $is_owner}} <div class="dropdown-divider"></div> - <a class="nav-link" href="/apps"><i class="generic-icons-nav fa fa-fw fa-plus-circle"></i>{{$addapps}}</a> - <a class="nav-link" href="/apporder"><i class="generic-icons-nav fa fa-fw fa-sort"></i>{{$orderapps}}</a> + <a class="nav-link" href="/apps"><i class="generic-icons-nav bi bi-plus-lg"></i>{{$addapps}}</a> + <a class="nav-link" href="/apporder"><i class="generic-icons-nav bi fa-sort"></i>{{$orderapps}}</a> {{/if}} </div> </div> @@ -216,8 +216,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> {{$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-lg"></i> {{$fulldocs}}</a> + <a class="contextual-help-tool" href="#" onclick="contextualHelp(); return false;"><i class="bi bi-x-lg"></i></a> </div> </div> {{/if}} diff --git a/view/tpl/notifications_widget.tpl b/view/tpl/notifications_widget.tpl index a9d98dae9..97901e052 100644 --- a/view/tpl/notifications_widget.tpl +++ b/view/tpl/notifications_widget.tpl @@ -5,6 +5,7 @@ var sse_partial_result = false; var sse_rmids = []; var sse_fallback_interval; + var sse_sys_only = {{$sys_only}}; $(document).ready(function() { let notifications_parent; @@ -219,8 +220,9 @@ } function sse_bs_counts() { - if(sse_bs_active) + if(sse_bs_active || sse_sys_only) { return; + } sse_bs_active = true; @@ -238,10 +240,11 @@ function sse_bs_notifications(e, replace, followup) { - if(sse_bs_active) + if(sse_bs_active || sse_sys_only) { return; + } - var manual = false; + let manual = false; if(typeof replace === 'undefined') replace = e.data.replace; @@ -302,9 +305,27 @@ function sse_handleNotifications(obj, replace, followup) { - var primary_notifications = ['dm', 'home', 'intros', 'register', 'notify', 'files']; - var secondary_notifications = ['network', 'forums', 'all_events', 'pubs']; - var all_notifications = primary_notifications.concat(secondary_notifications); + // notice and info + + if(obj.notice) { + $(obj.notice.notifications).each(function() { + toast(this, 'danger'); + }); + } + + if(obj.info) { + $(obj.info.notifications).each(function(){ + toast(this, 'info'); + }); + } + + if (sse_sys_only) { + return; + } + + let primary_notifications = ['dm', 'home', 'intros', 'register', 'notify', 'files']; + let secondary_notifications = ['network', 'forums', 'all_events', 'pubs']; + let all_notifications = primary_notifications.concat(secondary_notifications); all_notifications.forEach(function(type, index) { if(typeof obj[type] === typeof undefined) @@ -312,7 +333,6 @@ var count = Number(obj[type].count); - if(obj[type].count) { $('.' + type + '-button').fadeIn(); if(replace || followup) { @@ -336,20 +356,6 @@ sse_setNotificationsStatus(); - // notice and info - - if(obj.notice) { - $(obj.notice.notifications).each(function() { - toast(this, 'danger'); - }); - } - - if(obj.info) { - $(obj.info.notifications).each(function(){ - toast(this, 'info'); - }); - } - // load more notifications if visible notifications count becomes low if(sse_type && sse_offset != -1 && $('#nav-' + sse_type + '-menu').children(':not(.tt-filter-active)').length < 15) { sse_bs_notifications(sse_type, false, true); @@ -464,12 +470,12 @@ }); if(primary_available) { - $('.notifications-btn-icon').removeClass('fa-exclamation-circle'); - $('.notifications-btn-icon').addClass('fa-exclamation-triangle'); + $('.notifications-btn-icon').removeClass('bi-exclamation-circle'); + $('.notifications-btn-icon').addClass('bi-exclamation-triangle'); } else { - $('.notifications-btn-icon').removeClass('fa-exclamation-triangle'); - $('.notifications-btn-icon').addClass('fa-exclamation-circle'); + $('.notifications-btn-icon').removeClass('bi-exclamation-triangle'); + $('.notifications-btn-icon').addClass('bi-exclamation-circle'); } if(any_available) { @@ -533,6 +539,7 @@ } </script> +{{if !$sys_only}} <div id="notifications_wrapper" class="mb-4"> <div id="no_notifications" class="d-xl-none"> {{$no_notifications}}<span class="jumping-dots"><span class="dot-1">.</span><span class="dot-2">.</span><span class="dot-3">.</span></span> @@ -565,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> @@ -574,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-filter"></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}} @@ -604,3 +611,4 @@ {{/foreach}} </div> </div> +{{/if}} diff --git a/view/tpl/nwiki_page_history.tpl b/view/tpl/nwiki_page_history.tpl deleted file mode 100644 index 6926cca2d..000000000 --- a/view/tpl/nwiki_page_history.tpl +++ /dev/null @@ -1,59 +0,0 @@ -<style> - .diff { - width:100%; - word-break: break-all; - } - - .diff td{ - padding:0 0.667em; - vertical-align:top; - white-space:pre; - white-space:pre-wrap; - font-family:Consolas,'Courier New',Courier,monospace; - font-size:1.0em; - line-height:1.333; - } - - .diff span{ - display:block; - min-height:1.333em; - margin-top:-1px; - padding:0 3px; - } - - * html .diff span{ - height:1.333em; - } - - .diff span:first-child{ - margin-top:0; - } - - .diffDeleted span{ - border:1px solid rgb(255,192,192); - background:rgb(255,224,224); - } - - .diffInserted span{ - border:1px solid rgb(192,255,192); - background:rgb(224,255,224); - } -</style> -<table class="" style="width: 100%;"> - {{foreach $pageHistory as $commit}} - <tr class="wikis-index-row"><td> - <table id="rev-{{$commit.revision}}" onclick="$('#details-{{$commit.revision}}').show()" style="width: 100%;"> - <tr><td width="10%">{{$date_lbl}}</td><td width="70%">{{$commit.date}}</td> - <td rowspan="3" width="20%" align="right"> - {{if $permsWrite}} - <button id="revert-{{$commit.revision}}" class="btn btn-danger btn-sm" onclick="wiki_revert_page('{{$commit.revision}}')">{{$revert_btn}}</button> - <br><br> - {{/if}} - <button id="compare-{{$commit.revision}}" class="btn btn-warning btn-sm" onclick="wiki_compare_page('{{$commit.revision}}')">{{$compare_btn}}</button> - </td></tr> - <tr><td>{{$name_lbl}}</td><td>{{$commit.name}}</td></tr> - <tr><td>{{$msg_label}}</td><td>{{$commit.title}}</td></tr> - </table> - </td></tr> - {{/foreach}} -</table>
\ No newline at end of file diff --git a/view/tpl/oauth.tpl b/view/tpl/oauth.tpl index 881e22e99..97bd4b610 100644 --- a/view/tpl/oauth.tpl +++ b/view/tpl/oauth.tpl @@ -25,8 +25,8 @@ {{/if}} {{/if}} {{if $app.my}} - <a href="{{$baseurl}}/oauth/edit/{{$app.client_id}}" title="{{$edit}}"><i class="fa fa-pencil btn btn-outline-secondary"></i></a> - <a href="{{$baseurl}}/oauth/delete/{{$app.client_id}}?t={{$form_security_token}}" title="{{$delete}}"><i class="fa fa-trash-o btn btn-outline-secondary"></i></a> + <a href="{{$baseurl}}/oauth/edit/{{$app.client_id}}" title="{{$edit}}"><i class="bi bi-pencil btn btn-outline-secondary"></i></a> + <a href="{{$baseurl}}/oauth/delete/{{$app.client_id}}?t={{$form_security_token}}" title="{{$delete}}"><i class="bi bi-trash btn btn-outline-secondary"></i></a> {{/if}} </div> {{/foreach}} diff --git a/view/tpl/oauth2.tpl b/view/tpl/oauth2.tpl index a5b48ffce..a23ded2f7 100644 --- a/view/tpl/oauth2.tpl +++ b/view/tpl/oauth2.tpl @@ -25,8 +25,8 @@ {{/if}} {{/if}} {{if $app.my}} - <a href="{{$baseurl}}/oauth2/edit/{{$app.client_id}}" title="{{$edit}}"><i class="fa fa-pencil btn btn-outline-secondary"></i></a> - <a href="{{$baseurl}}/oauth2/delete/{{$app.client_id}}?t={{$form_security_token}}" title="{{$delete}}"><i class="fa fa-trash-o btn btn-outline-secondary"></i></a> + <a href="{{$baseurl}}/oauth2/edit/{{$app.client_id}}" title="{{$edit}}"><i class="bi bi-pencil btn btn-outline-secondary"></i></a> + <a href="{{$baseurl}}/oauth2/delete/{{$app.client_id}}?t={{$form_security_token}}" title="{{$delete}}"><i class="bi bi-trash btn btn-outline-secondary"></i></a> {{/if}} </div> </form> diff --git a/view/tpl/oauth2testvehicle.tpl b/view/tpl/oauth2testvehicle.tpl index ce46b58c0..5447934af 100644 --- a/view/tpl/oauth2testvehicle.tpl +++ b/view/tpl/oauth2testvehicle.tpl @@ -7,7 +7,7 @@ {{$baseurl}}/{{$ept.0}}/?{{foreach $ept.1 as $field}}{{$field.0}}={{$field.1}}&<input type="hidden" name="{{$field.0}}" value="{{$field.1}}" />{{/foreach}} <br> <button type="submit" name="{{$ept.2}}_submit" value="submit" class="btn btn-med" title="">Submit</button> - <span style="display: {{if $ept.5}}inline{{else}}none{{/if}}; font-size: 2em;"> <i class="fa fa-check"></i></span> + <span style="display: {{if $ept.5}}inline{{else}}none{{/if}}; font-size: 2em;"> <i class="bi bi-check-lg"></i></span> </form> </div> {{/foreach}} diff --git a/view/tpl/page_display.tpl b/view/tpl/page_display.tpl index 589de0b41..e8c9c0e27 100644 --- a/view/tpl/page_display.tpl +++ b/view/tpl/page_display.tpl @@ -11,7 +11,7 @@ <div class="page-body">{{$body}}</div> {{if $edit_link}} <div class="position-fixed bottom-0 end-0 m-3"> - <a href="{{$edit_link}}" class="btn btn-lg btn-primary rounded-circle"><i class="fa fa-pencil"></i></a> + <a href="{{$edit_link}}" class="btn btn-lg btn-primary rounded-circle"><i class="bi bi-pencil"></i></a> </div> {{/if}} </div> diff --git a/view/tpl/page_display_empty.tpl b/view/tpl/page_display_empty.tpl index 5a3bdc530..44baec361 100644 --- a/view/tpl/page_display_empty.tpl +++ b/view/tpl/page_display_empty.tpl @@ -1,6 +1,6 @@ {{$body}} {{if $edit_link}} <div class="position-fixed bottom-0 end-0 m-3"> - <a href="{{$edit_link}}" class="btn btn-lg btn-primary rounded-circle"><i class="fa fa-pencil"></i></a> + <a href="{{$edit_link}}" class="btn btn-lg btn-primary rounded-circle"><i class="bi bi-pencil"></i></a> </div> {{/if}} diff --git a/view/tpl/pdledit_gui_item.tpl b/view/tpl/pdledit_gui_item.tpl index 9d0095ed4..1a3de7e15 100644 --- a/view/tpl/pdledit_gui_item.tpl +++ b/view/tpl/pdledit_gui_item.tpl @@ -12,7 +12,7 @@ {{if $entry.type !== 'content'}} <button type="button" class="btn btn-sm btn-outline-primary pdledit_gui_item_src{{if $disable_controls}} disabled{{/if}}">Edit</button> <button type="button" class="btn btn-sm btn-outline-danger pdledit_gui_item_remove{{if $disable_controls}} disabled{{/if}}">Remove</button> - <i class="fa fa-fw fa-arrows-alt m-2 float-end cursor-pointer pdledit_gui_item_handle"></i> + <i class="bi fa-arrows-alt m-2 float-end cursor-pointer pdledit_gui_item_handle"></i> {{/if}} </div> </div> diff --git a/view/tpl/peoplefind.tpl b/view/tpl/peoplefind.tpl index 1dc02e4c3..dcab0fa5f 100644 --- a/view/tpl/peoplefind.tpl +++ b/view/tpl/peoplefind.tpl @@ -3,7 +3,7 @@ <form action="directory" method="post" /> <div class="input-group mb-3"> <input class="form-control" type="text" name="search" title="{{$hint}}{{if $advanced_search}}{{$advanced_hint}}{{/if}}" placeholder="{{$desc}}" /> - <button class="btn btn-outline-secondary" type="submit" name="submit"><i class="fa fa-fw fa-search"></i></button> + <button class="btn btn-outline-secondary" type="submit" name="submit"><i class="bi bi-search"></i></button> </div> </form> <ul class="nav nav-pills flex-column"> diff --git a/view/tpl/photo_album.tpl b/view/tpl/photo_album.tpl index d01260f07..bff7c7e65 100644 --- a/view/tpl/photo_album.tpl +++ b/view/tpl/photo_album.tpl @@ -2,14 +2,14 @@ <div class="section-title-wrapper"> <div class="float-end"> {{if $order}} - <a class="btn btn-outline-secondary btn-sm" href="{{$order.1}}" title="{{$order.0}}"><i class="fa fa-sort"></i></a> + <a class="btn btn-outline-secondary btn-sm" href="{{$order.1}}" title="{{$order.0}}"><i class="bi bi-arrow-down-up"></i></a> {{/if}} <div class="btn-group btn-group"> {{if $album_edit.1}} - <i class="fa fa-pencil btn btn-outline-secondary btn-sm" title="{{$album_edit.0}}" onclick="openClose('photo-album-edit-wrapper'); closeMenu('photo-upload-form');"></i> + <i class="bi bi-pencil btn btn-outline-secondary btn-sm" title="{{$album_edit.0}}" onclick="openClose('photo-album-edit-wrapper'); closeMenu('photo-upload-form');"></i> {{/if}} {{if $can_post}} - <button class="btn btn-sm btn-success btn-sm" title="{{$usage}}" onclick="openClose('photo-upload-form'); {{if $album_edit.1}}closeMenu('photo-album-edit-wrapper');{{/if}}"><i class="fa fa-plus-circle"></i> {{$upload.0}}</button> + <button class="btn btn-sm btn-success btn-sm" title="{{$usage}}" onclick="openClose('photo-upload-form'); {{if $album_edit.1}}closeMenu('photo-album-edit-wrapper');{{/if}}"><i class="bi bi-plus-lg"></i> {{$upload.0}}</button> {{/if}} </div> </div> diff --git a/view/tpl/photo_drop.tpl b/view/tpl/photo_drop.tpl index 664e5338c..dde7d9d0d 100644 --- a/view/tpl/photo_drop.tpl +++ b/view/tpl/photo_drop.tpl @@ -1,3 +1,3 @@ <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$id}}" > - <a class="btn btn-outline-secondary btn-sm" href="#" onclick="dropItem('item/drop/{{$id}}', '#wall-item-outside-wrapper-{{$id}}'); return false;" title="{{$delete}}" ><i class="fa fa-trash-o"></i></a> + <a class="btn btn-outline-secondary btn-sm" href="#" onclick="dropItem('item/drop/{{$id}}', '#wall-item-outside-wrapper-{{$id}}'); return false;" title="{{$delete}}" ><i class="bi bi-trash"></i></a> </div> diff --git a/view/tpl/photo_view.tpl b/view/tpl/photo_view.tpl index 473e34123..5dc5fb32d 100644 --- a/view/tpl/photo_view.tpl +++ b/view/tpl/photo_view.tpl @@ -5,35 +5,35 @@ {{if $tools || $map || $edit}} <div class="btn-group"> <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown"> - <i class="fa fa-cog"></i> {{$tools_label}} + <i class="bi bi-gear"></i> {{$tools_label}} </button> <div class="dropdown-menu dropdown-menu-end flex-column"> {{if $tools}} - <a class="dropdown-item" href="{{$tools.profile.0}}"><i class="fa fa-user"></i> {{$tools.profile.1}}</a> - <a class="dropdown-item" href="{{$tools.cover.0}}"><i class="fa fa-picture-o"></i> {{$tools.cover.1}}</a> + <a class="dropdown-item" href="{{$tools.profile.0}}"><i class="bi bi-person"></i> {{$tools.profile.1}}</a> + <a class="dropdown-item" href="{{$tools.cover.0}}"><i class="bi bi-image"></i> {{$tools.cover.1}}</a> {{/if}} {{if $map}} - <a class="dropdown-item" href="#" onclick="var pos = $('#photo-map').css('position'); if(pos === 'absolute') { $('#photo-map').css( { position: 'relative', left: 'auto', top: 'auto' }); } else { $('#photo-map').css( { position: 'absolute', left: '-9999px', top: '-9999px' }); } return false; " ><i class="fa fa-globe"></i> {{$map_text}}</a> + <a class="dropdown-item" href="#" onclick="var pos = $('#photo-map').css('position'); if(pos === 'absolute') { $('#photo-map').css( { position: 'relative', left: 'auto', top: 'auto' }); } else { $('#photo-map').css( { position: 'absolute', left: '-9999px', top: '-9999px' }); } return false; " ><i class="bi bi-globe"></i> {{$map_text}}</a> {{/if}} {{if $edit}} - <a class="dropdown-item acl-form-trigger" href="#" title="" onclick="openClose('photo-edit'); return false;" data-form_id="photo_edit_form"><i class="fa fa-pencil"></i> {{$edit.edit}}</a> + <a class="dropdown-item acl-form-trigger" href="#" title="" onclick="openClose('photo-edit'); return false;" data-form_id="photo_edit_form"><i class="bi bi-pencil"></i> {{$edit.edit}}</a> {{/if}} </div> </div> {{/if}} {{if $lock}} <div class="btn-group"> - <button id="lockview" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" title="{{$lock}}" onclick="lockview('photo',{{$id}});" ><i class="fa fa-lock"></i></button> + <button id="lockview" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" title="{{$lock}}" onclick="lockview('photo',{{$id}});" ><i class="bi bi-lock"></i></button> <ul id="panel-{{$id}}" class="lockview-panel dropdown-menu dropdown-menu-end"></ul> </div> {{/if}} {{if $prevlink || $nextlink}} <div class="btn-group"> {{if $prevlink}} - <a href="{{$prevlink.0}}" class="btn btn-outline-secondary btn-sm" title="{{$prevlink.1}}"><i class="fa fa-backward"></i></a> + <a href="{{$prevlink.0}}" class="btn btn-outline-secondary btn-sm" title="{{$prevlink.1}}"><i class="bi bi-chevron-left"></i></a> {{/if}} {{if $nextlink}} - <a href="{{$nextlink.0}}" class="btn btn-outline-secondary btn-sm" title="{{$nextlink.1}}"><i class="fa fa-forward"></i></a> + <a href="{{$nextlink.0}}" class="btn btn-outline-secondary btn-sm" title="{{$nextlink.1}}"><i class="bi bi-chevron-right"></i></a> {{/if}} </div> {{/if}} @@ -91,7 +91,7 @@ <div class="mb-3 btn-group float-end"> {{if $edit.aclselect}} <button id="dbtn-acl" class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" onclick="return false;"> - <i id="jot-perms-icon" class="fa fa-{{$edit.lockstate}}"></i> + <i id="jot-perms-icon" class="bi bi-{{$edit.lockstate}}"></i> </button> {{/if}} <button id="tool-submit" class="btn btn-primary btn-sm" type="submit" name="submit" >{{$edit.submit}}</button> @@ -107,7 +107,7 @@ <div class="photo-item-tools-left" id="in-this-photo"> <span id="in-this-photo-text">{{$tag_hdr}}</span> {{foreach $tags as $t}} - {{$t.0}}{{if $edit}}<span id="tag-remove"> <a href="{{$t.1}}" onclick="return confirmDelete();"><i class="fa fa-times"></i></a> </span>{{/if}} + {{$t.0}}{{if $edit}}<span id="tag-remove"> <a href="{{$t.1}}" onclick="return confirmDelete();"><i class="bi bi-x-lg"></i></a> </span>{{/if}} {{/foreach}} </div> {{/if}} @@ -151,10 +151,10 @@ {{if $likebuttons}} <div class="photo-item-tools-right btn-group float-end"> <button type="button" class="btn btn-outline-secondary btn-sm" onclick="dolike({{$likebuttons.id}},'like'); return false"> - <i class="fa fa-thumbs-o-up" title="{{$likebuttons.likethis}}"></i> + <i class="bi bi-hand-thumbs-up" title="{{$likebuttons.likethis}}"></i> </button> <button type="button" class="btn btn-outline-secondary btn-sm" onclick="dolike({{$likebuttons.id}},'dislike'); return false"> - <i class="fa fa-thumbs-o-down" title="{{$likebuttons.nolike}}"></i> + <i class="bi bi-hand-thumbs-down" title="{{$likebuttons.nolike}}"></i> </button> </div> <div id="like-rotator-{{$likebuttons.id}}" class="photo-like-rotator float-end"></div> diff --git a/view/tpl/photos_recent.tpl b/view/tpl/photos_recent.tpl index fe770d72e..dcba530ef 100644 --- a/view/tpl/photos_recent.tpl +++ b/view/tpl/photos_recent.tpl @@ -2,7 +2,7 @@ <div class="section-title-wrapper"> <div class="float-end"> {{if $can_post}} - <button class="btn btn-sm btn-success acl-form-trigger" title="{{$usage}}" onclick="openClose('photo-upload-form');" data-form_id="photos-upload-form"><i class="fa fa-plus-circle"></i> {{$upload.0}}</button> + <button class="btn btn-sm btn-success acl-form-trigger" title="{{$usage}}" onclick="openClose('photo-upload-form');" data-form_id="photos-upload-form"><i class="bi bi-plus-lg"></i> {{$upload.0}}</button> {{/if}} </div> <h2>{{$title}}</h2> diff --git a/view/tpl/photos_upload.tpl b/view/tpl/photos_upload.tpl index 72f6c4611..f5097c8a7 100644 --- a/view/tpl/photos_upload.tpl +++ b/view/tpl/photos_upload.tpl @@ -26,7 +26,7 @@ <div class="btn-group"> {{if $lockstate}} <button id="dbtn-acl" class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" onclick="return false;"> - <i id="jot-perms-icon" class="fa fa-{{$lockstate}}"></i> + <i id="jot-perms-icon" class="bi bi-{{$lockstate}}"></i> </button> {{/if}} <button id="dbtn-submit" class="btn btn-primary btn-sm">{{$submit}}</button> @@ -44,7 +44,7 @@ <div id="photos-upload-perms" class="btn-group pull-right"> {{if $lockstate}} <button class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" onclick="return false;"> - <i id="jot-perms-icon" class="fa fa-{{$lockstate}}"></i> + <i id="jot-perms-icon" class="bi bi-{{$lockstate}}"></i> </button> {{/if}} <div class="float-end"> diff --git a/view/tpl/pinned_item.tpl b/view/tpl/pinned_item.tpl index ece386b72..90905a145 100644 --- a/view/tpl/pinned_item.tpl +++ b/view/tpl/pinned_item.tpl @@ -34,7 +34,7 @@ <div class="wall-item-photo-wrapper{{if $owner_url}} wwfrom{{/if}} h-card p-author" id="wall-item-photo-wrapper-{{$id}}"> <img src="{{$thumb}}" class="fakelink wall-item-photo{{$sparkle}} u-photo p-name" id="wall-item-photo-{{$id}}" alt="{{$name}}" loading="lazy" data-bs-toggle="dropdown" /> {{if $thread_author_menu}} - <i class="fa fa-caret-down wall-item-photo-caret cursor-pointer" data-bs-toggle="dropdown"></i> + <i class="bi bi-caret-down wall-item-photo-caret cursor-pointer" data-bs-toggle="dropdown"></i> <div class="dropdown-menu"> {{foreach $thread_author_menu as $mitem}} <a class="dropdown-item{{if $mitem.class}} {{$mitem.class}}{{/if}}" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}}{{if $mitem.data}} {{$mitem.data}}{{/if}}>{{$mitem.title}}</a> @@ -50,22 +50,22 @@ <div class="text-end ms-auto"> <div class="wall-item-ago text-nowrap opacity-75" id="wall-item-ago-{{$id}}"> {{if $editedtime}} - <i class="fa fa-pencil"></i> + <i class="bi bi-pencil"></i> {{/if}} {{if $delayed}} - <i class="fa fa-clock-o"></i> + <i class="bi fa-clock-o"></i> {{/if}} {{if $location}} <small class="wall-item-location p-location" id="wall-item-location-{{$id}}">{{$location}}</small> {{/if}} {{if $verified}} - <i class="fa fa-check text-success" title="{{$verified}}"></i> + <i class="bi bi-check-lg text-success" title="{{$verified}}"></i> {{elseif $forged}} - <i class="fa fa-exclamation text-danger" title="{{$forged}}"></i> + <i class="bi fa-exclamation text-danger" title="{{$forged}}"></i> {{/if}} <small class="autotime" title="{{$isotime}}"><time class="dt-published" datetime="{{$isotime}}">{{$localtime}}</time>{{if $editedtime}} {{$editedtime}}{{/if}}{{if $expiretime}} {{$expiretime}}{{/if}}</small> </div> - <div class="wall-item-pinned" title="{{$pinned}}" id="wall-item-pinned-{{$id}}"><i class="fa fa-thumb-tack"></i></div> + <div class="wall-item-pinned" title="{{$pinned}}" id="wall-item-pinned-{{$id}}"><i class="bi fa-thumb-tack"></i></div> </div> </div> {{if $divider}} @@ -96,17 +96,17 @@ {{if $isevent}} <div class="btn-group"> <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" id="pinned-item-attend-menu-{{$id}}" title="{{$attend_title}}"> - <i class="fa fa-calendar-check-o"></i> + <i class="bi fa-calendar-check-o"></i> </button> <div class="dropdown-menu dropdown-menu-end"> <a class="dropdown-item" href="#" title="{{$attend.0}}" onclick="itemAddToCal({{$id}}); dolike({{$id}},'attendyes'); return false;"> - <i class="item-act-list fa fa-check{{if $my_responses.attend}} ivoted{{/if}}" ></i> {{$attend.0}} + <i class="item-act-list bi bi-check-lg{{if $my_responses.attend}} ivoted{{/if}}" ></i> {{$attend.0}} </a> <a class="dropdown-item" href="#" title="{{$attend.1}}" onclick="itemAddToCal({{$id}}), dolike({{$id}},'attendno'); return false;"> - <i class="item-act-list fa fa-times{{if $my_responses.attendno}} ivoted{{/if}}" ></i> {{$attend.1}} + <i class="item-act-list bi bi-x-lg{{if $my_responses.attendno}} ivoted{{/if}}" ></i> {{$attend.1}} </a> <a class="dropdown-item" href="#" title="{{$attend.2}}" onclick="itemAddToCal({{$id}}); dolike({{$id}},'attendmaybe'); return false;"> - <i class="item-act-list fa fa-question{{if $my_responses.attendmaybe}} ivoted{{/if}}" ></i> {{$attend.2}} + <i class="item-act-list bi bi-question-lg{{if $my_responses.attendmaybe}} ivoted{{/if}}" ></i> {{$attend.2}} </a> </div> </div> @@ -114,40 +114,40 @@ {{if $canvote}} <div class="btn-group"> <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" id="pinned-item-consensus-menu-{{$id}}" title="{{$vote_title}}"> - <i class="fa fa-check-square-o"></i> + <i class="bi bi-check-square"></i> </button> <div class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="wall-item-consensus-menu-{{$id}}"> <a class="dropdown-item" href="#" title="{{$conlabels.0}}" onclick="dolike({{$id}},'agree'); return false;"> - <i class="item-act-list fa fa-check{{if $my_responses.agree}} ivoted{{/if}}" ></i> {{$conlabels.0}} + <i class="item-act-list bi bi-check-lg{{if $my_responses.agree}} ivoted{{/if}}" ></i> {{$conlabels.0}} </a> <a class="dropdown-item" href="#" title="{{$conlabels.1}}" onclick="dolike({{$id}},'disagree'); return false;"> - <i class="item-act-list fa fa-times{{if $my_responses.disagree}} ivoted{{/if}}" ></i> {{$conlabels.1}} + <i class="item-act-list bi bi-x-lg{{if $my_responses.disagree}} ivoted{{/if}}" ></i> {{$conlabels.1}} </a> <a class="dropdown-item" href="#" title="{{$conlabels.2}}" onclick="dolike({{$id}},'abstain'); return false;"> - <i class="item-act-list fa fa-question{{if $my_responses.abstain}} ivoted{{/if}}" ></i> {{$conlabels.2}} + <i class="item-act-list bi bi-question-lg{{if $my_responses.abstain}} ivoted{{/if}}" ></i> {{$conlabels.2}} </a> </div> </div> {{/if}} <div class="btn-group"> <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" id="pinned-item-menu-{{$id}}"> - <i class="fa fa-cog"></i> + <i class="bi bi-gear"></i> </button> <div class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="wall-item-menu-{{$id}}"> {{if $share}} - <a class="dropdown-item" href="#" onclick="jotShare({{$id}},{{$item_type}}); return false;"><i class="generic-icons-nav fa fa-fw fa-retweet" title="{{$share.0}}"></i>{{$share.0}}</a> + <a class="dropdown-item" href="#" onclick="jotShare({{$id}},{{$item_type}}); return false;"><i class="generic-icons-nav bi fa-retweet" title="{{$share.0}}"></i>{{$share.0}}</a> {{/if}} {{if $embed}} - <a class="dropdown-item" href="#" onclick="jotEmbed({{$id}},{{$item_type}}); return false;"><i class="generic-icons-nav fa fa-fw fa-share" title="{{$embed.0}}"></i>{{$embed.0}}</a> + <a class="dropdown-item" href="#" onclick="jotEmbed({{$id}},{{$item_type}}); return false;"><i class="generic-icons-nav bi fa-share" title="{{$embed.0}}"></i>{{$embed.0}}</a> {{/if}} {{if $plink}} - <a class="dropdown-item" href="{{$plink.href}}" title="{{$plink.title}}" class="u-url"><i class="generic-icons-nav fa fa-fw fa-external-link"></i>{{$plink.title}}</a> + <a class="dropdown-item" href="{{$plink.href}}" title="{{$plink.title}}" class="u-url"><i class="generic-icons-nav bi bi-box-arrow-up-right"></i>{{$plink.title}}</a> {{/if}} {{if $pinme}} - <a class="dropdown-item dropdown-item-pinnable" href="#" onclick="dopin({{$id}}); return false;"><i class="generic-icons-nav fa fa-fw fa-thumb-tack"></i>{{$pinme}}</a> + <a class="dropdown-item dropdown-item-pinnable" href="#" onclick="dopin({{$id}}); return false;"><i class="generic-icons-nav bi fa-thumb-tack"></i>{{$pinme}}</a> {{/if}} {{if $hide}} - <a class="dropdown-item" href="#" onclick="dopinhide({{$id}}); return false;" class="u-url"><i class="generic-icons-nav fa fa-fw fa-remove"></i>{{$hide}}</a> + <a class="dropdown-item" href="#" onclick="dopinhide({{$id}}); return false;" class="u-url"><i class="generic-icons-nav bi fa-remove"></i>{{$hide}}</a> {{/if}} </div> </div> @@ -159,7 +159,7 @@ <div class="wall-item-tools-left btn-group" id="pinned-item-tools-left-{{$id}}"> <div class="btn-group"> <button type="button" class="btn btn-outline-secondary btn-sm wall-item-like dropdown-toggle" data-bs-toggle="dropdown" id="pinned-attachment-menu-{{$id}}"> - <i class="fa fa-paperclip"></i> + <i class="bi bi-paperclip"></i> </button> <div class="dropdown-menu">{{$attachments}}</div> </div> diff --git a/view/tpl/posted_date_widget.tpl b/view/tpl/posted_date_widget.tpl index fb43c744b..41007a6fe 100644 --- a/view/tpl/posted_date_widget.tpl +++ b/view/tpl/posted_date_widget.tpl @@ -2,18 +2,18 @@ function toggle_posted_date_button() { if($('#posted-date-dropdown').is(':visible')) { - $('#posted-date-icon').removeClass('fa-caret-up'); - $('#posted-date-icon').addClass('fa-cog'); + $('#posted-date-icon').removeClass('bi-chevron-up'); + $('#posted-date-icon').addClass('bi-chevron-down'); $('#posted-date-dropdown').hide(); } else { - $('#posted-date-icon').addClass('fa-caret-up'); - $('#posted-date-icon').removeClass('fa-cog'); + $('#posted-date-icon').addClass('bi-chevron-up'); + $('#posted-date-icon').removeClass('bi-chevron-down'); $('#posted-date-dropdown').show(); } } </script> - + <div id="datebrowse-sidebar" class="widget"> <h3>{{$title}}</h3> @@ -24,7 +24,7 @@ function toggle_posted_date_button() { </ul> <div id="posted-date-dropdown" style="display: none;"> <ul id="posted-date-selector-drop" class="nav nav-pills flex-column"> - {{/if}} + {{/if}} <li class="nav-item" id="posted-date-selector-year-{{$y}}"> <a class="nav-link" href="#" onclick="openClose('posted-date-selector-{{$y}}'); return false;">{{$y}}</a> </li> @@ -40,7 +40,7 @@ function toggle_posted_date_button() { {{/foreach}} {{if $cutoff}} </div> - <button class="btn btn-outline-secondary btn-sm" onclick="toggle_posted_date_button(); return false;"><i id="posted-date-icon" class="fa fa-cog"></i></button> + <button class="btn btn-outline-secondary btn-sm" onclick="toggle_posted_date_button(); return false;"><i id="posted-date-icon" class="bi bi-chevron-down"></i></button> {{/if}} </ul> </div> diff --git a/view/tpl/profile_advanced.tpl b/view/tpl/profile_advanced.tpl index 2ee5e9d09..333d9b98c 100644 --- a/view/tpl/profile_advanced.tpl +++ b/view/tpl/profile_advanced.tpl @@ -12,13 +12,13 @@ {{if $profile.canlike}} <div class="btn-group"> <button type="button" class="btn btn-success btn-sm" onclick="doprofilelike('profile/' + '{{$profile.profile_guid}}','like'); return false;" title="{{$profile.likethis}}" > - <i class="fa fa-thumbs-o-up" title="{{$profile.likethis}}"></i> + <i class="bi fa-thumbs-o-up" title="{{$profile.likethis}}"></i> </button> </div> {{/if}} {{if $editmenu.multi}} <div class="btn-group"> - <a class="btn btn-primary btn-sm dropdown-toggle" data-bs-toggle="dropdown" href="#" ><i class="fa fa-pencil"></i> {{$editmenu.edit.3}}</a> + <a class="btn btn-primary btn-sm dropdown-toggle" data-bs-toggle="dropdown" href="#" ><i class="bi bi-pencil"></i> {{$editmenu.edit.3}}</a> <div class="dropdown-menu dropdown-menu-end"> {{foreach $editmenu.menu.entries as $e}} <a class="dropdown-item" href="profiles/{{$e.id}}"><img class="menu-img-1" src='{{$e.photo}}'> {{$e.profile_name}}</a> @@ -30,12 +30,12 @@ </div> {{elseif $editmenu}} <div class="btn-group"> - <a class="btn btn-primary btn-sm" href="{{$editmenu.edit.0}}" ><i class="fa fa-pencil"></i> {{$editmenu.edit.3}}</a> + <a class="btn btn-primary btn-sm" href="{{$editmenu.edit.0}}" ><i class="bi bi-pencil"></i> {{$editmenu.edit.3}}</a> </div> {{/if}} {{** if $exportlink}} <div class="btn-group"> - <a class="btn btn-outline-secondary btn-sm" href="{{$exportlink}}" ><i class="fa fa-vcard"></i> {{$export}}</a> + <a class="btn btn-outline-secondary btn-sm" href="{{$exportlink}}" ><i class="bi fa-vcard"></i> {{$export}}</a> </div> {{/if **}} </div> @@ -113,7 +113,7 @@ {{if $f == 'marital'}} {{if $profile.marital}} <dl id="aprofile-marital" class="aprofile"> - <dt><span class="heart"><i class="fa fa-heart"></i> </span>{{$profile.marital.0}}</dt> + <dt><span class="heart"><i class="bi fa-heart"></i> </span>{{$profile.marital.0}}</dt> <dd>{{$profile.marital.1}}{{if in_array('partner',$fields)}}{{if $profile.marital.partner}} ({{$profile.marital.partner}}){{/if}}{{/if}}{{if in_array('howlong',$fields)}}{{if $profile.howlong}} {{$profile.howlong}}{{/if}}{{/if}}</dd> </dl> {{/if}} @@ -319,7 +319,7 @@ <a href="{{$item.editurl}}" >{{$item.term}}</a> {{if $profile.canlike}}<br /> <button type="button" class="btn btn-outline-secondary btn-sm" onclick="doprofilelike('thing/' + '{{$item.term_hash}}','like'); return false;" title="{{$likethis}}" > - <i class="fa fa-thumbs-o-up" title="{{$likethis}}"></i> + <i class="bi fa-thumbs-o-up" title="{{$likethis}}"></i> </button> {{/if}} {{if $item.like_count}} diff --git a/view/tpl/profile_edit.tpl b/view/tpl/profile_edit.tpl index 5c48f4bd3..4d24e0a0f 100644 --- a/view/tpl/profile_edit.tpl +++ b/view/tpl/profile_edit.tpl @@ -2,17 +2,17 @@ <div class="section-title-wrapper"> <div class="dropdown float-end" id="profile-edit-links"> <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> - <i class="fa fa-cog"></i> {{$tools_label}} + <i class="bi bi-gear"></i> {{$tools_label}} </button> <div class="dropdown-menu dropdown-menu-end"> - <a class="dropdown-item" href="profile_photo/{{$profile_id}}" id="profile-photo_upload-link" title="{{$profpic}}"><i class="fa fa-fw fa-user"></i> {{$profpic}}</a> + <a class="dropdown-item" href="profile_photo/{{$profile_id}}" id="profile-photo_upload-link" title="{{$profpic}}"><i class="bi bi-person"></i> {{$profpic}}</a> {{if $is_default}} - <a class="dropdown-item" href="cover_photo" id="cover-photo_upload-link" title="{{$coverpic}}"><i class="fa fa-fw fa-picture-o"></i> {{$coverpic}}</a> + <a class="dropdown-item" href="cover_photo" id="cover-photo_upload-link" title="{{$coverpic}}"><i class="bi bi-image"></i> {{$coverpic}}</a> {{/if}} {{if ! $is_default}} - <a class="dropdown-item" href="profperm/{{$profile_id}}" id="profile-edit-visibility-link" title="{{$editvis}}"><i class="fa fa-fw fa-pencil"></i> {{$editvis}}</a> + <a class="dropdown-item" href="profperm/{{$profile_id}}" id="profile-edit-visibility-link" title="{{$editvis}}"><i class="bi bi-pencil"></i> {{$editvis}}</a> {{/if}} - <a class="dropdown-item" href="thing" id="profile-edit-thing-link" title="{{$addthing}}"><i class="fa fa-fw fa-plus-circle"></i> {{$addthing}}</a> + <a class="dropdown-item" href="thing" id="profile-edit-thing-link" title="{{$addthing}}"><i class="bi bi-plus-lg"></i> {{$addthing}}</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="profile/{{$profile_id}}/view" id="profile-edit-view-link" title="{{$viewprof}}">{{$viewprof}}</a> {{if $multi_profiles}} @@ -26,7 +26,7 @@ {{/if}} {{if ! $is_default}} <div class="dropdown-divider"></div> - <a class="dropdown-item" href="{{$profile_drop_link}}" id="profile-edit-drop-link" title="{{$del_prof}}" onclick="return confirmDelete();"><i class="fa fa-trash-o"></i> {{$del_prof}}</a> + <a class="dropdown-item" href="{{$profile_drop_link}}" id="profile-edit-drop-link" title="{{$del_prof}}" onclick="return confirmDelete();"><i class="bi bi-trash"></i> {{$del_prof}}</a> {{/if}} </div> </div> @@ -114,7 +114,7 @@ <option value="OTHER">{{$other}}</option> </select> <input type="text" name="tel[]" value="" placeholder="{{$tel_label}}"> - <i data-remove="vcard-tel" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-tel" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div id="template-form-vcard-email" class="mb-3 form-vcard-email"> @@ -124,7 +124,7 @@ <option value="OTHER">{{$other}}</option> </select> <input type="text" name="email[]" value="" placeholder="{{$email_label}}"> - <i data-remove="vcard-email" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-email" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div id="template-form-vcard-impp" class="mb-3 form-vcard-impp"> @@ -134,13 +134,13 @@ <option value="OTHER">{{$other}}</option> </select> <input type="text" name="impp[]" value="" placeholder="{{$impp_label}}"> - <i data-remove="vcard-impp" data-id="" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-impp" data-id="" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> <div class="section-content-wrapper-np"> - <div id="vcard-cancel-{{$vcard.id}}" class="vcard-cancel vcard-cancel-btn" data-id="{{$vcard.id}}" data-action="cancel"><i class="fa fa-close"></i></div> + <div id="vcard-cancel-{{$vcard.id}}" class="vcard-cancel vcard-cancel-btn" data-id="{{$vcard.id}}" data-action="cancel"><i class="bi bi-x-lg"></i></div> <div id="vcard-add-field-{{$vcard.id}}" class="dropdown float-end vcard-add-field"> - <button data-bs-toggle="dropdown" type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle"><i class="fa fa-plus"></i> {{$add_field}}</button> + <button data-bs-toggle="dropdown" type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle"><i class="bi bi-plus-lg"></i> {{$add_field}}</button> <ul class="dropdown-menu"> <li class="add-vcard-tel"><a href="#" data-add="vcard-tel" data-id="{{$vcard.id}}" class="add-field" onclick="return false;">{{$tel_label}}</a></li> <li class="add-vcard-email"><a href="#" data-add="vcard-email" data-id="{{$vcard.id}}" class="add-field" onclick="return false;">{{$email_label}}</a></li> @@ -148,11 +148,11 @@ </ul> </div> <div id="vcard-header-{{$vcard.id}}" class="vcard-header" data-id="{{$vcard.id}}" data-action="open"> - <i class="vcard-fn-preview fa fa-address-card-o"></i> + <i class="vcard-fn-preview bi fa-address-card-o"></i> <span id="vcard-preview-{{$vcard.id}}" class="vcard-preview"> {{if $vcard.fn}}<span class="vcard-fn-preview">{{$vcard.fn}}</span>{{/if}} {{if $vcard.emails.0.address}}<span class="vcard-email-preview hidden-xs"><a href="mailto:{{$vcard.emails.0.address}}">{{$vcard.emails.0.address}}</a></span>{{/if}} - {{if $vcard.tels.0}}<span class="vcard-tel-preview hidden-xs">{{$vcard.tels.0.nr}}{{if $is_mobile}} <a class="btn btn-outline-secondary btn-sm" href="tel:{{$vcard.tels.0.nr}}"><i class="fa fa-phone connphone"></i></a>{{/if}}</span>{{/if}} + {{if $vcard.tels.0}}<span class="vcard-tel-preview hidden-xs">{{$vcard.tels.0.nr}}{{if $is_mobile}} <a class="btn btn-outline-secondary btn-sm" href="tel:{{$vcard.tels.0.nr}}"><i class="bi fa-phone connphone"></i></a>{{/if}}</span>{{/if}} </span> <input id="vcard-fn-{{$vcard.id}}" class="vcard-fn" type="text" name="fn" value="{{$vcard.fn}}" size="{{$vcard.fn|count_characters:true}}" placeholder="{{$name_label}}"> </div> @@ -172,7 +172,7 @@ <option value="OTHER"{{if $tel.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> <input type="text" name="tel[]" value="{{$tel.nr}}" size="{{$tel.nr|count_characters:true}}" placeholder="{{$tel_label}}"> - <i data-remove="vcard-tel" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-tel" data-id="{{$vcard.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/foreach}} {{/if}} @@ -192,7 +192,7 @@ <option value="OTHER"{{if $email.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> <input type="text" name="email[]" value="{{$email.address}}" size="{{$email.address|count_characters:true}}" placeholder="{{$email_label}}"> - <i data-remove="vcard-email" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-email" data-id="{{$vcard.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/foreach}} {{/if}} @@ -211,7 +211,7 @@ <option value="OTHER"{{if $impp.type.0 == 'OTHER'}} selected="selected"{{/if}}>{{$other}}</option> </select> <input type="text" name="impp[]" value="{{$impp.address}}" size="{{$impp.address|count_characters:true}}" placeholder="{{$impp_label}}"> - <i data-remove="vcard-impp" data-id="{{$vcard.id}}" class="fa fa-trash-o remove-field drop-icons fakelink"></i> + <i data-remove="vcard-impp" data-id="{{$vcard.id}}" class="bi bi-trash remove-field drop-icons fakelink"></i> </div> {{/foreach}} {{/if}} @@ -283,7 +283,7 @@ <div class="section-content-tools-wrapper"> {{if $fields.marital }} <div id="profile-edit-marital-wrapper" class="mb-3 field" > - <label id="profile-edit-marital-label" for="profile-edit-marital" ><span class="heart"><i class="fa fa-heart"></i> </span>{{$lbl_marital}}</label> + <label id="profile-edit-marital-label" for="profile-edit-marital" ><span class="heart"><i class="bi fa-heart"></i> </span>{{$lbl_marital}}</label> {{if $advanced}} {{$marital}} {{else}} diff --git a/view/tpl/profile_listing_header.tpl b/view/tpl/profile_listing_header.tpl index 4fa2d6783..6e9b17ab7 100644 --- a/view/tpl/profile_listing_header.tpl +++ b/view/tpl/profile_listing_header.tpl @@ -1,6 +1,6 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper"> - <a class="btn btn-success btn-sm float-end" href="{{$cr_new_link}}" id="profile-listing-new-link" title="{{$cr_new}}" ><i class="fa fa-plus-circle"></i> {{$cr_new}}</a> + <a class="btn btn-success btn-sm float-end" href="{{$cr_new_link}}" id="profile-listing-new-link" title="{{$cr_new}}" ><i class="bi bi-plus-lg"></i> {{$cr_new}}</a> <h2>{{$header}}</h2> </div> <div class="section-content-wrapper"> diff --git a/view/tpl/profile_photo.tpl b/view/tpl/profile_photo.tpl index c8f5b939a..61cfa13de 100644 --- a/view/tpl/profile_photo.tpl +++ b/view/tpl/profile_photo.tpl @@ -30,7 +30,7 @@ <button id="embed-photo-wrapper" type="button" class="btn btn-default btn-outline-success float-end me-1" title="{{$embedPhotos}}" onclick="initializeEmbedPhotoDialog();"> - <i id="embed-photo" class="fa fa-file-image-o"></i> {{$select}} + <i id="embed-photo" class="bi bi-file-image"></i> {{$select}} </button> <button type="submit" class="btn btn-outline-danger" name="remove" id="profile-photo-remove"> {{$remove}} @@ -81,7 +81,7 @@ $('#embedPhotoModalBodyAlbumDialog').html('\ <div><div class="nav nav-pills flex-column">\n\ <li class="nav-item"><a class="nav-link" href="#" onclick="initializeEmbedPhotoDialog();return false;">\n\ - <i class="fa fa-chevron-left"></i> \n\ + <i class="bi fa-chevron-left"></i> \n\ {{$modaldiffalbum}}\n\ </a>\n\ </li>\n\ diff --git a/view/tpl/profile_tabs.tpl b/view/tpl/profile_tabs.tpl index 3cabad83d..a635b84d8 100644 --- a/view/tpl/profile_tabs.tpl +++ b/view/tpl/profile_tabs.tpl @@ -1,3 +1,3 @@ {{foreach $tabs as $tab}} -<a class="nav-link{{if $tab.sel}} {{$tab.sel}}{{/if}}" href="{{$tab.url}}"{{if $tab.title}} title="{{$tab.title}}"{{/if}}><i class="fa fa-fw fa-{{$tab.icon}} generic-icons-nav"></i>{{$tab.label}}</a> +<a class="nav-link{{if $tab.sel}} {{$tab.sel}}{{/if}}" href="{{$tab.url}}"{{if $tab.title}} title="{{$tab.title}}"{{/if}}><i class="bi bi-{{$tab.icon}} generic-icons-nav"></i>{{$tab.label}}</a> {{/foreach}} diff --git a/view/tpl/profile_vcard.tpl b/view/tpl/profile_vcard.tpl index de08cfc19..27067df31 100644 --- a/view/tpl/profile_vcard.tpl +++ b/view/tpl/profile_vcard.tpl @@ -6,12 +6,12 @@ </div> {{if $connect}} <a href="{{$connect_url}}" class="btn btn-success btn-sm m-2 position-absolute top-0 end-0" rel="nofollow"> - <i class="fa fa-plus"></i> {{$connect}} + <i class="bi bi-plus-lg"></i> {{$connect}} </a> {{/if}} <div id="profile-cover-text" class="p-2 position-absolute bottom-0 w-100"> <div class="text-truncate h3 mb-0 lh-sm"> - <strong class="text-white fn p-name">{{$profile.fullname}}{{if $profile.online}}<i class="fa fa-fw fa-circle text-success ps-2" title="{{$profile.online}}"></i>{{/if}}</strong> + <strong class="text-white fn p-name">{{$profile.fullname}}{{if $profile.online}}<i class="bi bi-circle-fill text-success ps-2" title="{{$profile.online}}"></i>{{/if}}</strong> </div> <div class="text-truncate"> <span class="text-white p-adr">{{$profile.reddress}}</span> @@ -19,7 +19,7 @@ </div> {{if $editmenu.multi}} <div class="dropdown position-absolute bottom-0 end-0 m-2"> - <a class="profile-edit-side-link text-white" data-bs-toggle="dropdown" href="#" ><i class="fa fa-pencil" title="{{$editmenu.edit.1}}"></i></a> + <a class="profile-edit-side-link text-white" data-bs-toggle="dropdown" href="#" ><i class="bi bi-pencil" title="{{$editmenu.edit.1}}"></i></a> <div class="dropdown-menu dropdown-menu-end" role="menu"> {{foreach $editmenu.menu.entries as $e}} <a href="profiles/{{$e.id}}" class="dropdown-item"><img class="menu-img-1" src='{{$e.photo}}'> {{$e.profile_name}}</a> @@ -31,11 +31,11 @@ </div> {{elseif $editmenu}} <div class="position-absolute bottom-0 end-0 m-2"> - <a class="profile-edit-side-link text-white" href="{{$editmenu.edit.0}}" ><i class="fa fa-pencil" title="{{$editmenu.edit.1}}"></i></a> + <a class="profile-edit-side-link text-white" href="{{$editmenu.edit.0}}" ><i class="bi bi-pencil" title="{{$editmenu.edit.1}}"></i></a> </div> {{else}} <div class="position-absolute bottom-0 end-0 m-2"> - <a class="profile-edit-side-link text-white" href="profile/{{$profile.channel_address}}" ><i class="fa fa-external-link" title="{{$editmenu.edit.1}}"></i></a> + <a class="profile-edit-side-link text-white" href="profile/{{$profile.channel_address}}" ><i class="bi bi-box-arrow-up-right" title="{{$editmenu.edit.1}}"></i></a> </div> {{/if}} </div> @@ -83,12 +83,12 @@ {{if $gender}} <dl class="mb-0 pb-1 rounded"> <dt class="gender-label">{{$gender}}</dt> - <dd class="p-gender">{{if $profile.gender_icon}}<i class="fa fa-{{$profile.gender_icon}}"></i> {{/if}}{{$profile.gender}}</dd> + <dd class="p-gender">{{if $profile.gender_icon}}<i class="bi bi-{{$profile.gender_icon}}"></i> {{/if}}{{$profile.gender}}</dd> </dl> {{/if}} {{if $marital}} <dl class="mb-0 pb-1 rounded"> - <dt class="marital-label"><span class="heart"><i class="fa fa-heart"></i> </span>{{$marital}}</dt> + <dt class="marital-label"><span class="heart"><i class="bi fa-heart"></i> </span>{{$marital}}</dt> <dd class="marital-text">{{$profile.marital}}</dd> </dl> {{/if}} diff --git a/view/tpl/profile_vcard_short.tpl b/view/tpl/profile_vcard_short.tpl index 5d87d52c6..16e10e6b3 100644 --- a/view/tpl/profile_vcard_short.tpl +++ b/view/tpl/profile_vcard_short.tpl @@ -1,7 +1,7 @@ {{$contact_block}} {{if $connect}} - <div class="connect-btn-wrapper"><a href="{{$connect_url}}" class="btn btn-block btn-success btn-sm"><i class="fa fa-plus"></i> {{$connect}}</a></div> + <div class="connect-btn-wrapper"><a href="{{$connect_url}}" class="btn btn-block btn-success btn-sm"><i class="bi bi-plus-lg"></i> {{$connect}}</a></div> {{/if}} @@ -26,7 +26,7 @@ {{if $gender}}<dl class="mf"><dt class="gender-label">{{$gender}}</dt> <dd class="x-gender">{{$profile.gender}}</dd></dl>{{/if}} - {{if $marital}}<dl class="marital"><dt class="marital-label"><span class="heart"><i class="fa fa-heart"></i> </span>{{$marital}}</dt><dd class="marital-text">{{$profile.marital}}</dd></dl>{{/if}} + {{if $marital}}<dl class="marital"><dt class="marital-label"><span class="heart"><i class="bi fa-heart"></i> </span>{{$marital}}</dt><dd class="marital-text">{{$profile.marital}}</dd></dl>{{/if}} {{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url">{{$profile.homepage}}</dd></dl>{{/if}} diff --git a/view/tpl/regate_post.tpl b/view/tpl/regate_post.tpl index eccea9084..1e7d98928 100644 --- a/view/tpl/regate_post.tpl +++ b/view/tpl/regate_post.tpl @@ -4,7 +4,7 @@ </div> <div class="section-content-wrapper"> <div class="section-content-success-wrapper"> - <div class="h3"><i class="fa fa-check"></i> {{$strings.0}}</div> + <div class="h3"><i class="bi bi-check-lg"></i> {{$strings.0}}</div> </div> <div class="section-content-warning-wrapper"> {{$strings.2}} diff --git a/view/tpl/saved_searches.tpl b/view/tpl/saved_searches.tpl index ff2d044ef..1330bd3ad 100644 --- a/view/tpl/saved_searches.tpl +++ b/view/tpl/saved_searches.tpl @@ -4,7 +4,7 @@ <ul id="saved-search-list" class="nav nav-pills flex-column"> {{foreach $saved as $search}} <li class="nav-item nav-item-hack" id="search-term-{{$search.id}}"> - <a class="nav-link widget-nav-pills-icons" title="{{$search.delete}}" onclick="return confirmDelete();" id="drop-saved-search-term-{{$search.id}}" href="{{$search.dellink}}"><i id="dropfa-floppy-od-search-term-{{$search.id}}" class="fa fa-trash-o drop-icons" ></i></a> + <a class="nav-link widget-nav-pills-icons" title="{{$search.delete}}" onclick="return confirmDelete();" id="drop-saved-search-term-{{$search.id}}" href="{{$search.dellink}}"><i id="dropfa-floppy-od-search-term-{{$search.id}}" class="bi bi-trash drop-icons" ></i></a> <a id="saved-search-term-{{$search.id}}" class="nav-link{{if $search.selected}} active{{/if}}" href="{{$search.srchlink}}">{{$search.displayterm}}</a> </li> {{/foreach}} diff --git a/view/tpl/search_item.tpl b/view/tpl/search_item.tpl index 2c4aab9f4..07d20b9ec 100644 --- a/view/tpl/search_item.tpl +++ b/view/tpl/search_item.tpl @@ -21,29 +21,26 @@ {{/if}} {{/if}} <div class="p-2 wall-item-head{{if !$item.title && !$item.event && !$item.photo}} rounded-top{{/if}}{{if $item.is_new && !$item.event && !$item.is_comment}} wall-item-head-new{{/if}}" > - <div class="text-end float-end"> + <div class="lh-sm text-end float-end"> <div class="wall-item-ago opacity-75" id="wall-item-ago-{{$item.id}}"> - {{if $item.editedtime}} - <i class="fa fa-pencil"></i> + {{if $item.location}} + {{$item.location}} {{/if}} {{if $item.delayed}} - <i class="fa fa-clock-o"></i> + <i class="bi bi-clock"></i> {{/if}} - {{if $item.location}} - <small class="wall-item-location p-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</small> + {{if $item.editedtime}} + <i class="bi bi-pencil"></i> {{/if}} {{if $item.verified}} - <i class="fa fa-check text-success" title="{{$item.verified}}"></i> + <i class="bi bi-shield-check" title="{{$item.verified}}"></i> {{elseif $item.forged}} - <i class="fa fa-exclamation text-danger" title="{{$item.forged}}"></i> + <i class="bi bi-shield-exclamation text-danger" title="{{$item.forged}}"></i> {{/if}} <small class="autotime" title="{{$item.isotime}}"><time class="dt-published" datetime="{{$item.isotime}}">{{$item.localtime}}</time>{{if $item.editedtime}} {{$item.editedtime}}{{/if}}{{if $item.expiretime}} {{$item.expiretime}}{{/if}}</small> </div> - {{if $item.thr_parent}} - <a href="javascript:doscroll('{{$item.thr_parent}}',{{$item.parent}});" class="ms-3" title="{{$item.top_hint}}"><i class="fa fa-angle-double-up"></i></a> - {{/if}} {{if $item.pinned}} - <div class="wall-item-pinned" title="{{$item.pinned}}" id="wall-item-pinned-{{$item.id}}"><i class="fa fa-thumb-tack"></i></div> + <div class="wall-item-pinned" title="{{$item.pinned}}" id="wall-item-pinned-{{$item.id}}"><i class="bi bi-pin-fill"></i></div> {{/if}} </div> <div class="float-start wall-item-info pe-2" id="wall-item-info-{{$item.id}}" > @@ -53,10 +50,10 @@ {{/if}} <img src="{{$item.thumb}}" class="fakelink wall-item-photo{{$item.sparkle}} u-photo p-name" id="wall-item-photo-{{$item.id}}" alt="{{$item.name}}" loading="lazy" data-bs-toggle="dropdown" /> {{if $item.author_is_group_actor}} - <i class="fa fa-comments-o wall-item-photo-group-actor" title="{{$item.author_is_group_actor}}"></i> + <i class="bi bi-chat-quote-fill wall-item-photo-group-actor" title="{{$item.author_is_group_actor}}"></i> {{/if}} {{if $item.thread_author_menu}} - <i class="fa fa-caret-down wall-item-photo-caret cursor-pointer" data-bs-toggle="dropdown"></i> + <i class="bi bi-caret-down-fill wall-item-photo-caret cursor-pointer" data-bs-toggle="dropdown"></i> <div class="dropdown-menu"> {{foreach $item.thread_author_menu as $mitem}} <a class="dropdown-item{{if $mitem.class}} {{$mitem.class}}{{/if}}" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}}{{if $mitem.data}} {{$mitem.data}}{{/if}}>{{$mitem.title}}</a> @@ -68,12 +65,12 @@ <div class="wall-item-author"> {{if $item.previewing}} <div class="float-start me-1 preview-indicator"> - <i class="fa fa-eye" title="{{$item.preview_lbl}}"></i> + <i class="bi bi-eye" title="{{$item.preview_lbl}}"></i> </div> {{/if}} {{if $item.lock}} <div class="float-start dropdown wall-item-lock"> - <i class="fa {{if $item.locktype == 2}}fa-envelope-o{{else if $item.locktype == 1}}fa-lock{{else}}fa-unlock{{/if}} lockview{{if $item.privacy_warning}} text-danger{{/if}}" data-bs-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i> + <i class="bi {{if $item.locktype == 2}}bi-envelope{{else if $item.locktype == 1}}bi-lock{{else}}bi-unlock{{/if}} lockview{{if $item.privacy_warning}} text-danger{{/if}}" data-bs-toggle="dropdown" title="{{$item.lock}}" onclick="lockview('item',{{$item.id}});" ></i> <div id="panel-{{$item.id}}" class="dropdown-menu"></div> </div> {{/if}} @@ -101,49 +98,83 @@ </div> {{/if}} <div class="p-2 clearfix wall-item-tools"> - <div class="float-end wall-item-tools-right"> - <div class="btn-group"> - <div id="like-rotator-{{$item.id}}" class="spinner-wrapper"> - <div class="spinner s"></div> - </div> - </div> - {{if $item.mode === 'moderate'}} - <a href="moderate/{{$item.id}}/approve" class="btn btn-outline-success btn-sm">{{$item.approve}}</a> - <a href="moderate/{{$item.id}}/drop" class="btn btn-outline-danger btn-sm">{{$item.delete}}</a> + <div class="float-end wall-item-tools-right hstack gap-1" id="wall-item-tools-right-{{$item.id}}"> + {{if $item.moderate}} + <a href="moderate/{{$item.id}}/approve" onclick="moderate_approve({{$item.id}}); return false;" class="btn btn-sm btn-outline-success"><i class="bi bi-check-lg" ></i> {{$item.moderate_approve}}</a> + <a href="moderate/{{$item.id}}/drop" onclick="moderate_drop({{$item.id}}); return false;" class="btn btn-sm btn-outline-danger"><i class="bi bi-trash" ></i> {{$item.moderate_delete}}</a> {{else}} - {{if $item.star || $item.thread_action_menu || $item.drop.dropping}} - <div class="btn-group"> - <button type="button" class="btn btn-outline-secondary btn-sm dropdown-toggle" data-bs-toggle="dropdown"> - <i class="fa fa-cog"></i> + {{if $item.star && $item.star.isstarred}} + <div class="" id="star-button-{{$item.id}}"> + <button type="button" class="btn btn-sm btn-outline-secondary border-0 wall-item-star" onclick="dostar({{$item.id}});"><i class="bi bi-star generic-icons"></i></button> + </div> + {{/if}} + {{if $item.attachments}} + <div class=""> + <button type="button" class="btn btn-sm btn-outline-secondary border-0 wall-item-attach" data-bs-toggle="dropdown" id="attachment-menu-{{$item.id}}"><i class="bi bi-paperclip generic-icons"></i></button> + <div class="dropdown-menu dropdown-menu-end">{{$item.attachments}}</div> + </div> + {{/if}} + {{if $item.reply_to}} + <button type="button" title="{{$item.reply_to.0}}" class="btn btn-sm 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-arrow-90deg-left generic-icons" ></i> + </button> + {{/if}} + <div class=""> + <button type="button" class="btn btn-sm btn-outline-secondary border-0" data-bs-toggle="dropdown" id="wall-item-menu-{{$item.id}}"> + <i class="bi bi-three-dots-vertical generic-icons"></i> </button> - <div class="dropdown-menu dropdown-menu-end"> + <div class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="wall-item-menu-{{$item.id}}"> + {{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-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> + {{/if}} + {{if $item.edpost}} + <a class="dropdown-item" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"><i class="generic-icons-nav bi bi-pencil"></i>{{$item.edpost.1}}</a> + {{/if}} + {{if $item.tagger}} + <a class="dropdown-item" href="#" onclick="itemTag({{$item.id}}); return false;"><i id="tagger-{{$item.id}}" class="generic-icons-nav bi bi-tag" title="{{$item.tagger.tagit}}"></i>{{$item.tagger.tagit}}</a> + {{/if}} + {{if $item.filer}} + <a class="dropdown-item" href="#" onclick="itemFiler({{$item.id}}); return false;"><i id="filer-{{$item.id}}" class="generic-icons-nav bi bi-folder-plus" title="{{$item.filer}}"></i>{{$item.filer}}</a> + {{/if}} + {{if $item.pinnable}} + <a class="dropdown-item dropdown-item-pinnable" href="#" onclick="dopin({{$item.id}}); return false;" id="item-pinnable-{{$item.id}}"><i class="generic-icons-nav bi bi-pin"></i>{{$item.pinme}}</a> + {{/if}} + {{if $item.bookmark}} + <a class="dropdown-item" href="#" onclick="itemBookmark({{$item.id}}); return false;"><i id="bookmarker-{{$item.id}}" class="generic-icons-nav bi bi-bookmark" title="{{$item.bookmark}}"></i>{{$item.bookmark}}</a> + {{/if}} + {{if $item.addtocal}} + <a class="dropdown-item" href="#" onclick="itemAddToCal({{$item.id}}); return false;"><i id="addtocal-{{$item.id}}" class="generic-icons-nav bi bi-calendar-plus" title="{{$item.addtocal}}"></i>{{$item.addtocal}}</a> + {{/if}} {{if $item.star}} - <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="fa fa-fw{{if $item.star.isstarred}} starred fa-star{{else}} unstarred fa-star-o{{/if}} generic-icons-nav" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a> + <a class="dropdown-item" href="#" onclick="dostar({{$item.id}}); return false;"><i id="starred-{{$item.id}}" class="generic-icons-nav bi{{if $item.star.isstarred}} starred bi-star-fill{{else}} unstarred bi-star{{/if}}" title="{{$item.star.toggle}}"></i>{{$item.star.toggle}}</a> {{/if}} {{if $item.thread_action_menu}} {{foreach $item.thread_action_menu as $mitem}} - <a class="dropdown-item" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} ><i class="fa fa-fw fa-{{$mitem.icon}} generic-icons-nav"></i>{{$mitem.title}}</a> + <a class="dropdown-item" {{if $mitem.href}}href="{{$mitem.href}}"{{/if}} {{if $mitem.action}}onclick="{{$mitem.action}}"{{/if}} {{if $mitem.title}}title="{{$mitem.title}}"{{/if}} ><i class="generic-icons-nav bi bi-{{$mitem.icon}}"></i>{{$mitem.title}}</a> {{/foreach}} {{/if}} {{if $item.drop.dropping}} - <a class="dropdown-item" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}', '{{$item.mid}}'); return false;" title="{{$item.drop.delete}}" ><i class="generic-icons-nav fa fa-fw fa-trash-o"></i>{{$item.drop.delete}}</a> + <a class="dropdown-item" href="#" onclick="dropItem('item/drop/{{$item.id}}', '#thread-wrapper-{{$item.id}}', '{{$item.mid}}'); return false;" title="{{$item.drop.delete}}" ><i class="generic-icons-nav bi bi-trash"></i>{{$item.drop.delete}}</a> + {{/if}} + {{if $item.dropdown_extras}} + <div class="dropdown-divider"></div> + {{$item.dropdown_extras}} + {{/if}} + {{if $item.edpost && $item.dreport}} + <div class="dropdown-divider"></div> + <a class="dropdown-item" href="dreport/{{$item.dreport_link}}">{{$item.dreport}}</a> + {{/if}} + {{if $item.settings}} + <div class="dropdown-divider"></div> + <a class="dropdown-item conversation-settings-link" href="" data-bs-toggle="modal" data-bs-target="#conversation_settings">{{$item.settings}}</a> {{/if}} </div> </div> {{/if}} - {{/if}} - </div> - {{if $item.star && $item.star.isstarred}} - <div class="btn-group" id="star-button-{{$item.id}}"> - <button type="button" class="btn btn-outline-secondary btn-sm wall-item-like" onclick="dostar({{$item.id}});"><i class="fa fa-star"></i></button> - </div> - {{/if}} - {{if $item.attachments}} - <div class="wall-item-tools-left btn-group"> - <button type="button" class="btn btn-outline-secondary btn-sm wall-item-like dropdown-toggle" data-bs-toggle="dropdown" id="attachment-menu-{{$item.id}}"><i class="fa fa-paperclip"></i></button> - <div class="dropdown-menu">{{$item.attachments}}</div> </div> - {{/if}} </div> </div> {{if $item.conv}} diff --git a/view/tpl/searchbox.tpl b/view/tpl/searchbox.tpl index c6bbcee82..b3159de0e 100644 --- a/view/tpl/searchbox.tpl +++ b/view/tpl/searchbox.tpl @@ -2,9 +2,9 @@ <input type="hidden" name="f" value="" /> <div id="{{$id}}" class="input-group"> <input class="form-control" type="text" name="search" id="search-text" value="{{$s}}" onclick="this.submit();" /> - <button type="submit" name="submit" class="btn btn-outline-secondary" id="search-submit" value="{{$search_label}}"><i class="fa fa-search"></i></button> + <button type="submit" name="submit" class="btn btn-outline-secondary" id="search-submit" value="{{$search_label}}"><i class="bi bi-search"></i></button> {{if $savedsearch}} - <button type="submit" name="searchsave" class="btn btn-outline-secondary" id="search-save" value="{{$save_label}}"><i class="fa fa-floppy-o"></i></button> + <button type="submit" name="searchsave" class="btn btn-outline-secondary" id="search-save" value="{{$save_label}}"><i class="bi fa-floppy-o"></i></button> {{/if}} </div> </form> diff --git a/view/tpl/settings.tpl b/view/tpl/settings.tpl index 2c617834a..334b41603 100644 --- a/view/tpl/settings.tpl +++ b/view/tpl/settings.tpl @@ -1,6 +1,6 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper"> - <a title="{{$removechannel}}" class="btn btn-danger btn-sm float-end" href="removeme"><i class="fa fa-trash-o"></i> {{$removeme}}</a> + <a title="{{$removechannel}}" class="btn btn-danger btn-sm float-end" href="removeme"><i class="bi bi-trash"></i> {{$removeme}}</a> <h2>{{$ptitle}}</h2> <div class="clear"></div> </div> diff --git a/view/tpl/settings_account.tpl b/view/tpl/settings_account.tpl index 0280b2962..c6d3d7bcc 100644 --- a/view/tpl/settings_account.tpl +++ b/view/tpl/settings_account.tpl @@ -1,6 +1,6 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper"> - <a title="{{$removeaccount}}" class="btn btn-danger btn-sm float-end" href="removeaccount"><i class="fa fa-trash-o"></i> {{$removeme}}</a> + <a title="{{$removeaccount}}" class="btn btn-danger btn-sm float-end" href="removeaccount"><i class="bi bi-trash"></i> {{$removeme}}</a> <h2>{{$title}}</h2> <div class="clear"></div> </div> diff --git a/view/tpl/settings_privacy.tpl b/view/tpl/settings_privacy.tpl index 03224ae65..2541d307d 100644 --- a/view/tpl/settings_privacy.tpl +++ b/view/tpl/settings_privacy.tpl @@ -28,7 +28,7 @@ </div> <div class="modal-body"> <div class="multi-collapse collapse show"> - <h2 class="text-danger mb-3"><i class="fa fa-warning"></i> {{$permission_limits_warning.0}}</h2> + <h2 class="text-danger mb-3"><i class="bi fa-warning"></i> {{$permission_limits_warning.0}}</h2> <h3 class="mb-3">{{$permission_limits_warning.1}}</h3> <button type="button" class="btn btn-primary" data-bs-toggle="collapse" data-bs-target=".multi-collapse" aria-expanded="false" aria-controls="collapseExample">{{$permission_limits_warning.2}}</button> </div> diff --git a/view/tpl/sharedwithme.tpl b/view/tpl/sharedwithme.tpl index 653077196..7f37726a7 100644 --- a/view/tpl/sharedwithme.tpl +++ b/view/tpl/sharedwithme.tpl @@ -1,6 +1,6 @@ <div class="generic-content-wrapper"> <div class="section-title-wrapper"> - <a href="/sharedwithme/dropall" onclick="return confirmDelete();" class="btn btn-sm btn-outline-secondary float-end"><i class="fa fa-trash-o"></i> {{$dropall}}</a> + <a href="/sharedwithme/dropall" onclick="return confirmDelete();" class="btn btn-sm btn-outline-secondary float-end"><i class="bi bi-trash"></i> {{$dropall}}</a> <h2>{{$header}}</h2> </div> <div class="section-content-wrapper-np"> @@ -14,9 +14,9 @@ </tr> {{foreach $items as $item}} <tr id="cloud-index-{{$item.id}}"> - <td><i class="fa {{$item.objfiletypeclass}}" title="{{$item.objfiletype}}"></i></td> + <td><i class="bi {{$item.objfiletypeclass}}" title="{{$item.objfiletype}}"></i></td> <td><a href="{{$item.objurl}}">{{$item.objfilename}}</a>{{if $item.unseen}} <span class="badge badge-pill badge-success">{{$label_new}}</span>{{/if}}</td> - <td class="cloud-index-tool"><a href="#" title="{{$drop}}" onclick="dropItem('/sharedwithme/{{$item.id}}/drop', '#cloud-index-{{$item.id}}'); return false;"><i class="fa fa-trash-o drop-icons"></i></a></td> + <td class="cloud-index-tool"><a href="#" title="{{$drop}}" onclick="dropItem('/sharedwithme/{{$item.id}}/drop', '#cloud-index-{{$item.id}}'); return false;"><i class="bi bi-trash drop-icons"></i></a></td> <td class="d-none d-md-table-cell">{{$item.objfilesize}}</td> <td class="d-none d-md-table-cell">{{$item.objedited}}</td> </tr> diff --git a/view/tpl/show_thing.tpl b/view/tpl/show_thing.tpl index 7aee4e8b2..c586d7d91 100644 --- a/view/tpl/show_thing.tpl +++ b/view/tpl/show_thing.tpl @@ -9,8 +9,8 @@ </div> {{if $canedit}} <div class="thing-edit-links"> - <a href="thing/edit/{{$thing.obj_obj}}" title="{{$edit}}" class="btn btn-outline-secondary" ><i class="fa fa-pencil thing-edit-icon"></i></a> - <a href="thing/drop/{{$thing.obj_obj}}" onclick="return confirmDelete();" title="{{$delete}}" class="btn btn-outline-secondary" ><i class="fa fa-trash-o drop-icons"></i></a> + <a href="thing/edit/{{$thing.obj_obj}}" title="{{$edit}}" class="btn btn-outline-secondary" ><i class="bi bi-pencil thing-edit-icon"></i></a> + <a href="thing/drop/{{$thing.obj_obj}}" onclick="return confirmDelete();" title="{{$delete}}" class="btn btn-outline-secondary" ><i class="bi bi-trash drop-icons"></i></a> </div> <div class="thing-edit-links-end"></div> {{/if}} diff --git a/view/tpl/suggest_friends.tpl b/view/tpl/suggest_friends.tpl index 95f24cd63..ef2a108b0 100644 --- a/view/tpl/suggest_friends.tpl +++ b/view/tpl/suggest_friends.tpl @@ -4,13 +4,13 @@ <img src="{{$entry.photo}}" alt="{{$entry.name}}" width="80" height="80" title="{{$entry.name}} [{{$entry.profile}}]" /> </a> </div> - <a href="{{$entry.ignlnk}}" title="{{$entry.ignore}}" class="profile-match-ignore" onclick="return confirmDelete();" ><i class="fa fa-times drop-icons btn btn-outline-secondary"></i></a> + <a href="{{$entry.ignlnk}}" title="{{$entry.ignore}}" class="profile-match-ignore" onclick="return confirmDelete();" ><i class="bi bi-x-lg drop-icons btn btn-outline-secondary"></i></a> <div class="profile-match-break"></div> <div class="profile-match-name"> <a href="{{$entry.url}}" title="{{$entry.name}}">{{$entry.name}}</a> </div> <div class="profile-match-end"></div> {{if $entry.connlnk}} - <div class="profile-match-connect btn btn-outline-secondary"><a href="{{$entry.connlnk}}" title="{{$entry.conntxt}}"><i class="fa fa-plus connect-icon"></i> {{$entry.conntxt}}</a></div> + <div class="profile-match-connect btn btn-outline-secondary"><a href="{{$entry.connlnk}}" title="{{$entry.conntxt}}"><i class="bi bi-plus-lg connect-icon"></i> {{$entry.conntxt}}</a></div> {{/if}} </div> diff --git a/view/tpl/thing_edit.tpl b/view/tpl/thing_edit.tpl index 8067bec43..d78615d95 100644 --- a/view/tpl/thing_edit.tpl +++ b/view/tpl/thing_edit.tpl @@ -31,7 +31,7 @@ {{if $lockstate}} <button id="dbtn-acl" class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" onclick="return false;"> - <i id="jot-perms-icon" class="fa fa-{{$lockstate}}"></i> + <i id="jot-perms-icon" class="bi bi-{{$lockstate}}"></i> </button> {{/if}} diff --git a/view/tpl/thing_input.tpl b/view/tpl/thing_input.tpl index 12e99969f..9eeca625c 100644 --- a/view/tpl/thing_input.tpl +++ b/view/tpl/thing_input.tpl @@ -31,7 +31,7 @@ {{if $lockstate}} <button id="dbtn-acl" class="btn btn-outline-secondary btn-sm" data-bs-toggle="modal" data-bs-target="#aclModal" onclick="return false;"> - <i id="jot-perms-icon" class="fa fa-{{$lockstate}}"></i> + <i id="jot-perms-icon" class="bi bi-{{$lockstate}}"></i> </button> {{/if}} diff --git a/view/tpl/totp.tpl b/view/tpl/totp.tpl index 1f3b1cfc7..2fb885c05 100644 --- a/view/tpl/totp.tpl +++ b/view/tpl/totp.tpl @@ -9,7 +9,7 @@ <body> <nav class="navbar bg-body-tertiary"> <div class="container-sm"> - <span class="navbar-brand"><i class="fa fa-fw fa-hubzilla"></i>{{$header}}</span> + <span class="navbar-brand"><i class="bi fa-hubzilla"></i>{{$header}}</span> </div> </nav> <main class="container-sm mt-4"> diff --git a/view/tpl/uexport.tpl b/view/tpl/uexport.tpl index 2b7967970..099a574e8 100644 --- a/view/tpl/uexport.tpl +++ b/view/tpl/uexport.tpl @@ -8,7 +8,7 @@ <p> {{$channel_info}} </p> - <a href="uexport/channel" class="btn btn-outline-primary"><i class="fa fa-download"></i> {{$channel_title}}</a> + <a href="uexport/channel" class="btn btn-outline-primary"><i class="bi fa-download"></i> {{$channel_title}}</a> </p> <p class="mb-3"> <h3>{{$content_title}}</h3> @@ -17,7 +17,7 @@ {{$items_extra_info}} </p> {{foreach $years as $year}} - <a href="uexport/{{$year}}" class="btn btn-outline-primary"><i class="fa fa-download"></i> {{$year}}</a> + <a href="uexport/{{$year}}" class="btn btn-outline-primary"><i class="bi fa-download"></i> {{$year}}</a> {{/foreach}} </p> <p class="mb-3"> @@ -26,7 +26,7 @@ {{$wikis_info}} {{$items_extra_info}} </p> - <a href="uexport/wikis" class="btn btn-outline-primary"><i class="fa fa-download"></i> {{$wikis_title}}</a> + <a href="uexport/wikis" class="btn btn-outline-primary"><i class="bi fa-download"></i> {{$wikis_title}}</a> </p> <p class="mb-3"> <h3>{{$webpages_title}}</h3> @@ -34,7 +34,7 @@ {{$webpages_info}} {{$items_extra_info}} </p> - <a href="uexport/webpages" class="btn btn-outline-primary"><i class="fa fa-download"></i> {{$webpages_title}}</a> + <a href="uexport/webpages" class="btn btn-outline-primary"><i class="bi fa-download"></i> {{$webpages_title}}</a> </p> <p class="mb-3"> <h3>{{$events_title}}</h3> @@ -42,7 +42,7 @@ {{$events_info}} {{$items_extra_info}} </p> - <a href="uexport/events" class="btn btn-outline-primary"><i class="fa fa-download"></i> {{$events_title}}</a> + <a href="uexport/events" class="btn btn-outline-primary"><i class="bi fa-download"></i> {{$events_title}}</a> </p> <p class="mb-3"> <h3>{{$chatrooms_title}}</h3> @@ -50,7 +50,7 @@ {{$chatrooms_info}} {{$items_extra_info}} </p> - <a href="uexport/chatrooms" class="btn btn-outline-primary"><i class="fa fa-download"></i> {{$chatrooms_title}}</a> + <a href="uexport/chatrooms" class="btn btn-outline-primary"><i class="bi fa-download"></i> {{$chatrooms_title}}</a> </p> </div> </div> diff --git a/view/tpl/usermenu.tpl b/view/tpl/usermenu.tpl index 5a316e806..26ba5d9fc 100644 --- a/view/tpl/usermenu.tpl +++ b/view/tpl/usermenu.tpl @@ -2,7 +2,7 @@ <div id="pmenu-{{$id}}" class="pmenu{{if !$class}} widget{{else}} {{$class}}{{/if}}"> {{/if}} {{if $menu.menu_desc}} - <h3 class="pmenu-title">{{$menu.menu_desc}}{{if $edit}} <a href="mitem/{{$nick}}/{{$menu.menu_id}}" title="{{$edit}}"><i class="fa fa-pencil fakelink" title="{{$edit}}"></i></a>{{/if}}</h3> + <h3 class="pmenu-title">{{$menu.menu_desc}}{{if $edit}} <a href="mitem/{{$nick}}/{{$menu.menu_id}}" title="{{$edit}}"><i class="bi bi-pencil fakelink" title="{{$edit}}"></i></a>{{/if}}</h3> {{/if}} {{if $items}} <ul class="pmenu-body{{if $wrap || !$class}} nav nav-pills flex-column{{elseif !$wrap || $class}} {{$class}}{{/if}}"> diff --git a/view/tpl/webpage_export_list.tpl b/view/tpl/webpage_export_list.tpl index 6360500d8..5458b2b0b 100644 --- a/view/tpl/webpage_export_list.tpl +++ b/view/tpl/webpage_export_list.tpl @@ -10,7 +10,7 @@ </div> <div id="import-website-content-wrapper" class="section-content-wrapper"> <div class="float-start"> - <button id="toggle-select-all" class="btn btn-sm btn-primary" onclick="checkedAll(window.isChecked); return false;"><i class="fa fa-check"></i> Toggle Select All</button> + <button id="toggle-select-all" class="btn btn-sm btn-primary" onclick="checkedAll(window.isChecked); return false;"><i class="bi bi-check-lg"></i> Toggle Select All</button> </div> <div class="clear"></div> <hr> diff --git a/view/tpl/webpage_import.tpl b/view/tpl/webpage_import.tpl index 5af42ea04..76d78477d 100644 --- a/view/tpl/webpage_import.tpl +++ b/view/tpl/webpage_import.tpl @@ -10,7 +10,7 @@ </div> <div id="import-website-content-wrapper" class="section-content-wrapper"> <div class="float-start"> - <button id="toggle-select-all" class="btn btn-sm btn-primary" onclick="checkedAll(window.isChecked); return false;"><i class="fa fa-check"></i> Toggle Select All</button> + <button id="toggle-select-all" class="btn btn-sm btn-primary" onclick="checkedAll(window.isChecked); return false;"><i class="bi bi-check-lg"></i> Toggle Select All</button> </div> <div class="clear"></div> <h4>Scanned Pages</h4> diff --git a/view/tpl/webpagelist.tpl b/view/tpl/webpagelist.tpl index 995a73930..0e3cbb714 100644 --- a/view/tpl/webpagelist.tpl +++ b/view/tpl/webpagelist.tpl @@ -2,7 +2,7 @@ <div class="section-title-wrapper"> {{if $editor}} <div class="float-end"> - <button id="webpage-create-btn" class="btn btn-sm btn-success acl-form-trigger" onclick="openClose('webpage-editor');" data-form_id="profile-jot-form"><i class="fa fa-pencil-square-o"></i> {{$create}}</button> + <button id="webpage-create-btn" class="btn btn-sm btn-success acl-form-trigger" onclick="openClose('webpage-editor');" data-form_id="profile-jot-form"><i class="bi bi-plus-lg"></i> {{$create}}</button> </div> {{/if}} <h2>{{$listtitle}}</h2> @@ -41,23 +41,23 @@ </td> <td class="webpage-list-tool dropdown"> {{if $item.lockstate=='lock'}} - <i class="fa fa-lock lockview" data-bs-toggle="dropdown" onclick="lockview('item',{{$item.url}});" ></i> + <i class="bi bi-lock lockview" data-bs-toggle="dropdown" onclick="lockview('item',{{$item.url}});" ></i> <ul id="panel-{{$item.url}}" class="lockview-panel dropdown-menu"></ul> {{/if}} </td> <td class="webpage-list-tool"> {{if $edit}} - <a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="fa fa-pencil"></i></a> + <a href="{{$baseurl}}/{{$item.url}}" title="{{$edit}}"><i class="bi bi-pencil"></i></a> {{/if}} </td> <td class="webpage-list-tool"> {{if $item.bb_element}} - <a href="rpost?attachment={{$item.bb_element}}" title="{{$share}}"><i class="fa fa-share-square-o"></i></a> + <a href="rpost?attachment={{$item.bb_element}}" title="{{$share}}"><i class="bi bi-download"></i></a> {{/if}} </td> <td class="webpage-list-tool"> {{if $edit}} - <a href="#" title="{{$delete}}" onclick="dropItem('item/drop/{{$item.url}}', '#webpage-list-item-{{$item.url}}'); return false;"><i class="fa fa-trash-o drop-icons"></i></a> + <a href="#" title="{{$delete}}" onclick="dropItem('item/drop/{{$item.url}}', '#webpage-list-item-{{$item.url}}'); return false;"><i class="bi bi-trash drop-icons"></i></a> {{/if}} </td> <td class="d-none d-md-table-cell"> diff --git a/view/tpl/website_portation_tools.tpl b/view/tpl/website_portation_tools.tpl index f27d67ca2..2318fb285 100644 --- a/view/tpl/website_portation_tools.tpl +++ b/view/tpl/website_portation_tools.tpl @@ -1,6 +1,6 @@ <div id="website-portation-tools" class="widget"> <div class="nav nav-pills flex-column"> - <a class="nav-link" href="#" onclick="openClose('import-form'); return false;"><i class="fa fa-cloud-upload generic-icons"></i> {{$import_label}}</a> + <a class="nav-link" href="#" onclick="openClose('import-form'); return false;"><i class="bi bi-upload generic-icons"></i> {{$import_label}}</a> <div id="import-form" class="sub-menu-wrapper"> <div class="sub-menu"> <form enctype="multipart/form-data" method="post" action=""> @@ -25,7 +25,7 @@ </div> </div> <div class="nav nav-pills flex-column"> - <a class="nav-link" href="#" onclick="openClose('export-form'); openClose('export-cloud-form'); return false;"><i class="fa fa-share-square-o generic-icons"></i> {{$export_label}}</a> + <a class="nav-link" href="#" onclick="openClose('export-form'); openClose('export-cloud-form'); return false;"><i class="bi bi-download generic-icons"></i> {{$export_label}}</a> <div id="export-form" class="sub-menu-wrapper"> <div class="sub-menu"> <form enctype="multipart/form-data" method="post" action=""> diff --git a/view/tpl/xchan_vcard.tpl b/view/tpl/xchan_vcard.tpl index 473cda7ad..194b1394e 100644 --- a/view/tpl/xchan_vcard.tpl +++ b/view/tpl/xchan_vcard.tpl @@ -15,7 +15,7 @@ {{if $connect}} <div class="mt-2"> <a href="follow?f=&url={{$follow}}&interactive=1" class="btn btn-success btn-sm" rel="nofollow"> - <i class="fa fa-plus"></i> {{$connect}} + <i class="bi bi-plus-lg"></i> {{$connect}} </a> </div> {{/if}} |