frio: formating, otherwise untouched
This commit is contained in:
parent
cb24e8987c
commit
91d3e72be7
25 changed files with 3300 additions and 2937 deletions
|
|
@ -13,9 +13,21 @@ This file applies Font Awesome icons to some friendica standard classes
|
|||
font-size: 1.4em;
|
||||
}
|
||||
/* media icons */
|
||||
.icon.type-image:before { content: "\f1c5"; }
|
||||
.icon.type-video:before { content: "\f1c8"; }
|
||||
.icon.type-audio:before { content: "\f1c7"; }
|
||||
.icon.type-text:before { content: "\f0f6"; }
|
||||
.icon.type-application:before { content: "\f016"; }
|
||||
.icon.type-unkn:before { content: "\f016"; }
|
||||
.icon.type-image:before {
|
||||
content: "\f1c5";
|
||||
}
|
||||
.icon.type-video:before {
|
||||
content: "\f1c8";
|
||||
}
|
||||
.icon.type-audio:before {
|
||||
content: "\f1c7";
|
||||
}
|
||||
.icon.type-text:before {
|
||||
content: "\f0f6";
|
||||
}
|
||||
.icon.type-application:before {
|
||||
content: "\f016";
|
||||
}
|
||||
.icon.type-unkn:before {
|
||||
content: "\f016";
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,3 @@
|
|||
|
||||
.hovercard {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
|
|
@ -202,7 +201,6 @@
|
|||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
|
||||
/* Basic hovercard */
|
||||
.basic-content {
|
||||
padding: 9px;
|
||||
|
|
@ -285,7 +283,6 @@
|
|||
|
||||
.hover-card-header h4 {
|
||||
display: block;
|
||||
|
||||
}
|
||||
|
||||
.hover-card-header h4 a {
|
||||
|
|
|
|||
|
|
@ -1,17 +1,33 @@
|
|||
#adminpage.adminpage > h1 { padding: 0 15px; }
|
||||
#adminpage.adminpage > h1 {
|
||||
padding: 0 15px;
|
||||
}
|
||||
|
||||
#users th:first-of-type { width: 1em; }
|
||||
#users th:nth-of-type(2) { width: 40px; }
|
||||
#users th:last-of-type { width: 1em; }
|
||||
.admin-settings-footer-elements { padding-left: 8px; padding-right: 8px; }
|
||||
#users th:first-of-type {
|
||||
width: 1em;
|
||||
}
|
||||
#users th:nth-of-type(2) {
|
||||
width: 40px;
|
||||
}
|
||||
#users th:last-of-type {
|
||||
width: 1em;
|
||||
}
|
||||
.admin-settings-footer-elements {
|
||||
padding-left: 8px;
|
||||
padding-right: 8px;
|
||||
}
|
||||
|
||||
#deleted th:first-of-type { width: 40px; }
|
||||
#deleted th:first-of-type {
|
||||
width: 40px;
|
||||
}
|
||||
|
||||
#users img.avatar-nano,
|
||||
#deleted img.avatar-nano {
|
||||
height: 24px; width: 24px;
|
||||
height: 24px;
|
||||
width: 24px;
|
||||
}
|
||||
.opened .caret {
|
||||
transform: rotate(180deg);
|
||||
}
|
||||
.opened .caret { transform: rotate(180deg); }
|
||||
tr.details td,
|
||||
tr.details th {
|
||||
border-top: 0 !important;
|
||||
|
|
@ -21,4 +37,6 @@ tr.details th {
|
|||
.adminpage th > .checkbox {
|
||||
margin: 0;
|
||||
}
|
||||
.adminpage td { word-break: break-all; }
|
||||
.adminpage td {
|
||||
word-break: break-all;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ body {
|
|||
background-repeat: $background_repeat;
|
||||
background-attachment: fixed;
|
||||
color: $font_color;
|
||||
font-family: 'Open Sans',sans-serif;
|
||||
font-family: "Open Sans", sans-serif;
|
||||
}
|
||||
body.minimal {
|
||||
padding: 15px;
|
||||
|
|
@ -34,12 +34,16 @@ body a[name]:not([href]) {
|
|||
visibility: hidden;
|
||||
}
|
||||
|
||||
body a:hover, .btn-link:hover,
|
||||
body a:focus, .btn-link:focus,
|
||||
body a:active, .btn-link:active,
|
||||
body a.active, .btn-link.active {
|
||||
body a:hover,
|
||||
.btn-link:hover,
|
||||
body a:focus,
|
||||
.btn-link:focus,
|
||||
body a:active,
|
||||
.btn-link:active,
|
||||
body a.active,
|
||||
.btn-link.active {
|
||||
color: $link_hover_color;
|
||||
outline-color: $link_hover_color;;
|
||||
outline-color: $link_hover_color;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
|
|
@ -55,7 +59,9 @@ aside hr,
|
|||
section hr {
|
||||
border-color: rgba(238, 238, 238, $contentbg_transp);
|
||||
}
|
||||
iframe, img, video {
|
||||
iframe,
|
||||
img,
|
||||
video {
|
||||
max-width: 100%;
|
||||
}
|
||||
blockquote {
|
||||
|
|
@ -102,7 +108,10 @@ blockquote {
|
|||
content: " ";
|
||||
position: fixed;
|
||||
display: block;
|
||||
top: 0; left: 300px; right: 0; bottom: 0;
|
||||
top: 0;
|
||||
left: 300px;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(0, 0, 0, 0.4);
|
||||
opacity: 0;
|
||||
transition: opacity 0.5s;
|
||||
|
|
@ -112,7 +121,9 @@ blockquote {
|
|||
}
|
||||
|
||||
/* prevent page scroll when the aside is opened **/
|
||||
body.aside-out { overflow: hidden; }
|
||||
body.aside-out {
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
/*
|
||||
* standard page elements
|
||||
|
|
@ -157,7 +168,8 @@ blockquote {
|
|||
/*
|
||||
* Overwriting and Extend Bootstrap
|
||||
*/
|
||||
.label, .label a {
|
||||
.label,
|
||||
.label a {
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
|
|
@ -201,27 +213,36 @@ blockquote {
|
|||
font-size: 12px;
|
||||
}
|
||||
.btn.btn-danger {
|
||||
color: #FFFFFF;
|
||||
background-color: #AE0F0F;
|
||||
color: #ffffff;
|
||||
background-color: #ae0f0f;
|
||||
}
|
||||
|
||||
.btn.btn-primary {
|
||||
background: $nav_bg;
|
||||
color: $btn_primary_color;
|
||||
}
|
||||
.btn.btn-primary:hover, .btn.btn-primary:focus {
|
||||
.btn.btn-primary:hover,
|
||||
.btn.btn-primary:focus {
|
||||
color: $btn_primary_color;
|
||||
background: $btn_primary_hover_color;
|
||||
text-decoration: none;
|
||||
}
|
||||
.btn.btn-primary:active, .btn.btn-primary.active {
|
||||
.btn.btn-primary:active,
|
||||
.btn.btn-primary.active {
|
||||
background: $btn_primary_hover_color;
|
||||
}
|
||||
|
||||
.btn-primary.active.focus, .btn-primary.active:focus, .btn-primary.active:hover,
|
||||
.btn-primary:active.focus, .btn-primary:active:focus, .btn-primary:active:hover,
|
||||
.open>.dropdown-toggle.btn-primary.focus, .open>.dropdown-toggle.btn-primary:focus,
|
||||
.open>.dropdown-toggle.btn-primary:hover,.btn-primary.active, .btn-primary:active,
|
||||
.btn-primary.active.focus,
|
||||
.btn-primary.active:focus,
|
||||
.btn-primary.active:hover,
|
||||
.btn-primary:active.focus,
|
||||
.btn-primary:active:focus,
|
||||
.btn-primary:active:hover,
|
||||
.open > .dropdown-toggle.btn-primary.focus,
|
||||
.open > .dropdown-toggle.btn-primary:focus,
|
||||
.open > .dropdown-toggle.btn-primary:hover,
|
||||
.btn-primary.active,
|
||||
.btn-primary:active,
|
||||
.open > .dropdown-toggle.btn-primary {
|
||||
background: $btn_primary_hover_color;
|
||||
border-color: none;
|
||||
|
|
@ -239,7 +260,8 @@ blockquote {
|
|||
background: transparent;
|
||||
box-shadow: none;
|
||||
}
|
||||
.btn-eventnav, btn-eventnav:hover {
|
||||
.btn-eventnav,
|
||||
btn-eventnav:hover {
|
||||
font-size: 16px;
|
||||
background: none;
|
||||
background-color: transparent;
|
||||
|
|
@ -273,11 +295,14 @@ blockquote {
|
|||
border: 1px solid transparent;
|
||||
border-color: #ccc;
|
||||
}
|
||||
.form-control-sm, .input-group-sm>.form-control, .input-group-sm>.input-group-addon, .input-group-sm>.input-group-btn>.btn {
|
||||
padding: .275rem .75rem;
|
||||
.form-control-sm,
|
||||
.input-group-sm > .form-control,
|
||||
.input-group-sm > .input-group-addon,
|
||||
.input-group-sm > .input-group-btn > .btn {
|
||||
padding: 0.275rem 0.75rem;
|
||||
line-height: 1.5;
|
||||
height: 30px;
|
||||
border-radius: .2rem;
|
||||
border-radius: 0.2rem;
|
||||
}
|
||||
/* Bootstrap media class fix/hack
|
||||
* This is a test. I thought it does have some
|
||||
|
|
@ -285,7 +310,8 @@ blockquote {
|
|||
* once more
|
||||
* https://github.com/twbs/bootstrap/issues/6053
|
||||
*/
|
||||
.media, .media-body {
|
||||
.media,
|
||||
.media-body {
|
||||
overflow: visible;
|
||||
}
|
||||
.media .media-body {
|
||||
|
|
@ -294,7 +320,8 @@ blockquote {
|
|||
*width: auto;
|
||||
*zoom: 1;
|
||||
}
|
||||
.media:before, .media:after {
|
||||
.media:before,
|
||||
.media:after {
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
|
|
@ -314,7 +341,8 @@ aside .badge {
|
|||
}
|
||||
|
||||
/* disabled elements */
|
||||
.community-content-wrapper > h3, .network-content-wrapper > .section-title-wrapper {
|
||||
.community-content-wrapper > h3,
|
||||
.network-content-wrapper > .section-title-wrapper {
|
||||
display: none;
|
||||
}
|
||||
|
||||
|
|
@ -329,7 +357,7 @@ header #banner {
|
|||
z-index: 1040;
|
||||
margin-top: 12.5px;
|
||||
text-align: center;
|
||||
text-shadow: 1px 1px 2px rgba(0,0,0,.5);
|
||||
text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
|
||||
font-size: 14px;
|
||||
font-family: tahoma, "Lucida Sans", sans;
|
||||
color: #fff;
|
||||
|
|
@ -339,7 +367,7 @@ header #banner {
|
|||
}
|
||||
header #banner #logo-img,
|
||||
.navbar-brand #logo-img {
|
||||
-webkit-mask-image: url('img/friendica-25.png');
|
||||
-webkit-mask-image: url("img/friendica-25.png");
|
||||
background-color: $nav_icon_color;
|
||||
height: 25px;
|
||||
width: 25px;
|
||||
|
|
@ -362,53 +390,51 @@ header #banner #logo-img,
|
|||
height: 50px;
|
||||
width: 100%;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px
|
||||
padding-right: 15px;
|
||||
}
|
||||
.topbar ul.nav {
|
||||
float: left
|
||||
float: left;
|
||||
}
|
||||
.topbar ul.nav > li {
|
||||
float: left
|
||||
float: left;
|
||||
}
|
||||
@media (min-width: 992px) {
|
||||
.topbar ul.nav > li > a,
|
||||
.topbar ul.nav > li > button
|
||||
{
|
||||
.topbar ul.nav > li > button {
|
||||
padding-top: 15px;
|
||||
padding-bottom: 15px;
|
||||
line-height: 20px
|
||||
line-height: 20px;
|
||||
}
|
||||
}
|
||||
@media (max-width: 991px) {
|
||||
.topbar ul.nav > li > a,
|
||||
.topbar ul.nav > li > button
|
||||
{
|
||||
.topbar ul.nav > li > button {
|
||||
padding: 15px 10px;
|
||||
}
|
||||
}
|
||||
.topbar .dropdown-footer {
|
||||
margin: 10px
|
||||
margin: 10px;
|
||||
}
|
||||
.topbar .dropdown-header {
|
||||
font-size: 16px;
|
||||
padding: 3px 10px;
|
||||
margin-bottom: 10px;
|
||||
font-weight: 300;
|
||||
color: #bebebe
|
||||
color: #bebebe;
|
||||
}
|
||||
.topbar .dropdown-header .dropdown-header-link {
|
||||
position: absolute;
|
||||
top: 2px;
|
||||
right: 10px
|
||||
right: 10px;
|
||||
}
|
||||
.topbar .dropdown-header .dropdown-header-link a,
|
||||
.topbar .dropdown-header .dropdown-header-link .btn-link {
|
||||
color: $link_color !important;
|
||||
font-size: 12px;
|
||||
font-weight: 400
|
||||
font-weight: 400;
|
||||
}
|
||||
.topbar .dropdown-header:hover {
|
||||
color: #bebebe
|
||||
color: #bebebe;
|
||||
}
|
||||
#topbar-first,
|
||||
nav.navbar {
|
||||
|
|
@ -432,13 +458,11 @@ nav.navbar {
|
|||
#topbar-first .nav > li > a,
|
||||
#topbar-first .nav > li > button,
|
||||
nav.navbar .nav > li > a,
|
||||
nav.navbar .nav > li > button
|
||||
{
|
||||
nav.navbar .nav > li > button {
|
||||
color: $nav_icon_color;
|
||||
}
|
||||
#topbar-first .nav > .open > a,
|
||||
#topbar-first .nav > .open > button
|
||||
{
|
||||
#topbar-first .nav > .open > button {
|
||||
background-color: $nav_bg;
|
||||
}
|
||||
#topbar-first .nav > li > a:hover,
|
||||
|
|
@ -446,15 +470,13 @@ nav.navbar .nav > li > button
|
|||
#topbar-first .nav > li > button:not(#main-menu):hover,
|
||||
#topbar-first .nav > li > button:not(#main-menu):focus,
|
||||
nav.navbar .nav > li > a:hover,
|
||||
nav.navbar .nav > li > a:focus
|
||||
nav.navbar .nav > li > button:hover,
|
||||
nav.navbar .nav > li > button:focus
|
||||
{
|
||||
nav.navbar .nav > li > a:focus nav.navbar .nav > li > button:hover,
|
||||
nav.navbar .nav > li > button:focus {
|
||||
background-color: $nav_icon_hover_color;
|
||||
}
|
||||
#topbar-first .nav > .account {
|
||||
height: 50px;
|
||||
margin-left: 20px
|
||||
margin-left: 20px;
|
||||
}
|
||||
#topbar-first .nav > .account img {
|
||||
margin-left: 10px;
|
||||
|
|
@ -465,31 +487,30 @@ nav.navbar .nav > li > button:focus
|
|||
#topbar-first .nav > .account .dropdown-toggle {
|
||||
padding: 8px 5px 0px;
|
||||
line-height: 1.1em;
|
||||
text-align: left
|
||||
text-align: left;
|
||||
}
|
||||
#topbar-first .nav > .account .dropdown-toggle span {
|
||||
font-size: 12px
|
||||
font-size: 12px;
|
||||
}
|
||||
#topbar-first .topbar-brand {
|
||||
position: relative;
|
||||
z-index: 2
|
||||
z-index: 2;
|
||||
}
|
||||
#topbar-first .topbar-actions {
|
||||
position: relative;
|
||||
z-index: 3
|
||||
z-index: 3;
|
||||
}
|
||||
#topbar-first .topbar-nav {
|
||||
left: 0;
|
||||
right: 0;
|
||||
text-align: center;
|
||||
z-index: 1
|
||||
z-index: 1;
|
||||
}
|
||||
#topbar-first .topbar-nav .nav-segment {
|
||||
position: relative;
|
||||
text-align: left
|
||||
text-align: left;
|
||||
}
|
||||
#topbar-first .topbar-nav .nav-segment > a
|
||||
{
|
||||
#topbar-first .topbar-nav .nav-segment > a {
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
text-align: left;
|
||||
|
|
@ -516,7 +537,7 @@ nav.navbar .nav > li > button:focus
|
|||
margin-left: -10px;
|
||||
border-top-width: 0;
|
||||
border-bottom-color: #fff;
|
||||
z-index: 1035
|
||||
z-index: 1035;
|
||||
}
|
||||
#topbar-first .topbar-nav .arrow {
|
||||
position: absolute;
|
||||
|
|
@ -530,56 +551,56 @@ nav.navbar .nav > li > button:focus
|
|||
left: 50%;
|
||||
margin-left: -18px;
|
||||
border-top-width: 0;
|
||||
border-bottom-color: rgba(0, 0, 0, .15);
|
||||
border-bottom-color: rgba(0, 0, 0, 0.15);
|
||||
top: -19px;
|
||||
z-index: 1035
|
||||
z-index: 1035;
|
||||
}
|
||||
#topbar-first .topbar-nav .dropdown-menu {
|
||||
width: 350px;
|
||||
margin-left: -148px
|
||||
margin-left: -148px;
|
||||
}
|
||||
#topbar-first .topbar-nav .dropdown-menu ul.media-list {
|
||||
max-height: 400px;
|
||||
overflow: auto
|
||||
overflow: auto;
|
||||
}
|
||||
#topbar-first .topbar-nav .dropdown-menu li {
|
||||
position: relative
|
||||
position: relative;
|
||||
}
|
||||
#topbar-first .topbar-nav .dropdown-menu li i.approval {
|
||||
position: absolute;
|
||||
left: 2px;
|
||||
top: 36px;
|
||||
font-size: 14px
|
||||
font-size: 14px;
|
||||
}
|
||||
#topbar-first .topbar-nav .dropdown-menu li i.accepted {
|
||||
color: #5cb85c
|
||||
color: #5cb85c;
|
||||
}
|
||||
#topbar-first .topbar-nav .dropdown-menu li i.declined {
|
||||
color: #d9534f
|
||||
color: #d9534f;
|
||||
}
|
||||
#topbar-first .topbar-nav .dropdown-menu li .media {
|
||||
position: relative
|
||||
position: relative;
|
||||
}
|
||||
#topbar-first .topbar-nav .dropdown-menu li .media .img-space {
|
||||
position: absolute;
|
||||
top: 14px;
|
||||
left: 14px
|
||||
left: 14px;
|
||||
}
|
||||
#topbar-first .dropdown-footer {
|
||||
margin: 10px 10px 5px
|
||||
margin: 10px 10px 5px;
|
||||
}
|
||||
#topbar-first .caret {
|
||||
border-top-color: #bebebe
|
||||
border-top-color: #bebebe;
|
||||
}
|
||||
#topbar-first .btn-group > a {
|
||||
background-color: #7f9baa
|
||||
background-color: #7f9baa;
|
||||
}
|
||||
#topbar-first .btn-enter {
|
||||
background-color: #7f9baa;
|
||||
margin: 6px 0
|
||||
margin: 6px 0;
|
||||
}
|
||||
#topbar-first .btn-enter:hover {
|
||||
background-color: #89a2b0
|
||||
background-color: #89a2b0;
|
||||
}
|
||||
.navbar-fixed-top ul.nav.navbar-nav.navbar-right {
|
||||
display: flex;
|
||||
|
|
@ -589,7 +610,6 @@ nav.navbar .nav > li > button:focus
|
|||
display: block;
|
||||
}
|
||||
|
||||
|
||||
/* Notification Menu */
|
||||
#topbar-first #nav-notifications-menu {
|
||||
max-height: 400px;
|
||||
|
|
@ -616,13 +636,13 @@ nav.navbar .nav > li > button:focus
|
|||
border-left: 3px solid $link_color;
|
||||
}
|
||||
#topbar-first #nav-notifications-menu li.placeholder {
|
||||
border-bottom: none
|
||||
border-bottom: none;
|
||||
}
|
||||
#topbar-first #nav-notifications-menu .media .media-body .contactname {
|
||||
font-weight: bold;
|
||||
}
|
||||
#topbar-first #nav-notifications-menu .media .media-body .label {
|
||||
padding: .1em .5em
|
||||
padding: 0.1em 0.5em;
|
||||
}
|
||||
#topbar-first #nav-notifications-menu li.notif-entry .media-object a img {
|
||||
height: 32px;
|
||||
|
|
@ -652,7 +672,10 @@ nav.navbar .nav > li > button:focus
|
|||
border-left-color: $nav_icon_color;
|
||||
box-shadow: 0 0 3px black;
|
||||
}
|
||||
#myNavmenu ul, #myNavmenu ul li:first-child, #myNavmenu ul, #myNavmenu ul li:last-child {
|
||||
#myNavmenu ul,
|
||||
#myNavmenu ul li:first-child,
|
||||
#myNavmenu ul,
|
||||
#myNavmenu ul li:last-child {
|
||||
border-radius: 0;
|
||||
}
|
||||
#myNavmenu li,
|
||||
|
|
@ -720,9 +743,9 @@ nav.navbar .nav > li > button:focus
|
|||
background-color: #fff;
|
||||
z-index: 1029;
|
||||
background-image: none;
|
||||
-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, .1);
|
||||
-moz-box-shadow: 0 1px 10px rgba(0, 0, 0, .1);
|
||||
box-shadow: 0 1px 10px rgba(0, 0, 0, .1);
|
||||
-webkit-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
|
||||
-moz-box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
|
||||
box-shadow: 0 1px 10px rgba(0, 0, 0, 0.1);
|
||||
border-bottom: 1px solid #d4d4d4;
|
||||
}
|
||||
#topbar-second > .container {
|
||||
|
|
@ -736,19 +759,19 @@ nav.navbar .nav > li > button:focus
|
|||
}
|
||||
#topbar-second .dropdown-menu {
|
||||
padding-top: 0;
|
||||
padding-bottom: 0
|
||||
padding-bottom: 0;
|
||||
}
|
||||
#topbar-second .dropdown-menu .divider {
|
||||
margin: 0
|
||||
margin: 0;
|
||||
}
|
||||
#topbar-second #space-menu-dropdown,
|
||||
#topbar-second #search-menu-dropdown {
|
||||
width: 400px
|
||||
width: 400px;
|
||||
}
|
||||
#topbar-second #space-menu-dropdown .media-list,
|
||||
#topbar-second #search-menu-dropdown .media-list {
|
||||
max-height: 400px;
|
||||
overflow: auto
|
||||
overflow: auto;
|
||||
}
|
||||
.intro-actions {
|
||||
font-size: 2em;
|
||||
|
|
@ -764,12 +787,12 @@ ul li .intro-wrapper button.intro-action-link {
|
|||
@media screen and (max-width: 768px) {
|
||||
#topbar-second #space-menu-dropdown .media-list,
|
||||
#topbar-second #search-menu-dropdown .media-list {
|
||||
max-height: 200px
|
||||
max-height: 200px;
|
||||
}
|
||||
}
|
||||
#topbar-second #space-menu-dropdown form,
|
||||
#topbar-second #search-menu-dropdown form {
|
||||
margin: 10px
|
||||
margin: 10px;
|
||||
}
|
||||
#topbar-second #space-menu-dropdown .search-reset,
|
||||
#topbar-second #search-menu-dropdown .search-reset {
|
||||
|
|
@ -779,13 +802,13 @@ ul li .intro-wrapper button.intro-action-link {
|
|||
top: 8px;
|
||||
right: 10px;
|
||||
display: none;
|
||||
cursor: pointer
|
||||
cursor: pointer;
|
||||
}
|
||||
#topbar-second #space-menu-dropdown li > ul > li > a > .media .media-body p {
|
||||
color: #bebebe;
|
||||
font-size: 11px;
|
||||
margin: 0;
|
||||
font-weight: 400
|
||||
font-weight: 400;
|
||||
}
|
||||
#topbar-second #nav-short-info .heading {
|
||||
margin-left: -14px;
|
||||
|
|
@ -820,7 +843,7 @@ ul li .intro-wrapper button.intro-action-link {
|
|||
.account .dropdown-menu,
|
||||
.contact-photo-wrapper .dropdown-menu {
|
||||
background-color: $nav_bg;
|
||||
border: none
|
||||
border: none;
|
||||
}
|
||||
.nav-pills .dropdown-menu li.divider,
|
||||
.nav-tabs .dropdown-menu li.divider,
|
||||
|
|
@ -828,7 +851,7 @@ ul li .intro-wrapper button.intro-action-link {
|
|||
.contact-photo-wrapper .dropdown-menu li.divider {
|
||||
background-color: $menu_background_hover_color;
|
||||
border-bottom: none;
|
||||
margin: 9px 1px!important
|
||||
margin: 9px 1px !important;
|
||||
}
|
||||
.nav-pills .dropdown-menu li > a,
|
||||
.nav-tabs .dropdown-menu li > a,
|
||||
|
|
@ -836,10 +859,14 @@ ul li .intro-wrapper button.intro-action-link {
|
|||
.contact-photo-wrapper .dropdown-menu li > a {
|
||||
border-left: 3px solid $nav_bg;
|
||||
}
|
||||
.nav-pills .dropdown-menu li a, .nav-pills .dropdown-menu li .btn-link,
|
||||
.nav-tabs .dropdown-menu li a, .nav-tabs .dropdown-menu li .btn-link,
|
||||
.account .dropdown-menu li a, .account .dropdown-menu li .btn-link,
|
||||
.contact-photo-wrapper .dropdown-menu li a, .contact-photo-wrapper .dropdown-menu li .btn-link {
|
||||
.nav-pills .dropdown-menu li a,
|
||||
.nav-pills .dropdown-menu li .btn-link,
|
||||
.nav-tabs .dropdown-menu li a,
|
||||
.nav-tabs .dropdown-menu li .btn-link,
|
||||
.account .dropdown-menu li a,
|
||||
.account .dropdown-menu li .btn-link,
|
||||
.contact-photo-wrapper .dropdown-menu li a,
|
||||
.contact-photo-wrapper .dropdown-menu li .btn-link {
|
||||
color: $nav_icon_color;
|
||||
font-weight: 400;
|
||||
font-size: 13px;
|
||||
|
|
@ -848,14 +875,18 @@ ul li .intro-wrapper button.intro-action-link {
|
|||
width: 100%;
|
||||
text-align: left;
|
||||
}
|
||||
.nav-pills .dropdown-menu li a i, .nav-pills .dropdown-menu li .btn-link i,
|
||||
.nav-tabs .dropdown-menu li a i, .nav-tabs .dropdown-menu li .btn-link i,
|
||||
.account .dropdown-menu li a i, .account .dropdown-menu li .btn-link i,
|
||||
.contact-photo-wrapper .dropdown-menu li a i, .contact-photo-wrapper .dropdown-menu li .btn-link i {
|
||||
.nav-pills .dropdown-menu li a i,
|
||||
.nav-pills .dropdown-menu li .btn-link i,
|
||||
.nav-tabs .dropdown-menu li a i,
|
||||
.nav-tabs .dropdown-menu li .btn-link i,
|
||||
.account .dropdown-menu li a i,
|
||||
.account .dropdown-menu li .btn-link i,
|
||||
.contact-photo-wrapper .dropdown-menu li a i,
|
||||
.contact-photo-wrapper .dropdown-menu li .btn-link i {
|
||||
margin-right: 5px;
|
||||
font-size: 14px;
|
||||
display: inline-block;
|
||||
width: 14px
|
||||
width: 14px;
|
||||
}
|
||||
.nav-pills .dropdown-menu li > a:hover,
|
||||
.nav-tabs .dropdown-menu li > a:hover,
|
||||
|
|
@ -940,9 +971,9 @@ aside .widget li a:hover {
|
|||
|
||||
/* forumlist widget */
|
||||
aside > #datebrowse-sidebar li.posted-date-selector-months {
|
||||
margin-bottom: 10px;;
|
||||
margin-bottom: 10px;
|
||||
padding: 0;
|
||||
width: 100%
|
||||
width: 100%;
|
||||
}
|
||||
aside > #datebrowse-sidebar li.posted-date-selector-months:hover {
|
||||
border-left: none !important;
|
||||
|
|
@ -1007,7 +1038,7 @@ aside .vcard .tool .action{
|
|||
font-size: 32px;
|
||||
width: 45px;
|
||||
height: 45px;
|
||||
background: rgba(0,0,0,.50);
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
text-align: center;
|
||||
border-radius: 3px;
|
||||
opacity: 0;
|
||||
|
|
@ -1018,7 +1049,7 @@ aside .vcard .tool .action{
|
|||
transition: all 0.25s ease-in-out;
|
||||
}
|
||||
aside .vcard .tool a {
|
||||
color: rgba(255,255,255,.85);
|
||||
color: rgba(255, 255, 255, 0.85);
|
||||
}
|
||||
aside .vcard #profile-photo-wrapper:hover .tool .action {
|
||||
opacity: 1;
|
||||
|
|
@ -1120,7 +1151,7 @@ aside .vcard #wallmessage-link {
|
|||
.network-content-wrapper > #viewcontact_wrapper-network,
|
||||
#nav-short-info .contact-wrapper .contact-photo-overlay,
|
||||
#nav-short-info .contact-wrapper .contact-actions {
|
||||
display: none
|
||||
display: none;
|
||||
}
|
||||
|
||||
aside #peoplefind-sidebar input,
|
||||
|
|
@ -1198,7 +1229,6 @@ aside #group-sidebar li .group-edit-tool:first-child {
|
|||
margin: 0px 5px 5px 0px;
|
||||
}
|
||||
.contact-block-link {
|
||||
|
||||
}
|
||||
.contact-block-img {
|
||||
height: 75px;
|
||||
|
|
@ -1249,8 +1279,10 @@ section #jotOpen {
|
|||
flex: auto;
|
||||
flex-direction: column;
|
||||
}
|
||||
#jot-modal .modal-header a, #jot-modal .modal-header .btn-link,
|
||||
#profile-jot-submit-wrapper a, #profile-jot-submit-wrapper .btn-link {
|
||||
#jot-modal .modal-header a,
|
||||
#jot-modal .modal-header .btn-link,
|
||||
#profile-jot-submit-wrapper a,
|
||||
#profile-jot-submit-wrapper .btn-link {
|
||||
color: $font_color_darker;
|
||||
}
|
||||
#jot-modal .modal-header {
|
||||
|
|
@ -1260,7 +1292,8 @@ section #jotOpen {
|
|||
float: right;
|
||||
margin-right: 20px;
|
||||
}
|
||||
#jot-title-wrap, #jot-category-wrap {
|
||||
#jot-title-wrap,
|
||||
#jot-category-wrap {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
#jot-text-wrap {
|
||||
|
|
@ -1293,7 +1326,7 @@ textarea.comment-edit-text:focus + .comment-edit-form .preview {
|
|||
}
|
||||
.preview hr.previewseparator {
|
||||
margin-top: 0px;
|
||||
border-color: #D2D2D2;
|
||||
border-color: #d2d2d2;
|
||||
}
|
||||
#previewImgBtn_profile-jot-text,
|
||||
.closePreview {
|
||||
|
|
@ -1371,7 +1404,7 @@ textarea.comment-edit-text:focus + .comment-edit-form .preview {
|
|||
cursor: default;
|
||||
}
|
||||
.fbrowser .folders {
|
||||
box-shadow: -1.5px 0 0 0 rgba(0, 0, 0, .1) inset;
|
||||
box-shadow: -1.5px 0 0 0 rgba(0, 0, 0, 0.1) inset;
|
||||
padding-right: 1px;
|
||||
}
|
||||
.fbrowser .folders ul {
|
||||
|
|
@ -1478,7 +1511,8 @@ aside .panel-body {
|
|||
transition: all 0.25s ease-in-out;
|
||||
}
|
||||
|
||||
.toplevel_item:hover .fakelink, .wall-item-container:hover .fakelink,
|
||||
.toplevel_item:hover .fakelink,
|
||||
.wall-item-container:hover .fakelink,
|
||||
.toplevel_item:hover .wall-item-container:hover .wall-item-responses a,
|
||||
.toplevel_item:hover .wall-item-content a,
|
||||
.toplevel_item:hover .wall-item-name,
|
||||
|
|
@ -1538,11 +1572,11 @@ aside .panel-body {
|
|||
top: 0;
|
||||
left: 0;
|
||||
border-radius: 3px;
|
||||
background:rgba(0,0,0,.50);
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
text-align: center;
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity .25s ease;
|
||||
-moz-transition: opacity .25s ease;
|
||||
-webkit-transition: opacity 0.25s ease;
|
||||
-moz-transition: opacity 0.25s ease;
|
||||
}
|
||||
.contact-photo-overlay:hover {
|
||||
opacity: 1;
|
||||
|
|
@ -1550,7 +1584,7 @@ aside .panel-body {
|
|||
.contact-photo-overlay-content {
|
||||
font-size: 26px;
|
||||
text-shadow: 1px 1px 1px #ccc;
|
||||
color:rgba(255,255,255,.85);
|
||||
color: rgba(255, 255, 255, 0.85);
|
||||
height: 100%;
|
||||
vertical-align: bottom;
|
||||
}
|
||||
|
|
@ -1571,13 +1605,13 @@ aside .panel-body {
|
|||
}
|
||||
|
||||
/* wall items action dropdown menu */
|
||||
.media [role=heading] {
|
||||
.media [role="heading"] {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Workaround for Firefox where the post heading covers the avatar, preventing hovercard interaction,
|
||||
48px is the width of the avatar image and should be adjusted accordingly if it ever changes. */
|
||||
.media .dropdown.pull-left + [role=heading] {
|
||||
.media .dropdown.pull-left + [role="heading"] {
|
||||
margin-left: 48px;
|
||||
}
|
||||
|
||||
|
|
@ -1603,7 +1637,8 @@ aside .panel-body {
|
|||
font-weight: 500;
|
||||
color: $font_color_darker;
|
||||
}
|
||||
.media .media-body .addional-info a, .media .media-body h5.media-heading > a {
|
||||
.media .media-body .addional-info a,
|
||||
.media .media-body h5.media-heading > a {
|
||||
display: block;
|
||||
}
|
||||
.media .contact-info-comment {
|
||||
|
|
@ -1632,7 +1667,7 @@ aside .panel-body {
|
|||
}
|
||||
|
||||
.userinfo.click-card > *:hover:after {
|
||||
content: '⌄';
|
||||
content: "⌄";
|
||||
color: #bebebe;
|
||||
font-size: 1em;
|
||||
font-weight: bold;
|
||||
|
|
@ -1644,7 +1679,7 @@ aside .panel-body {
|
|||
left: 0;
|
||||
width: 33%;
|
||||
height: 33%;
|
||||
opacity: .8;
|
||||
opacity: 0.8;
|
||||
border-radius: 0 0 40% 0;
|
||||
}
|
||||
|
||||
|
|
@ -1700,7 +1735,7 @@ aside .panel-body {
|
|||
}
|
||||
.vevent {
|
||||
padding: 10px;
|
||||
box-shadow: 0 0 0 1.5px rgba(0, 0, 0, .1) inset, 0 1px 1px rgba(0, 0, 0, .05);
|
||||
box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.1) inset, 0 1px 1px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
@media screen and (max-width: 767px) {
|
||||
.vevent {
|
||||
|
|
@ -1712,7 +1747,7 @@ aside .panel-body {
|
|||
}
|
||||
}
|
||||
.vevent:hover {
|
||||
box-shadow: 0 0 0 1.5px rgba(0, 0, 0, .15) inset, 0 1px 1px rgba(0, 0, 0, .05);
|
||||
box-shadow: 0 0 0 1.5px rgba(0, 0, 0, 0.15) inset, 0 1px 1px rgba(0, 0, 0, 0.05);
|
||||
}
|
||||
.shared_header {
|
||||
margin-left: 0px;
|
||||
|
|
@ -1736,7 +1771,8 @@ code > .hl-main {
|
|||
.type-link img.attachment-image {
|
||||
width: 100%;
|
||||
}
|
||||
.type-link blockquote, .type-video blockquote {
|
||||
.type-link blockquote,
|
||||
.type-video blockquote {
|
||||
margin: 0;
|
||||
padding: 10px 0;
|
||||
}
|
||||
|
|
@ -1799,7 +1835,8 @@ code > .hl-main {
|
|||
margin: 0;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.wall-item-actions a, .wall-item-actions button {
|
||||
.wall-item-actions a,
|
||||
.wall-item-actions button {
|
||||
font-size: 13px;
|
||||
color: $font_color_darker;
|
||||
}
|
||||
|
|
@ -1828,7 +1865,7 @@ code > .hl-main {
|
|||
text-decoration: underline;
|
||||
}
|
||||
.wall-item-actions .separator {
|
||||
margin: 0 .3em;
|
||||
margin: 0 0.3em;
|
||||
}
|
||||
|
||||
.wall-item-responses > div > p {
|
||||
|
|
@ -1973,7 +2010,7 @@ wall-item-comment-wrapper.well hr {
|
|||
border-radius: 4px;
|
||||
overflow: auto;
|
||||
z-index: 100000;
|
||||
box-shadow: 0 6px 12px rgba(0,0,0,.175);
|
||||
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
|
||||
}
|
||||
nav .acpopup {
|
||||
margin-left: -23px;
|
||||
|
|
@ -1997,7 +2034,6 @@ img.acpopup-img {
|
|||
border-radius: 4px;
|
||||
}
|
||||
|
||||
|
||||
/* The wall-item thread levels */
|
||||
.wall-item-container.thread_level_3,
|
||||
.wall-item-container.thread_level_4,
|
||||
|
|
@ -2008,7 +2044,8 @@ img.acpopup-img {
|
|||
}
|
||||
|
||||
/* Birthday */
|
||||
#birthday-notice, #birthday-wrapper {
|
||||
#birthday-notice,
|
||||
#birthday-wrapper {
|
||||
margin-bottom: 5px;
|
||||
padding: 10px;
|
||||
border: none;
|
||||
|
|
@ -2052,13 +2089,14 @@ ul.tabs li {
|
|||
border-bottom: 0 solid $link_color;
|
||||
font-size: 13px;
|
||||
height: 102%;
|
||||
transition: all .15s ease;
|
||||
transition: all 0.15s ease;
|
||||
}
|
||||
ul.tabs li a {
|
||||
margin-left: 10px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
ul.tabs li:hover, ul.tabs li.active {
|
||||
ul.tabs li:hover,
|
||||
ul.tabs li.active {
|
||||
border-bottom-width: 4px;
|
||||
}
|
||||
ul.tabbar ul.tabs-extended:hover li.dropdown {
|
||||
|
|
@ -2084,7 +2122,6 @@ ul.dropdown-menu li:hover {
|
|||
.dropdown-menu li a,
|
||||
.dropdown-menu li .btn-link {
|
||||
color: $font_color_darker;
|
||||
|
||||
}
|
||||
.dropdown-menu li > :hover,
|
||||
.dropdown-menu li > :visited,
|
||||
|
|
@ -2154,7 +2191,7 @@ p.wall-item-announce,
|
|||
color: $font_color_darker;
|
||||
}
|
||||
|
||||
input[type=range].form-control {
|
||||
input[type="range"].form-control {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
|
@ -2214,15 +2251,26 @@ input[type=range].form-control {
|
|||
* PAGES
|
||||
*********/
|
||||
|
||||
section > .generic-page-wrapper, .videos-content-wrapper,
|
||||
.suggest-content-wrapper, .help-content-wrapper,
|
||||
.match-content-wrapper, .dirfind-content-wrapper,
|
||||
.delegation-content-wrapper, .notes-content-wrapper,
|
||||
.message-content-wrapper, .apps-content-wrapper,
|
||||
#adminpage, .delegate-content-wrapper, .uexport-content-wrapper,
|
||||
section > .generic-page-wrapper,
|
||||
.videos-content-wrapper,
|
||||
.suggest-content-wrapper,
|
||||
.help-content-wrapper,
|
||||
.match-content-wrapper,
|
||||
.dirfind-content-wrapper,
|
||||
.delegation-content-wrapper,
|
||||
.notes-content-wrapper,
|
||||
.message-content-wrapper,
|
||||
.apps-content-wrapper,
|
||||
#adminpage,
|
||||
.delegate-content-wrapper,
|
||||
.uexport-content-wrapper,
|
||||
.dfrn_request-content-wrapper,
|
||||
.friendica-content-wrapper, .credits-content-wrapper, .nogroup-content-wrapper,
|
||||
.profperm-content-wrapper, .invite-content-wrapper, .tos-content-wrapper,
|
||||
.friendica-content-wrapper,
|
||||
.credits-content-wrapper,
|
||||
.nogroup-content-wrapper,
|
||||
.profperm-content-wrapper,
|
||||
.invite-content-wrapper,
|
||||
.tos-content-wrapper,
|
||||
.fsuggest-content-wrapper {
|
||||
min-height: calc(100vh - 150px);
|
||||
padding: 15px;
|
||||
|
|
@ -2292,7 +2340,8 @@ ul.viewcontact_wrapper > li {
|
|||
*width: auto;
|
||||
*zoom: 1;
|
||||
}
|
||||
.contact-wrapper.media:before, .media:after {
|
||||
.contact-wrapper.media:before,
|
||||
.media:after {
|
||||
content: "";
|
||||
display: table;
|
||||
}
|
||||
|
|
@ -2388,8 +2437,12 @@ ul li:hover .contact-wrapper .contact-action-link:hover {
|
|||
font-size: 18px;
|
||||
}
|
||||
|
||||
.contact-group-actions .fa-times-circle { color: #D00000;}
|
||||
.contact-group-actions .fa-plus-circle { color: #008000;}
|
||||
.contact-group-actions .fa-times-circle {
|
||||
color: #d00000;
|
||||
}
|
||||
.contact-group-actions .fa-plus-circle {
|
||||
color: #008000;
|
||||
}
|
||||
|
||||
#group-edit-wrapper {
|
||||
margin-top: 14px;
|
||||
|
|
@ -2550,7 +2603,7 @@ ul li:hover .contact-wrapper .contact-action-link:hover {
|
|||
.event-wrapper .vevent {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
box-shadow: 1.5px 0 0 0 rgba(0, 0, 0, .1) inset;
|
||||
box-shadow: 1.5px 0 0 0 rgba(0, 0, 0, 0.1) inset;
|
||||
}
|
||||
.event-wrapper .event-buttons {
|
||||
margin-top: 15px;
|
||||
|
|
@ -2588,10 +2641,12 @@ ul li:hover .contact-wrapper .contact-action-link:hover {
|
|||
}
|
||||
|
||||
/* Event Cards */
|
||||
.event-card-details, .event-card-header {
|
||||
.event-card-details,
|
||||
.event-card-header {
|
||||
width: 100%;
|
||||
}
|
||||
.event-card-header, .event-card-left-date {
|
||||
.event-card-header,
|
||||
.event-card-left-date {
|
||||
float: left;
|
||||
}
|
||||
.vevent .event-card-header {
|
||||
|
|
@ -2618,7 +2673,7 @@ ul li:hover .contact-wrapper .contact-action-link:hover {
|
|||
.event-card .event-card-content {
|
||||
width: 100%;
|
||||
padding: 0 5px 0 15px;
|
||||
box-shadow: 1.5px 0 0 0 rgba(0, 0, 0, .1) inset;
|
||||
box-shadow: 1.5px 0 0 0 rgba(0, 0, 0, 0.1) inset;
|
||||
color: $font_color;
|
||||
position: relative;
|
||||
}
|
||||
|
|
@ -2661,31 +2716,29 @@ ul li:hover .contact-wrapper .contact-action-link:hover {
|
|||
}
|
||||
.event-card .description {
|
||||
margin-top: 10px;
|
||||
box-shadow: 0 1.5px 0 0 rgba(0, 0, 0, .1) inset;
|
||||
box-shadow: 0 1.5px 0 0 rgba(0, 0, 0, 0.1) inset;
|
||||
}
|
||||
/* Photos Pages */
|
||||
#photo-photo {
|
||||
position: relative;
|
||||
}
|
||||
.photo-next-link, .photo-prev-link {
|
||||
.photo-next-link,
|
||||
.photo-prev-link {
|
||||
height: 64px;
|
||||
margin-top: -32px;
|
||||
opacity: 0;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateZ(0);
|
||||
transition: opacity .2s;
|
||||
transition: opacity 0.2s;
|
||||
width: 100px;
|
||||
z-index: 11;
|
||||
font-size: 64px;
|
||||
color: #fff;
|
||||
text-shadow:
|
||||
-1px -1px 0 #000,
|
||||
1px -1px 0 #000,
|
||||
-1px 1px 0 #000,
|
||||
1px 1px 0 #000;
|
||||
text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
|
||||
}
|
||||
.photo-next-link > i, .photo-prev-link > i {
|
||||
.photo-next-link > i,
|
||||
.photo-prev-link > i {
|
||||
vertical-align: super;
|
||||
}
|
||||
.photo-next-link > i {
|
||||
|
|
@ -2750,12 +2803,14 @@ ul li:hover .contact-wrapper .contact-action-link:hover {
|
|||
.section-subtitle-wrapper {
|
||||
padding: 1px 10px;
|
||||
}
|
||||
details.profile-jot-net[open] summary:before, .panel .section-subtitle-wrapper a.accordion-toggle:before {
|
||||
details.profile-jot-net[open] summary:before,
|
||||
.panel .section-subtitle-wrapper a.accordion-toggle:before {
|
||||
font-family: ForkAwesome;
|
||||
content: "\f0d7";
|
||||
padding-right: 5px;
|
||||
}
|
||||
details.profile-jot-net summary:before, .panel .section-subtitle-wrapper a.accordion-toggle.collapsed:before {
|
||||
details.profile-jot-net summary:before,
|
||||
.panel .section-subtitle-wrapper a.accordion-toggle.collapsed:before {
|
||||
font-family: ForkAwesome;
|
||||
content: "\f0da";
|
||||
}
|
||||
|
|
@ -2785,7 +2840,8 @@ details.profile-jot-net[open] summary:before {
|
|||
-moz-box-shadow: 0 0 3px #dadada;
|
||||
}
|
||||
|
||||
.settings-block.fakelink, .settings-block > .fakelink {
|
||||
.settings-block.fakelink,
|
||||
.settings-block > .fakelink {
|
||||
padding: 10px 25px;
|
||||
display: block;
|
||||
}
|
||||
|
|
@ -2794,10 +2850,12 @@ details.profile-jot-net[open] summary:before {
|
|||
border-radius: 4px 4px 0 0;
|
||||
}
|
||||
|
||||
.settings-block.fakelink:hover, .settings-block > .fakelink:hover {
|
||||
.settings-block.fakelink:hover,
|
||||
.settings-block > .fakelink:hover {
|
||||
color: $link_hover_color;
|
||||
}
|
||||
.settings-block.fakelink > h3, .settings-block > .fakelink > h3 {
|
||||
.settings-block.fakelink > h3,
|
||||
.settings-block > .fakelink > h3 {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
color: $link_color;
|
||||
|
|
@ -2881,17 +2939,24 @@ ul.notif-network-list > li:hover .intro-action-buttons {
|
|||
max-height: 30px;
|
||||
transition: max-height 0.1s ease-in;
|
||||
}
|
||||
.intro-desc-label, .intro-url-label, .intro-network-label,
|
||||
.intro-location-label, .intro-keywords-label,
|
||||
.intro-about-label, .intro-knowyou-label, .intro-madeby-label {
|
||||
.intro-desc-label,
|
||||
.intro-url-label,
|
||||
.intro-network-label,
|
||||
.intro-location-label,
|
||||
.intro-keywords-label,
|
||||
.intro-about-label,
|
||||
.intro-knowyou-label,
|
||||
.intro-madeby-label {
|
||||
font-weight: bold;
|
||||
}
|
||||
.intro-contact-info.xs .intro-url-label, .intro-contact-info.xs .intro-network-label,
|
||||
.intro-contact-info.xs .intro-url-label,
|
||||
.intro-contact-info.xs .intro-network-label,
|
||||
.intro-contact-info.xs .intro-location-label,
|
||||
.intro-contact-info.xs .intro-keywords-label, .intro-contact-info.xs .intro-about-label,
|
||||
.intro-contact-info.xs .intro-keywords-label,
|
||||
.intro-contact-info.xs .intro-about-label,
|
||||
.intro-contact-info.xs .intro-knowyou-label {
|
||||
display: block;
|
||||
margin-top: 5px
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
/* Notifications Page */
|
||||
|
|
@ -2984,7 +3049,8 @@ section.help-content-wrapper li {
|
|||
#admin-summary-wrapper {
|
||||
padding-top: 10px;
|
||||
}
|
||||
#adminpage ul#addonslist, li.addon {
|
||||
#adminpage ul#addonslist,
|
||||
li.addon {
|
||||
list-style: none;
|
||||
}
|
||||
#adminpage li .icon {
|
||||
|
|
@ -3074,11 +3140,14 @@ section.help-content-wrapper li {
|
|||
}
|
||||
|
||||
/* Register Page */
|
||||
#register-openid-wrapper, #register-name-wrapper, #register-invite-wrapper, #profile-publish-wrapper {
|
||||
#register-openid-wrapper,
|
||||
#register-name-wrapper,
|
||||
#register-invite-wrapper,
|
||||
#profile-publish-wrapper {
|
||||
margin-top: 20px;
|
||||
}
|
||||
#register-openid-end, #register-nickname-end
|
||||
{
|
||||
#register-openid-end,
|
||||
#register-nickname-end {
|
||||
margin-top: 40px;
|
||||
}
|
||||
|
||||
|
|
@ -3128,8 +3197,7 @@ main .nav-tabs>li.active>a:hover {
|
|||
#contact-list ul.dropdown-menu.textcomplete-dropdown.media-list > li:first-child {
|
||||
display: none;
|
||||
}
|
||||
#contact-list ul.dropdown-menu.textcomplete-dropdown.media-list
|
||||
.textcomplete-item > a {
|
||||
#contact-list ul.dropdown-menu.textcomplete-dropdown.media-list .textcomplete-item > a {
|
||||
padding: 0 !important;
|
||||
border-left: none;
|
||||
background-color: transparent !important;
|
||||
|
|
@ -3218,7 +3286,9 @@ section .profile-match-wrapper {
|
|||
#login-submit-wrapper {
|
||||
float: right;
|
||||
}
|
||||
#lost-password-link { flex-grow: 2; }
|
||||
#lost-password-link {
|
||||
flex-grow: 2;
|
||||
}
|
||||
#login-lost-password-link {
|
||||
margin-bottom: 10px;
|
||||
float: right;
|
||||
|
|
@ -3251,12 +3321,14 @@ section .profile-match-wrapper {
|
|||
padding-top: 0;
|
||||
}
|
||||
.mod-home.is-not-singleuser nav.navbar,
|
||||
.mod-login nav.navbar { background-color: transparent }
|
||||
.mod-login nav.navbar {
|
||||
background-color: transparent;
|
||||
}
|
||||
.mod-home.is-not-singleuser #topbar-second,
|
||||
.mod-login #topbar-second {
|
||||
background-color: transparent;
|
||||
box-shadow: unset;
|
||||
border: 0
|
||||
border: 0;
|
||||
}
|
||||
.mod-home.is-not-singleuser .login-content,
|
||||
.mod-login .login-content {
|
||||
|
|
@ -3275,7 +3347,7 @@ section .profile-match-wrapper {
|
|||
|
||||
.mod-home.is-not-singleuser .login-panel-content,
|
||||
.mod-login .login-panel-content {
|
||||
background-color: rgba(255,255,255,.85);
|
||||
background-color: rgba(255, 255, 255, 0.85);
|
||||
}
|
||||
|
||||
.qq-upload-button {
|
||||
|
|
@ -3335,7 +3407,6 @@ section .profile-match-wrapper {
|
|||
#fc-title {
|
||||
margin: 0;
|
||||
padding-left: 20px;
|
||||
|
||||
}
|
||||
#fc-header-right {
|
||||
margin-top: -4px;
|
||||
|
|
@ -3348,7 +3419,7 @@ section .profile-match-wrapper {
|
|||
}
|
||||
#event-calendar-views {
|
||||
padding: 6px 9px;
|
||||
font-size: 14px
|
||||
font-size: 14px;
|
||||
}
|
||||
.fc .fc-toolbar {
|
||||
display: none;
|
||||
|
|
@ -3392,8 +3463,8 @@ section .profile-match-wrapper {
|
|||
font-size: 12px;
|
||||
}
|
||||
.fc .fc-event {
|
||||
background-color: #E3F2FD;
|
||||
border: 1px solid #BBDEFB;
|
||||
background-color: #e3f2fd;
|
||||
border: 1px solid #bbdefb;
|
||||
color: $font_color_darker;
|
||||
}
|
||||
.fc .fc-month-view .fc-time,
|
||||
|
|
@ -3525,7 +3596,28 @@ section .profile-match-wrapper {
|
|||
margin-top: 0;
|
||||
}
|
||||
|
||||
.generic-page-wrapper, .videos-content-wrapper, .suggest-content-wrapper, .help-content-wrapper, .match-content-wrapper, .dirfind-content-wrapper, .directory-content-wrapper, .delegation-content-wrapper, .notes-content-wrapper, .message-content-wrapper, .apps-content-wrapper, #adminpage, .delegate-content-wrapper, .uexport-content-wrapper, .dfrn_request-content-wrapper, .friendica-content-wrapper, .credits-content-wrapper, .nogroup-content-wrapper, .profperm-content-wrapper, .invite-content-wrapper, .tos-content-wrapper, .fsuggest-content-wrapper {
|
||||
.generic-page-wrapper,
|
||||
.videos-content-wrapper,
|
||||
.suggest-content-wrapper,
|
||||
.help-content-wrapper,
|
||||
.match-content-wrapper,
|
||||
.dirfind-content-wrapper,
|
||||
.directory-content-wrapper,
|
||||
.delegation-content-wrapper,
|
||||
.notes-content-wrapper,
|
||||
.message-content-wrapper,
|
||||
.apps-content-wrapper,
|
||||
#adminpage,
|
||||
.delegate-content-wrapper,
|
||||
.uexport-content-wrapper,
|
||||
.dfrn_request-content-wrapper,
|
||||
.friendica-content-wrapper,
|
||||
.credits-content-wrapper,
|
||||
.nogroup-content-wrapper,
|
||||
.profperm-content-wrapper,
|
||||
.invite-content-wrapper,
|
||||
.tos-content-wrapper,
|
||||
.fsuggest-content-wrapper {
|
||||
border-radius: 0;
|
||||
padding: 10px;
|
||||
}
|
||||
|
|
@ -3534,7 +3626,54 @@ section .profile-match-wrapper {
|
|||
margin-right: 0;
|
||||
}
|
||||
|
||||
.col-lg-1, .col-lg-10, .col-lg-11, .col-lg-12, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-md-1, .col-md-10, .col-md-11, .col-md-12, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-sm-1, .col-sm-10, .col-sm-11, .col-sm-12, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-xs-1, .col-xs-10, .col-xs-11, .col-xs-12, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9 {
|
||||
.col-lg-1,
|
||||
.col-lg-10,
|
||||
.col-lg-11,
|
||||
.col-lg-12,
|
||||
.col-lg-2,
|
||||
.col-lg-3,
|
||||
.col-lg-4,
|
||||
.col-lg-5,
|
||||
.col-lg-6,
|
||||
.col-lg-7,
|
||||
.col-lg-8,
|
||||
.col-lg-9,
|
||||
.col-md-1,
|
||||
.col-md-10,
|
||||
.col-md-11,
|
||||
.col-md-12,
|
||||
.col-md-2,
|
||||
.col-md-3,
|
||||
.col-md-4,
|
||||
.col-md-5,
|
||||
.col-md-6,
|
||||
.col-md-7,
|
||||
.col-md-8,
|
||||
.col-md-9,
|
||||
.col-sm-1,
|
||||
.col-sm-10,
|
||||
.col-sm-11,
|
||||
.col-sm-12,
|
||||
.col-sm-2,
|
||||
.col-sm-3,
|
||||
.col-sm-4,
|
||||
.col-sm-5,
|
||||
.col-sm-6,
|
||||
.col-sm-7,
|
||||
.col-sm-8,
|
||||
.col-sm-9,
|
||||
.col-xs-1,
|
||||
.col-xs-10,
|
||||
.col-xs-11,
|
||||
.col-xs-12,
|
||||
.col-xs-2,
|
||||
.col-xs-3,
|
||||
.col-xs-4,
|
||||
.col-xs-5,
|
||||
.col-xs-6,
|
||||
.col-xs-7,
|
||||
.col-xs-8,
|
||||
.col-xs-9 {
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,51 +1,53 @@
|
|||
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPLv3-or-later
|
||||
$(function () {
|
||||
// Jot attachment live preview.
|
||||
let $textarea = $('textarea[name=body]');
|
||||
let $textarea = $("textarea[name=body]");
|
||||
$textarea.linkPreview();
|
||||
$textarea.keyup(function () {
|
||||
var textlen = $(this).val().length;
|
||||
$('#character-counter').text(textlen);
|
||||
$("#character-counter").text(textlen);
|
||||
});
|
||||
$textarea.editor_autocomplete(baseurl + '/search/acl');
|
||||
$textarea.bbco_autocomplete('bbcode');
|
||||
$textarea.editor_autocomplete(baseurl + "/search/acl");
|
||||
$textarea.bbco_autocomplete("bbcode");
|
||||
|
||||
let location_button = document.getElementById('profile-location');
|
||||
let location_input = document.getElementById('jot-location');
|
||||
let location_button = document.getElementById("profile-location");
|
||||
let location_input = document.getElementById("jot-location");
|
||||
|
||||
if (location_button && location_input) {
|
||||
updateLocationButtonDisplay(location_button, location_input);
|
||||
|
||||
location_input.addEventListener('change', function () {
|
||||
location_input.addEventListener("change", function () {
|
||||
updateLocationButtonDisplay(location_button, location_input);
|
||||
});
|
||||
location_input.addEventListener('keyup', function () {
|
||||
location_input.addEventListener("keyup", function () {
|
||||
updateLocationButtonDisplay(location_button, location_input);
|
||||
});
|
||||
|
||||
location_button.addEventListener('click', function() {
|
||||
location_button.addEventListener("click", function () {
|
||||
if (location_input.value) {
|
||||
location_input.value = '';
|
||||
location_input.value = "";
|
||||
updateLocationButtonDisplay(location_button, location_input);
|
||||
} else if ("geolocation" in navigator) {
|
||||
navigator.geolocation.getCurrentPosition(function(position) {
|
||||
location_input.value = position.coords.latitude + ', ' + position.coords.longitude;
|
||||
navigator.geolocation.getCurrentPosition(
|
||||
function (position) {
|
||||
location_input.value = position.coords.latitude + ", " + position.coords.longitude;
|
||||
updateLocationButtonDisplay(location_button, location_input);
|
||||
}, function (error) {
|
||||
},
|
||||
function (error) {
|
||||
location_button.disabled = true;
|
||||
updateLocationButtonDisplay(location_button, location_input);
|
||||
});
|
||||
},
|
||||
);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
function updateLocationButtonDisplay(location_button, location_input)
|
||||
{
|
||||
location_button.classList.remove('btn-primary');
|
||||
function updateLocationButtonDisplay(location_button, location_input) {
|
||||
location_button.classList.remove("btn-primary");
|
||||
if (location_input.value) {
|
||||
location_button.disabled = false;
|
||||
location_button.classList.add('btn-primary');
|
||||
location_button.classList.add("btn-primary");
|
||||
location_button.title = location_button.dataset.titleClear;
|
||||
} else if (!"geolocation" in navigator) {
|
||||
location_button.disabled = true;
|
||||
|
|
|
|||
|
|
@ -1,36 +1,42 @@
|
|||
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPLv3-or-later
|
||||
$(document).ready(function () {
|
||||
// Go to the permissions tab if the checkbox is checked.
|
||||
$('body').on("click", "#id_share", function() {
|
||||
if ($('#id_share').is(':checked') && !( $('#id_share').attr("disabled"))) {
|
||||
$('#acl-wrapper').show();
|
||||
$("body")
|
||||
.on("click", "#id_share", function () {
|
||||
if ($("#id_share").is(":checked") && !$("#id_share").attr("disabled")) {
|
||||
$("#acl-wrapper").show();
|
||||
$("a#event-perms-lnk").parent("li").show();
|
||||
toggleEventNav("a#event-perms-lnk");
|
||||
eventAclActive();
|
||||
}
|
||||
else {
|
||||
$('#acl-wrapper').hide();
|
||||
} else {
|
||||
$("#acl-wrapper").hide();
|
||||
$("a#event-perms-lnk").parent("li").hide();
|
||||
}
|
||||
}).trigger('change');
|
||||
})
|
||||
.trigger("change");
|
||||
|
||||
// Disable the finish time input if the user disable it.
|
||||
$('body').on("change", "#id_nofinish", function() {
|
||||
enableDisableFinishDate()
|
||||
}).trigger('change');
|
||||
$("body")
|
||||
.on("change", "#id_nofinish", function () {
|
||||
enableDisableFinishDate();
|
||||
})
|
||||
.trigger("change");
|
||||
|
||||
// JS for the permission section.
|
||||
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
||||
$("#contact_allow, #contact_deny, #group_allow, #group_deny")
|
||||
.change(function () {
|
||||
var selstr;
|
||||
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
|
||||
$(
|
||||
"#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected",
|
||||
).each(function () {
|
||||
selstr = $(this).html();
|
||||
$('#jot-public').hide();
|
||||
$("#jot-public").hide();
|
||||
});
|
||||
if (selstr == null) {
|
||||
$('#jot-public').show();
|
||||
$("#jot-public").show();
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
})
|
||||
.trigger("change");
|
||||
|
||||
// Change the event nav menu.tabs on click.
|
||||
$("body").on("click", "#event-nav > li > a", function (e) {
|
||||
|
|
@ -46,7 +52,7 @@ $(document).ready(function() {
|
|||
|
||||
// Clear some elements (e.g. the event-preview container) when
|
||||
// selecting a event nav link so it don't appear more than once.
|
||||
$('body').on("click", "#event-nav a", function(e) {
|
||||
$("body").on("click", "#event-nav a", function (e) {
|
||||
$("#event-preview").empty();
|
||||
e.preventDefault();
|
||||
});
|
||||
|
|
@ -55,14 +61,13 @@ $(document).ready(function() {
|
|||
// Load the html of the actual event and incect the output to the
|
||||
// event-edit section.
|
||||
function doEventPreview() {
|
||||
$('#event-edit-preview').val(1);
|
||||
$.post('events',$('#event-edit-form').serialize(), function(data) {
|
||||
$("#event-edit-preview").val(1);
|
||||
$.post("events", $("#event-edit-form").serialize(), function (data) {
|
||||
$("#event-preview").append(data);
|
||||
});
|
||||
$('#event-edit-preview').val(0);
|
||||
$("#event-edit-preview").val(0);
|
||||
}
|
||||
|
||||
|
||||
// The following functions show/hide the specific event-edit content
|
||||
// in dependence of the selected nav.
|
||||
function eventAclActive() {
|
||||
|
|
@ -70,7 +75,6 @@ function eventAclActive() {
|
|||
$("#event-acl-wrapper").show();
|
||||
}
|
||||
|
||||
|
||||
function eventPreviewActive() {
|
||||
$("#event-acl-wrapper, #event-edit-wrapper, #event-desc-wrapper").hide();
|
||||
$("#event-preview").show();
|
||||
|
|
@ -99,13 +103,9 @@ function toggleEventNav (elm) {
|
|||
$(elm).parent("li").addClass("active");
|
||||
}
|
||||
|
||||
|
||||
|
||||
// Disable the input for the finish date if it is not available.
|
||||
function enableDisableFinishDate() {
|
||||
if( $('#id_nofinish').is(':checked'))
|
||||
$('#id_finish_text').prop("disabled", true);
|
||||
else
|
||||
$('#id_finish_text').prop("disabled", false);
|
||||
if ($("#id_nofinish").is(":checked")) $("#id_finish_text").prop("disabled", true);
|
||||
else $("#id_finish_text").prop("disabled", false);
|
||||
}
|
||||
// @license-end
|
||||
|
|
|
|||
|
|
@ -52,7 +52,6 @@
|
|||
* });
|
||||
**/
|
||||
|
||||
|
||||
/*
|
||||
* IMPORTANT
|
||||
*
|
||||
|
|
@ -64,7 +63,6 @@
|
|||
*
|
||||
*/
|
||||
|
||||
|
||||
var FileBrowser = {
|
||||
nickname: "",
|
||||
type: "",
|
||||
|
|
@ -86,7 +84,7 @@ var FileBrowser = {
|
|||
// Get the comment textimput field
|
||||
var commentElm = document.getElementById("comment-edit-text-" + FileBrowser.id);
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
console.log("FileBrowser: " + nickname, type, FileBrowser.event, FileBrowser.id);
|
||||
|
||||
|
|
@ -100,14 +98,20 @@ var FileBrowser = {
|
|||
// Click on album link
|
||||
$(".fbrowser").on("click", ".folders a, .path a", function (e) {
|
||||
e.preventDefault();
|
||||
var url = baseurl + "/fbrowser/" + FileBrowser.type + "/" + encodeURIComponent(this.dataset.folder) + "?mode=none&theme=frio";
|
||||
var url =
|
||||
baseurl +
|
||||
"/fbrowser/" +
|
||||
FileBrowser.type +
|
||||
"/" +
|
||||
encodeURIComponent(this.dataset.folder) +
|
||||
"?mode=none&theme=frio";
|
||||
FileBrowser.folder = this.dataset.folder;
|
||||
|
||||
FileBrowser.loadContent(url);
|
||||
});
|
||||
|
||||
//Embed on click
|
||||
$(".fbrowser").on('click', ".photo-album-photo-link", function(e) {
|
||||
$(".fbrowser").on("click", ".photo-album-photo-link", function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
var embed = "";
|
||||
|
|
@ -123,36 +127,34 @@ var FileBrowser = {
|
|||
// Note: not the best solution but function commentOpenUI don't
|
||||
// work as expected (we need a way to wait until commentOpenUI would be finished).
|
||||
// As for now we insert pieces of this function here
|
||||
if ((commentElm !== null) && (typeof commentElm !== "undefined")) {
|
||||
if (commentElm !== null && typeof commentElm !== "undefined") {
|
||||
if (commentElm.value === "") {
|
||||
$("#comment-edit-text-" + FileBrowser.id).addClass("comment-edit-text-full").removeClass("comment-edit-text-empty");
|
||||
$("#comment-edit-text-" + FileBrowser.id)
|
||||
.addClass("comment-edit-text-full")
|
||||
.removeClass("comment-edit-text-empty");
|
||||
$("#comment-edit-submit-wrapper-" + FileBrowser.id).show();
|
||||
$("#comment-edit-text-" + FileBrowser.id).attr('tabindex','9');
|
||||
$("#comment-edit-submit-" + FileBrowser.id).attr('tabindex','10');
|
||||
$("#comment-edit-text-" + FileBrowser.id).attr("tabindex", "9");
|
||||
$("#comment-edit-submit-" + FileBrowser.id).attr("tabindex", "10");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
console.log(FileBrowser.event, this.dataset.filename, embed, FileBrowser.id);
|
||||
|
||||
$("body").trigger(FileBrowser.event, [
|
||||
this.dataset.filename,
|
||||
embed,
|
||||
FileBrowser.id,
|
||||
this.dataset.img
|
||||
]);
|
||||
$("body").trigger(FileBrowser.event, [this.dataset.filename, embed, FileBrowser.id, this.dataset.img]);
|
||||
|
||||
// Close model
|
||||
$('#modal').modal('hide');
|
||||
$("#modal").modal("hide");
|
||||
// Update autosize for this textarea
|
||||
autosize.update($(".text-autosize"));
|
||||
});
|
||||
|
||||
// EventListener for switching between image and file mode
|
||||
$(".fbrowser").on('click', ".fbswitcher .btn", function(e) {
|
||||
$(".fbrowser").on("click", ".fbswitcher .btn", function (e) {
|
||||
e.preventDefault();
|
||||
FileBrowser.type = this.getAttribute("data-mode");
|
||||
$(".fbrowser").removeClass().addClass("fbrowser " + FileBrowser.type);
|
||||
$(".fbrowser")
|
||||
.removeClass()
|
||||
.addClass("fbrowser " + FileBrowser.type);
|
||||
url = baseurl + "/fbrowser/" + FileBrowser.type + "?mode=none&theme=frio";
|
||||
|
||||
FileBrowser.loadContent(url);
|
||||
|
|
@ -163,49 +165,56 @@ var FileBrowser = {
|
|||
uploadButtons: function () {
|
||||
if ($("#upload-image").length) {
|
||||
//AjaxUpload for images
|
||||
var image_uploader = new window.AjaxUpload(
|
||||
'upload-image',
|
||||
{
|
||||
action: 'wall_upload/' + FileBrowser.nickname + '?response=json&album=' + encodeURIComponent(FileBrowser.folder),
|
||||
name: 'userfile',
|
||||
responseType: 'json',
|
||||
var image_uploader = new window.AjaxUpload("upload-image", {
|
||||
action:
|
||||
"wall_upload/" +
|
||||
FileBrowser.nickname +
|
||||
"?response=json&album=" +
|
||||
encodeURIComponent(FileBrowser.folder),
|
||||
name: "userfile",
|
||||
responseType: "json",
|
||||
onSubmit: function (file, ext) {
|
||||
$(".fbrowser-content").hide();
|
||||
$(".fbrowser .profile-rotator-wrapper").show();
|
||||
$(".error").addClass('hidden');
|
||||
$(".error").addClass("hidden");
|
||||
},
|
||||
onComplete: function (file, response) {
|
||||
if (response['error'] != undefined) {
|
||||
$(".error span").html(response['error']);
|
||||
$(".error").removeClass('hidden');
|
||||
if (response["error"] != undefined) {
|
||||
$(".error span").html(response["error"]);
|
||||
$(".error").removeClass("hidden");
|
||||
$(".fbrowser .profile-rotator-wrapper").hide();
|
||||
$(".fbrowser-content").show();
|
||||
return;
|
||||
}
|
||||
|
||||
// load new content to fbrowser window
|
||||
FileBrowser.loadContent(baseurl + '/fbrowser/' + FileBrowser.type + '/' + encodeURIComponent(FileBrowser.folder) + '?mode=none&theme=frio');
|
||||
}
|
||||
}
|
||||
FileBrowser.loadContent(
|
||||
baseurl +
|
||||
"/fbrowser/" +
|
||||
FileBrowser.type +
|
||||
"/" +
|
||||
encodeURIComponent(FileBrowser.folder) +
|
||||
"?mode=none&theme=frio",
|
||||
);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
if ($("#upload-file").length) {
|
||||
//AjaxUpload for files
|
||||
var file_uploader = new window.AjaxUpload(
|
||||
'upload-file',
|
||||
{ action: 'wall_attach/' + FileBrowser.nickname + '?response=json',
|
||||
name: 'userfile',
|
||||
var file_uploader = new window.AjaxUpload("upload-file", {
|
||||
action: "wall_attach/" + FileBrowser.nickname + "?response=json",
|
||||
name: "userfile",
|
||||
onSubmit: function (file, ext) {
|
||||
$(".fbrowser-content").hide();
|
||||
$(".fbrowser .profile-rotator-wrapper").show();
|
||||
$(".error").addClass('hidden');
|
||||
$(".error").addClass("hidden");
|
||||
},
|
||||
onComplete: function (file, response) {
|
||||
if (response['error']!= undefined) {
|
||||
$(".error span").html(response['error']);
|
||||
$(".error").removeClass('hidden');
|
||||
$('#profile-rotator').hide();
|
||||
if (response["error"] != undefined) {
|
||||
$(".error span").html(response["error"]);
|
||||
$(".error").removeClass("hidden");
|
||||
$("#profile-rotator").hide();
|
||||
$(".fbrowser-content").show();
|
||||
return;
|
||||
}
|
||||
|
|
@ -213,9 +222,8 @@ var FileBrowser = {
|
|||
var url = baseurl + "/fbrowser/" + FileBrowser.type + "?mode=none&theme=frio";
|
||||
// Load new content to fbrowser window
|
||||
FileBrowser.loadContent(url);
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
|
|
@ -236,7 +244,7 @@ var FileBrowser = {
|
|||
// load new content to fbrowser window
|
||||
$(".fbrowser").load(url, function (responseText, textStatus) {
|
||||
$(".profile-rotator-wrapper").hide();
|
||||
if (textStatus === 'success') {
|
||||
if (textStatus === "success") {
|
||||
$(".fbrowser_content").show();
|
||||
FileBrowser.postLoad();
|
||||
}
|
||||
|
|
@ -246,10 +254,10 @@ var FileBrowser = {
|
|||
// Initialize justified Gallery
|
||||
initGallery: function () {
|
||||
$(".fbrowser.image .fbrowser-content-container").justifiedGallery({
|
||||
'rowHeight': 80,
|
||||
'margins': 4,
|
||||
'border': 0
|
||||
rowHeight: 80,
|
||||
margins: 4,
|
||||
border: 0,
|
||||
});
|
||||
}
|
||||
},
|
||||
};
|
||||
// @license-end
|
||||
|
|
|
|||
|
|
@ -9,16 +9,16 @@
|
|||
*
|
||||
*/
|
||||
$(document).ready(function () {
|
||||
let $body = $('body');
|
||||
let $body = $("body");
|
||||
// Prevents normal click action on click hovercard elements
|
||||
$body.on('click', '.userinfo.click-card', function (e) {
|
||||
$body.on("click", ".userinfo.click-card", function (e) {
|
||||
e.preventDefault();
|
||||
});
|
||||
// This event listener needs to be declared before the one that removes
|
||||
// all cards so that we can stop the immediate propagation of the event
|
||||
// Since the manual popover appears instantly and the hovercard removal is
|
||||
// on a 100ms delay, leaving event propagation immediately hides any click hovercard
|
||||
$body.on('mousedown', '.userinfo.click-card', function (e) {
|
||||
$body.on("mousedown", ".userinfo.click-card", function (e) {
|
||||
e.stopImmediatePropagation();
|
||||
let timeNow = new Date().getTime();
|
||||
|
||||
|
|
@ -26,14 +26,14 @@ $(document).ready(function () {
|
|||
let targetElement = $(this);
|
||||
|
||||
// get href-attribute
|
||||
if (targetElement.is('[href]')) {
|
||||
contactUrl = targetElement.attr('href');
|
||||
if (targetElement.is("[href]")) {
|
||||
contactUrl = targetElement.attr("href");
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
// no hovercard for anchor links
|
||||
if (contactUrl.substring(0, 1) === '#') {
|
||||
if (contactUrl.substring(0, 1) === "#") {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
@ -41,59 +41,62 @@ $(document).ready(function () {
|
|||
});
|
||||
|
||||
// hover cards should be removed very easily, e.g. when any of these events happens
|
||||
$body.on('mouseleave touchstart scroll mousedown submit keydown', function (e) {
|
||||
$body.on("mouseleave touchstart scroll mousedown submit keydown", function (e) {
|
||||
// remove hover card only for desktiop user, since on mobile we open the hovercards
|
||||
// by click event insteadof hover
|
||||
removeAllHovercards(e, new Date().getTime());
|
||||
});
|
||||
|
||||
$body.on('mouseover', '.userinfo.hover-card, .wall-item-responses a, .wall-item-bottom .mention a', function (e) {
|
||||
$body
|
||||
.on("mouseover", ".userinfo.hover-card, .wall-item-responses a, .wall-item-bottom .mention a", function (e) {
|
||||
let timeNow = new Date().getTime();
|
||||
removeAllHovercards(e, timeNow);
|
||||
let contactUrl = false;
|
||||
let targetElement = $(this);
|
||||
|
||||
// get href-attribute
|
||||
if (targetElement.is('[href]')) {
|
||||
contactUrl = targetElement.attr('href');
|
||||
if (targetElement.is("[href]")) {
|
||||
contactUrl = targetElement.attr("href");
|
||||
} else {
|
||||
return true;
|
||||
}
|
||||
|
||||
// no hover card if the element has the no-hover-card class
|
||||
if (targetElement.hasClass('no-hover-card')) {
|
||||
if (targetElement.hasClass("no-hover-card")) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// no hovercard for anchor links
|
||||
if (contactUrl.substring(0, 1) === '#') {
|
||||
if (contactUrl.substring(0, 1) === "#") {
|
||||
return true;
|
||||
}
|
||||
|
||||
targetElement.attr('data-awaiting-hover-card', timeNow);
|
||||
targetElement.attr("data-awaiting-hover-card", timeNow);
|
||||
|
||||
// Delay until the hover-card does appear
|
||||
setTimeout(function () {
|
||||
if (
|
||||
targetElement.is(':hover')
|
||||
&& parseInt(targetElement.attr('data-awaiting-hover-card'), 10) === timeNow
|
||||
&& $('.hovercard').length === 0
|
||||
targetElement.is(":hover") &&
|
||||
parseInt(targetElement.attr("data-awaiting-hover-card"), 10) === timeNow &&
|
||||
$(".hovercard").length === 0
|
||||
) {
|
||||
openHovercard(targetElement, contactUrl, timeNow);
|
||||
}
|
||||
}, 500);
|
||||
}).on('mouseleave', '.userinfo.hover-card, .wall-item-responses a, .wall-item-bottom .mention a', function (e) { // action when mouse leaves the hover-card
|
||||
})
|
||||
.on("mouseleave", ".userinfo.hover-card, .wall-item-responses a, .wall-item-bottom .mention a", function (e) {
|
||||
// action when mouse leaves the hover-card
|
||||
removeAllHovercards(e, new Date().getTime());
|
||||
});
|
||||
|
||||
// if we're hovering a hover card, give it a class, so we don't remove it
|
||||
$body.on('mouseover', '.hovercard', function (e) {
|
||||
$(this).addClass('dont-remove-card');
|
||||
$body.on("mouseover", ".hovercard", function (e) {
|
||||
$(this).addClass("dont-remove-card");
|
||||
});
|
||||
|
||||
$body.on('mouseleave', '.hovercard', function (e) {
|
||||
$(this).removeClass('dont-remove-card');
|
||||
$(this).popover('hide');
|
||||
$body.on("mouseleave", ".hovercard", function (e) {
|
||||
$(this).removeClass("dont-remove-card");
|
||||
$(this).popover("hide");
|
||||
});
|
||||
}); // End of $(document).ready
|
||||
|
||||
|
|
@ -101,20 +104,20 @@ $(document).ready(function () {
|
|||
function removeAllHovercards(event, priorTo) {
|
||||
// don't remove hovercards until after 100ms, so user have time to move the cursor to it (which gives it the dont-remove-card class)
|
||||
setTimeout(function () {
|
||||
$.each($('.hovercard'), function () {
|
||||
let title = $(this).attr('data-orig-title');
|
||||
$.each($(".hovercard"), function () {
|
||||
let title = $(this).attr("data-orig-title");
|
||||
// don't remove card if it was created after removeAllhoverCards() was called
|
||||
if ($(this).data('card-created') < priorTo) {
|
||||
if ($(this).data("card-created") < priorTo) {
|
||||
// don't remove it if we're hovering it right now!
|
||||
if (!$(this).hasClass('dont-remove-card')) {
|
||||
let $handle = $('[data-hover-card-active="' + $(this).data('card-created') + '"]');
|
||||
$handle.removeAttr('data-hover-card-active');
|
||||
if (!$(this).hasClass("dont-remove-card")) {
|
||||
let $handle = $('[data-hover-card-active="' + $(this).data("card-created") + '"]');
|
||||
$handle.removeAttr("data-hover-card-active");
|
||||
|
||||
// Restoring the popover handle title
|
||||
let title = $handle.attr('data-orig-title');
|
||||
$handle.attr({'data-orig-title': '', title: title});
|
||||
let title = $handle.attr("data-orig-title");
|
||||
$handle.attr({ "data-orig-title": "", title: title });
|
||||
|
||||
$(this).popover('hide');
|
||||
$(this).popover("hide");
|
||||
}
|
||||
}
|
||||
});
|
||||
|
|
@ -124,16 +127,17 @@ function removeAllHovercards(event, priorTo) {
|
|||
function openHovercard(targetElement, contactUrl, timeNow) {
|
||||
// store the title in a data attribute because Bootstrap
|
||||
// popover destroys the title attribute.
|
||||
let title = targetElement.attr('title');
|
||||
targetElement.attr({'data-orig-title': title, title: ''});
|
||||
let title = targetElement.attr("title");
|
||||
targetElement.attr({ "data-orig-title": title, title: "" });
|
||||
|
||||
// get an additional data atribute if the card is active
|
||||
targetElement.attr('data-hover-card-active', timeNow);
|
||||
targetElement.attr("data-hover-card-active", timeNow);
|
||||
// get the whole html content of the hover card and
|
||||
// push it to the bootstrap popover
|
||||
getHoverCardContent(contactUrl, function (data) {
|
||||
if (data) {
|
||||
targetElement.popover({
|
||||
targetElement
|
||||
.popover({
|
||||
html: true,
|
||||
placement: function () {
|
||||
// Calculate the placement of the the hovercard (if top or bottom)
|
||||
|
|
@ -141,18 +145,22 @@ function openHovercard(targetElement, contactUrl, timeNow) {
|
|||
// which triggers the hover-card
|
||||
let get_position = $(targetElement).offset().top - $(window).scrollTop();
|
||||
if (get_position < 270) {
|
||||
return 'bottom';
|
||||
return "bottom";
|
||||
}
|
||||
return 'top';
|
||||
return "top";
|
||||
},
|
||||
trigger: 'manual',
|
||||
template: '<div class="popover hovercard" data-card-created="' + timeNow + '"><div class="arrow"></div><div class="popover-content hovercard-content"></div></div>',
|
||||
trigger: "manual",
|
||||
template:
|
||||
'<div class="popover hovercard" data-card-created="' +
|
||||
timeNow +
|
||||
'"><div class="arrow"></div><div class="popover-content hovercard-content"></div></div>',
|
||||
content: data,
|
||||
container: 'body',
|
||||
container: "body",
|
||||
sanitizeFn: function (content) {
|
||||
return DOMPurify.sanitize(content)
|
||||
return DOMPurify.sanitize(content);
|
||||
},
|
||||
}).popover('show');
|
||||
})
|
||||
.popover("show");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -176,7 +184,7 @@ function getHoverCardContent(contact_url, callback) {
|
|||
}
|
||||
|
||||
$.ajax({
|
||||
url: baseurl + '/contact/hovercard',
|
||||
url: baseurl + "/contact/hovercard",
|
||||
data: postdata,
|
||||
success: function (data, textStatus, request) {
|
||||
getHoverCardContent.cache[nurl] = data;
|
||||
|
|
|
|||
|
|
@ -11,28 +11,28 @@ var linkPreview;
|
|||
*/
|
||||
function jotGetLink() {
|
||||
var currentText = $("#profile-jot-text").val();
|
||||
var noAttachment = '';
|
||||
var noAttachment = "";
|
||||
reply = prompt(aStr.linkurl);
|
||||
if (reply && reply.length) {
|
||||
// There should be only one attachment per post.
|
||||
// So we need to remove the old one.
|
||||
$('#jot-attachment-preview').empty();
|
||||
$('#profile-rotator').show();
|
||||
$("#jot-attachment-preview").empty();
|
||||
$("#profile-rotator").show();
|
||||
if (currentText.includes("[attachment") && currentText.includes("[/attachment]")) {
|
||||
noAttachment = '&noAttachment=1';
|
||||
noAttachment = "&noAttachment=1";
|
||||
}
|
||||
|
||||
// We use the linkPreview library to have a preview
|
||||
// of the attachments.
|
||||
if (typeof linkPreview === 'object') {
|
||||
if (typeof linkPreview === "object") {
|
||||
linkPreview.crawlText(reply + noAttachment);
|
||||
|
||||
// Fallback: insert the attachment bbcode directly into the textarea
|
||||
// if the attachment live preview isn't available
|
||||
} else {
|
||||
$.get('parse_url?binurl=' + bin2hex(reply) + noAttachment, function(data) {
|
||||
$.get("parse_url?binurl=" + bin2hex(reply) + noAttachment, function (data) {
|
||||
addeditortext(data);
|
||||
$('#profile-rotator').hide();
|
||||
$("#profile-rotator").hide();
|
||||
});
|
||||
}
|
||||
autosize.update($("#profile-jot-text"));
|
||||
|
|
|
|||
|
|
@ -3,37 +3,35 @@
|
|||
* Javascript for the admin module
|
||||
*/
|
||||
$(function () {
|
||||
let $body = $('body');
|
||||
$body.on('click', '.selectall', function() {
|
||||
selectall($(this).data('selectAll'));
|
||||
let $body = $("body");
|
||||
$body.on("click", ".selectall", function () {
|
||||
selectall($(this).data("selectAll"));
|
||||
});
|
||||
$body.on('click', '.selectnone', function() {
|
||||
selectnone($(this).data('selectNone'));
|
||||
$body.on("click", ".selectnone", function () {
|
||||
selectnone($(this).data("selectNone"));
|
||||
});
|
||||
|
||||
// Toggle checkbox status to all or none for all checkboxes of a specific
|
||||
// css class.
|
||||
$body.on('change', 'input[type=checkbox].selecttoggle', function() {
|
||||
$body.on("change", "input[type=checkbox].selecttoggle", function () {
|
||||
$this = $(this);
|
||||
if ($this.prop('checked')) {
|
||||
selectall($this.data('selectClass'));
|
||||
$this.attr('title', $this.data('selectNone'));
|
||||
if ($this.prop("checked")) {
|
||||
selectall($this.data("selectClass"));
|
||||
$this.attr("title", $this.data("selectNone"));
|
||||
} else {
|
||||
selectnone($this.data('selectClass'));
|
||||
$this.attr('title', $this.data('selectAll'));
|
||||
selectnone($this.data("selectClass"));
|
||||
$this.attr("title", $this.data("selectAll"));
|
||||
}
|
||||
});
|
||||
|
||||
function selectall(cls) {
|
||||
$('.' + cls).prop('checked', true);
|
||||
$("." + cls).prop("checked", true);
|
||||
return false;
|
||||
}
|
||||
function selectnone(cls) {
|
||||
$('.' + cls).prop('checked', false);
|
||||
$("." + cls).prop("checked", false);
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
// Users
|
||||
|
|
|
|||
|
|
@ -6,18 +6,16 @@ $(document).ready(function() {
|
|||
// Initiale autosize for the textareas.
|
||||
autosize($("textarea.text-autosize"));
|
||||
|
||||
|
||||
// Replace the drop contact link of the photo menu
|
||||
// with a confirmation modal.
|
||||
$("body").on("click", ".contact-photo-menu a", function (e) {
|
||||
var photoMenuLink = $(this).attr('href');
|
||||
var photoMenuLink = $(this).attr("href");
|
||||
if (typeof photoMenuLink !== "undefined" && photoMenuLink.indexOf("/drop?confirm=1") !== -1) {
|
||||
e.preventDefault();
|
||||
addToModal(photoMenuLink);
|
||||
return false;
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -8,6 +8,6 @@ var itemGuid = window.location.pathname.split("/").pop();
|
|||
|
||||
$(window).load(function () {
|
||||
// Scroll to the Item by its GUID
|
||||
scrollToItem('item-' + itemGuid);
|
||||
scrollToItem("item-" + itemGuid);
|
||||
});
|
||||
// @license-end
|
||||
|
|
|
|||
|
|
@ -6,69 +6,80 @@
|
|||
|
||||
$(document).ready(function () {
|
||||
// start the fullCalendar
|
||||
$('#events-calendar').fullCalendar({
|
||||
$("#events-calendar").fullCalendar({
|
||||
firstDay: aStr.firstDay,
|
||||
monthNames: aStr['monthNames'],
|
||||
monthNamesShort: aStr['monthNamesShort'],
|
||||
dayNames: aStr['dayNames'],
|
||||
dayNamesShort: aStr['dayNamesShort'],
|
||||
monthNames: aStr["monthNames"],
|
||||
monthNamesShort: aStr["monthNamesShort"],
|
||||
dayNames: aStr["dayNames"],
|
||||
dayNamesShort: aStr["dayNamesShort"],
|
||||
allDayText: aStr.allday,
|
||||
noEventsMessage: aStr.noevent,
|
||||
buttonText: {
|
||||
today: aStr.today,
|
||||
month: aStr.month,
|
||||
week: aStr.week,
|
||||
day: aStr.day
|
||||
day: aStr.day,
|
||||
},
|
||||
events: baseurl + moduleUrl + '/json/',
|
||||
events: baseurl + moduleUrl + "/json/",
|
||||
header: {
|
||||
left: '',
|
||||
left: "",
|
||||
// center: 'title',
|
||||
right: ''
|
||||
right: "",
|
||||
},
|
||||
timeFormat: 'H:mm',
|
||||
timeFormat: "H:mm",
|
||||
eventClick: function (calEvent, jsEvent, view) {
|
||||
showEvent(calEvent.id);
|
||||
},
|
||||
loading: function (isLoading, view) {
|
||||
if (!isLoading) {
|
||||
$('td.fc-day').dblclick(function() { addToModal('/events/new?start='+$(this).data('date')); });
|
||||
$("td.fc-day").dblclick(function () {
|
||||
addToModal("/events/new?start=" + $(this).data("date"));
|
||||
});
|
||||
}
|
||||
},
|
||||
defaultView: 'month',
|
||||
defaultView: "month",
|
||||
aspectRatio: 1,
|
||||
eventRender: function (event, element, view) {
|
||||
//console.log(view.name);
|
||||
switch (view.name) {
|
||||
case "month":
|
||||
element.find(".fc-title").html(
|
||||
element
|
||||
.find(".fc-title")
|
||||
.html(
|
||||
"<span class='item-desc'>{2}</span>".format(
|
||||
event.item['author-avatar'],
|
||||
event.item['author-name'],
|
||||
event.item["author-avatar"],
|
||||
event.item["author-name"],
|
||||
event.title,
|
||||
event.item.desc,
|
||||
event.item.location
|
||||
));
|
||||
event.item.location,
|
||||
),
|
||||
);
|
||||
break;
|
||||
case "agendaWeek":
|
||||
if (event.item['author-name'] == null) return;
|
||||
element.find(".fc-title").html(
|
||||
if (event.item["author-name"] == null) return;
|
||||
element
|
||||
.find(".fc-title")
|
||||
.html(
|
||||
"<img src='{0}' style='height:12px; width:12px'>{1}<p>{2}</p><p>{3}</p>".format(
|
||||
event.item['author-avatar'],
|
||||
event.item['author-name'],
|
||||
event.item["author-avatar"],
|
||||
event.item["author-name"],
|
||||
event.item.desc,
|
||||
htmlToText(event.item.location)
|
||||
));
|
||||
htmlToText(event.item.location),
|
||||
),
|
||||
);
|
||||
break;
|
||||
case "agendaDay":
|
||||
if (event.item['author-name'] == null) return;
|
||||
element.find(".fc-title").html(
|
||||
if (event.item["author-name"] == null) return;
|
||||
element
|
||||
.find(".fc-title")
|
||||
.html(
|
||||
"<img src='{0}' style='height:24px;width:24px'>{1}<p>{2}</p><p>{3}</p>".format(
|
||||
event.item['author-avatar'],
|
||||
event.item['author-name'],
|
||||
event.item["author-avatar"],
|
||||
event.item["author-name"],
|
||||
event.item.desc,
|
||||
htmlToText(event.item.location)
|
||||
));
|
||||
htmlToText(event.item.location),
|
||||
),
|
||||
);
|
||||
break;
|
||||
case "listMonth":
|
||||
element.find(".fc-list-item-title").html(formatListViewEvent(event));
|
||||
|
|
@ -82,54 +93,53 @@ $(document).ready(function() {
|
|||
html: true,
|
||||
trigger: "hover",
|
||||
placement: "auto",
|
||||
template: '<div class="popover hovercard event-card"><div class="arrow"></div><div class="popover-content hovercard-content"></div></div>',
|
||||
template:
|
||||
'<div class="popover hovercard event-card"><div class="arrow"></div><div class="popover-content hovercard-content"></div></div>',
|
||||
sanitizeFn: function (content) {
|
||||
return DOMPurify.sanitize(content)
|
||||
return DOMPurify.sanitize(content);
|
||||
},
|
||||
});
|
||||
},
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
})
|
||||
|
||||
// center on date
|
||||
var args = location.href.replace(baseurl, "").split("/");
|
||||
if (modparams == 2) {
|
||||
if (args.length >= 5) {
|
||||
$("#events-calendar").fullCalendar('gotoDate',args[3] , args[4]-1);
|
||||
$("#events-calendar").fullCalendar("gotoDate", args[3], args[4] - 1);
|
||||
}
|
||||
} else {
|
||||
if (args.length >= 4) {
|
||||
$("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1);
|
||||
$("#events-calendar").fullCalendar("gotoDate", args[2], args[3] - 1);
|
||||
}
|
||||
}
|
||||
|
||||
// echo the title
|
||||
var view = $('#events-calendar').fullCalendar('getView');
|
||||
$('#fc-title').text(view.title);
|
||||
var view = $("#events-calendar").fullCalendar("getView");
|
||||
$("#fc-title").text(view.title);
|
||||
|
||||
// show event popup
|
||||
var hash = location.hash.split("-")
|
||||
var hash = location.hash.split("-");
|
||||
if (hash.length == 2 && hash[0] == "#link") showEvent(hash[1]);
|
||||
|
||||
});
|
||||
|
||||
// loads the event into a modal
|
||||
function showEvent(eventid) {
|
||||
addToModal(baseurl + moduleUrl + '/?id=' + eventid);
|
||||
addToModal(baseurl + moduleUrl + "/?id=" + eventid);
|
||||
}
|
||||
|
||||
function changeView(action, viewName) {
|
||||
$('#events-calendar').fullCalendar(action, viewName);
|
||||
var view = $('#events-calendar').fullCalendar('getView');
|
||||
$('#fc-title').text(view.title);
|
||||
$("#events-calendar").fullCalendar(action, viewName);
|
||||
var view = $("#events-calendar").fullCalendar("getView");
|
||||
$("#fc-title").text(view.title);
|
||||
}
|
||||
|
||||
// The template for the bootstrap popover for displaying the event title and
|
||||
// author (it's the nearly the same template we use in frio for the contact
|
||||
// hover cards. So be careful when changing the css)
|
||||
function eventHoverBodyTemplate() {
|
||||
var template = '\
|
||||
var template =
|
||||
'\
|
||||
<div class="event-card-basic-content media">\
|
||||
<div class="event-card-details">\
|
||||
<div class="event-card-header">\
|
||||
|
|
@ -154,13 +164,15 @@ function eventHoverBodyTemplate() {
|
|||
|
||||
// The template for presenting the event location in the event hover-card
|
||||
function eventHoverLocationTemplate() {
|
||||
var template = '<span role="presentation" aria-hidden="true"> · </span>\
|
||||
var template =
|
||||
'<span role="presentation" aria-hidden="true"> · </span>\
|
||||
<span class="event-card-location"> {0}</span></div>';
|
||||
return template;
|
||||
}
|
||||
|
||||
function eventHoverProfileNameTemplate() {
|
||||
var template = '\
|
||||
var template =
|
||||
'\
|
||||
<div class="event-card-profile-name profile-entry-name">\
|
||||
<a href="{0}" class="userinfo">{1}</a>\
|
||||
</div>';
|
||||
|
|
@ -168,23 +180,23 @@ function eventHoverProfileNameTemplate() {
|
|||
}
|
||||
// transform the event data to html so we can use it in the event hover-card
|
||||
function eventHoverHtmlContent(event) {
|
||||
var eventLocation = '';
|
||||
var eventProfileName = '';
|
||||
var eventLocation = "";
|
||||
var eventProfileName = "";
|
||||
// Get the Browser language
|
||||
var locale = window.navigator.userLanguage || window.navigator.language;
|
||||
var data = '';
|
||||
var data = "";
|
||||
|
||||
// Use the browser language for date formatting
|
||||
moment.locale(locale);
|
||||
|
||||
// format dates to different styles
|
||||
var startDate = moment(event.item.start).format('dd HH:mm');
|
||||
var endDate = moment(event.item.finsih).format('dd HH:mm');
|
||||
var monthShort = moment(event.item.start).format('MMM');
|
||||
var dayNumberStart = moment(event.item.start).format('DD');
|
||||
var dayNumberEnd = moment(event.item.finish).format('DD');
|
||||
var startTime = moment(event.item.start).format('HH:mm');
|
||||
var endTime = moment(event.item.finish).format('HH:mm');
|
||||
var startDate = moment(event.item.start).format("dd HH:mm");
|
||||
var endDate = moment(event.item.finsih).format("dd HH:mm");
|
||||
var monthShort = moment(event.item.start).format("MMM");
|
||||
var dayNumberStart = moment(event.item.start).format("DD");
|
||||
var dayNumberEnd = moment(event.item.finish).format("DD");
|
||||
var startTime = moment(event.item.start).format("HH:mm");
|
||||
var endTime = moment(event.item.finish).format("HH:mm");
|
||||
var monthNumber;
|
||||
|
||||
var formattedDate = startDate;
|
||||
|
|
@ -192,14 +204,13 @@ function eventHoverHtmlContent(event) {
|
|||
// We only need the to format the end date if the event does have
|
||||
// a finish date.
|
||||
if (event.item.nofinish == 0) {
|
||||
formattedDate = startDate + ' - ' + endTime;
|
||||
formattedDate = startDate + " - " + endTime;
|
||||
|
||||
// use a different Format (15. Feb - 18. Feb) if the events end date
|
||||
// is not the start date
|
||||
if (dayNumberStart != dayNumberEnd) {
|
||||
formattedDate = moment(event.item.start).format('Do MMM') +
|
||||
' - ' +
|
||||
moment(event.item.finish).format('Do MMM');
|
||||
formattedDate =
|
||||
moment(event.item.start).format("Do MMM") + " - " + moment(event.item.finish).format("Do MMM");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -213,31 +224,26 @@ function eventHoverHtmlContent(event) {
|
|||
var eventLocationTemplate = eventHoverLocationTemplate();
|
||||
// Format the event location data according to the the event location
|
||||
// template
|
||||
eventLocation = eventLocationTemplate.format(
|
||||
eventLocationText
|
||||
);
|
||||
eventLocation = eventLocationTemplate.format(eventLocationText);
|
||||
}
|
||||
|
||||
// Get only template data if there exists a profile name
|
||||
if (event.item['author-name']) {
|
||||
if (event.item["author-name"]) {
|
||||
// Get the template
|
||||
var eventProfileNameTemplate = eventHoverProfileNameTemplate();
|
||||
// Insert the data into the template
|
||||
eventProfileName = eventProfileNameTemplate.format(
|
||||
event.item['author-link'],
|
||||
event.item['author-name']
|
||||
);
|
||||
eventProfileName = eventProfileNameTemplate.format(event.item["author-link"], event.item["author-name"]);
|
||||
}
|
||||
|
||||
// Format the event data according to the event hover template
|
||||
var formatted = data.format(
|
||||
event.item['author-avatar'], // this isn't used at the present time
|
||||
event.item["author-avatar"], // this isn't used at the present time
|
||||
eventProfileName,
|
||||
event.title,
|
||||
eventLocation,
|
||||
formattedDate,
|
||||
monthShort.replace('.', ''), // Get rid of possible dots in the string
|
||||
dayNumberStart
|
||||
monthShort.replace(".", ""), // Get rid of possible dots in the string
|
||||
dayNumberStart,
|
||||
);
|
||||
|
||||
return formatted;
|
||||
|
|
@ -246,7 +252,8 @@ function eventHoverHtmlContent(event) {
|
|||
// transform the the list view event element into formatted html
|
||||
function formatListViewEvent(event) {
|
||||
// The basic template for list view
|
||||
var template = '<td class="fc-list-item-title fc-widget-content">\
|
||||
var template =
|
||||
'<td class="fc-list-item-title fc-widget-content">\
|
||||
<hr class="seperator"></hr>\
|
||||
<div class="event-card">\
|
||||
<div class="popover-content hovercard-content">{0}</div>\
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@
|
|||
* The javascript for the group module
|
||||
*/
|
||||
|
||||
|
||||
$(document).ready(function () {
|
||||
// Add an event listeners on buttons for switching the contact list view
|
||||
$("body").on("click", ".group-list-switcher", function () {
|
||||
|
|
@ -28,7 +27,7 @@ function groupChangeMember(gid, cid, sec_token) {
|
|||
$(".tooltip").tooltip("hide");
|
||||
$("body").css("cursor", "wait");
|
||||
|
||||
$.get('group/' + gid + '/' + cid + "?t=" + sec_token, function(data) {
|
||||
$.get("group/" + gid + "/" + cid + "?t=" + sec_token, function (data) {
|
||||
// Insert the new group member list
|
||||
$("#group-update-wrapper").html(data);
|
||||
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ $(document).ready(function(){
|
|||
$(window).load(function () {
|
||||
// Scroll to the intro by its intro ID.
|
||||
if (isIntroID()) {
|
||||
scrollToItem('intro-' + introID);
|
||||
scrollToItem("intro-" + introID);
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -1,32 +1,34 @@
|
|||
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPLv3-or-later
|
||||
|
||||
$(document).ready(function () {
|
||||
|
||||
$('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() {
|
||||
$("#contact_allow, #contact_deny, #group_allow, #group_deny")
|
||||
.change(function () {
|
||||
var selstr;
|
||||
$('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() {
|
||||
$(
|
||||
"#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected",
|
||||
).each(function () {
|
||||
selstr = $(this).html();
|
||||
$('#jot-perms-icon').removeClass('unlock').addClass('lock');
|
||||
$('#jot-public').hide();
|
||||
$("#jot-perms-icon").removeClass("unlock").addClass("lock");
|
||||
$("#jot-public").hide();
|
||||
});
|
||||
if (selstr == null) {
|
||||
$('#jot-perms-icon').removeClass('lock').addClass('unlock');
|
||||
$('#jot-public').show();
|
||||
$("#jot-perms-icon").removeClass("lock").addClass("unlock");
|
||||
$("#jot-public").show();
|
||||
}
|
||||
|
||||
}).trigger('change');
|
||||
})
|
||||
.trigger("change");
|
||||
|
||||
// Click event listener for the album edit link/button.
|
||||
$("body").on('click', '#album-edit-link', function() {
|
||||
$("body").on("click", "#album-edit-link", function () {
|
||||
var modalUrl = $(this).attr("data-modal-url");
|
||||
|
||||
if (typeof modalUrl !== "undefined") {
|
||||
addToModal(modalUrl, 'photo-album-edit-wrapper');
|
||||
addToModal(modalUrl, "photo-album-edit-wrapper");
|
||||
}
|
||||
});
|
||||
|
||||
// Click event listener for the album drop link/button.
|
||||
$("body").on('click', '#album-drop-link', function() {
|
||||
$("body").on("click", "#album-drop-link", function () {
|
||||
var modalUrl = $(this).attr("data-modal-url");
|
||||
|
||||
if (typeof modalUrl !== "undefined") {
|
||||
|
|
@ -43,8 +45,8 @@ $(window).load(function() {
|
|||
// Append the diminsons of the picture to the css of the photo-photo div
|
||||
// we do this to make it possible to have overlay navigation buttons for the photo
|
||||
$("#photo-photo").css({
|
||||
"width": pwidth,
|
||||
"height": pheight
|
||||
width: pwidth,
|
||||
height: pheight,
|
||||
});
|
||||
});
|
||||
// @license-end
|
||||
|
|
|
|||
|
|
@ -5,10 +5,10 @@
|
|||
$(document).ready(function () {
|
||||
// Clear bs modal on close.
|
||||
// We need this to prevent that the modal displays old content.
|
||||
$('body, footer').on('hidden.bs.modal', '.modal', function () {
|
||||
$(this).removeData('bs.modal');
|
||||
$("body, footer").on("hidden.bs.modal", ".modal", function () {
|
||||
$(this).removeData("bs.modal");
|
||||
$("#modal-title").empty();
|
||||
$('#modal-body').empty();
|
||||
$("#modal-body").empty();
|
||||
// Remove the file browser from jot (else we would have problems
|
||||
// with AjaxUpload.
|
||||
$(".fbrowser").remove();
|
||||
|
|
@ -18,13 +18,13 @@ $(document).ready(function(){
|
|||
|
||||
// Clear bs modal on close.
|
||||
// We need this to prevent that the modal displays old content.
|
||||
$('body').on('hidden.bs.modal', '#jot-modal', function () {
|
||||
$("body").on("hidden.bs.modal", "#jot-modal", function () {
|
||||
// Restore cached jot at its hidden position ("#jot-content").
|
||||
$("#jot-content").append(jotcache);
|
||||
// Clear the jotcache.
|
||||
jotcache = '';
|
||||
jotcache = "";
|
||||
// Destroy the attachment linkPreviw for Jot.
|
||||
if (typeof linkPreview === 'object') {
|
||||
if (typeof linkPreview === "object") {
|
||||
linkPreview.destroy();
|
||||
}
|
||||
});
|
||||
|
|
@ -40,7 +40,6 @@ $(document).ready(function(){
|
|||
// .../photo/ab803d8eg08daf85023adfec08 (with nothing more following), in hopes
|
||||
// that that will be unique enough.
|
||||
if (imgHref.match(/\/photo\/[a-fA-F0-9]+(-[0-9]\.[\w]+?)?$/)) {
|
||||
|
||||
// Add a unique class to all the images of a certain post, to allow scrolling through
|
||||
var cBoxClass = $(this).closest(".wall-item-body").attr("id") + "-lightbox";
|
||||
$(this).addClass(cBoxClass);
|
||||
|
|
@ -50,9 +49,9 @@ $(document).ready(function(){
|
|||
// }
|
||||
|
||||
aElem.colorbox({
|
||||
maxHeight: '90%',
|
||||
maxHeight: "90%",
|
||||
photo: true, // Colorbox doesn't recognize a URL that don't end in .jpg, etc. as a photo.
|
||||
rel: cBoxClass //$(this).attr("class").match(/wall-item-body-[\d]+-lightbox/)[0].
|
||||
rel: cBoxClass, //$(this).attr("class").match(/wall-item-body-[\d]+-lightbox/)[0].
|
||||
});
|
||||
}
|
||||
});
|
||||
|
|
@ -92,15 +91,14 @@ $(document).ready(function(){
|
|||
elm.removeAttr("image-input");
|
||||
// Insert the link from the image into the input field.
|
||||
input.val(img);
|
||||
|
||||
});
|
||||
|
||||
// Generic delegated event to open an anchor URL in a modal.
|
||||
// Used in the hovercard.
|
||||
document.getElementsByTagName('body')[0].addEventListener('click', function(e) {
|
||||
document.getElementsByTagName("body")[0].addEventListener("click", function (e) {
|
||||
var target = e.target;
|
||||
while (target) {
|
||||
if (target.matches && target.matches('a.add-to-modal')) {
|
||||
if (target.matches && target.matches("a.add-to-modal")) {
|
||||
addToModal(target.href);
|
||||
e.preventDefault();
|
||||
return false;
|
||||
|
|
@ -113,21 +111,19 @@ $(document).ready(function(){
|
|||
|
||||
// Overwrite Dialog.show from main js to load the filebrowser into a bs modal.
|
||||
Dialog.show = function (url, title) {
|
||||
if (typeof(title) === 'undefined') {
|
||||
if (typeof title === "undefined") {
|
||||
title = "";
|
||||
}
|
||||
|
||||
var modal = $('#modal').modal();
|
||||
var modal = $("#modal").modal();
|
||||
modal.find("#modal-header h4").html(title);
|
||||
modal
|
||||
.find('#modal-body')
|
||||
.load(url, function (responseText, textStatus) {
|
||||
if ( textStatus === 'success' ||
|
||||
textStatus === 'notmodified')
|
||||
{
|
||||
modal.find("#modal-body").load(url, function (responseText, textStatus) {
|
||||
if (textStatus === "success" || textStatus === "notmodified") {
|
||||
modal.show();
|
||||
|
||||
$(function() {Dialog._load(url);});
|
||||
$(function () {
|
||||
Dialog._load(url);
|
||||
});
|
||||
}
|
||||
});
|
||||
};
|
||||
|
|
@ -145,13 +141,13 @@ Dialog.showJot = function() {
|
|||
var name = "main";
|
||||
|
||||
var url = Dialog._get_url(type, name);
|
||||
if(($(".modal-body #jot-fbrowser-wrapper .fbrowser").length) < 1 ) {
|
||||
if ($(".modal-body #jot-fbrowser-wrapper .fbrowser").length < 1) {
|
||||
// Load new content to fbrowser window.
|
||||
$("#jot-fbrowser-wrapper").load(url, function (responseText, textStatus) {
|
||||
if ( textStatus === 'success' ||
|
||||
textStatus === 'notmodified')
|
||||
{
|
||||
$(function() {Dialog._load(url);});
|
||||
if (textStatus === "success" || textStatus === "notmodified") {
|
||||
$(function () {
|
||||
Dialog._load(url);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -160,7 +156,7 @@ Dialog.showJot = function() {
|
|||
// Init the filebrowser after page load.
|
||||
Dialog._load = function (url) {
|
||||
// Get nickname & filebrowser type from the modal content.
|
||||
let filebrowser = document.getElementById('filebrowser');
|
||||
let filebrowser = document.getElementById("filebrowser");
|
||||
|
||||
// Try to fetch the hash form the url.
|
||||
let match = url.match(/fbrowser\/[a-z]+\/.*(#.*)/);
|
||||
|
|
@ -207,7 +203,6 @@ function loadModalTitle() {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* This function loads html content from a friendica page into a modal.
|
||||
*
|
||||
|
|
@ -218,20 +213,16 @@ function loadModalTitle() {
|
|||
function addToModal(url, id) {
|
||||
var char = qOrAmp(url);
|
||||
|
||||
url = url + char + 'mode=none';
|
||||
var modal = $('#modal').modal();
|
||||
url = url + char + "mode=none";
|
||||
var modal = $("#modal").modal();
|
||||
|
||||
// Only search for an element if we have an ID.
|
||||
if (typeof id !== "undefined") {
|
||||
url = url + " div#" + id;
|
||||
}
|
||||
|
||||
modal
|
||||
.find('#modal-body')
|
||||
.load(url, function (responseText, textStatus) {
|
||||
if ( textStatus === 'success' ||
|
||||
textStatus === 'notmodified')
|
||||
{
|
||||
modal.find("#modal-body").load(url, function (responseText, textStatus) {
|
||||
if (textStatus === "success" || textStatus === "notmodified") {
|
||||
modal.show();
|
||||
|
||||
//Get first element with the class "heading"
|
||||
|
|
@ -240,7 +231,7 @@ function addToModal(url, id) {
|
|||
|
||||
// We need to initialize autosize again for new
|
||||
// modal conent.
|
||||
autosize($('.modal .text-autosize'));
|
||||
autosize($(".modal .text-autosize"));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -248,12 +239,9 @@ function addToModal(url, id) {
|
|||
// Add an element (by its id) to a bootstrap modal.
|
||||
function addElmToModal(id) {
|
||||
var elm = $(id).html();
|
||||
var modal = $('#modal').modal();
|
||||
var modal = $("#modal").modal();
|
||||
|
||||
modal
|
||||
.find('#modal-body')
|
||||
.append(elm)
|
||||
.modal.show;
|
||||
modal.find("#modal-body").append(elm).modal.show;
|
||||
|
||||
loadModalTitle();
|
||||
}
|
||||
|
|
@ -269,12 +257,12 @@ function editpost(url) {
|
|||
// Test if in the url path containing "events/event". If the path containing this
|
||||
// expression then we will call the addToModal function and exit this function at
|
||||
// this point.
|
||||
if (splitURL.path.indexOf('events/event') > -1) {
|
||||
if (splitURL.path.indexOf("events/event") > -1) {
|
||||
addToModal(splitURL.path);
|
||||
return;
|
||||
}
|
||||
|
||||
var modal = $('#jot-modal').modal();
|
||||
var modal = $("#jot-modal").modal();
|
||||
url = url + " #jot-sections";
|
||||
|
||||
$(".jot-nav .jot-perms-lnk").parent("li").addClass("hidden");
|
||||
|
|
@ -293,16 +281,11 @@ function editpost(url) {
|
|||
|
||||
jotreset();
|
||||
|
||||
modal
|
||||
.find('#jot-modal-content')
|
||||
.load(url, function (responseText, textStatus) {
|
||||
if ( textStatus === 'success' ||
|
||||
textStatus === 'notmodified')
|
||||
{
|
||||
modal.find("#jot-modal-content").load(url, function (responseText, textStatus) {
|
||||
if (textStatus === "success" || textStatus === "notmodified") {
|
||||
// get the item type and hide the input for title and category if it isn't needed.
|
||||
var type = $(responseText).find("#profile-jot-form input[name='type']").val();
|
||||
if(type === "wall-comment" || type === "remote-comment")
|
||||
{
|
||||
if (type === "wall-comment" || type === "remote-comment") {
|
||||
// Hide title and category input fields because we don't.
|
||||
$("#profile-jot-form #jot-title-wrap").hide();
|
||||
$("#profile-jot-form #jot-category-wrap").hide();
|
||||
|
|
@ -310,7 +293,7 @@ function editpost(url) {
|
|||
|
||||
modal.show();
|
||||
$("#jot-popup").show();
|
||||
linkPreview = $('#profile-jot-text').linkPreview();
|
||||
linkPreview = $("#profile-jot-text").linkPreview();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -319,8 +302,8 @@ function editpost(url) {
|
|||
function jotreset() {
|
||||
// Clear bs modal on close.
|
||||
// We need this to prevent that the modal displays old content.
|
||||
$('body').on('hidden.bs.modal', '#jot-modal.edit-jot', function () {
|
||||
$(this).removeData('bs.modal');
|
||||
$("body").on("hidden.bs.modal", "#jot-modal.edit-jot", function () {
|
||||
$(this).removeData("bs.modal");
|
||||
$(".jot-nav .jot-perms-lnk").parent("li").removeClass("hidden");
|
||||
$("#profile-jot-form #jot-title-wrap").show();
|
||||
$("#profile-jot-form #jot-category-wrap").show();
|
||||
|
|
@ -344,8 +327,10 @@ function toggleJotNav (elm) {
|
|||
|
||||
// Minimize all tab content wrapper and activate only the selected
|
||||
// tab panel.
|
||||
$('#profile-jot-form > [role=tabpanel]').addClass("minimize").attr("aria-hidden" ,"true");
|
||||
$('#' + tabpanel).removeClass("minimize").attr("aria-hidden" ,"false");
|
||||
$("#profile-jot-form > [role=tabpanel]").addClass("minimize").attr("aria-hidden", "true");
|
||||
$("#" + tabpanel)
|
||||
.removeClass("minimize")
|
||||
.attr("aria-hidden", "false");
|
||||
|
||||
// Set the aria-selected states
|
||||
$("#jot-modal .modal-header .nav-tabs .jot-nav-lnk").attr("aria-selected", "false");
|
||||
|
|
@ -355,7 +340,7 @@ function toggleJotNav (elm) {
|
|||
if (tabpanel === "jot-preview-content") {
|
||||
preview_post();
|
||||
// Make Share button visivle in preview
|
||||
$('#jot-preview-share').removeClass("minimize").attr("aria-hidden" ,"false");
|
||||
$("#jot-preview-share").removeClass("minimize").attr("aria-hidden", "false");
|
||||
} else if (tabpanel === "jot-fbrowser-wrapper") {
|
||||
$(function () {
|
||||
Dialog.showJot();
|
||||
|
|
@ -377,7 +362,7 @@ function openWallMessage(url) {
|
|||
|
||||
// If the host isn't the same we can't load it in a modal.
|
||||
// So we will go to to the url directly.
|
||||
if( ("host" in parts) && (parts.host !== window.location.host)) {
|
||||
if ("host" in parts && parts.host !== window.location.host) {
|
||||
window.location.href = url;
|
||||
} else {
|
||||
// Otherwise load the wall message into a modal.
|
||||
|
|
@ -389,7 +374,7 @@ function openWallMessage(url) {
|
|||
/// @todo Rename this function because it can be used for more than events.
|
||||
function eventEdit(url) {
|
||||
var char = qOrAmp(url);
|
||||
url = url + char + 'mode=none';
|
||||
url = url + char + "mode=none";
|
||||
|
||||
$.get(url, function (data) {
|
||||
$("#modal-body").empty();
|
||||
|
|
|
|||
|
|
@ -40,7 +40,7 @@ function commentGetLink(id, prompttext) {
|
|||
reply = prompt(prompttext);
|
||||
if (reply && reply.length) {
|
||||
reply = bin2hex(reply);
|
||||
$.get('parse_url?noAttachment=1&binurl=' + reply, function(data) {
|
||||
$.get("parse_url?noAttachment=1&binurl=" + reply, function (data) {
|
||||
addCommentText(data, id);
|
||||
});
|
||||
}
|
||||
|
|
@ -64,7 +64,7 @@ function commentLinkDrop(event, id) {
|
|||
event.preventDefault();
|
||||
if (reply && reply.length) {
|
||||
reply = bin2hex(reply);
|
||||
$.get('parse_url?noAttachment=1&binurl=' + reply, function(data) {
|
||||
$.get("parse_url?noAttachment=1&binurl=" + reply, function (data) {
|
||||
addCommentText(data, id);
|
||||
});
|
||||
}
|
||||
|
|
@ -86,12 +86,12 @@ function insertFormattingToPost(BBCode) {
|
|||
}
|
||||
|
||||
function showThread(id) {
|
||||
$("#collapsed-comments-" + id).show()
|
||||
$("#collapsed-comments-" + id + " .collapsed-comments").show()
|
||||
$("#collapsed-comments-" + id).show();
|
||||
$("#collapsed-comments-" + id + " .collapsed-comments").show();
|
||||
}
|
||||
function hideThread(id) {
|
||||
$("#collapsed-comments-" + id).hide()
|
||||
$("#collapsed-comments-" + id + " .collapsed-comments").hide()
|
||||
$("#collapsed-comments-" + id).hide();
|
||||
$("#collapsed-comments-" + id + " .collapsed-comments").hide();
|
||||
}
|
||||
|
||||
function cmtBbOpen(id) {
|
||||
|
|
@ -101,8 +101,7 @@ function cmtBbClose(id) {
|
|||
$("#comment-edit-bb-" + id).hide();
|
||||
}
|
||||
|
||||
function commentExpand(id)
|
||||
{
|
||||
function commentExpand(id) {
|
||||
$("#mod-cmnt-wrap-" + id).show();
|
||||
closeMenu("comment-fake-form-" + id);
|
||||
openMenu("item-comments-" + id);
|
||||
|
|
@ -114,9 +113,8 @@ function commentExpand(id)
|
|||
return true;
|
||||
}
|
||||
|
||||
function commentClose(obj, id)
|
||||
{
|
||||
if (obj.value === '' || obj.value === obj.dataset.default) {
|
||||
function commentClose(obj, id) {
|
||||
if (obj.value === "" || obj.value === obj.dataset.default) {
|
||||
$("#comment-edit-text-" + id)
|
||||
.removeClass("comment-edit-text-full")
|
||||
.addClass("comment-edit-text-empty");
|
||||
|
|
@ -129,8 +127,8 @@ function commentClose(obj, id)
|
|||
}
|
||||
|
||||
function showHideCommentBox(id) {
|
||||
var $el = $('#comment-edit-form-' + id);
|
||||
if ($el.is(':visible')) {
|
||||
var $el = $("#comment-edit-form-" + id);
|
||||
if ($el.is(":visible")) {
|
||||
$el.hide();
|
||||
} else {
|
||||
$el.show();
|
||||
|
|
@ -142,19 +140,21 @@ function commentOpenUI(obj, id) {
|
|||
openMenu("item-comments-" + id);
|
||||
$("#comment-edit-text-" + id)
|
||||
.putCursorAtEnd()
|
||||
.addClass("comment-edit-text-full").removeClass("comment-edit-text-empty")
|
||||
.attr('tabindex', '9'); // Choose an arbitrary tab index that's greater than what we're using in jot (3 of them)
|
||||
$("#comment-edit-submit-" + id).attr('tabindex', '10'); // The submit button gets tabindex + 1
|
||||
.addClass("comment-edit-text-full")
|
||||
.removeClass("comment-edit-text-empty")
|
||||
.attr("tabindex", "9"); // Choose an arbitrary tab index that's greater than what we're using in jot (3 of them)
|
||||
$("#comment-edit-submit-" + id).attr("tabindex", "10"); // The submit button gets tabindex + 1
|
||||
// initialize autosize for this comment
|
||||
autosize($("#comment-edit-text-" + id + ".text-autosize"));
|
||||
}
|
||||
|
||||
function commentCloseUI(obj, id) {
|
||||
if (obj.value === '' || obj.value === obj.dataset.default) {
|
||||
if (obj.value === "" || obj.value === obj.dataset.default) {
|
||||
$("#comment-edit-text-" + id)
|
||||
.removeClass("comment-edit-text-full").addClass("comment-edit-text-empty")
|
||||
.removeAttr('tabindex');
|
||||
$("#comment-edit-submit-" + id).removeAttr('tabindex');
|
||||
.removeClass("comment-edit-text-full")
|
||||
.addClass("comment-edit-text-empty")
|
||||
.removeAttr("tabindex");
|
||||
$("#comment-edit-submit-" + id).removeAttr("tabindex");
|
||||
openMenu("comment-fake-form-" + id);
|
||||
closeMenu("item-comments-" + id);
|
||||
// destroy the automatic textarea resizing
|
||||
|
|
@ -163,7 +163,7 @@ function commentCloseUI(obj, id) {
|
|||
}
|
||||
|
||||
function jotTextOpenUI(obj) {
|
||||
if (obj.value === '' || obj.value === obj.dataset.default) {
|
||||
if (obj.value === "" || obj.value === obj.dataset.default) {
|
||||
var $el = $(".modal-body #profile-jot-text");
|
||||
$el.addClass("profile-jot-text-full").removeClass("profile-jot-text-empty");
|
||||
// initiale autosize for the jot
|
||||
|
|
@ -172,7 +172,7 @@ function jotTextOpenUI(obj) {
|
|||
}
|
||||
|
||||
function jotTextCloseUI(obj) {
|
||||
if (obj.value === '' || obj.value === obj.dataset.default) {
|
||||
if (obj.value === "" || obj.value === obj.dataset.default) {
|
||||
var $el = $(".modal-body #profile-jot-text");
|
||||
$el.removeClass("profile-jot-text-full").addClass("profile-jot-text-empty");
|
||||
// destroy the automatic textarea resizing
|
||||
|
|
@ -181,7 +181,7 @@ function jotTextCloseUI(obj) {
|
|||
}
|
||||
|
||||
function commentOpen(obj, id) {
|
||||
if (obj.value === '' || obj.value === obj.dataset.default) {
|
||||
if (obj.value === "" || obj.value === obj.dataset.default) {
|
||||
$("#comment-edit-text-" + id)
|
||||
.putCursorAtEnd()
|
||||
.addClass("comment-edit-text-full")
|
||||
|
|
@ -210,18 +210,21 @@ function dropItem(url, elementId) {
|
|||
var confirm = confirmDelete();
|
||||
|
||||
if (confirm) {
|
||||
$('body').css('cursor', 'wait');
|
||||
$("body").css("cursor", "wait");
|
||||
|
||||
var $el = $(document.getElementById(elementId));
|
||||
|
||||
$el.fadeTo('fast', 0.33, function () {
|
||||
$.get(url).then(function() {
|
||||
$el.fadeTo("fast", 0.33, function () {
|
||||
$.get(url)
|
||||
.then(function () {
|
||||
$el.remove();
|
||||
}).fail(function() {
|
||||
})
|
||||
.fail(function () {
|
||||
// @todo Show related error message
|
||||
$el.show();
|
||||
}).always(function() {
|
||||
$('body').css('cursor', 'auto');
|
||||
})
|
||||
.always(function () {
|
||||
$("body").css("cursor", "auto");
|
||||
});
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPLv3-or-later
|
||||
|
||||
var jotcache = ''; //The jot cache. We use it as cache to restore old/original jot content
|
||||
var jotcache = ""; //The jot cache. We use it as cache to restore old/original jot content
|
||||
|
||||
$(document).ready(function () {
|
||||
// Destroy unused perfect scrollbar in aside element
|
||||
$('aside').perfectScrollbar('destroy');
|
||||
$("aside").perfectScrollbar("destroy");
|
||||
|
||||
//fade in/out based on scrollTop value
|
||||
var scrollStart;
|
||||
|
|
@ -27,9 +27,12 @@ $(document).ready(function(){
|
|||
|
||||
// scroll body to 0px on click
|
||||
$("#back-to-top").click(function () {
|
||||
$("body,html").animate({
|
||||
scrollTop: 0
|
||||
}, 400);
|
||||
$("body,html").animate(
|
||||
{
|
||||
scrollTop: 0,
|
||||
},
|
||||
400,
|
||||
);
|
||||
return false;
|
||||
});
|
||||
|
||||
|
|
@ -64,17 +67,17 @@ $(document).ready(function(){
|
|||
// So we apply the correct url (with the link to the id of the mask) after the page is loaded.
|
||||
if ($("#logo-img").length) {
|
||||
var pageurl = "url('" + window.location.href + "#logo-mask')";
|
||||
$("#logo-img").css({"mask": pageurl});
|
||||
$("#logo-img").css({ mask: pageurl });
|
||||
}
|
||||
|
||||
// make responsive tabmenu with flexmenu.js
|
||||
// the menupoints which doesn't fit in the second nav bar will moved to a
|
||||
// dropdown menu. Look at common_tabs.tpl
|
||||
$("ul.tabs.flex-nav").flexMenu({
|
||||
'cutoff': 2,
|
||||
'popupClass': "dropdown-menu pull-right",
|
||||
'popupAbsolute': false,
|
||||
'target': ".flex-target"
|
||||
cutoff: 2,
|
||||
popupClass: "dropdown-menu pull-right",
|
||||
popupAbsolute: false,
|
||||
target: ".flex-target",
|
||||
});
|
||||
|
||||
// add Jot button to the second navbar
|
||||
|
|
@ -84,13 +87,13 @@ $(document).ready(function(){
|
|||
if ($("#jot-popup").is(":hidden")) {
|
||||
$jotButton.hide();
|
||||
}
|
||||
$jotButton.on('click', function (e) {
|
||||
$jotButton.on("click", function (e) {
|
||||
e.preventDefault();
|
||||
jotShow();
|
||||
});
|
||||
}
|
||||
|
||||
let $body = $('body');
|
||||
let $body = $("body");
|
||||
|
||||
// show bulk deletion button at network page if checkbox is checked
|
||||
$body.change("input.item-select", function () {
|
||||
|
|
@ -99,8 +102,8 @@ $(document).ready(function(){
|
|||
// We need to get all checked items, so it would close the delete button
|
||||
// if we uncheck one item and others are still checked.
|
||||
// So return checked = true if there is any checked item
|
||||
$('input.item-select').each( function() {
|
||||
if($(this).is(':checked')) {
|
||||
$("input.item-select").each(function () {
|
||||
if ($(this).is(":checked")) {
|
||||
checked = true;
|
||||
return false;
|
||||
}
|
||||
|
|
@ -119,22 +122,22 @@ $(document).ready(function(){
|
|||
// initialize the bootstrap tooltips
|
||||
$body.tooltip({
|
||||
selector: '[data-toggle="tooltip"]',
|
||||
container: 'body',
|
||||
container: "body",
|
||||
animation: true,
|
||||
html: true,
|
||||
placement: 'auto',
|
||||
trigger: 'hover',
|
||||
placement: "auto",
|
||||
trigger: "hover",
|
||||
delay: {
|
||||
show: 500,
|
||||
hide: 100
|
||||
hide: 100,
|
||||
},
|
||||
sanitizeFn: function (content) {
|
||||
return DOMPurify.sanitize(content)
|
||||
return DOMPurify.sanitize(content);
|
||||
},
|
||||
});
|
||||
|
||||
// initialize the bootstrap-select
|
||||
$('.selectpicker').selectpicker();
|
||||
$(".selectpicker").selectpicker();
|
||||
|
||||
// add search-heading to the second navbar
|
||||
if ($(".search-heading").length) {
|
||||
|
|
@ -155,7 +158,7 @@ $(document).ready(function(){
|
|||
searchText = "No results";
|
||||
}
|
||||
// insert the plain text in a <h4> heading and give it a class
|
||||
var newText = '<h4 class="search-heading">'+searchText+'</h4>';
|
||||
var newText = '<h4 class="search-heading">' + searchText + "</h4>";
|
||||
// append the new heading to the navbar
|
||||
$("#topbar-second > .container > #tabmenu").append(newText);
|
||||
|
||||
|
|
@ -166,11 +169,11 @@ $(document).ready(function(){
|
|||
// if the orignal search value isn't available use the location path as value
|
||||
if (typeof searchValue === "undefined") {
|
||||
// get the location path
|
||||
var urlPath = window.location.search
|
||||
var urlPath = window.location.search;
|
||||
// and split it up in its parts
|
||||
var splitPath = urlPath.split(/(\?search?=)(.*$)/);
|
||||
|
||||
if(typeof splitPath[2] !== 'undefined') {
|
||||
if (typeof splitPath[2] !== "undefined") {
|
||||
// decode the path (e.g to decode %40 to the character @)
|
||||
var searchValue = decodeURIComponent(splitPath[2]);
|
||||
}
|
||||
|
|
@ -207,7 +210,9 @@ $(document).ready(function(){
|
|||
// Note: We need the first() element with this class since at the present time we
|
||||
// store also the js template information in the html code and thats why
|
||||
// there are two elements with this class but we don't want the js template
|
||||
$(".network-content-wrapper > #viewcontact_wrapper-network .contact-wrapper").first().appendTo("#nav-short-info");
|
||||
$(".network-content-wrapper > #viewcontact_wrapper-network .contact-wrapper")
|
||||
.first()
|
||||
.appendTo("#nav-short-info");
|
||||
}
|
||||
|
||||
// move heading from network stream to the second navbar nav-short-info section
|
||||
|
|
@ -217,7 +222,8 @@ $(document).ready(function(){
|
|||
// get the text of the heading
|
||||
var headingContent = heading.html();
|
||||
// create a new element with the content of the heading
|
||||
var newText = '<h4 class="heading" data-toggle="tooltip" title="'+headingContent+'">'+headingContent+'</h4>';
|
||||
var newText =
|
||||
'<h4 class="heading" data-toggle="tooltip" title="' + headingContent + '">' + headingContent + "</h4>";
|
||||
// remove the old heading element
|
||||
heading.remove(),
|
||||
// put the new element to the second nav bar
|
||||
|
|
@ -230,7 +236,7 @@ $(document).ready(function(){
|
|||
// get the text of the heading
|
||||
var headingContent = heading.html();
|
||||
// create a new element with the content of the heading
|
||||
var newText = '<h4 class="heading">'+headingContent+'</h4>';
|
||||
var newText = '<h4 class="heading">' + headingContent + "</h4>";
|
||||
// remove the old heading element
|
||||
heading.remove(),
|
||||
// put the new element to the second nav bar
|
||||
|
|
@ -239,7 +245,7 @@ $(document).ready(function(){
|
|||
|
||||
// Dropdown menus with the class "dropdown-head" will display the active tab
|
||||
// as button text
|
||||
$body.on('click', '.dropdown-head .dropdown-menu li a, .dropdown-head .dropdown-menu li button', function(){
|
||||
$body.on("click", ".dropdown-head .dropdown-menu li a, .dropdown-head .dropdown-menu li button", function () {
|
||||
toggleDropdownText(this);
|
||||
});
|
||||
|
||||
|
|
@ -257,9 +263,11 @@ $(document).ready(function(){
|
|||
|
||||
// According to the value of the input element we need to decide
|
||||
// which class need to be added and removed when changing the switch
|
||||
var removedclass = (val == 0 ? onstyle : offstyle);
|
||||
var addedclass = (val == 0 ? offstyle : onstyle)
|
||||
$("#"+id+"_onoff").addClass(addedclass).removeClass(removedclass);
|
||||
var removedclass = val == 0 ? onstyle : offstyle;
|
||||
var addedclass = val == 0 ? offstyle : onstyle;
|
||||
$("#" + id + "_onoff")
|
||||
.addClass(addedclass)
|
||||
.removeClass(removedclass);
|
||||
|
||||
// After changing the switch the input element is getting
|
||||
// the newvalue
|
||||
|
|
@ -273,19 +281,18 @@ $(document).ready(function(){
|
|||
// to the input element where the padding value would be at least the width
|
||||
// of the button. Otherwise long user input would be invisible because it is
|
||||
// behind the button.
|
||||
$body.on('click', '.form-group-search > input', function() {
|
||||
$body.on("click", ".form-group-search > input", function () {
|
||||
// Get the width of the button (if the button isn't available
|
||||
// buttonWidth will be null
|
||||
var buttonWidth = $(this).next('.form-button-search').outerWidth();
|
||||
var buttonWidth = $(this).next(".form-button-search").outerWidth();
|
||||
|
||||
if (buttonWidth) {
|
||||
// Take the width of the button and ad 5px
|
||||
var newWidth = buttonWidth + 5;
|
||||
// Set the padding of the input element according
|
||||
// to the width of the button
|
||||
$(this).css('padding-right', newWidth);
|
||||
$(this).css("padding-right", newWidth);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/*
|
||||
|
|
@ -295,18 +302,18 @@ $(document).ready(function(){
|
|||
* We are making an exception for buttons because of a race condition with the
|
||||
* comment opening button that results in an already closed comment UI.
|
||||
*/
|
||||
$(document).on('mousedown', function(event) {
|
||||
if (event.target.type === 'button') {
|
||||
$(document).on("mousedown", function (event) {
|
||||
if (event.target.type === "button") {
|
||||
return true;
|
||||
}
|
||||
|
||||
var $dontclosethis = $(event.target).closest('.wall-item-comment-wrapper').find('.comment-edit-form');
|
||||
$('.wall-item-comment-wrapper .comment-edit-submit-wrapper:visible').each(function() {
|
||||
var $parent = $(this).parent('.comment-edit-form');
|
||||
var itemId = $parent.data('itemId');
|
||||
var $dontclosethis = $(event.target).closest(".wall-item-comment-wrapper").find(".comment-edit-form");
|
||||
$(".wall-item-comment-wrapper .comment-edit-submit-wrapper:visible").each(function () {
|
||||
var $parent = $(this).parent(".comment-edit-form");
|
||||
var itemId = $parent.data("itemId");
|
||||
|
||||
if ($dontclosethis[0] != $parent[0]) {
|
||||
var textarea = $parent.find('textarea').get(0)
|
||||
var textarea = $parent.find("textarea").get(0);
|
||||
|
||||
commentCloseUI(textarea, itemId);
|
||||
}
|
||||
|
|
@ -314,10 +321,10 @@ $(document).ready(function(){
|
|||
});
|
||||
|
||||
// Customize some elements when the app is used in standalone mode on Android
|
||||
if (window.matchMedia('(display-mode: standalone)').matches) {
|
||||
if (window.matchMedia("(display-mode: standalone)").matches) {
|
||||
// Open links to source outside of the webview
|
||||
$('body').on('click', '.plink', function (e) {
|
||||
$(e.target).attr('target', '_blank');
|
||||
$("body").on("click", ".plink", function (e) {
|
||||
$(e.target).attr("target", "_blank");
|
||||
});
|
||||
}
|
||||
|
||||
|
|
@ -325,7 +332,7 @@ $(document).ready(function(){
|
|||
* This event listeners ensures that the textarea size is updated event if the
|
||||
* value is changed externally (textcomplete, insertFormatting, fbrowser...)
|
||||
*/
|
||||
$(document).on('change', 'textarea', function(event) {
|
||||
$(document).on("change", "textarea", function (event) {
|
||||
autosize.update(event.target);
|
||||
});
|
||||
|
||||
|
|
@ -343,7 +350,7 @@ $(document).ready(function(){
|
|||
if ($(window).width() > 976) {
|
||||
$("aside").stick_in_parent({
|
||||
offset_top: 100, // px, header + tab bar + spacing
|
||||
recalc_every: 10
|
||||
recalc_every: 10,
|
||||
});
|
||||
// recalculate sticky aside on clicks on <a> elements
|
||||
// this handle height changes on expanding submenus
|
||||
|
|
@ -372,9 +379,9 @@ $(document).ready(function(){
|
|||
});
|
||||
|
||||
// Comment form submit
|
||||
$body.on('submit', '.comment-edit-form', function(e) {
|
||||
$body.on("submit", ".comment-edit-form", function (e) {
|
||||
let $form = $(this);
|
||||
let id = $form.data('item-id');
|
||||
let id = $form.data("item-id");
|
||||
|
||||
// Compose page form exception: id is always 0 and form must not be submitted asynchronously
|
||||
if (id === 0) {
|
||||
|
|
@ -383,21 +390,17 @@ $(document).ready(function(){
|
|||
|
||||
e.preventDefault();
|
||||
|
||||
let $commentSubmit = $form.find('.comment-edit-submit').button('loading');
|
||||
let $commentSubmit = $form.find(".comment-edit-submit").button("loading");
|
||||
|
||||
unpause();
|
||||
commentBusy = true;
|
||||
|
||||
$.post(
|
||||
'item',
|
||||
$form.serialize(),
|
||||
'json'
|
||||
)
|
||||
$.post("item", $form.serialize(), "json")
|
||||
.then(function (data) {
|
||||
if (data.success) {
|
||||
$('#comment-edit-wrapper-' + id).hide();
|
||||
let $textarea = $('#comment-edit-text-' + id);
|
||||
$textarea.val('');
|
||||
$("#comment-edit-wrapper-" + id).hide();
|
||||
let $textarea = $("#comment-edit-text-" + id);
|
||||
$textarea.val("");
|
||||
if ($textarea.get(0)) {
|
||||
commentClose($textarea.get(0), id);
|
||||
}
|
||||
|
|
@ -413,56 +416,49 @@ $(document).ready(function(){
|
|||
}
|
||||
})
|
||||
.always(function () {
|
||||
$commentSubmit.button('reset');
|
||||
$commentSubmit.button("reset");
|
||||
});
|
||||
});
|
||||
|
||||
$body.on('submit', '.modal-body #poke-wrapper', function(e) {
|
||||
$body.on("submit", ".modal-body #poke-wrapper", function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
let $form = $(this);
|
||||
let $pokeSubmit = $form.find('button[type=submit]').button('loading');
|
||||
let $pokeSubmit = $form.find("button[type=submit]").button("loading");
|
||||
|
||||
$.post(
|
||||
$form.attr('action'),
|
||||
$form.serialize(),
|
||||
'json'
|
||||
)
|
||||
$.post($form.attr("action"), $form.serialize(), "json")
|
||||
.then(function (data) {
|
||||
if (data.success) {
|
||||
$('#modal').modal('hide');
|
||||
$("#modal").modal("hide");
|
||||
}
|
||||
})
|
||||
.always(function () {
|
||||
$pokeSubmit.button('reset');
|
||||
$pokeSubmit.button("reset");
|
||||
});
|
||||
});
|
||||
})
|
||||
});
|
||||
|
||||
function openClose(theID) {
|
||||
var elem = document.getElementById(theID);
|
||||
|
||||
if( $(elem).is(':visible')) {
|
||||
if ($(elem).is(":visible")) {
|
||||
$(elem).slideUp(200);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$(elem).slideDown(200);
|
||||
}
|
||||
}
|
||||
|
||||
function showHide(theID) {
|
||||
var elem = document.getElementById(theID);
|
||||
var edit = document.getElementById("comment-edit-submit-wrapper-" + theID.match('[0-9$]+'));
|
||||
var edit = document.getElementById("comment-edit-submit-wrapper-" + theID.match("[0-9$]+"));
|
||||
|
||||
if ($(elem).is(':visible')) {
|
||||
if (!$(edit).is(':visible')) {
|
||||
if ($(elem).is(":visible")) {
|
||||
if (!$(edit).is(":visible")) {
|
||||
edit.style.display = "block";
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
elem.style.display = "none";
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
elem.style.display = "block";
|
||||
}
|
||||
}
|
||||
|
|
@ -471,27 +467,27 @@ function showHide(theID) {
|
|||
function showHideEventMap(elm) {
|
||||
// Get the id of the map element - it should be provided through
|
||||
// the atribute "data-map-id".
|
||||
var mapID = elm.getAttribute('data-map-id');
|
||||
var mapID = elm.getAttribute("data-map-id");
|
||||
|
||||
// Get translation labels.
|
||||
var mapshow = elm.getAttribute('data-show-label');
|
||||
var maphide = elm.getAttribute('data-hide-label');
|
||||
var mapshow = elm.getAttribute("data-show-label");
|
||||
var maphide = elm.getAttribute("data-hide-label");
|
||||
|
||||
// Change the button labels.
|
||||
if (elm.innerText == mapshow) {
|
||||
$('#' + elm.id).text(maphide);
|
||||
$("#" + elm.id).text(maphide);
|
||||
} else {
|
||||
$('#' + elm.id).text(mapshow);
|
||||
$("#" + elm.id).text(mapshow);
|
||||
}
|
||||
// Because maps are iframe elements, we cant hide it through css (display: none).
|
||||
// We solve this issue by putting the map outside the screen with css.
|
||||
// So the first time the 'Show map' button is pressed we move the map
|
||||
// element into the screen area.
|
||||
var mappos = $('#' + mapID).css('position');
|
||||
var mappos = $("#" + mapID).css("position");
|
||||
|
||||
if (mappos === 'absolute') {
|
||||
$('#' + mapID).hide();
|
||||
$('#' + mapID).css({position: 'relative', left: 'auto', top: 'auto'});
|
||||
if (mappos === "absolute") {
|
||||
$("#" + mapID).hide();
|
||||
$("#" + mapID).css({ position: "relative", left: "auto", top: "auto" });
|
||||
openClose(mapID);
|
||||
} else {
|
||||
openClose(mapID);
|
||||
|
|
@ -501,18 +497,22 @@ function showHideEventMap(elm) {
|
|||
|
||||
function justifyPhotos() {
|
||||
justifiedGalleryActive = true;
|
||||
$('#photo-album-contents').justifiedGallery({
|
||||
$("#photo-album-contents")
|
||||
.justifiedGallery({
|
||||
margins: 3,
|
||||
border: 0,
|
||||
sizeRangeSuffixes: {
|
||||
'lt48': '-6',
|
||||
'lt80': '-5',
|
||||
'lt300': '-4',
|
||||
'lt320': '-2',
|
||||
'lt640': '-1',
|
||||
'lt1024': '-0'
|
||||
}
|
||||
}).on('jg.complete', function(e){ justifiedGalleryActive = false; });
|
||||
lt48: "-6",
|
||||
lt80: "-5",
|
||||
lt300: "-4",
|
||||
lt320: "-2",
|
||||
lt640: "-1",
|
||||
lt1024: "-0",
|
||||
},
|
||||
})
|
||||
.on("jg.complete", function (e) {
|
||||
justifiedGalleryActive = false;
|
||||
});
|
||||
}
|
||||
|
||||
// Load a js script to the html head.
|
||||
|
|
@ -525,9 +525,9 @@ function loadScript(url, callback) {
|
|||
oscript.remove();
|
||||
}
|
||||
// Adding the script tag to the head as suggested before.
|
||||
var head = document.getElementsByTagName('head')[0];
|
||||
var script = document.createElement('script');
|
||||
script.type = 'text/javascript';
|
||||
var head = document.getElementsByTagName("head")[0];
|
||||
var script = document.createElement("script");
|
||||
script.type = "text/javascript";
|
||||
script.src = url;
|
||||
|
||||
// Then bind the event to the callback function.
|
||||
|
|
@ -541,16 +541,16 @@ function loadScript(url, callback) {
|
|||
|
||||
// Does we need a ? or a & to append values to a url
|
||||
function qOrAmp(url) {
|
||||
if(url.search('\\?') < 0) {
|
||||
return '?';
|
||||
if (url.search("\\?") < 0) {
|
||||
return "?";
|
||||
} else {
|
||||
return '&';
|
||||
return "&";
|
||||
}
|
||||
}
|
||||
|
||||
String.prototype.normalizeLink = function () {
|
||||
var ret = this.replace('https:', 'http:');
|
||||
var ret = ret.replace('//www', '//');
|
||||
var ret = this.replace("https:", "http:");
|
||||
var ret = ret.replace("//www", "//");
|
||||
return ret.rtrim();
|
||||
};
|
||||
|
||||
|
|
@ -578,7 +578,8 @@ function cleanContactUrl(url) {
|
|||
return newUrl;
|
||||
}
|
||||
|
||||
function parseUrl (str, component) { // eslint-disable-line camelcase
|
||||
function parseUrl(str, component) {
|
||||
// eslint-disable-line camelcase
|
||||
// discuss at: http://locutusjs.io/php/parse_url/
|
||||
// original by: Steven Levithan (http://blog.stevenlevithan.com)
|
||||
// reimplemented by: Brett Zamir (http://brett-zamir.me)
|
||||
|
|
@ -603,82 +604,91 @@ function parseUrl (str, component) { // eslint-disable-line camelcase
|
|||
// example 4: parse_url('https://gooduser:secretpassword@www.example.com/a@b.c/folder?foo=bar')
|
||||
// returns 4: { scheme: 'https', host: 'www.example.com', path: '/a@b.c/folder', query: 'foo=bar', user: 'gooduser', pass: 'secretpassword' }
|
||||
|
||||
var query
|
||||
var query;
|
||||
|
||||
var mode = (typeof require !== 'undefined' ? require('../info/ini_get')('locutus.parse_url.mode') : undefined) || 'php'
|
||||
var mode =
|
||||
(typeof require !== "undefined" ? require("../info/ini_get")("locutus.parse_url.mode") : undefined) || "php";
|
||||
|
||||
var key = [
|
||||
'source',
|
||||
'scheme',
|
||||
'authority',
|
||||
'userInfo',
|
||||
'user',
|
||||
'pass',
|
||||
'host',
|
||||
'port',
|
||||
'relative',
|
||||
'path',
|
||||
'directory',
|
||||
'file',
|
||||
'query',
|
||||
'fragment'
|
||||
]
|
||||
"source",
|
||||
"scheme",
|
||||
"authority",
|
||||
"userInfo",
|
||||
"user",
|
||||
"pass",
|
||||
"host",
|
||||
"port",
|
||||
"relative",
|
||||
"path",
|
||||
"directory",
|
||||
"file",
|
||||
"query",
|
||||
"fragment",
|
||||
];
|
||||
|
||||
// For loose we added one optional slash to post-scheme to catch file:/// (should restrict this)
|
||||
var parser = {
|
||||
php: new RegExp([
|
||||
'(?:([^:\\/?#]+):)?',
|
||||
'(?:\\/\\/()(?:(?:()(?:([^:@\\/]*):?([^:@\\/]*))?@)?([^:\\/?#]*)(?::(\\d*))?))?',
|
||||
'()',
|
||||
'(?:(()(?:(?:[^?#\\/]*\\/)*)()(?:[^?#]*))(?:\\?([^#]*))?(?:#(.*))?)'
|
||||
].join('')),
|
||||
strict: new RegExp([
|
||||
'(?:([^:\\/?#]+):)?',
|
||||
'(?:\\/\\/((?:(([^:@\\/]*):?([^:@\\/]*))?@)?([^:\\/?#]*)(?::(\\d*))?))?',
|
||||
'((((?:[^?#\\/]*\\/)*)([^?#]*))(?:\\?([^#]*))?(?:#(.*))?)'
|
||||
].join('')),
|
||||
loose: new RegExp([
|
||||
'(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?',
|
||||
'(?:\\/\\/\\/?)?',
|
||||
'((?:(([^:@\\/]*):?([^:@\\/]*))?@)?([^:\\/?#]*)(?::(\\d*))?)',
|
||||
'(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))',
|
||||
'(?:\\?([^#]*))?(?:#(.*))?)'
|
||||
].join(''))
|
||||
}
|
||||
php: new RegExp(
|
||||
[
|
||||
"(?:([^:\\/?#]+):)?",
|
||||
"(?:\\/\\/()(?:(?:()(?:([^:@\\/]*):?([^:@\\/]*))?@)?([^:\\/?#]*)(?::(\\d*))?))?",
|
||||
"()",
|
||||
"(?:(()(?:(?:[^?#\\/]*\\/)*)()(?:[^?#]*))(?:\\?([^#]*))?(?:#(.*))?)",
|
||||
].join(""),
|
||||
),
|
||||
strict: new RegExp(
|
||||
[
|
||||
"(?:([^:\\/?#]+):)?",
|
||||
"(?:\\/\\/((?:(([^:@\\/]*):?([^:@\\/]*))?@)?([^:\\/?#]*)(?::(\\d*))?))?",
|
||||
"((((?:[^?#\\/]*\\/)*)([^?#]*))(?:\\?([^#]*))?(?:#(.*))?)",
|
||||
].join(""),
|
||||
),
|
||||
loose: new RegExp(
|
||||
[
|
||||
"(?:(?![^:@]+:[^:@\\/]*@)([^:\\/?#.]+):)?",
|
||||
"(?:\\/\\/\\/?)?",
|
||||
"((?:(([^:@\\/]*):?([^:@\\/]*))?@)?([^:\\/?#]*)(?::(\\d*))?)",
|
||||
"(((\\/(?:[^?#](?![^?#\\/]*\\.[^?#\\/.]+(?:[?#]|$)))*\\/?)?([^?#\\/]*))",
|
||||
"(?:\\?([^#]*))?(?:#(.*))?)",
|
||||
].join(""),
|
||||
),
|
||||
};
|
||||
|
||||
var m = parser[mode].exec(str)
|
||||
var uri = {}
|
||||
var i = 14
|
||||
var m = parser[mode].exec(str);
|
||||
var uri = {};
|
||||
var i = 14;
|
||||
|
||||
while (i--) {
|
||||
if (m[i]) {
|
||||
uri[key[i]] = m[i]
|
||||
uri[key[i]] = m[i];
|
||||
}
|
||||
}
|
||||
|
||||
if (component) {
|
||||
return uri[component.replace('PHP_URL_', '').toLowerCase()]
|
||||
return uri[component.replace("PHP_URL_", "").toLowerCase()];
|
||||
}
|
||||
|
||||
if (mode !== 'php') {
|
||||
var name = (typeof require !== 'undefined' ? require('../info/ini_get')('locutus.parse_url.queryKey') : undefined) || 'queryKey'
|
||||
parser = /(?:^|&)([^&=]*)=?([^&]*)/g
|
||||
uri[name] = {}
|
||||
query = uri[key[12]] || ''
|
||||
if (mode !== "php") {
|
||||
var name =
|
||||
(typeof require !== "undefined" ? require("../info/ini_get")("locutus.parse_url.queryKey") : undefined) ||
|
||||
"queryKey";
|
||||
parser = /(?:^|&)([^&=]*)=?([^&]*)/g;
|
||||
uri[name] = {};
|
||||
query = uri[key[12]] || "";
|
||||
query.replace(parser, function ($0, $1, $2) {
|
||||
if ($1) {
|
||||
uri[name][$1] = $2
|
||||
uri[name][$1] = $2;
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
delete uri.source
|
||||
return uri
|
||||
delete uri.source;
|
||||
return uri;
|
||||
}
|
||||
|
||||
// trim function to replace whithespace after the string
|
||||
String.prototype.rtrim = function () {
|
||||
var trimmed = this.replace(/\s+$/g, '');
|
||||
var trimmed = this.replace(/\s+$/g, "");
|
||||
return trimmed;
|
||||
};
|
||||
|
||||
|
|
@ -695,34 +705,40 @@ function scrollToItem(elementId) {
|
|||
return;
|
||||
}
|
||||
|
||||
var $el = $('#' + elementId + ' > .media');
|
||||
var $el = $("#" + elementId + " > .media");
|
||||
// Test if the Item exists
|
||||
if (!$el.length) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Define the colors which are used for highlighting
|
||||
var colWhite = {backgroundColor:'#F5F5F5'};
|
||||
var colShiny = {backgroundColor:'#FFF176'};
|
||||
var colWhite = { backgroundColor: "#F5F5F5" };
|
||||
var colShiny = { backgroundColor: "#FFF176" };
|
||||
|
||||
// Get the Item Position (we need to substract 100 to match correct position
|
||||
var itemPos = $el.offset().top - 100;
|
||||
|
||||
// Scroll to the DIV with the ID (GUID)
|
||||
$('html, body').animate({
|
||||
scrollTop: itemPos
|
||||
}, 400).promise().done( function() {
|
||||
$("html, body")
|
||||
.animate(
|
||||
{
|
||||
scrollTop: itemPos,
|
||||
},
|
||||
400,
|
||||
)
|
||||
.promise()
|
||||
.done(function () {
|
||||
// Highlight post/commenent with ID (GUID)
|
||||
$el.animate(colWhite, 1000).animate(colShiny).animate({backgroundColor: 'transparent'}, 600);
|
||||
$el.animate(colWhite, 1000).animate(colShiny).animate({ backgroundColor: "transparent" }, 600);
|
||||
});
|
||||
}
|
||||
|
||||
// format a html string to pure text
|
||||
function htmlToText(htmlString) {
|
||||
// Replace line breaks with spaces
|
||||
var text = htmlString.replace(/<br>/g, ' ');
|
||||
var text = htmlString.replace(/<br>/g, " ");
|
||||
// Strip the text out of the html string
|
||||
text = text.replace(/<[^>]*>/g, '');
|
||||
text = text.replace(/<[^>]*>/g, "");
|
||||
|
||||
return text;
|
||||
}
|
||||
|
|
@ -736,10 +752,10 @@ function htmlToText(htmlString) {
|
|||
* @param {boolean} un Whether to perform an activity removal instead of creation
|
||||
*/
|
||||
function doLikeAction(ident, verb, un) {
|
||||
if (verb.indexOf('attend') === 0) {
|
||||
$('.item-' + ident + ' .button-event:not(#' + verb + '-' + ident + ')').removeClass('active');
|
||||
if (verb.indexOf("attend") === 0) {
|
||||
$(".item-" + ident + " .button-event:not(#" + verb + "-" + ident + ")").removeClass("active");
|
||||
}
|
||||
$('#' + verb + '-' + ident).toggleClass('active');
|
||||
$("#" + verb + "-" + ident).toggleClass("active");
|
||||
|
||||
dolike(ident, verb, un);
|
||||
}
|
||||
|
|
@ -757,7 +773,7 @@ function hex2bin (s) {
|
|||
var ret = [];
|
||||
var i = 0;
|
||||
var l;
|
||||
s += '';
|
||||
s += "";
|
||||
|
||||
for (l = s.length; i < l; i += 2) {
|
||||
var c = parseInt(s.substr(i, 1), 16);
|
||||
|
|
@ -782,7 +798,10 @@ function bin2hex (s) {
|
|||
// * example 2: bin2hex(String.fromCharCode(0x00));
|
||||
// * returns 2: '00'
|
||||
|
||||
var i, l, o = "", n;
|
||||
var i,
|
||||
l,
|
||||
o = "",
|
||||
n;
|
||||
|
||||
s += "";
|
||||
|
||||
|
|
@ -797,8 +816,11 @@ function bin2hex (s) {
|
|||
// Dropdown menus with the class "dropdown-head" will display the active tab
|
||||
// as button text
|
||||
function toggleDropdownText(elm) {
|
||||
$(elm).closest(".dropdown").find('.btn').html($(elm).html() + ' <span class="caret"></span>');
|
||||
$(elm).closest(".dropdown").find('.btn').val($(elm).data('value'));
|
||||
$(elm)
|
||||
.closest(".dropdown")
|
||||
.find(".btn")
|
||||
.html($(elm).html() + ' <span class="caret"></span>');
|
||||
$(elm).closest(".dropdown").find(".btn").val($(elm).data("value"));
|
||||
$(elm).closest("ul").children("li").show();
|
||||
$(elm).parent("li").hide();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,17 +29,20 @@
|
|||
border_color: $link_color;
|
||||
}
|
||||
|
||||
.dropdown-menu, .account .dropdown-menu {
|
||||
.dropdown-menu,
|
||||
.account .dropdown-menu {
|
||||
background-color: $background_color;
|
||||
}
|
||||
.dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover {
|
||||
.dropdown-menu > li > a:focus,
|
||||
.dropdown-menu > li > a:hover {
|
||||
color: $link_color;
|
||||
}
|
||||
.account .dropdown-menu li {
|
||||
border-color: $background_color;
|
||||
}
|
||||
|
||||
.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
|
||||
.dropdown-menu > li > a:focus,
|
||||
.dropdown-menu > li > a:hover {
|
||||
background-image: none;
|
||||
background-color: rgba(232, 232, 232, $contentbg_transp);
|
||||
}
|
||||
|
|
@ -61,9 +64,9 @@
|
|||
border-color: #a0a0a0;
|
||||
}
|
||||
|
||||
input[type=text],
|
||||
input[type=submit],
|
||||
button[type=submit]:not(.btn),
|
||||
input[type="text"],
|
||||
input[type="submit"],
|
||||
button[type="submit"]:not(.btn),
|
||||
select,
|
||||
textarea,
|
||||
.form-control {
|
||||
|
|
@ -73,11 +76,13 @@ textarea,
|
|||
box-shadow: 0 0 3px #dadada;
|
||||
-webkit-box-shadow: 0 0 3px #dadada;
|
||||
}
|
||||
input[type=range] {
|
||||
input[type="range"] {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.form-control[disabled], .form-control[readonly], fieldset[disabled] .form-control {
|
||||
.form-control[disabled],
|
||||
.form-control[readonly],
|
||||
fieldset[disabled] .form-control {
|
||||
background-color: $background_color;
|
||||
color: $font_color_darker;
|
||||
}
|
||||
|
|
@ -97,7 +102,8 @@ main .nav-tabs>li.active>a:hover {
|
|||
color: $font_color_darker;
|
||||
}
|
||||
|
||||
.nav > li > a:focus, .nav > li > a:hover {
|
||||
.nav > li > a:focus,
|
||||
.nav > li > a:hover {
|
||||
background-color: rgba(238, 238, 238, $contentbg_transp);
|
||||
}
|
||||
|
||||
|
|
@ -126,7 +132,8 @@ main .nav-tabs>li.active>a:hover {
|
|||
color: $font_color;
|
||||
}
|
||||
|
||||
.pagination>li>a:hover, .pagination>li>span:hover {
|
||||
.pagination > li > a:hover,
|
||||
.pagination > li > span:hover {
|
||||
background-color: $nav_bg;
|
||||
}
|
||||
|
||||
|
|
@ -139,7 +146,8 @@ main .nav-tabs>li.active>a:hover {
|
|||
color: $font_color;
|
||||
text-shadow: 0 1px 0 $nav_bg;
|
||||
}
|
||||
.close:focus, .close:hover {
|
||||
.close:focus,
|
||||
.close:hover {
|
||||
color: $link_color;
|
||||
}
|
||||
|
||||
|
|
@ -174,19 +182,23 @@ main .nav-tabs>li.active>a:hover {
|
|||
background: none;
|
||||
color: $font_color_darker;
|
||||
}
|
||||
.btn.focus, .btn:focus, .btn:hover {
|
||||
.btn.focus,
|
||||
.btn:focus,
|
||||
.btn:hover {
|
||||
color: $font_color;
|
||||
}
|
||||
.btn-default:focus, .btn-default:hover {
|
||||
.btn-default:focus,
|
||||
.btn-default:hover {
|
||||
background: $nav_bg;
|
||||
}
|
||||
.btn-default.active, .btn-default:active {
|
||||
.btn-default.active,
|
||||
.btn-default:active {
|
||||
background-color: $nav_bg;
|
||||
color: $font_color;
|
||||
}
|
||||
|
||||
button[type=submit]:not(.btn),
|
||||
input[type=submit],
|
||||
button[type="submit"]:not(.btn),
|
||||
input[type="submit"],
|
||||
.btn.btn-primary {
|
||||
border: 1px solid $link_color;
|
||||
}
|
||||
|
|
@ -285,7 +297,8 @@ input[type=submit],
|
|||
box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
|
||||
-webkit-box-shadow: 0 10px 50px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.hovercard, .hover-card-footer {
|
||||
.hovercard,
|
||||
.hover-card-footer {
|
||||
background-color: $nav_bg;
|
||||
}
|
||||
.hovercard.top > .arrow:after {
|
||||
|
|
@ -305,14 +318,13 @@ input[type=submit],
|
|||
color: inherit;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
color: $font_color;
|
||||
background-color: rgba(255, 255, 255, .2);
|
||||
background-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
pre {
|
||||
color: $font_color_darker;
|
||||
background-color: rgba(255, 255, 255, .05);
|
||||
background-color: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
legend {
|
||||
|
|
@ -334,7 +346,8 @@ section > .generic-page-wrapper,
|
|||
.delegation-content-wrapper,
|
||||
.notes-content-wrapper,
|
||||
.message-content-wrapper,
|
||||
.apps-content-wrapper, #adminpage,
|
||||
.apps-content-wrapper,
|
||||
#adminpage,
|
||||
.delegate-content-wrapper,
|
||||
.uexport-content-wrapper,
|
||||
.dfrn_request-content-wrapper,
|
||||
|
|
@ -348,13 +361,12 @@ section > .generic-page-wrapper,
|
|||
.panel,
|
||||
aside .widget,
|
||||
.nav-container .widget,
|
||||
#back-to-top
|
||||
{
|
||||
#back-to-top {
|
||||
box-shadow: 0 0 3px $link_color;
|
||||
-webkit-box-shadow: 0 0 3px $link_color;
|
||||
}
|
||||
|
||||
input[type=text].tt-input {
|
||||
input[type="text"].tt-input {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,17 +29,20 @@
|
|||
border_color: $link_color;
|
||||
}
|
||||
|
||||
.dropdown-menu, .account .dropdown-menu {
|
||||
.dropdown-menu,
|
||||
.account .dropdown-menu {
|
||||
background-color: $background_color;
|
||||
}
|
||||
.dropdown-menu>li>a:focus, .dropdown-menu>li>a:hover {
|
||||
.dropdown-menu > li > a:focus,
|
||||
.dropdown-menu > li > a:hover {
|
||||
color: $link_color;
|
||||
}
|
||||
.account .dropdown-menu li {
|
||||
border-color: $background_color;
|
||||
}
|
||||
|
||||
.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
|
||||
.dropdown-menu > li > a:focus,
|
||||
.dropdown-menu > li > a:hover {
|
||||
background-image: none;
|
||||
background-color: rgba(232, 232, 232, $contentbg_transp);
|
||||
}
|
||||
|
|
@ -60,9 +63,9 @@
|
|||
-webkit-box-shadow: 0 0 3px #dadada;
|
||||
}
|
||||
|
||||
input[type=text],
|
||||
input[type=submit],
|
||||
button[type=submit]:not(.btn),
|
||||
input[type="text"],
|
||||
input[type="submit"],
|
||||
button[type="submit"]:not(.btn),
|
||||
select,
|
||||
textarea,
|
||||
.form-control {
|
||||
|
|
@ -72,7 +75,7 @@ textarea,
|
|||
box-shadow: 0 0 3px #dadada;
|
||||
-webkit-box-shadow: 0 0 3px #dadada;
|
||||
}
|
||||
input[type=range] {
|
||||
input[type="range"] {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
|
|
@ -183,8 +186,8 @@ main .nav-tabs>li.active>a:hover {
|
|||
color: $font_color;
|
||||
}
|
||||
|
||||
button[type=submit]:not(.btn),
|
||||
input[type=submit],
|
||||
button[type="submit"]:not(.btn),
|
||||
input[type="submit"],
|
||||
.btn.btn-primary {
|
||||
border: 1px solid $link_color;
|
||||
}
|
||||
|
|
@ -304,14 +307,13 @@ input[type=submit],
|
|||
color: inherit;
|
||||
}
|
||||
|
||||
|
||||
code {
|
||||
color: $font_color;
|
||||
background-color: rgba(255, 255, 255, .2);
|
||||
background-color: rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
pre {
|
||||
color: $font_color_darker;
|
||||
background-color: rgba(255, 255, 255, .05);
|
||||
background-color: rgba(255, 255, 255, 0.05);
|
||||
}
|
||||
|
||||
legend {
|
||||
|
|
@ -324,7 +326,7 @@ legend {
|
|||
background-color: $nav_bg;
|
||||
}
|
||||
|
||||
input[type=text].tt-input {
|
||||
input[type="text"].tt-input {
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,17 +5,27 @@
|
|||
Author : koyu
|
||||
*/
|
||||
|
||||
#topbar-first, #topbar-second, body {
|
||||
#topbar-first,
|
||||
#topbar-second,
|
||||
body {
|
||||
background: #111;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
#topbar-first .dropdown.account > a, #topbar-first .dropdown.account.open > a, #topbar-first .dropdown.account > button, #topbar-first .dropdown.account.open > button, #topbar-first .dropdown.account > :hover, #topbar-first .dropdown.account.open > :hover {
|
||||
#topbar-first .dropdown.account > a,
|
||||
#topbar-first .dropdown.account.open > a,
|
||||
#topbar-first .dropdown.account > button,
|
||||
#topbar-first .dropdown.account.open > button,
|
||||
#topbar-first .dropdown.account > :hover,
|
||||
#topbar-first .dropdown.account.open > :hover {
|
||||
background: #111;
|
||||
border: 0;
|
||||
}
|
||||
|
||||
.nav-pills .dropdown-menu, .nav-tabs .dropdown-menu, .account .dropdown-menu, .contact-photo-wrapper .dropdown-menu {
|
||||
.nav-pills .dropdown-menu,
|
||||
.nav-tabs .dropdown-menu,
|
||||
.account .dropdown-menu,
|
||||
.contact-photo-wrapper .dropdown-menu {
|
||||
background: #111;
|
||||
-webkit-box-shadow: 0px 0px 69px 4px rgba(0, 0, 0, 0.25);
|
||||
-moz-box-shadow: 0px 0px 69px 4px rgba(0, 0, 0, 0.25);
|
||||
|
|
@ -23,7 +33,8 @@
|
|||
border: 0;
|
||||
}
|
||||
|
||||
.account .dropdown-menu li, .account .dropdown-menu li:hover {
|
||||
.account .dropdown-menu li,
|
||||
.account .dropdown-menu li:hover {
|
||||
border: 0;
|
||||
background: #111;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,17 +50,19 @@ aside .widget li.selected,
|
|||
.panel,
|
||||
aside .widget,
|
||||
.nav-container .widget,
|
||||
#profile-page, .photos-content-wrapper,
|
||||
#profile-page,
|
||||
.photos-content-wrapper,
|
||||
.settings-content-wrapper {
|
||||
border-style: solid solid solid solid;
|
||||
border-width: 1px;
|
||||
border-color: #DDDDDD;
|
||||
border-color: #dddddd;
|
||||
box-shadow: none;
|
||||
border-radius: 15px;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
aside .widget li a, aside .widget li a:hover,
|
||||
aside .widget li a,
|
||||
aside .widget li a:hover,
|
||||
.panel .panel-body .wall-item-content,
|
||||
.toplevel_item .wall-item-container .btn-link {
|
||||
color: #000;
|
||||
|
|
|
|||
|
|
@ -16,13 +16,25 @@ body {
|
|||
height: auto;
|
||||
}
|
||||
|
||||
aside .widget, .form-control, .panel, .nav-container, .wall-item-content, .e-content, .p-name, .topbar, post, shiny, tread-wrapper, #topbar-second {
|
||||
aside .widget,
|
||||
.form-control,
|
||||
.panel,
|
||||
.nav-container,
|
||||
.wall-item-content,
|
||||
.e-content,
|
||||
.p-name,
|
||||
.topbar,
|
||||
post,
|
||||
shiny,
|
||||
tread-wrapper,
|
||||
#topbar-second {
|
||||
color: #000;
|
||||
background-color: #f5f5f5;
|
||||
}
|
||||
|
||||
.form-control {
|
||||
font-family: ".SFNSText-Regular","San Francisco","Roboto","Segoe UI","Helvetica Neue","Lucida Grande",Helvetica,Arial,sans-serif;
|
||||
font-family: ".SFNSText-Regular", "San Francisco", "Roboto", "Segoe UI", "Helvetica Neue", "Lucida Grande",
|
||||
Helvetica, Arial, sans-serif;
|
||||
}
|
||||
|
||||
#topbar-first #nav-notifications-menu li.notification-unseen {
|
||||
|
|
@ -93,7 +105,23 @@ aside .widget, .form-control, .panel, .nav-container, .wall-item-content, .e-con
|
|||
font-size: 12px;
|
||||
}
|
||||
|
||||
.wall-item-content .clearfix .post .comment-container .well .well-sm .wall-item-body .e-content .p-name .media .comment .wall-item-bottom .wall-item-links .wall-item-tags .wall-item-actions .wall-item-responses #hr {
|
||||
.wall-item-content
|
||||
.clearfix
|
||||
.post
|
||||
.comment-container
|
||||
.well
|
||||
.well-sm
|
||||
.wall-item-body
|
||||
.e-content
|
||||
.p-name
|
||||
.media
|
||||
.comment
|
||||
.wall-item-bottom
|
||||
.wall-item-links
|
||||
.wall-item-tags
|
||||
.wall-item-actions
|
||||
.wall-item-responses
|
||||
#hr {
|
||||
box-sizing: border-box;
|
||||
margin-top: 0px;
|
||||
margin-bottom: 0px;
|
||||
|
|
|
|||
|
|
@ -7,31 +7,39 @@
|
|||
<div id="banner" class="hidden-sm hidden-xs">
|
||||
{{* show on remote/visitor connections an other logo which symols that fact*}}
|
||||
{{if $nav.remote}}
|
||||
<a href="{{$baseurl}}"><div id="remote-logo-img" aria-label="{{$home}}"></div></a>
|
||||
<a href="{{$baseurl}}">
|
||||
<div id="remote-logo-img" aria-label="{{$home}}"></div>
|
||||
</a>
|
||||
{{else}}
|
||||
{{* #logo-img is the the placeholder to insert a mask (friendica logo) into this div
|
||||
For Firefox we have to call the paths of the mask (look at the bottom of this file).
|
||||
Because for FF we need relative paths we apply them with js after the page is loaded (look at theme.js *}}
|
||||
<a href="{{$baseurl}}"><div id="logo-img" aria-label="{{$home}}"></div></a>
|
||||
<a href="{{$baseurl}}">
|
||||
<div id="logo-img" aria-label="{{$home}}"></div>
|
||||
</a>
|
||||
{{/if}}
|
||||
</div>
|
||||
</header>
|
||||
<nav id="topbar-first" class="topbar">
|
||||
<div class="container">
|
||||
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 no-padding"><!-- div for navbar width-->
|
||||
<div class="col-lg-12 col-md-12 col-sm-12 col-xs-12 no-padding">
|
||||
<!-- div for navbar width-->
|
||||
<!-- Brand and toggle get grouped for better mobile display -->
|
||||
<div class="topbar-nav" role="navigation">
|
||||
|
||||
{{* Buttons for the mobile view *}}
|
||||
<button type="button" class="navbar-toggle collapsed pull-right" data-toggle="offcanvas" data-target="#myNavmenu" aria-controls="myNavmenu" aria-haspopup="true">
|
||||
<button type="button" class="navbar-toggle collapsed pull-right" data-toggle="offcanvas"
|
||||
data-target="#myNavmenu" aria-controls="myNavmenu" aria-haspopup="true">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<i class="fa fa-ellipsis-v fa-fw fa-lg" aria-hidden="true"></i>
|
||||
</button>
|
||||
<button type="button" class="navbar-toggle collapsed pull-right" data-toggle="collapse" data-target="#search-mobile" aria-expanded="false" aria-controls="search-mobile">
|
||||
<button type="button" class="navbar-toggle collapsed pull-right" data-toggle="collapse"
|
||||
data-target="#search-mobile" aria-expanded="false" aria-controls="search-mobile">
|
||||
<span class="sr-only">Toggle Search</span>
|
||||
<i class="fa fa-search fa-fw fa-lg" aria-hidden="true" style="color:#FFF;"></i>
|
||||
</button>
|
||||
<button type="button" class="navbar-toggle collapsed pull-left visible-sm visible-xs" data-toggle="offcanvas" data-target="aside" aria-haspopup="true">
|
||||
<button type="button" class="navbar-toggle collapsed pull-left visible-sm visible-xs"
|
||||
data-toggle="offcanvas" data-target="aside" aria-haspopup="true">
|
||||
<span class="sr-only">Toggle navigation</span>
|
||||
<i class="fa fa-ellipsis-v fa-fw fa-lg" aria-hidden="true"></i>
|
||||
</button>
|
||||
|
|
@ -40,54 +48,77 @@
|
|||
<ul class="nav navbar-left" role="menubar">
|
||||
{{if $nav.network}}
|
||||
<li class="nav-segment">
|
||||
<a accesskey="n" class="nav-menu {{$sel.network}}" href="{{$nav.network.0}}" data-toggle="tooltip" aria-label="{{$nav.network.3}}" title="{{$nav.network.3}}"><i class="fa fa-lg fa-th fa-fw" aria-hidden="true"></i><span id="net-update" class="nav-network-badge badge nav-notification"></span></a>
|
||||
<a accesskey="n" class="nav-menu {{$sel.network}}" href="{{$nav.network.0}}"
|
||||
data-toggle="tooltip" aria-label="{{$nav.network.3}}" title="{{$nav.network.3}}"><i
|
||||
class="fa fa-lg fa-th fa-fw" aria-hidden="true"></i><span id="net-update"
|
||||
class="nav-network-badge badge nav-notification"></span></a>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{if $nav.home}}
|
||||
<li class="nav-segment">
|
||||
<a accesskey="p" class="nav-menu {{$sel.home}}" href="{{$nav.home.0}}" data-toggle="tooltip" aria-label="{{$nav.home.3}}" title="{{$nav.home.3}}"><i class="fa fa-lg fa-home fa-fw" aria-hidden="true"></i><span id="home-update" class="nav-home-badge badge nav-notification"></span></a>
|
||||
<a accesskey="p" class="nav-menu {{$sel.home}}" href="{{$nav.home.0}}" data-toggle="tooltip"
|
||||
aria-label="{{$nav.home.3}}" title="{{$nav.home.3}}"><i class="fa fa-lg fa-home fa-fw"
|
||||
aria-hidden="true"></i><span id="home-update"
|
||||
class="nav-home-badge badge nav-notification"></span></a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{if $nav.community}}
|
||||
<li class="nav-segment">
|
||||
<a accesskey="c" class="nav-menu {{$sel.community}}" href="{{$nav.community.0}}" data-toggle="tooltip" aria-label="{{$nav.community.3}}" title="{{$nav.community.3}}"><i class="fa fa-lg fa-bullseye fa-fw" aria-hidden="true"></i></a>
|
||||
<a accesskey="c" class="nav-menu {{$sel.community}}" href="{{$nav.community.0}}"
|
||||
data-toggle="tooltip" aria-label="{{$nav.community.3}}" title="{{$nav.community.3}}"><i
|
||||
class="fa fa-lg fa-bullseye fa-fw" aria-hidden="true"></i></a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{if $nav.messages}}
|
||||
<li class="nav-segment hidden-xs">
|
||||
<a accesskey="m" id="nav-messages-link" href="{{$nav.messages.0}}" data-toggle="tooltip" aria-label="{{$nav.messages.1}}" title="{{$nav.messages.1}}" class="nav-menu {{$sel.messages}}"><i class="fa fa-envelope fa-lg fa-fw" aria-hidden="true"></i><span id="mail-update" class="nav-mail-badge badge nav-notification"></span></a>
|
||||
<a accesskey="m" id="nav-messages-link" href="{{$nav.messages.0}}" data-toggle="tooltip"
|
||||
aria-label="{{$nav.messages.1}}" title="{{$nav.messages.1}}"
|
||||
class="nav-menu {{$sel.messages}}"><i class="fa fa-envelope fa-lg fa-fw"
|
||||
aria-hidden="true"></i><span id="mail-update"
|
||||
class="nav-mail-badge badge nav-notification"></span></a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{if $nav.events}}
|
||||
<li class="nav-segment hidden-xs">
|
||||
<a accesskey="e" id="nav-events-link" href="{{$nav.events.0}}" data-toggle="tooltip" aria-label="{{$nav.events.1}}" title="{{$nav.events.1}}" class="nav-menu"><i class="fa fa-lg fa-calendar fa-fw"></i></a>
|
||||
<a accesskey="e" id="nav-events-link" href="{{$nav.events.0}}" data-toggle="tooltip"
|
||||
aria-label="{{$nav.events.1}}" title="{{$nav.events.1}}" class="nav-menu"><i
|
||||
class="fa fa-lg fa-calendar fa-fw"></i></a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{if $nav.contacts}}
|
||||
<li class="nav-segment hidden-xs">
|
||||
<a accesskey="k" id="nav-contacts-link" href="{{$nav.contacts.0}}" data-toggle="tooltip" aria-label="{{$nav.contacts.1}}" title="{{$nav.contacts.1}}"class="nav-menu {{$sel.contacts}} {{$nav.contacts.2}}"><i class="fa fa-users fa-lg fa-fw"></i></a>
|
||||
<a accesskey="k" id="nav-contacts-link" href="{{$nav.contacts.0}}" data-toggle="tooltip"
|
||||
aria-label="{{$nav.contacts.1}}" title="{{$nav.contacts.1}}"
|
||||
class="nav-menu {{$sel.contacts}} {{$nav.contacts.2}}"><i
|
||||
class="fa fa-users fa-lg fa-fw"></i></a>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{* The notifications dropdown *}}
|
||||
{{if $nav.notifications}}
|
||||
<li id="nav-notification" class="nav-segment dropdown" role="presentation">
|
||||
<button id="nav-notifications-menu-btn" class="btn-link dropdown-toggle" data-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false" aria-controls="nav-notifications-menu">
|
||||
<button id="nav-notifications-menu-btn" class="btn-link dropdown-toggle" data-toggle="dropdown"
|
||||
type="button" aria-haspopup="true" aria-expanded="false"
|
||||
aria-controls="nav-notifications-menu">
|
||||
<span id="notification-update" class="nav-notification-badge badge nav-notification"></span>
|
||||
<i class="fa fa-bell fa-lg" aria-label="{{$nav.notifications.1}}"></i>
|
||||
</button>
|
||||
{{* The notifications dropdown menu. There are two parts of menu. The second is at the bottom of this file. It is loaded via js. Look at nav-notifications-template *}}
|
||||
<ul id="nav-notifications-menu" class="dropdown-menu menu-popup" role="menu" aria-labelledby="nav-notifications-menu-btn">
|
||||
<ul id="nav-notifications-menu" class="dropdown-menu menu-popup" role="menu"
|
||||
aria-labelledby="nav-notifications-menu-btn">
|
||||
{{* the following list entry must have the id "nav-notificaionts-mark-all". Without it this isn't visable. ....strange behavior :-/ *}}
|
||||
<li role="presentation" id="nav-notifications-mark-all" class="dropdown-header">
|
||||
<div class="arrow"></div>
|
||||
{{$nav.notifications.1}}
|
||||
<div class="dropdown-header-link">
|
||||
<button role="menuitem" type="button" class="btn-link" onclick="notificationMarkAll();" data-toggle="tooltip" aria-label="{{$nav.notifications.mark.3}}" title="{{$nav.notifications.mark.3}}">{{$nav.notifications.mark.1}}</button>
|
||||
<button role="menuitem" type="button" class="btn-link"
|
||||
onclick="notificationMarkAll();" data-toggle="tooltip"
|
||||
aria-label="{{$nav.notifications.mark.3}}"
|
||||
title="{{$nav.notifications.mark.3}}">{{$nav.notifications.mark.1}}</button>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
|
|
@ -112,8 +143,11 @@
|
|||
<form class="navbar-form" role="search" method="get" action="{{$nav.search.0}}">
|
||||
<!-- <img class="hidden-xs" src="{{$nav.userinfo.icon}}" alt="{{$nav.userinfo.name}}" style="max-width:33px; max-height:33px; min-width:33px; min-height:33px; width:33px; height:33px;"> -->
|
||||
<div class="form-group form-group-search">
|
||||
<input accesskey="s" id="nav-search-input-field" class="form-control form-search" type="text" name="q" data-toggle="tooltip" title="{{$search_hint}}" placeholder="{{$nav.search.1}}">
|
||||
<button class="btn btn-default btn-sm form-button-search" type="submit">{{$nav.search.1}}</button>
|
||||
<input accesskey="s" id="nav-search-input-field" class="form-control form-search"
|
||||
type="text" name="q" data-toggle="tooltip" title="{{$search_hint}}"
|
||||
placeholder="{{$nav.search.1}}">
|
||||
<button class="btn btn-default btn-sm form-button-search"
|
||||
type="submit">{{$nav.search.1}}</button>
|
||||
</div>
|
||||
</form>
|
||||
</li>
|
||||
|
|
@ -122,7 +156,9 @@
|
|||
{{* The user dropdown menu *}}
|
||||
{{if $nav.userinfo}}
|
||||
<li id="nav-user-linkmenu" class="dropdown account nav-menu hidden-xs">
|
||||
<button accesskey="u" id="main-menu" class="btn-link dropdown-toggle nav-avatar" data-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false" aria-controls="nav-user-menu">
|
||||
<button accesskey="u" id="main-menu" class="btn-link dropdown-toggle nav-avatar"
|
||||
data-toggle="dropdown" type="button" aria-haspopup="true" aria-expanded="false"
|
||||
aria-controls="nav-user-menu">
|
||||
<div aria-hidden="true" class="user-title pull-left hidden-xs hidden-sm hidden-md">
|
||||
<strong>{{$nav.userinfo.name}}</strong><br>
|
||||
{{if $nav.remote}}<span class="trunctate">{{$nav.remote}}</span>{{/if}}
|
||||
|
|
@ -133,52 +169,91 @@
|
|||
</button>
|
||||
|
||||
{{* The list of available usermenu links *}}
|
||||
<ul id="nav-user-menu" class="dropdown-menu pull-right menu-popup" role="menu" aria-labelledby="main-menu">
|
||||
{{if $nav.remote}}{{if $nav.sitename}}
|
||||
<ul id="nav-user-menu" class="dropdown-menu pull-right menu-popup" role="menu"
|
||||
aria-labelledby="main-menu">
|
||||
{{if $nav.remote}}
|
||||
{{if $nav.sitename}}
|
||||
<li id="nav-sitename" role="menuitem">{{$nav.sitename}}</li>
|
||||
<li role="presentation" class="divider"></li>
|
||||
{{/if}}{{/if}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{foreach $nav.usermenu as $usermenu}}
|
||||
<li role="presentation"><a role="menuitem" class="{{$usermenu.2}}" href="{{$usermenu.0}}" title="{{$usermenu.3}}">{{$usermenu.1}}</a></li>
|
||||
<li role="presentation"><a role="menuitem" class="{{$usermenu.2}}" href="{{$usermenu.0}}"
|
||||
title="{{$usermenu.3}}">{{$usermenu.1}}</a></li>
|
||||
{{/foreach}}
|
||||
<li role="presentation" class="divider"></li>
|
||||
{{if $nav.notifications}}
|
||||
<li role="presentation"><a role="menuitem" href="{{$nav.notifications.all.0}}" title="{{$nav.notifications.1}}"><i class="fa fa-bell fa-fw" aria-hidden="true"></i> {{$nav.notifications.1}}</a></li>
|
||||
<li role="presentation"><a role="menuitem" href="{{$nav.notifications.all.0}}"
|
||||
title="{{$nav.notifications.1}}"><i class="fa fa-bell fa-fw" aria-hidden="true"></i>
|
||||
{{$nav.notifications.1}}</a></li>
|
||||
{{/if}}
|
||||
{{if $nav.messages}}
|
||||
<li role="presentation"><a role="menuitem" class="nav-commlink {{$nav.messages.2}} {{$sel.messages}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" ><i class="fa fa-envelope fa-fw" aria-hidden="true"></i> {{$nav.messages.1}} <span id="mail-update-li" class="nav-mail-badge badge nav-notification"></span></a></li>
|
||||
<li role="presentation"><a role="menuitem"
|
||||
class="nav-commlink {{$nav.messages.2}} {{$sel.messages}}"
|
||||
href="{{$nav.messages.0}}" title="{{$nav.messages.3}}"><i
|
||||
class="fa fa-envelope fa-fw" aria-hidden="true"></i> {{$nav.messages.1}} <span
|
||||
id="mail-update-li" class="nav-mail-badge badge nav-notification"></span></a>
|
||||
</li>
|
||||
{{/if}}
|
||||
<li role="presentation" class="divider"></li>
|
||||
{{if $nav.contacts}}
|
||||
<li role="presentation"><a role="menuitem" id="nav-menu-contacts-link" class="nav-link {{$nav.contacts.2}}" href="{{$nav.contacts.0}}" title="{{$nav.contacts.3}}"><i class="fa fa-users fa-fw" aria-hidden="true"></i> {{$nav.contacts.1}}</a></li>
|
||||
<li role="presentation"><a role="menuitem" id="nav-menu-contacts-link"
|
||||
class="nav-link {{$nav.contacts.2}}" href="{{$nav.contacts.0}}"
|
||||
title="{{$nav.contacts.3}}"><i class="fa fa-users fa-fw" aria-hidden="true"></i>
|
||||
{{$nav.contacts.1}}</a></li>
|
||||
{{/if}}
|
||||
{{if $nav.delegation}}
|
||||
<li role="presentation"><a role="menuitem" id="nav-delegation-link" class="nav-commlink {{$nav.delegation.2}} {{$sel.delegation}}" href="{{$nav.delegation.0}}" title="{{$nav.delegation.3}}"><i class="fa fa-flag fa-fw" aria-hidden="true"></i> {{$nav.delegation.1}}</a></li>
|
||||
<li role="presentation"><a role="menuitem" id="nav-delegation-link"
|
||||
class="nav-commlink {{$nav.delegation.2}} {{$sel.delegation}}"
|
||||
href="{{$nav.delegation.0}}" title="{{$nav.delegation.3}}"><i
|
||||
class="fa fa-flag fa-fw" aria-hidden="true"></i> {{$nav.delegation.1}}</a></li>
|
||||
{{/if}}
|
||||
<li role="presentation"><a role="menuitem" id="nav-directory-link" class="nav-link {{$nav.directory.2}}" href="{{$nav.directory.0}}" title="{{$nav.directory.3}}"><i class="fa fa-sitemap fa-fw" aria-hidden="true"></i>{{$nav.directory.1}}</a></li>
|
||||
<li role="presentation"><a role="menuitem" id="nav-directory-link"
|
||||
class="nav-link {{$nav.directory.2}}" href="{{$nav.directory.0}}"
|
||||
title="{{$nav.directory.3}}"><i class="fa fa-sitemap fa-fw"
|
||||
aria-hidden="true"></i>{{$nav.directory.1}}</a></li>
|
||||
<li role="presentation" class="divider"></li>
|
||||
{{if $nav.apps}}
|
||||
<li role="presentation"><a role="menuitem" id="nav-apps-link" class="nav-link {{$nav.apps.2}}" href="{{$nav.apps.0}}" title="{{$nav.apps.3}}" ><i class="fa fa-puzzle-piece fa-fw" aria-hidden="true"></i> {{$nav.apps.1}}</a>
|
||||
<li role="presentation"><a role="menuitem" id="nav-apps-link"
|
||||
class="nav-link {{$nav.apps.2}}" href="{{$nav.apps.0}}" title="{{$nav.apps.3}}"><i
|
||||
class="fa fa-puzzle-piece fa-fw" aria-hidden="true"></i> {{$nav.apps.1}}</a>
|
||||
<li role="presentation" class="divider"></li>
|
||||
{{/if}}
|
||||
{{if $nav.help}}
|
||||
<li role="presentation"><a role="menuitem" id="nav-help-link" class="nav-link {{$nav.help.2}}" href="{{$nav.help.0}}" title="{{$nav.help.3}}" ><i class="fa fa-question-circle fa-fw" aria-hidden="true"></i> {{$nav.help.1}}</a></li>
|
||||
<li role="presentation"><a role="menuitem" id="nav-help-link"
|
||||
class="nav-link {{$nav.help.2}}" href="{{$nav.help.0}}" title="{{$nav.help.3}}"><i
|
||||
class="fa fa-question-circle fa-fw" aria-hidden="true"></i> {{$nav.help.1}}</a>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{if $nav.settings}}
|
||||
<li role="presentation"><a role="menuitem" id="nav-settings-link" class="nav-link {{$nav.settings.2}}" href="{{$nav.settings.0}}" title="{{$nav.settings.3}}"><i class="fa fa-cog fa-fw" aria-hidden="true"></i> {{$nav.settings.1}}</a></li>
|
||||
<li role="presentation"><a role="menuitem" id="nav-settings-link"
|
||||
class="nav-link {{$nav.settings.2}}" href="{{$nav.settings.0}}"
|
||||
title="{{$nav.settings.3}}"><i class="fa fa-cog fa-fw" aria-hidden="true"></i>
|
||||
{{$nav.settings.1}}</a></li>
|
||||
{{/if}}
|
||||
{{if $nav.admin}}
|
||||
<li role="presentation"><a accesskey="a" role="menuitem" id="nav-admin-link" class="nav-link {{$nav.admin.2}}" href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" ><i class="fa fa-user-secret fa-fw" aria-hidden="true"></i> {{$nav.admin.1}}</a></li>
|
||||
<li role="presentation"><a accesskey="a" role="menuitem" id="nav-admin-link"
|
||||
class="nav-link {{$nav.admin.2}}" href="{{$nav.admin.0}}"
|
||||
title="{{$nav.admin.3}}"><i class="fa fa-user-secret fa-fw" aria-hidden="true"></i>
|
||||
{{$nav.admin.1}}</a></li>
|
||||
{{/if}}
|
||||
{{if $nav.tos}}
|
||||
<li role="presentation" class="divider"></li>
|
||||
<li role="presentation"><a role="menuitem" id="nav-tos-link" class="nav-link {{$nav.tos.2}}" href="{{$nav.tos.0}}" title="{{$nav.tos.3}}" ><i class="fa fa-file-text" aria-hidden="true"></i> {{$nav.tos.1}}</a></li>
|
||||
<li role="presentation"><a role="menuitem" id="nav-tos-link" class="nav-link {{$nav.tos.2}}"
|
||||
href="{{$nav.tos.0}}" title="{{$nav.tos.3}}"><i class="fa fa-file-text"
|
||||
aria-hidden="true"></i> {{$nav.tos.1}}</a></li>
|
||||
{{/if}}
|
||||
<li role="presentation" class="divider"></li>
|
||||
{{if $nav.logout}}
|
||||
<li role="presentation"><a role="menuitem" id="nav-logout-link" class="nav-link {{$nav.logout.2}}" href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" ><i class="fa fa fa-sign-out fa-fw" aria-hidden="true"></i> {{$nav.logout.1}}</a></li>
|
||||
<li role="presentation"><a role="menuitem" id="nav-logout-link"
|
||||
class="nav-link {{$nav.logout.2}}" href="{{$nav.logout.0}}"
|
||||
title="{{$nav.logout.3}}"><i class="fa fa fa-sign-out fa-fw" aria-hidden="true"></i>
|
||||
{{$nav.logout.1}}</a></li>
|
||||
{{else}}
|
||||
<li role="presentation"><a role="menuitem" id="nav-login-link" class="nav-login-link {{$nav.login.2}}" href="{{$nav.login.0}}" title="{{$nav.login.3}}" ><i class="fa fa-power-off fa-fw" aria-hidden="true"></i> {{$nav.login.1}}</a></li>
|
||||
<li role="presentation"><a role="menuitem" id="nav-login-link"
|
||||
class="nav-login-link {{$nav.login.2}}" href="{{$nav.login.0}}"
|
||||
title="{{$nav.login.3}}"><i class="fa fa-power-off fa-fw" aria-hidden="true"></i>
|
||||
{{$nav.login.1}}</a></li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
</li>{{* End of userinfo dropdown menu *}}
|
||||
|
|
@ -194,39 +269,67 @@
|
|||
<div id="myNavmenu" class="navmenu navmenu-default navmenu-fixed-right offcanvas">
|
||||
<div class="nav-container">
|
||||
<ul role="menu" class="list-group">
|
||||
{{if $nav.remote}}{{if $nav.sitename}}
|
||||
{{if $nav.remote}}
|
||||
{{if $nav.sitename}}
|
||||
<li role="menuitem" class="nav-sitename list-group-item">{{$nav.sitename}}</li>
|
||||
{{/if}}{{/if}}
|
||||
<li role="presentation" class="list-group-item"><img src="{{$nav.userinfo.icon}}" alt="{{$nav.userinfo.name}}" style="max-width:15px; max-height:15px; min-width:15px; min-height:15px; width:15px; height:15px;"> {{$nav.userinfo.name}}{{if $nav.remote}} ({{$nav.remote}}){{/if}}</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
<li role="presentation" class="list-group-item"><img src="{{$nav.userinfo.icon}}"
|
||||
alt="{{$nav.userinfo.name}}"
|
||||
style="max-width:15px; max-height:15px; min-width:15px; min-height:15px; width:15px; height:15px;">
|
||||
{{$nav.userinfo.name}}{{if $nav.remote}} ({{$nav.remote}}){{/if}}</li>
|
||||
{{foreach $nav.usermenu as $usermenu}}
|
||||
<li role="menuitem" class="list-group-item"><a role="menuitem" class="{{$usermenu.2}}" href="{{$usermenu.0}}" title="{{$usermenu.3}}">{{$usermenu.1}}</a></li>
|
||||
<li role="menuitem" class="list-group-item"><a role="menuitem" class="{{$usermenu.2}}"
|
||||
href="{{$usermenu.0}}" title="{{$usermenu.3}}">{{$usermenu.1}}</a></li>
|
||||
{{/foreach}}
|
||||
{{if $nav.notifications}}
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem" href="{{$nav.notifications.all.0}}" title="{{$nav.notifications.1}}"><i class="fa fa-bell fa-fw" aria-hidden="true"></i> {{$nav.notifications.1}}</a></li>
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem"
|
||||
href="{{$nav.notifications.all.0}}" title="{{$nav.notifications.1}}"><i
|
||||
class="fa fa-bell fa-fw" aria-hidden="true"></i> {{$nav.notifications.1}}</a></li>
|
||||
{{/if}}
|
||||
{{if $nav.contacts}}
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem" class="nav-link {{$nav.contacts.2}}" href="{{$nav.contacts.0}}" title="{{$nav.contacts.3}}"><i class="fa fa-users fa-fw" aria-hidden="true"></i> {{$nav.contacts.1}}</a></li>
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem"
|
||||
class="nav-link {{$nav.contacts.2}}" href="{{$nav.contacts.0}}"
|
||||
title="{{$nav.contacts.3}}"><i class="fa fa-users fa-fw" aria-hidden="true"></i>
|
||||
{{$nav.contacts.1}}</a></li>
|
||||
{{/if}}
|
||||
{{if $nav.messages}}
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem" class="nav-link {{$nav.messages.2}} {{$sel.messages}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" ><i class="fa fa-envelope fa-fw" aria-hidden="true"></i> {{$nav.messages.1}}</a></li>
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem"
|
||||
class="nav-link {{$nav.messages.2}} {{$sel.messages}}" href="{{$nav.messages.0}}"
|
||||
title="{{$nav.messages.3}}"><i class="fa fa-envelope fa-fw" aria-hidden="true"></i>
|
||||
{{$nav.messages.1}}</a></li>
|
||||
{{/if}}
|
||||
{{if $nav.delegation}}
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem" class="nav-commlink {{$nav.delegation.2}} {{$sel.delegation}}" href="{{$nav.delegation.0}}" title="{{$nav.delegation.3}}"><i class="fa fa-flag fa-fw" aria-hidden="true"></i> {{$nav.delegation.1}}</a></li>
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem"
|
||||
class="nav-commlink {{$nav.delegation.2}} {{$sel.delegation}}"
|
||||
href="{{$nav.delegation.0}}" title="{{$nav.delegation.3}}"><i class="fa fa-flag fa-fw"
|
||||
aria-hidden="true"></i> {{$nav.delegation.1}}</a></li>
|
||||
{{/if}}
|
||||
{{if $nav.settings}}
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem" class="nav-link {{$nav.settings.2}}" href="{{$nav.settings.0}}" title="{{$nav.settings.3}}"><i class="fa fa-cog fa-fw" aria-hidden="true"></i> {{$nav.settings.1}}</a></li>
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem"
|
||||
class="nav-link {{$nav.settings.2}}" href="{{$nav.settings.0}}"
|
||||
title="{{$nav.settings.3}}"><i class="fa fa-cog fa-fw" aria-hidden="true"></i>
|
||||
{{$nav.settings.1}}</a></li>
|
||||
{{/if}}
|
||||
{{if $nav.admin}}
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem" class="nav-link {{$nav.admin.2}}" href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" ><i class="fa fa-user-secret fa-fw" aria-hidden="true"></i> {{$nav.admin.1}}</a></li>
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem"
|
||||
class="nav-link {{$nav.admin.2}}" href="{{$nav.admin.0}}" title="{{$nav.admin.3}}"><i
|
||||
class="fa fa-user-secret fa-fw" aria-hidden="true"></i> {{$nav.admin.1}}</a></li>
|
||||
{{/if}}
|
||||
{{if $nav.logout}}
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem" class="nav-link {{$nav.logout.2}}" href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" ><i class="fa fa fa-sign-out fa-fw" aria-hidden="true"></i> {{$nav.logout.1}}</a></li>
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem"
|
||||
class="nav-link {{$nav.logout.2}}" href="{{$nav.logout.0}}" title="{{$nav.logout.3}}"><i
|
||||
class="fa fa fa-sign-out fa-fw" aria-hidden="true"></i> {{$nav.logout.1}}</a></li>
|
||||
{{else}}
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem" class="nav-login-link {{$nav.login.2}}" href="{{$nav.login.0}}" title="{{$nav.login.3}}" ><i class="fa fa-power-off fa-fw" aria-hidden="true"></i> {{$nav.login.1}}</a></li>
|
||||
<li role="presentation" class="list-group-item"><a role="menuitem"
|
||||
class="nav-login-link {{$nav.login.2}}" href="{{$nav.login.0}}"
|
||||
title="{{$nav.login.3}}"><i class="fa fa-power-off fa-fw" aria-hidden="true"></i>
|
||||
{{$nav.login.1}}</a></li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
</div><!--/.sidebar-offcanvas-->
|
||||
</div>
|
||||
<!--/.sidebar-offcanvas-->
|
||||
</div><!-- end of div for navbar width-->
|
||||
</div><!-- /.container -->
|
||||
</nav><!-- /.navbar -->
|
||||
|
|
@ -238,21 +341,24 @@
|
|||
<nav class="navbar navbar-fixed-top">
|
||||
<div class="container">
|
||||
<div class="navbar-header pull-left">
|
||||
<a class="navbar-brand" href="#"><div id="navbrand-container">
|
||||
<a class="navbar-brand" href="#">
|
||||
<div id="navbrand-container">
|
||||
<div id="logo-img"></div>
|
||||
<div id="navbar-brand-text"> Friendica</div></div>
|
||||
<div id="navbar-brand-text"> Friendica</div>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="pull-right">
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li role="presentation">
|
||||
<a href="login?mode=none" id="nav-login"
|
||||
data-toggle="tooltip" aria-label="{{$nav.login.3}}" title="{{$nav.login.3}}">
|
||||
<a href="login?mode=none" id="nav-login" data-toggle="tooltip" aria-label="{{$nav.login.3}}"
|
||||
title="{{$nav.login.3}}">
|
||||
<i class="fa fa-sign-in fa-fw" aria-hidden="true"></i>
|
||||
</a>
|
||||
</li>
|
||||
<li role="presentation">
|
||||
<a href="{{$nav.about.0}}" id="nav-about" data-toggle="tooltip" aria-label="{{$nav.about.3}}" title="{{$nav.about.3}}">
|
||||
<a href="{{$nav.about.0}}" id="nav-about" data-toggle="tooltip" aria-label="{{$nav.about.3}}"
|
||||
title="{{$nav.about.3}}">
|
||||
<i class="fa fa-info fa-fw" aria-hidden="true"></i>
|
||||
</a>
|
||||
</li>
|
||||
|
|
@ -269,7 +375,8 @@
|
|||
<form class="navbar-form" role="search" method="get" action="{{$nav.search.0}}">
|
||||
<!-- <img class="hidden-xs" src="{{$nav.userinfo.icon}}" alt="{{$nav.userinfo.name}}" style="max-width:33px; max-height:33px; min-width:33px; min-height:33px; width:33px; height:33px;"> -->
|
||||
<div class="form-group form-group-search">
|
||||
<input id="nav-search-input-field-mobile" class="form-control form-search" type="text" name="q" data-toggle="tooltip" title="{{$search_hint}}" placeholder="{{$nav.search.1}}">
|
||||
<input id="nav-search-input-field-mobile" class="form-control form-search" type="text" name="q"
|
||||
data-toggle="tooltip" title="{{$search_hint}}" placeholder="{{$nav.search.1}}">
|
||||
<button class="btn btn-default btn-sm form-button-search" type="submit">{{$nav.search.1}}</button>
|
||||
</div>
|
||||
</form>
|
||||
|
|
@ -290,7 +397,8 @@
|
|||
<ul id="nav-notifications-template" class="media-list" style="display:none;" rel="template">
|
||||
<li class="{4} notif-entry">
|
||||
<div class="notif-entry-wrapper media">
|
||||
<div class="notif-photo-wrapper media-object pull-left" aria-hidden="true"><a href="{6}" class="userinfo click-card" tabIndex="-1"><img data-src="{1}"></a></div>
|
||||
<div class="notif-photo-wrapper media-object pull-left" aria-hidden="true"><a href="{6}"
|
||||
class="userinfo click-card" tabIndex="-1"><img data-src="{1}"></a></div>
|
||||
<a href="{0}" class="notif-desc-wrapper media-body">
|
||||
{2}
|
||||
<div><time class="notif-when time" data-toggle="tooltip" title="{5}">{3}</time></div>
|
||||
|
|
@ -305,7 +413,9 @@ The result is a friendica logo in the user icon color.*}}
|
|||
<svg id="friendica-logo-mask" x="0px" y="0px" width="0px" height="0px" viewBox="0 0 250 250">
|
||||
<defs>
|
||||
<mask id="logo-mask" maskUnits="objectBoundingBox" maskContentUnits="objectBoundingBox">
|
||||
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:#ffffff;" d="M0.796,0L0.172,0.004C0.068,0.008,0.008,0.068,0,0.172V0.824c0,0.076,0.06,0.16,0.168,0.172h0.652c0.072,0,0.148-0.06,0.172-0.144V0.14C1,0.06,0.908,0,0.796,0zM0.812,0.968H0.36v-0.224h0.312v-0.24H0.36V0.3h0.316l0-0.264l0.116-0c0.088,0,0.164,0.044,0.164,0.096l0,0.696C0.96,0.912,0.876,0.968,0.812,0.968z"></path>
|
||||
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:#ffffff;"
|
||||
d="M0.796,0L0.172,0.004C0.068,0.008,0.008,0.068,0,0.172V0.824c0,0.076,0.06,0.16,0.168,0.172h0.652c0.072,0,0.148-0.06,0.172-0.144V0.14C1,0.06,0.908,0,0.796,0zM0.812,0.968H0.36v-0.224h0.312v-0.24H0.36V0.3h0.316l0-0.264l0.116-0c0.088,0,0.164,0.044,0.164,0.096l0,0.696C0.96,0.912,0.876,0.968,0.812,0.968z">
|
||||
</path>
|
||||
</mask>
|
||||
</defs>
|
||||
</svg>
|
||||
Loading…
Add table
Add a link
Reference in a new issue