This commit is contained in:
Daisuke 2020-04-09 14:31:48 -05:00
parent c16f58c013
commit 869f09062a
69 changed files with 6568 additions and 39 deletions

791
css/mobile.css Normal file
View File

@ -0,0 +1,791 @@
/* overall */
* {
font-family: arial, helvetica, sans-serif;
font-size: 12pt;
}
a {
text-decoration:none;
}
h1 {
font-size:20px;
}
p {
margin: 0px !important;
}
body {
background: #203960;
margin: 0;
}
ul{
padding:0px;
margin:0px;
}
select{
padding:5px;
margin-top:5px;
border:0px;
color:darkgray;
font-weight:bold;
font-family:fontello, sans-serif;
background-color:white;
}
option{
font-family:fontello, sans-serif;
}
label {
color: gray;
margin-left: 5px;
margin-right: 5px;
cursor: pointer;
}
input[type="radio"]:checked+label {
color: black;
}
input[type="checkbox"]:checked+label {
color: red;
}
input[type="file"], .nloadmore {
cursor:pointer;
}
textarea {
resize: none;
}
/* omnipresent */
.desktop{
display:none !important;
}
.link {
color: steelblue;
text-decoration: none;
}
.external:after{
font-family:fontello;
font-weight:normal;
content: ' ';
}
/* basic structure */
.topbar {
background-color: #14243D;
width: 100vw;
height: 45px;
margin: 0;
position: relative;
}
.wrapper {
width: 100vw;
clear: both;
display: inline-block;
text-align: center;
}
.container {
width: 100% !important;
display: inline-block;
text-align: center;
}
#posts {
width: 100% !important;
}
.content {
width: 100%;
display: inline-block;
margin:0px !important;
text-align: left;
word-break: break-all;
}
aside {
display:none !important;
margin-top: 5px;
width: 280px;
float: left;
background-color: rgba(255, 255, 255, 0.2);
display: inline-block;
border-radius: 3px;
box-shadow: 1px 1px 1px black;
}
.gotop {
background-color: rgba(32, 57, 96, 0.5);
width: 30px;
height: 30px;
padding: 5px;
position: fixed;
display: table;
text-align: center;
right: 20px;
bottom: 20px;
border-radius: 10px;
z-index:50;
}
.gotop a {
text-align: center;
display: table-cell;
vertical-align: middle;
color: white;
opacity: 0.7;
font-size: 20px;
}
#hiddenside {
background-color: rgba(255, 255, 255, 0);
position: fixed;
left: 0px;
bottom: 0px;
width: 100vw;
height: auto;
z-index: 99;
}
/* topbar elements */
.mid {
display:none;
}
.topbutton {
vertical-align: middle;
display: table-cell;
line-height: 45px;
height: 100%;
width: 50px;
position: relative;
}
.topicon {
color: white;
text-decoration: none;
display: inline;
font-size: 20px;
}
.badge {
color: white;
text-decoration: none;
}
.alert {
border-radius: 90px;
width: 10px;
height: 10px;
background-color: red;
position: absolute;
right: 15px;
top: 15px;
display: none;
}
#notifications {
background-color:white;
position: fixed;
left: 0px;
top: 45px;
width: 100vw;
max-height: 400px;
display: none;
line-height:12px;
overflow-y:scroll;
border-radius:3px;
box-shadow: 1px 1px 1px black;
}
.notif{
width:100%;
height:80px;
display:inline-block;
border-bottom:1px solid lightgray;
text-align:left;
position:relative;
background-color:white;
color:black;
-webkit-box-shadow: inset -6px 73px 100px -117px rgba(209,209,209,1);-moz-box-shadow: inset -6px 73px 100px -117px rgba(209,209,209,1);box-shadow: inset -6px 73px 100px -117px rgba(209,209,209,1);
}
#quicksend {
background-color: #305792;
border-radius: 3px;
border: 1px solid darkgray;
color: white;
font-weight: bold;
}
.notifContents{
margin:10px;
display:flex;
height:60px;
max-width:325px;
}
.new {
background-color:white;
}
/* sidebar */
.side_element {
display:none;
width: 92%;
margin: 10px;
display: inline-block;
text-align: center;
color: lightgray;
}
.side_element a {
color: lightgray;
}
/* posts area elements */
.uploadedImage {
width: 60px;
margin: 10px 0px 10px 10px;
height: 60px;
border: 1px solid #ccc;
display: inline-block;
box-shadow: 3px 3px 3px grey;
float: left;
background-size: cover;
}
.uploadBox {
width: 100%;
display: inline-block;
border-bottom: 1px solid #ddd;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
}
.delpic {
border-radius:90px;
color:red;
background-color:white;
display:inline-block;
cursor:pointer;
}
.toolbar {
width:100%;
height:30px;
display:block;
border-bottom: 1px solid #ddd;
background-color:#eee;
box-shadow: -1px -1px 1px gray inset;
}
.toolbarButton{
width:30px;
height:100%;
border-right: 1px solid #ccc;
display:inline-block;
overflow:hidden;
line-height:30px;
text-align:center;
position:relative;
}
#send {
padding:5px;
background-color:#305792;
border-radius:3px;
border: 1px solid darkgray;
color:white;
font-weight:bold;
margin-top:5px;
}
.formbtn {
background-color:transparent;
border: 0px;
color:#305792;
margin-top:11px;
margin-left:15px;
float:left;
width:20px;
height:20px;
line-height:20px;
text-align:center;
overflow:hidden;
font-size:20px;
}
.formbtn label{
margin:-5px;
color:#305792;
font-size:20px;
}
.element {
width: 90% !important;
clear: both;
display: inline-block;
margin-top: 3px;
}
.profile {
float:left;
background-color:white;
border-radius:5px;
//width:650px;
width:100%;
}
.profileButton{
padding: 5px;
border-radius: 5px;
font-family: fontello, sans-serif;
}
#usermenu .menu {
display: none;
width: 150px;
height: 100px;
background-color: #6B91B6;
position: absolute;
top: 45px;
left: -80px;
transition: 0.4s;
}
#usermenu:hover>.menu,
#usermenu:active>.menu {
display: block;
transition: 0.4s;
}
.postMenu,.listmenu {
cursor: pointer;
position:relative;
}
.postMenu div{
border-radius: 3px;
box-shadow: 1px 1px 2px black;
}
.postMenu li {
margin:0px;
width:100%;
height:35px;
display:block;
text-align:center;
line-height:35px;
}
.postMenu:hover > div{
display:block !important;
}
.postMenu li:hover {
background-color:#203960 !important;
}
.postMenu li a{
color:#203960;
}
.postMenu li:hover a{
color:white;
}
.postMenu ul {
margin:0px;
width:100%;
padding:0px;
}
.profileMenu:hover > div, .listmenu:hover > div{
display:block !important;
}
.listmenu li {
font-family: fontello, sans-serif;
height:30px;
line-height:30px;
text-align:left;
padding-left:12px;
list-style-type: none;
background-color:black;
color:white;
}
.listmenu li:hover {
background-color:white;
color:black;
}
.unblock,.unmute,.block,.mute,.follow,
.unfollow,
.nsfw,
.unnsfw,
.profileMenu,
.listmenu {
background-color: black;
color: white;
cursor: pointer;
}
.mute:hover,.block:hover,.follow:hover,
.nsfw:hover {
background-color: lime;
}
.unmute:hover,.unblock:hover,.unfollow:hover,
.unnsfw:hover{
background-color: crimson !important;
}
.unbookmark{
color: crimson !important;
}
.felem {
margin-left: 10px;
float: left;
}
.unfav {
color: red !important;
}
.unreblog {
color: red !important;
}
.avatar {
display:none;
width: 50px;
background-size: cover;
height: 50px;
float: left;
margin: 15px;
border-radius: 10px;
}
.post,
.loader,
.loadmore,
.rb,
.textonly,
.profile {
width: 100% !important;
background-color: white;
float: left;
text-align: center;
position: relative;
border-radius: 3px;
box-shadow: 1px 1px 2px black;
}
.postform {
display:none;
position:fixed;
width: 100vw !important;
left:0px;
top:45px;
background-color: white;
text-align: center;
border-radius: 3px;
box-shadow: 1px 1px 2px black;
z-index: 99;
}
#postform {
display:none;
}
.postHeader {
width: 100%;
display: inline-block;
height: 40px;
text-align: left;
}
.postHeader *,.post_footer *{
font-size:small;
}
.previewpost {
display: none;
position: absolute;
margin-top: -100px;
width: 400px;
background-color: white;
border: 1px solid darkgray;
box-shadow: 1px 1px 1px rgba(0,0,0,0.5);
border-radius:3px;
}
.user {
position:relative;
}
.userinfo {
display: none;
position: absolute;
left:0px;
top:-198px;
width: 300px;
height: 200px;
background-color: white;
border: 1px solid darkgray;
box-shadow: 1px 1px 1px rgba(0,0,0,0.5);
border-radius:3px;
}
.userinfo_co {
width: 280px;
margin: 10px;
}
.userinfo_he {
width: 300px;
height: 100px;
}
.media {
width: 100%;
display: inline-block;
}
.img {
width: 600px;
text-align: center;
}
.blur {
-webkit-filter: blur(25px) brightness(70%) grayscale(100%);
/* Safari 6.0 - 9.0 */
filter: blur(25px) brightness(70%) grayscale(100%);
opacity: 0.5;
transition: 0.4s;
}
.small {
width: 48% !important;
height: 321px;
line-height: 321px;
background-color: black;
float:left;
margin:2px !important;
}
.smaller {
width: 31% !important;
height: 212px;
line-height: 212px;
background-color: black;
float:left;
margin:2px !important;
}
.icon {
width: 80px !important;
height: 80px !important;
line-height: 80px;
background-color: black;
float:left;
text-align:center;
margin:2px !important;
}
.postbody {
margin: 15px;
}
.post_footer {
width: 630px;
display: table-cell;
clear: both;
padding: 10px;
height: 20px;
text-align: left;
background-color: #eee;
border-radius: 3px;
}
.post_buttons {
font-family: fontello;
float: right;
display: inline-block;
text-align: right;
font-size: 15pt;
color: #404040;
}
.post_buttons a,
.post_buttons span {
font-family: inherit;
text-decoration: none;
color: inherit;
font-size: inherit;
}
.reply {
width: 100%;
background-color: #ddd;
clear: both;
text-align: left;
border-bottom: 1px solid #666;
display: block;
}
.note {
width: 640px;
background-color: #ccc;
float: left;
text-align: left;
border-radius: 5px;
padding: 5px;
}
.button {
padding: 15px;
background-color: white;
float: left;
text-align: center;
border-radius: 5px;
font-size: 20pt;
}
/* pages */
.setting label {
display: block;
width: 40px;
height: 20px;
padding: 5px;
background-color: lightgray;
float: left;
margin: 0px;
text-align: center;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
transition: all 0.3s ease-in-out;
}
.setting input[type="radio"]:checked+label {
color: black;
background-color: #305792;
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
font-weight: bold;
color: white;
}
/* other stuff */
/* <lightbox> */
.lightbox-opened {
/* background-color: #333; */
background-color: rgba(50, 50, 50, 0.85);
cursor: pointer;
height: 100%;
/* left: 0; */
overflow-y: scroll;
position: fixed;
text-align: center;
top: 0;
width: 100%;
z-index:105;
&:before {
background-color: #333;
background-color: rgba(#333, 0.9);
color: #eee;
content: "x";
font-family: sans-serif;
padding: 6px 12px;
position: fixed;
text-transform: uppercase;
}
img {
box-shadow: 0 0 6px 3px #333;
}
}
/*
.lightbox-opened {
//background-color: #333;
background-color: rgba(50, 50, 50, 0.85);
cursor: pointer;
height: 100%;
left: 0;
overflow-y: scroll;
padding: 24px;
position: fixed;
text-align: center;
top: 0;
width: 100%;
&:before {
background-color: #333;
background-color: rgba(#333, 0.9);
color: #eee;
content: "x";
font-family: sans-serif;
padding: 6px 12px;
position: fixed;
text-transform: uppercase;
}
img {
box-shadow: 0 0 6px 3px #333;
}
}
*/
.no-scroll {
overflow: hidden;
}
/* </lightbox> */
.fontello {
font-family: fontello, sans-serif;
}
.loading {
font-family: fontello;
color: black;
content: "\E822";
animation-name: spin;
animation-duration: 5000ms;
animation-iteration-count: infinite;
animation-timing-function: linear;
/* transform: rotate(3deg); */
/* transform: rotate(0.3rad);/ */
/* transform: rotate(3grad); */
/* transform: rotate(.03turn); */
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.disabled {
background-color: black;
}

797
css/style.css Normal file
View File

@ -0,0 +1,797 @@
/* overall */
html {
scroll-behavior: smooth;
}
* {
font-family: arial, helvetica, sans-serif;
font-size: 11pt;
}
a {
color: steelblue;
text-decoration: none;
}
h1 {
font-size:30px;
}
p {
margin: 0px !important;
}
body {
background: #2b475d;
margin: 0;
}
ul{
padding:0px;
margin:0px;
}
select{
padding:5px;
margin-top:5px;
border:0px;
color:darkgray;
font-weight:bold;
font-family:fontello, sans-serif;
background-color:white;
}
option{
font-family:fontello, sans-serif;
}
label {
color: gray;
margin-left: 5px;
margin-right: 5px;
cursor: pointer;
}
input[type="radio"]:checked+label {
color: black;
}
input[type="checkbox"]:checked+label {
color: red;
}
input[type="file"], .nloadmore {
cursor:pointer;
}
textarea {
resize: none;
}
/* omnipresent */
.mobile {
display:none !important;
}
.link {
color: steelblue;
text-decoration: none;
}
.external:after{
font-family:fontello;
font-weight:normal;
content: ' ';
}
/* basic structure */
.topbar {
background-color: #14243D;
width: 100%;
height: 45px;
margin: 0;
position: relative;
}
.wrapper {
width: 100%;
clear: both;
display: inline-block;
text-align: center;
}
.container {
display: inline-block;
text-align: center;
}
#posts {
width: 800px;
float: left;
}
aside {
margin-top: 5px;
width: 280px;
float: left;
display: inline-block;
}
.gotop {
background-color: rgba(255, 255, 255, 0.5);
width: 30px;
height: 30px;
padding: 5px;
position: fixed;
display: table;
text-align: center;
right: 20px;
bottom: 20px;
border-radius: 10px;
}
.gotop a {
text-align: center;
display: table-cell;
vertical-align: middle;
color: black;
opacity: 0.7;
font-size: 20px;
}
#hiddenside {
background-color: rgba(255, 255, 255, 0);
position: fixed;
right: 10px;
bottom: 115px;
width: 350px;
height: auto;
}
/* topbar elements */
.topbutton {
vertical-align: middle;
display: table-cell;
line-height: 45px;
height: 100%;
width: 50px;
position: relative;
}
.topicon {
color: white;
text-decoration: none;
display: inline;
font-size: 20px;
}
.tiselected {
border-bottom: 2px solid white;
}
.ntbutton {
position:relative;
}
.badge {
color: white;
text-decoration: none;
}
.alert {
border-radius: 90px;
width: 10px;
height: 10px;
background-color: red;
position: absolute;
right: 15px;
top: 15px;
display: none;
}
#notifications {
background-color:white;
position: absolute;
right: -20px;
top: 45px;
width: 350px;
max-height: 500px;
display: none;
line-height:12px;
overflow-y:scroll;
border-radius:3px;
box-shadow: 1px 1px 1px black;
}
.notif{
width:330px;
height:80px;
display:inline-block;
border-bottom:1px solid lightgray;
text-align:left;
position:relative;
background-color:white;
color:black;
-webkit-box-shadow: inset -6px 73px 100px -117px rgba(209,209,209,1);-moz-box-shadow: inset -6px 73px 100px -117px rgba(209,209,209,1);box-shadow: inset -6px 73px 100px -117px rgba(209,209,209,1);
}
#quicksend {
background-color: #305792;
border-radius: 3px;
border: 1px solid darkgray;
color: white;
font-weight: bold;
}
.notifContents{
margin:10px;
display:flex;
height:60px;
max-width:325px;
}
.nloadmore {
display:inline-block;
height:20px;
padding-top:10px;
color:black
}
.new {
background-color:white;
}
/* sidebar */
.side_element {
background-color: #455f78;
border-radius: 3px;
box-shadow: 1px 1px 1px black;
width: 92%;
margin: 10px;
display: inline-block;
text-align: center;
color: lightgray;
}
.side_element li {
font-family: fontello, sans-serif;
height:30px;
line-height:30px;
text-align:left;
padding-left:12px;
list-style-type: none;
}
.side_element li:hover {
background-color: rgba(255, 255, 255, 0.25);
}
.side_element li:active {
background-color: rgba(255, 255, 255, 0.25);
}
.side_element a {
color: lightgray;
}
/* posts area elements */
.uploadedImage {
width: 60px;
margin: 10px 0px 10px 10px;
height: 60px;
border: 1px solid #ccc;
display: inline-block;
box-shadow: 3px 3px 3px grey;
float: left;
background-size: cover;
}
.uploadBox {
width: 100%;
display: inline-block;
border-bottom: 1px solid #ddd;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
}
.delpic {
border-radius:90px;
color:red;
background-color:white;
display:inline-block;
cursor:pointer;
}
.toolbar {
width:100%;
height:30px;
display:block;
border-bottom: 1px solid #ddd;
background-color:#eee;
box-shadow: -1px -1px 1px gray inset;
}
.toolbarButton{
width:30px;
height:100%;
border-right: 1px solid #ccc;
display:inline-block;
line-height:30px;
text-align:center;
position:relative;
}
#send {
padding:5px;
background-color:#305792;
border-radius:3px;
border: 1px solid #305792;
color:white;
font-weight:bold;
margin-top:5px;
float:left;
}
.formbtn {
background-color:transparent;
border: 0px;
color:#305792;
margin-top:11px;
margin-left:15px;
float:left;
width:20px;
height:20px;
line-height:20px;
text-align:center;
overflow:hidden;
font-size:20px;
}
.formbtn label{
margin:-5px;
color:#305792;
font-size:20px;
}
.element {
width: 800px;
clear: both;
display: inline-block;
margin-top: 5px;
}
.profile,.loader {
float:left;
background-color:white;
border-radius:5px;
width:650px;
}
.profileButton{
padding: 5px;
border-radius: 5px;
font-family: fontello, sans-serif;
}
#usermenu .menu {
display: none;
width: 150px;
height: 100px;
background-color: #6B91B6;
position: absolute;
top: 45px;
left: -80px;
transition: 0.4s;
}
#usermenu:hover>.menu,
#usermenu:active>.menu {
display: block;
transition: 0.4s;
}
.postMenu {
cursor: pointer;
position:relative;
}
.postMenu div{
border-radius: 3px;
box-shadow: 1px 1px 2px black;
}
.postMenu li {
margin:0px;
width:100%;
height:35px;
display:block;
text-align:center;
line-height:35px;
}
.postMenu:hover > div{
display:block !important;
}
.postMenu li:hover {
background-color:#203960 !important;
}
.postMenu li a{
color:#203960;
}
.postMenu li:hover a{
color:white;
}
.postMenu ul {
margin:0px;
width:100%;
padding:0px;
}
.profileMenu:hover > div, .listmenu:hover > div{
display:block !important;
}
.listmenu li {
font-family: fontello, sans-serif;
height:30px;
line-height:30px;
text-align:left;
padding-left:12px;
list-style-type: none;
background-color:black;
color:white;
}
.listmenu li:hover {
background-color:white;
color:black;
}
.autl:hover li{
background-color:lightgreen !important;
}
.rutl:hover li{
background-color:crimson !important;
}
.unblock,.unmute,.block,.mute,.follow,
.unfollow,
.nsfw,
.unnsfw,
.profileMenu,
.listmenu {
background-color: black;
color: white;
cursor: pointer;
}
.mute:hover,.block:hover,.follow:hover,
.nsfw:hover {
background-color: lime;
}
.unmute:hover,.unblock:hover,.unfollow:hover,
.unnsfw:hover{
background-color: crimson !important;
}
.unbookmark{
color: crimson !important;
}
.felem {
margin-left: 10px;
float: left;
}
.unfav {
color: red !important;
}
.unreblog {
color: red !important;
}
.avatar {
width: 80px;
background-size: 80px;
height: 80px;
float: left;
margin: 15px;
border-radius: 10px;
}
.post,
.rb,
.textonly,
.loadmore {
width: 650px;
background-color: white;
float: left;
text-align: center;
position: relative;
border-radius: 3px;
box-shadow: 1px 1px 2px black;
}
.postform {
width:650px;
background-color: white;
float: left;
text-align: center;
position: relative;
border-radius: 3px;
box-shadow: 1px 1px 2px black;
display:block !important;
}
.postHeader {
width: 100%;
display: inline-block;
height: 40px;
text-align: left;
}
.previewpost {
display: none;
position: absolute;
margin-top: -100px;
width: 400px;
background-color: white;
border: 1px solid darkgray;
box-shadow: 1px 1px 1px rgba(0,0,0,0.5);
border-radius:3px;
}
.user {
position:relative;
}
.userinfo {
display: none;
position: absolute;
left:0px;
top:15px;
width: 300px;
height: auto;
background-color: white;
border: 1px solid darkgray;
box-shadow: 1px 1px 1px rgba(0,0,0,0.5);
border-radius:3px;
line-height:initial;
z-index:99;
}
.userinfo_upper{
top:-100px;
}
.userinfo_co {
width: 280px;
margin: 10px;
text-align: center;
position:relative;
}
.userinfo_he {
width: 300px;
height: 150px;
}
.media {
width: 100%;
display: inline-block;
}
.img {
width: 600px;
text-align: center;
}
.blur {
-webkit-filter: blur(25px) brightness(70%) grayscale(100%);
/* Safari 6.0 - 9.0 */
filter: blur(25px) brightness(70%) grayscale(100%);
opacity: 0.5;
transition: 0.4s;
}
.toggleblur {
display:none;
cursor: pointer;
font-family: sans, fontello;
}
.small {
width: 321px !important;
height: 321px;
line-height: 321px;
/* background-color: black; */
float:left;
margin:2px !important;
}
.smaller {
width: 212px !important;
height: 212px;
line-height: 212px;
/* background-color: black; */
float:left;
margin:2px !important;
}
.icon {
width: 80px !important;
height: 80px !important;
line-height: 80px;
background-color: black;
float:left;
text-align:center;
margin:2px !important;
}
.postbody {
margin: 15px;
}
.content {
width: 600px;
display: inline-block;
margin:0px !important;
text-align: left;
}
.post_footer {
width: 630px;
display: table-cell;
clear: both;
padding: 10px;
height: 20px;
text-align: left;
background-color: #eee;
border-radius: 3px;
}
.post_buttons {
font-family: fontello;
float: right;
display: inline-block;
text-align: right;
font-size: 15pt;
color: #404040;
}
.post_buttons a,
.post_buttons span {
font-family: inherit;
text-decoration: none;
color: inherit;
font-size: inherit;
}
.reply {
width: 100%;
background-color: #ddd;
clear: both;
text-align: left;
border-bottom: 1px solid #666;
display: block;
}
.note {
width: 640px;
background-color: #ccc;
float: left;
text-align: left;
border-radius: 5px;
padding: 5px;
}
.button {
padding: 15px;
background-color: white;
float: left;
text-align: center;
border-radius: 5px;
font-size: 20pt;
}
/* pages */
.setting label {
display: block;
width: 40px;
height: 20px;
padding: 5px;
background-color: lightgray;
float: left;
margin: 0px;
text-align: center;
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
transition: all 0.3s ease-in-out;
}
.setting input[type="radio"]:checked+label {
color: black;
background-color: #305792;
box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
font-weight: bold;
color: white;
}
/* other stuff */
/* <lightbox> */
.lightbox-opened {
/* background-color: #333; */
background-color: rgba(50, 50, 50, 0.85);
cursor: pointer;
height: 100%;
/* left: 0; */
overflow-y: scroll;
position: fixed;
text-align: center;
top: 0;
width: 100%;
z-index:105;
&:before {
background-color: #333;
background-color: rgba(#333, 0.9);
color: #eee;
content: "x";
font-family: sans-serif;
padding: 6px 12px;
position: fixed;
text-transform: uppercase;
}
img {
box-shadow: 0 0 6px 3px #333;
}
}
.no-scroll {
overflow: hidden;
}
/* </lightbox> */
.fontello {
font-family: fontello;
}
.loading {
font-family: fontello;
color: black;
content: "\E822";
animation-name: spin;
animation-duration: 5000ms;
animation-iteration-count: infinite;
animation-timing-function: linear;
/* transform: rotate(3deg); */
/* transform: rotate(0.3rad);/ */
/* transform: rotate(3grad); */
/* transform: rotate(.03turn); */
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.disabled {
background-color: black;
}

View File

@ -0,0 +1,9 @@
<?php $client = array (
'client_id' => 'alLxkB-yfSGvEjpaw65CwiJEkL2uYE3QFFKWdB43PFE',
'client_secret' => 'RUxLBgsZnwAiyxCad3s88mFBKCTLlHDUCc4Gq56I1xs',
'id' => '8895',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
'vapid_key' => 'BHn7t5zdmM7QSJ7ubdeT_c5vchSkpEY1i9gbs5l8d5yJ8oW5XuFugA21IbNmjkOVi2aZkNte0nw0M7XFy7lvwXg',
);

8
data/anime.website.php Normal file
View File

@ -0,0 +1,8 @@
<?php $client = array (
'client_id' => '5lmktGU9RBwrdC7xMt-s7DCeH6uqEb7FWiLRBPGSuzE',
'client_secret' => 'kTw3pkEc_IuKhJ_mJyHsdwBR1G9f6OsscLnuPY60sWY',
'id' => '23763',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
);

9
data/baraag.net.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '5643',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'nuTQpd9TBYtAX9wsn7xlxeOrBzdVQRuO_I7JNC2ceRM',
'client_secret' => 'ncdk0yNzQkxfrXX7RjVd43uotYmsPaIUDvhOCdHVw_0',
'vapid_key' => 'BDMJT7WA_cBFQJ6mYbJkU6KBdayb6K5kGdYXBACXCgXsi_Zxw4JrrTAna54bVe6IoVXDoXGFQQczex-Usc4bFTc=',
);

9
data/be.cutewith.me.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'client_id' => '_U1N7ykVu4q4eJLoUuPclafo98LMnT2c4n1XHX30m68',
'client_secret' => 'n_WRdVblGlHYNCkkIqlC7C14zyVhaoOD_ecSqEZ1s38',
'id' => '38988',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
'vapid_key' => 'BOS2RHcHGP5doQK0vUzkxXAymWQ-hFf1y86CdLFoau0eH4nZZpLkFW9hd9FwpocI1_Mx3cKhAzVyE8TwwyssH-w',
);

9
data/blob.cat.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'client_id' => 'HRDzuNlKoEwdv1SKvxZMrHC2fb4LWY9evvC11z0n6Aw',
'client_secret' => 'Aze2QLFmrVN0CIFM5xt_IIY26UpbquJgMa8weqLF3nM',
'id' => '62243',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
'vapid_key' => 'BEpg2Jgt4-zefwEPcisVDo-yAtp0iLWZ5RLr4wDon2WbS50fhz8unj2xcCHQX2YmmoC8mfBUK-1cMXJd11byyDs',
);

9
data/blobturtle.club.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '41',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'rMOHNyCOCx9FBgTj8bjWf4-vAlPQX4oS6uyEv2FtWJ0',
'client_secret' => 'SSiP-44NCg8w60m8qfq7bnW0V8Cf88nZ194RV-2SB6U',
'vapid_key' => 'BA7kY_9cs2gX_5qvyMYT9zP0II2AAQgWma1c5oupjXCFuA4akJhtgkwIeAZCs76KgFvazAZHzKX05KEN504Exjw=',
);

9
data/cybre.club.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'client_id' => 'KAVUfjoeQ-o_3B7xcONGBz6JocBodEKw-MvSGVgpMTw',
'client_secret' => 'lZJsaTglcyk5Uu12hDo1E2-iGQgvgyzHn41MZwSRfvo',
'id' => '1067',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
'vapid_key' => 'BGmK-8r5cNH5P6EbacJy-ZfjVrxEJ9hgexHmfTmumOtxKNm4WEWIn6bxKTEvZjQlWZscha5ubwrhzFDnb3sokro',
);

9
data/donotban.com.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '1266',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => '2LL5vGcg5FZOoPcDm4lswNN9ENFY8eQzuxOWinmf-EU',
'client_secret' => 'ksnjmYvDyw-FETRIwu4xY-43BtBCS1dk0FMF_kR2ZuQ',
'vapid_key' => 'BNGdnDTY9yPqYrgSz8udvBrwkcFCzed6LVybZ-RboItnW4RUPUOz66Mfu-OxXvO6i7-TtlB7Xz4sxnEAZldLfVA=',
);

8
data/dragon.style.php Normal file
View File

@ -0,0 +1,8 @@
<?php $client = array (
'id' => '472',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => '0686b19db624ff6c93a1629e4ca7cbe9bc32bff15986049b1ac2d0e612ae1dd9',
'client_secret' => '56e631b1bafb2390fd854fca52dd883cc147b92afb6412fcb3c32e1fc5af1e24',
);

View File

@ -0,0 +1,9 @@
<?php $client = array (
'client_id' => 'JkSmdaIEfHfO-vpOz-ZeF4eqlK5zBlcaByMhh-EVmcU',
'client_secret' => 'L5YM6GBWgeo46jKlhK3upsEyiM2L2E_vlWgjPUElTIE',
'id' => '269897',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
'vapid_key' => 'BKVMhK46FlOvwk8b2jTJKhUXjIcumAEBReINMZ48n4hhmKeAmOUPBn1g9ubWJ-WxmS2cNNZOcsFtzbnrA4O6D7M',
);

9
data/framapiaf.org.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '24398',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'teKWp3CYBuLW5fpgER4SHBOw06LGEYJkDalulprBg7U',
'client_secret' => 'cW6Nd1N0xEqGKb9NDb-0xyRreJO9yYAXkRhcpx8NtLc',
'vapid_key' => 'BC27PlV5okiLY2t8GQ5i1f-P9dru1LuLAckRalgkgFNN87MMvz7G9Pe-40CsJl96tq3nfqFCiFQgX9xUp3W4M60=',
);

View File

@ -0,0 +1,9 @@
<?php $client = array (
'client_id' => 'MuBl4XCxc52UsD7C5sDNu8DmA3vl3Dy-RRNgdp_vXNg',
'client_secret' => 'BI-6Q2POqPcy6as1OLTJ7bC3_dS7v72DmsE9dVzWYeM',
'id' => '886479',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
'vapid_key' => 'BMlgz5vKE3ryzdfQyqCwm3CLqxvfmd8j5l9jvcJn6Wf3xzRB_TyADNMVe79EdASSFI8qSrZW1kUIIHx8HFWJrP4',
);

9
data/gab.com.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '77890',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => '2zBO6zYFO2gxHq8Ze6hTuMdRNflXtgN7xtJhvmmtEf4',
'client_secret' => '2Mkc5Crk8IlRHmTKOS717-N-1aySbKEToKb5FF3yzVI',
'vapid_key' => 'BO_CXXKZ4X6nRHs3rjx1ld-mejF4i080a_IWbvPN_-CwsREbsqB6QjXNvtHaQXe05-LhYd9s_dsJuU2fry0AjOw=',
);

9
data/humblr.social.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '53177',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'Fte9mqjlolh0Suhr1zVle5asuxSTRV-bzjWelnO5i8g',
'client_secret' => 'DurR12T68dc72s-aMdpd1p5xdu0CzFjKoXl9hb9IFIY',
'vapid_key' => 'BDm34vjUyFOtDXvx_pREZ84niaTMJ83EJ6jotLx2YRTnd8yHEB5lnSmwgidvDSSVXo9efSy6tM1pwEp-QWU9mw0=',
);

9
data/iscute.moe.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'client_id' => 'BmBQoJlgMPKfl2z2mCqXiIXnNeBBuNh8Gw45KBYaXrc',
'client_secret' => 'yL2uTh4pVP250dhr5PRICLRH1yhm7NXLCSNCSlTvJ6I',
'id' => '45604',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
'vapid_key' => 'BFykwLQJwK62zBMVZT4KeQU4tGs9_bygn-E-4PKq9-n4YUrmZc-gjC4mX1MkKABq1laYZxDMdpb9eWPDZdLiAW8',
);

9
data/koyu.space.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '620',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'pdi9kFuB3-pdNMglpG_C7kmKLgUAi8YZOxZGWYg-08M',
'client_secret' => 'tCquIF8GTNzoKogozwWqyO6ROOYaZqpvVojxXhtdN80',
'vapid_key' => 'BGs_-SacwAZac9UD7yX0G0ez046U74TTqLsk1UB-HjP310sqMhkkgtvU44vkIi4CO_f2pmoK6NJqGuwyGJruRpc=',
);

View File

@ -0,0 +1,9 @@
<?php $client = array (
'client_id' => '1JcuN7XwPZaGopeQLKvfRXH4F7g3KaBYLYrN3KwCRbA',
'client_secret' => '6F9UTES1IXlouhwNmvGO85cdP0x7B-m5UBDS6Sdp5Bo',
'id' => '8404',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
'vapid_key' => 'BArHFQeb_OPy4cjYBMYHYpnGkVqWu9NNnmQRaNRsZ-j2HasNs6L8D4kNRmtaUIEXZCFmkTfcCkbYhGC00KUkfVU',
);

9
data/mastodon.ml.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '141',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'trP4MmzNE_qqbA9vw0zbGPPxxFP-AsuxDe3idAQNt74',
'client_secret' => '4P3PXUNS1gcL_HZTFrBEIS-vOiWEZKfCy-UFaFgMgB0',
'vapid_key' => 'BBqZRaF-YBnGFh-c6VZO9dkjfzAmOeCSMwQEgb7sp0EnMH1xHzfks29tTNtvLw45MdLjNKN4-8W7JvG1vP4376o=',
);

9
data/mastodon.social.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '566995',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => '9sooHSd-iUlGmoZszymi64lpLDmjz74kjsSPkFONrQI',
'client_secret' => '3EzFaZH3b4zdzgb7Idz-0bnK_4wLgAMfDsm5QrsXXSk',
'vapid_key' => 'BCk-QqERU0q-CfYZjcuB6lnyyOYfJ2AifKqfeGIm7Z-HiTU5T9eTG5GxVA0_OH5mMlI4UkkDTpaZwozy0TzdZ2M=',
);

9
data/merveilles.town.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '772',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'S-s0KAVnhNpnz2DrEcdcLKhJ2tPn0DPX_lRNYohnLRY',
'client_secret' => 'XwNcjtUzLvp2VFe4uQS98ekLrGBD3azugW0Dh3T6jlM',
'vapid_key' => 'BM47lDD_eJW9P1pAgBTdrnWxeDr64bGKpZ-iQ5faWBD7bTW1MotyNN_2auqKM_K8fubKMXOOnTKKt138TJUNimQ=',
);

View File

@ -0,0 +1,9 @@
<?php $client = array (
'client_id' => 'bF_2tw64deJbr1uJfCvZ-HO6pg9Y49lk8xUjZPSDC-g',
'client_secret' => '9lKA3T8FxptBSXj_x39or1TAmx3MDjzeEUxQjMI3vb8',
'id' => '65311',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
'vapid_key' => 'BLxhvcgHssTvFuTlrWyk2TdUSWWR9hB4TAEqLipZaVpp-tCBdtC-juti24V8ftFK0eM_sy6Jx7HV1QSfyDozOVs',
);

View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '68',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'VncEb8NWRHUX7ZKHkB_5n8kRFlglRPT43RGzhGiJ91E',
'client_secret' => '9uRCulGfSCqn8O9mesryO5La1cepJlqrq0bAn__3I60',
'vapid_key' => 'BIlwGmPD2zG5UNtaF_zLy6inNB0psAIKbwJKlX0KJtcIqHRkjuWOj3vCVq5pyQ5EPMLebu_wYvhyATLbz204W-A=',
);

9
data/nulled.red.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '511',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'NYKpFmRvnzhF0Qng43S4EG80PXm-C8Cn-pqaRQqqFJE',
'client_secret' => 'ogId3V5iUTjsoqCeIaGoVVBqBeFew48phrR9q26luOE',
'vapid_key' => 'BOAhbzr1GB9sfpBiCpmpcDd5lfML3GJI7L078T4csZwNbojKQs8vRKk7JLAgXolC-nn2y16TtixG4JCflxgs84k=',
);

8
data/pawoo.net.php Normal file
View File

@ -0,0 +1,8 @@
<?php $client = array (
'id' => '2418935',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'b91a1df97b4d415bee4d6242b6fbf5de099bf85651f834e2e88d1064142310ce',
'client_secret' => '61f7d502594136f9202b415de69e21afd38f43241d7f1f3893b42f8d15d45996',
);

9
data/phreedom.tk.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '423',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => '8XCccDbB329dLYBsWbqTph7VrqTocAyhB6JB_D-t49k',
'client_secret' => 'jgoKmK11vaJoWFfqDQut-tRHOhd3x0aFBb-1pbhCbVQ',
'vapid_key' => 'BFFTQAQVeDVUGKBIyGV_TqsUaEiVU4itmFmNK430dbqoXAQx72H75g4Co04sC0FmXElA79NIp13lfU5d17jd5_8=',
);

9
data/pipou.academy.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '223',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'Y7g0iYKnTg_JwgG4BeEudbKRjQcqUeDarhmZVbXl0-Y',
'client_secret' => 'ok6I1BZJ-w7g6EA50eJRv_RUWDHi2hwr3qj_xAjk1tg',
'vapid_key' => 'BCrKBO-ty8LDbQhjr7wD21XETR2BIHxcDsBN_NiqWBd5n9TYuAyjxhTRU5yhHVQopPt5T_VI7UFPwnjNOi1ljoA=',
);

9
data/pl.ohno.host.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'client_id' => 'uIpsD2vT5JHETjqV3ULG2jnn5iKIbfOMUDVUXMVLZGs',
'client_secret' => 'Q6wZWM2dLIywkosUn8XfKXWByHwVy5QFkQ7L7ernrdc',
'id' => '8674',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
'vapid_key' => 'BHVyS3AtpMfRSPzu45QEuonZIa5KUq7ewBOsBdQAeSTargsUlSLJrCyUKA94spGeO-S3fpvz6eUf3sXM7lfH4Aw',
);

8
data/pl.smuglo.li.php Normal file
View File

@ -0,0 +1,8 @@
<?php $client = array (
'client_id' => 'RHd2Ij-Xc3eq5YxU1IR8K7CfHIlsdgf1OWABk3LMha4',
'client_secret' => 'stEe6PLnEEs2llqSRkdbzSQrz9OAZTQNse13q1f42Hc',
'id' => '234966',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
);

View File

@ -0,0 +1,9 @@
<?php $client = array (
'client_id' => 'BB4_NF8QrodgftY23TnH1L01wPH3sU6d_RYZiX3d4GM',
'client_secret' => 'RLJdLdD5hFL-2aCl4dMT8nt2GFxFc33XLaoUiseehjw',
'id' => '27149',
'name' => 'Dashboard FE',
'redirect_uri' => 'http://ayanami.ga/dashboard',
'website' => NULL,
'vapid_key' => 'BKjSA5DxLQGPCm_UsFFIeGDqaxJWy9MQEIrUuGdGSxf_m_LJpoF9IskwrcXYnEIfPseauFqX1vObCFZA1RJta7w',
);

View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '3',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'HoDpiygT3SqW8RJKJ2VvbbOU2FhMI7kaHzjjw6vzVDQ',
'client_secret' => 'bFC9jnGkqB-lBOGy-gmzAttaA5By3OiCuaiGQcKOltI',
'vapid_key' => 'BPZPTz32H7MNcVB6h6x3kDdxY28QjOBxPZW05ZyHiGG99UAMFQnSYS-SfgsHO_PU85pebPvtoMAVUqb8UYoXteY=',
);

9
data/quey.org.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '3051',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => '9w9b7w6Uu2LxkJaoEMwRcazV6ePRKdC8ZQLIE0ViFUM',
'client_secret' => 'uOxITxUMQQE-KjfhAw5h7XGiBjtixw0GCGzJiweH0cc',
'vapid_key' => 'BJ9eUAEusCcxl_aZ27el3jBOzFzec576oZT11lfgIJ9amx9sPq2pObxSfHsKWvhlJJ-JREckd0G_2S16DiWJhR4=',
);

9
data/radical.town.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '3891',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'WFOTnDnyPWK3-vrxs04vsjCqkjJvPVWwDAx5T76IEg8',
'client_secret' => 'A8H8W6Bo0a9vZwEkJ3ZYoB-EHddqX3gWActVY7TnKUQ',
'vapid_key' => 'BP684BcPRpZzFikKDGi1RW9zRisWOAFbY545CI1I3zwznKoBb5J3Zx7VVYHEz81s-kPIx3Qo27EmkkX5K5aBn6I=',
);

View File

@ -0,0 +1,8 @@
<?php $client = array (
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'name' => 'Dashboard FE',
'id' => '84',
'client_secret' => 'P69QQNTphMZd_edggN-jcgqp6oDhyqXuM3IZ2Yjdnkk=',
'client_id' => 'ngL_SJ6VdJL55zBjQ9KCX7RhDLOJ_dyvTCJNyNP82eo=',
);

9
data/social.wake.st.php Normal file
View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '38',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'Mfz3MX_3RQUeqr--0uraCX_YctdK61L8ac6Jx9iCyro',
'client_secret' => 'CAxt7QQG1HSnbGf3smHdZbI1rkhhl5tjvd5fkV5MLpg',
'vapid_key' => 'BB3Kx-GKmYnMkIGxKInQjNUSyT9O1kDqKO-VsyxGlBVzaFI0rEqBvrblO2jXwy2wC9-ycbtPuWOY1_0Ego71CZU=',
);

View File

@ -0,0 +1,9 @@
<?php $client = array (
'id' => '460',
'name' => 'Dashboard FE',
'website' => NULL,
'redirect_uri' => 'http://ayanami.ga/dashboard',
'client_id' => 'dfpr0uIGgDSXokP5vVRCyhmHez-DwGL-QQAKbAz3lmU',
'client_secret' => 'I3we4jTv98io-eY4sMZ86cP6GpnCnE-e7Jay0ZjIi-A',
'vapid_key' => NULL,
);

738
include/2functions.php Normal file
View File

@ -0,0 +1,738 @@
<?php
ini_set("log_errors", 1);
$srv = $user_settings['instance'];
//$token = ($token != false ? msc($token,'d') : false);
$token = ($token != false ? $token : false);
function msc($string, $action = 'e') {
// you may change these values to your own
$secret_key = 'yAmfVhZwm0749FSY24dC';
$secret_iv = 'm37uvAeKjYLKdI1lPkcJ';
$output = false;
$encrypt_method = "AES-256-CBC";
$key = hash('sha256', $secret_key);
$iv = substr(hash('sha256', $secret_iv) , 0, 16);
if ($action == 'e') {
$output = base64_encode(openssl_encrypt($string, $encrypt_method, $key, 0, $iv));
}
else if ($action == 'd') {
$output = openssl_decrypt(base64_decode($string) , $encrypt_method, $key, 0, $iv);
}
return $output;
}
function get_urls($input) {
$pattern = '$(https?://[a-z0-9_./?=&-~]+)(?![^<>]*>)$i'; // refine this for better/more specific results
if (preg_match_all($pattern, $input, $matches)) {
list($dummy, $links) = ($matches);
return $links;
}
return false;
}
function emoji($text, $size = 30, $srv) {
$data = json_decode(file_get_contents("https://$srv/api/v1/custom_emojis") , true) [0]['url'];
$u = explode("/", $data);
array_pop($u);
$url = implode("/", $u);
$text = str_replace("http:", "http;", $text);
$text = str_replace("https:", "https;", $text);
$text = preg_replace('~:([a-z0-9_]+):~', "<img src='$url/$1.png' height=$size style='vertical-align: middle;'>", $text);
$text = str_replace("http;", "http:", $text);
$text = str_replace("https;", "https:", $text);
return $text;
}
function emojify($string, $emojis, $size = 40) {
foreach ($emojis as $emoji) {
$string = str_replace(":" . $emoji['shortcode'] . ":", "<img alt='" . $emoji['shortcode'] . "' title='" . $emoji['shortcode'] . "' src='" . $emoji['static_url'] . "' height=$size style='vertical-align: middle;'>", $string);
}
return $string;
}
function context($post) {
global $srv;
global $token;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://$srv/api/v1/statuses/$post/context");
if (!is_null($token)) {
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer ' . $token
));
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
return $result;
}
function averageColor($url) {
@$image = imagecreatefromstring(file_get_contents($url));
if (!$image) {
$mainColor = "CCCCCC";
}
else {
$thumb = imagecreatetruecolor(1, 1);
imagecopyresampled($thumb, $image, 0, 0, 0, 0, 1, 1, imagesx($image) , imagesy($image));
$mainColor = strtoupper(dechex(imagecolorat($thumb, 0, 0)));
}
return $mainColor;
}
function user_info($user) {
global $user_settings;
$info = api_get("accounts/" . $user);
$rel = api_get("accounts/relationships?id=" . $user);
return array(
$info,
$rel
);
}
function api_get($url) {
global $srv;
global $token;
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, "https://$srv/api/v1/" . $url);
if (!is_null($token)) {
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer ' . $token
));
}
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
return json_decode($result, true);
}
function api_post($url, $array) {
global $srv;
global $token;
$cSession = curl_init();
curl_setopt($cSession, CURLOPT_HEADER, false);
curl_setopt($cSession, CURLOPT_POST, 1);
curl_setopt($cSession, CURLOPT_URL, "https://$srv/api/v1/" . $url);
if (!is_null($token)) {
curl_setopt($cSession, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer ' . $token
));
}
curl_setopt($cSession, CURLOPT_POSTFIELDS, http_build_query($array));
curl_setopt($cSession, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($cSession);
curl_close($cSession);
return json_decode($result, true);
}
function api_delete($url, $array) {
global $srv;
global $token;
$cSession = curl_init();
curl_setopt($cSession, CURLOPT_HEADER, false);
curl_setopt($cSession, CURLOPT_POST, 1);
curl_setopt($cSession, CURLOPT_URL, "https://$srv/api/v1/" . $url);
curl_setopt($cSession, CURLOPT_CUSTOMREQUEST, "DELETE");
if (!is_null($token)) {
curl_setopt($cSession, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer ' . $token
));
}
curl_setopt($cSession, CURLOPT_POSTFIELDS, http_build_query($array));
curl_setopt($cSession, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($cSession);
curl_close($cSession);
return json_decode($result, true);
}
function render_reply($item) {
global $user_settings;
global $logedin;
global $srv;
$reply['mode'] = "";
if (isset($item['type']) && $item['type'] == 'ancestor') {
$reply['mode'] = "ancestor";
}
$reply['id'] = $item['id'];
$reply['uid'] = $item['account']['id'];
$reply['name'] = emojify($item['account']['display_name'], $item['account']['emojis'], 15);
$reply['acct'] = $item['account']['acct'];
$reply['avatar'] = $item['account']['avatar'];
$reply['menu'] = "<ul>";
if ($logedin) {
$reply['menu'] .= ($item['account']['id'] == $user_settings['uid'] ? "<li><a href='?action=delete&thread=" . $item['id'] . "' onClick='return false;' class='delete fontello' id='" . $item['id'] . "'>&#xe80e; Delete Post</a></li>" : "");
$reply['menu'] .= ($item['account']['id'] != $user_settings['uid'] ? "<li><a href='?action=mute&user=" . $item['account']['id'] . "' onClick='return false;' class='mute fontello' id='" . $item['account']['id'] . "' style='background-color:transparent;'>&#xe81b; Mute User</a></li>" : "");
$reply['menu'] .= ($item['account']['id'] != $user_settings['uid'] ? "<li><a href='?action=nsfw&user=" . $item['account']['id'] . "' onClick='return false;' class='nsfw fontello' id='" . $item['account']['id'] . "' style='background-color:transparent;'>&#xe829; User is NSFW</a></li>" : "");
}
$reply['menu'] .= "<li><a target='_blank' href='" . $item['url'] . "' class='link fontello' style='background-color:transparent;'>&#xf14c; Original Note</a></li>";
$reply['menu'] .= "</ul>";
$json['id'] = $item['id'];
$json['scope'] = $item['visibility'];
if ($logedin) {
$json['mentions'] = "";
$array = $item["mentions"];
$json['mentions'] = ($user_settings['acct'] == $item["account"]['acct'] ? "" : "@" . $item["account"]['acct']) . " ";
if (!empty($array)) {
foreach ($array as $mnt) {
if ($mnt['acct'] != $user_settings['acct']) {
$json['mentions'] .= "@" . $mnt['acct'] . " ";
}
}
}
}
$reply['json'] = json_encode($json);
$reply['replyto'] = ($item['in_reply_to_id'] ? " <a class='fontello link preview ldr' target='_blank' id='" . $item['in_reply_to_id'] . "' href='?thread=" . $item['in_reply_to_id'] . "'>&#xf112;</a> " : "");
$reply['text'] = processText($item);
$public = "&#xe83c;";
$private = "&#xe819;";
$unlisted = "&#xe816;";
$direct = "&#xf0e0;";
$reply['date'] = "<a style='text-decoration:none;color:darkgray;' target='_blank' href='" . $item['url'] . "'><span class='fontello'>&#xe817;</span></a> - <a class='ldr' style='text-decoration:none;color:darkgray;' target='_blank' href='?thread=" . $item['id'] . "&instance=$srv" . "'>" . date("d/m/y H:i", strtotime($item['created_at'])) . "</a> - <span class='fontello' style='color:darkgray;'>" . $$item['visibility'] . "</span>";
$reply['media'] = "";
if (!empty($item['media_attachments'])) {
$reply['media'] = "<div style='width:170px; display:inline-block; float:left; margin-right:15px; '>";
$images = count($item['media_attachments']);
$class = ($images > 1 ? "class='icon'" : "");
foreach ($item['media_attachments'] as $file) {
$ext = explode(".", $file['url']);
$ext = end($ext);
$ext = explode("?", $ext) [0];
if ($ext == 'mp4' || $ext == 'webm') {
$reply['media'] .= "<div style='text-align:center; width:100%;'><video preload='metadata' width='100%' controls loop>
<source src='" . $file['url'] . "' type='video/$ext'>
</video></div>
";
}
elseif ($ext == 'mp3' || $ext == 'ogg') {
$reply['media'] .= "<div style='text-align:center; width:100%;'><audio controls>
<source src='" . $file['url'] . "' type='audio/$ext'>
Your browser does not support the audio tag.
</audio> </div>";
}
else {
if ($item['sensitive'] == true && $user_settings['explicit'] != 'off') {
$reply['media'] .= "<div style='overflow:hidden; float:left; margin:2px;' $class><a target='_blank' href='" . $file['url'] . "' onClick='return false;' class='blur'><noscript><img src='" . $file['url'] . "' style='width:100%;'></noscript><img " . "data-src='" . $file['url'] . "'" . " class='' style='max-width:100%; max-height:100% vertical-align:middle;'></a><a target='_blank' href='" . $file['url'] . "' onClick='return false;' class='open-lightbox' style='display:none;'><img src='" . $file['url'] . "' class='' style='width:100%;'></a></div>";
}
else {
$reply['media'] .= "<div style='margin:0px;' $class><a target='_blank' href='" . $file['url'] . "' onClick='return false;' class='open-lightbox'><img src='" . $file['url'] . "'" . " class='' style='max-width:100%; max-height:100%; vertical-align:middle;'><noscript><img src='" . $file['url'] . "' style='width:100%;'></noscript></a></div>";
}
}
}
$reply['media'] .= "</div>";
}
$reply['buttons'] = "
" . ($logedin ? "<div class='felem'><a onClick='return false' class='replyform' href='?thread=" . $item['id'] . "' style='font-family:fontello'>&#xf112;</a></div>" : "") . "
<div class='felem'><a onClick='return false' " . ($logedin ? "class='" . ($item['favourited'] == true ? "unfav" : "fav") . "' href='?action=fav&thread=" . $item['id'] . "'" : "") . " style='font-family:fontello'>&#xe802; <span>" . $item['favourites_count'] . "</span></a></div>
<div class='felem'><a onClick='return false' " . ($logedin && $item['visibility'] == "public" ? "class='" . ($item['reblogged'] == true ? "unreblog" : "reblog") . "' href='?action=reblog&thread=" . $item['id'] . "'" : "") . " style='font-family:fontello'>&#xe83a; <span>" . $item['reblogs_count'] . "</span></a></div>
";
$result = file_get_contents("templates/reply.txt");
foreach ($reply as $key => $elem) {
$result = str_replace(":$key:", $elem, $result);
}
return $result;
}
function favourite($post, $mode) {
$result = api_post(($mode == true ? "statuses/$post/favourite" : "statuses/$post/unfavourite"),array());
if (isset($result['favourites_count'])) {
return $result['favourites_count'];
}
else {
return "error";
}
}
function reblog($post, $mode) {
$result = api_post(($mode == true ? "statuses/$post/reblog" : "statuses/$post/unreblog"),array());
if (isset($result['reblog']['reblogs_count'])) {
return $result['reblog']['reblogs_count'];
}
elseif (isset($result['reblogs_count'])) {
return $result['reblogs_count'];
}
else {
return "error";
}
}
function delpost($id) {
global $srv;
global $token;
if (!is_null($token)) {
$curl = curl_init();
curl_setopt($curl, CURLOPT_HEADER, false);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_URL, "https://$srv/api/v1/statuses/$id");
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "DELETE");
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer ' . $token
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($curl);
curl_close($curl);
$result = json_decode($result, true);
if (empty($result)) {
return "1";
}
else {
return "0";
}
}
}
function sendpost($text, $media, $reply, $markdown = false, $scope, $sensitive, $spoiler = false) {
global $srv;
global $token;
if (!is_null($token)) {
$cSession = curl_init();
curl_setopt($cSession, CURLOPT_URL, "https://$srv/api/v1/statuses");
curl_setopt($cSession, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cSession, CURLOPT_POST, 1);
curl_setopt($cSession, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer ' . $token
));
$query = "";
$query .= "status=" . urlencode(html_entity_decode($text, ENT_QUOTES)) . "&visibility=" . $scope;;
if (!is_null($reply) && $reply != "null") {
$query .= "&in_reply_to_id=" . $reply;
}
if ($markdown == true) {
$query .= "&content_type=text/markdown";
}
if ($sensitive == 'true') {
$query .= "&sensitive=true";
}
if ($spoiler == true) {
$query .= "&spoiler_text=" . $spoiler;
}
if (!is_null($media)) {
foreach ($media as $mid) {
$query .= "&media_ids[]=" . $mid;
}
}
file_put_contents("query.txt",var_export($query,true));
curl_setopt($cSession, CURLOPT_POSTFIELDS, $query);
$result = curl_exec($cSession);
curl_close($cSession);
return $result;
}
else {
return false;
}
}
function uploadpic($file) {
global $srv;
global $token;
if (!is_null($token)) {
$mime = get_mime($file);
$info = pathinfo($file);
$name = $info['basename'];
$output = new CURLFile($file, $mime, $name);
do {
$cSession = curl_init();
curl_setopt($cSession, CURLOPT_URL, "https://$srv/api/v1/media");
curl_setopt($cSession, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cSession, CURLOPT_POST, 1);
curl_setopt($cSession, CURLOPT_HTTPHEADER, array(
'Authorization: Bearer ' . $token
));
curl_setopt($cSession, CURLOPT_POSTFIELDS, array(
'file' => $output
));
$result = curl_exec($cSession);
} while (empty($result));
curl_close($cSession);
$array = json_decode($result, true);
$ext = explode(".", $array['url']);
$ext = end($ext);
$ext = explode("?", $ext) [0];
if (in_array($ext, array(
'jpg',
'jpeg',
'gif',
'png',
'svg'
))) {
$file = $array['url'];
}
else {
$file = "img/doc.png";
}
return json_encode(array(
$array['id'],
$file
));
}
else {
return false;
}
}
function register_app($instance) {
global $setting;
$cSession = curl_init();
curl_setopt($cSession, CURLOPT_URL, "https://$instance/api/v1/apps");
curl_setopt($cSession, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cSession, CURLOPT_HEADER, false);
curl_setopt($cSession, CURLOPT_POST, 1);
curl_setopt($cSession, CURLOPT_POSTFIELDS, http_build_query(array(
'client_name' => $setting['appname'],
'redirect_uris' => $setting['url'],
'scopes' => 'read write follow'
)));
$result = curl_exec($cSession);
curl_close($cSession);
return json_decode($result, true);
}
function getnotif($id = false, $max = false) {
global $srv;
global $token;
global $user_settings;
$n = "";
$notif = api_get("notifications?" . ($id == false ? "limit=9&" : "") . ($id != false ? ($max == true ? "max_id=$id" : "since_id=$id") : ""));
if (!empty($notif)) {
foreach ($notif as $post) {
$user = "<a class='link ldr' style='font-size:12px;' href='?user=" . $post['account']['id'] . "'>" . emojify($post['account']['display_name'], $post['account']['emojis'], 10) . "</a>";
$preview = "";
$buttons = "";
$media = "";
switch ($post["type"]) {
case "mention":
if ($post['status']['in_reply_to_id'] == null) {
$type = "<span class='fontello' style='color:#62C2CC; font-size:10px;'>&#xf10d;</span>";
$string = "mentioned you in a post";
$preview = "<a style='text-decoration:none;' class='ldr' href='?thread=" . $post['status']['id'] . "' target='_blank'><span style='display:block; opacity:1; font-size:10px; color:black; line-height:12px;'>" . emojify(strip_tags(trim($post['status']['content']) , '<br><br \>') , $post['status']['emojis'], 15) . "</span></a>";
$media = (!empty($post['status']['media_attachments']) ? "<a style='text-decoration:none;' class='ldr' href='?thread=" . $post['status']['id'] . "' target='_blank'><div style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div></a>" : "");
}
else {
$type = "<span class='fontello' style='color:#62C2CC; font-size:10px;'>&#xf112;</span>";
$string = "replied to your post";
$preview = "<a style='text-decoration:none;' class='ldr' href='?thread=" . $post['status']['id'] . "' target='_blank'><span style='display:block; opacity:1; font-size:10px; color:black; line-height:12px;'>" . emojify(strip_tags(trim($post['status']['content']) , '<br><br \>') , $post['status']['emojis'], 15) . "</span></a>";
$media = (!empty($post['status']['media_attachments']) ? "<div style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div>" : "");
}
$array = $post['status']["mentions"];
$mentions = ($user_settings['acct'] == $post['status']['account']['acct'] ? "" : "@" . $post['status']['account']['acct']) . " ";
if (!empty($array)) {
foreach ($array as $mnt) {
if ($mnt['acct'] != $user_settings['acct']) {
$mentions .= "@" . $mnt['acct'] . " ";
}
}
}
$buttons = "<div class='post_buttons' id='" . $post['status']['id'] . "' style='position:absolute; right:10px; bottom:10px; background-color:white; border-radius:60px; padding:5px;'>
<div class='felem'><a onClick='return false' class='quickreply' id='" . $post['status']['id'] . "' data-mentions='" . $mentions . "' href='?thread=" . $post['status']['id'] . "' style='font-family:fontello'>&#xe824;</a></div>
<div class='felem'><a onClick='return false' class='" . ($post['status']['favourited'] == true ? "unfav" : "fav") . "' href='?action=fav&thread=" . $post['status']['id'] . "'" . " style='font-family:fontello'>&#xe802;</a></div>
<div class='felem'><a onClick='return false' " . ($post['status']['visibility'] == "public" || $post['status']['visibility'] == "unlisted" ? "class='" . ($post['status']['reblogged'] == true ? "unreblog" : "reblog") . "' href='?action=reblog&thread=" . $post['status']['id'] . "'" : "") . " style='font-family:fontello'>&#xe83a;</a></div></div>";
break;
case "favourite":
$type = "<span class='fontello' style='color:#F17022; font-size:10px;'>&#xe802;</span>";
$string = "favourited your post";
$preview = "<a style='text-decoration:none;' class='ldr' href='?thread=" . $post['status']['id'] . "' target='_blank'><span style='display:block; opacity:1; font-size:10px; color:black; line-height:12px;'>" . (!empty($post['status']['content']) ? emojify(strip_tags(trim($post['status']['content']) , '<br><br \>') , $post['status']['emojis'], 15) : "Favourited your image") . "</span></a>";
$media = (!empty($post['status']['media_attachments']) ? "<div style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div>" : "");
break;
case "reblog":
$type = "<span class='fontello' style='color:#D1DC29; font-size:10px;'>&#xe826;</span>";
$string = "reblogged your post";
$preview = "<a style='text-decoration:none;' class='ldr' href='?thread=" . $post['status']['id'] . "' target='_blank'><span style='display:block; opacity:1; font-size:10px; color:black; line-height:12px;'>" . (!empty($post['status']['content']) ? emojify(strip_tags(trim($post['status']['content']) , '<br><br \>') , $post['status']['emojis'], 15) : "Reblogged your image") . "</span></a>";
@$media = (!is_null($post['status']['media_attachments']) ? "<div style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div>" : "");
break;
case "pleroma:emoji_reaction":
$type = "<span class='fontello' style='color:#F17022; font-size:10px;'>&#xe802;</span>";
$string = "favourited your post";
$preview = "<a style='text-decoration:none;' class='ldr' href='?thread=" . $post['status']['id'] . "' target='_blank'><span style='display:block; opacity:1; font-size:10px; color:black; line-height:12px;'>" . (!empty($post['status']['content']) ? emojify(strip_tags(trim($post['status']['content']) , '<br><br \>') , $post['status']['emojis'], 15) : "Favourited your image") . "</span></a>";
$media = (!empty($post['status']['media_attachments']) ? "<div style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div>" : "");
break;
case "follow":
$type = "<span class='fontello' style='color:#FDB813; font-size;10px;'>&#xf234;</span>";
$string = "started following you";
break;
}
$n .= "
<div class='notif " . ($id == false ? "" : "new") . "' id='" . $post['id'] . "'>
<div class='notifContents'>
<div style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['account']['avatar'] . "); border-radius:5px;'></div>
<div style='flex: 1; padding-left:5px; padding-right:5px; word-break: break-word; overflow:hidden;'>
<span>$type <span style='font-size:12px; font-weight:bold;'>$user</span></span>
" . trim($preview) . "
$buttons
</div>
$media
</div>
</div>
";
}
return $n;
}
}
function getnotes($thread) {
global $user_settings;
global $token;
global $srv;
global $setting;
global $logedin;
@$reb = array(
json_decode(file_get_contents("https://$srv/api/v1/statuses/" . $thread . "/reblogged_by") , true)
);
@$fab = array(
json_decode(file_get_contents("https://$srv/api/v1/statuses/" . $thread . "/favourited_by") , true)
);
$limit = (count($reb[0]) > count($fab[0]) ? count($reb[0]) - 1 : count($fab[0]) - 1);
$notes = array();
$index = 0;
for ($i = 0;$i <= $limit;$i++) {
if (isset($reb[0][$i])) {
$notes[$index][0] = "reb";
$notes[$index][1] = $reb[0][$i];
$index++;
}
if (isset($fab[0][$i])) {
$notes[$index][0] = "fav";
$notes[$index][1] = $fab[0][$i];
$index++;
}
}
return $notes;
}
function getreplies($thread, $since = false) {
global $user_settings;
global $token;
global $srv;
global $setting;
global $logedin;
$context = json_decode(context($thread) , true);
$array = array();
if (!empty($context['ancestors'])) {
if ($since == false) {
foreach ($context['ancestors'] as $elem) {
$elem['type'] = 'ancestor';
$array[] = $elem;
}
}
}
$flag = 0;
if (!empty($context['descendants'])) {
foreach ($context['descendants'] as $elem) {
if (($since != false && $flag == 1) || $since == false) {
$elem['type'] = 'descendant';
$array[] = $elem;
}
if ($since != false && $elem['id'] == $since) {
$flag = 1;
}
}
}
$replies = array();
foreach ($array as $item) {
$reply['mode'] = "";
if ($item['type'] == 'ancestor') {
$reply['mode'] = "ancestor";
}
$replies[] = array(
'mode' => $reply['mode'],
'content' => $item
);
}
return $replies;
}
function timeline($query) {
global $token;
global $srv;
$notes = "";
$media = ($query['text'] == "on" ? "" : "&only_media=true");
$next = ($query['next'] ? "&max_id=" . $query['next'] : ($query['since'] ? "&since_id=" . $query['since'] : ""));
switch ($query['mode']) {
case "home":
$array = api_get("timelines/home?limit=25{$media}{$next}");
break;
case "federated":
$array = api_get("timelines/public?limit=25{$media}{$next}");
break;
case "tag":
$array = api_get("timelines/tag/" . $query['tag'] . "?limit=25{$media}{$next}");
break;
case "local":
$array = api_get("timelines/public?limit=25&local=true{$media}{$next}");
break;
case "user":
$array = api_get("accounts/" . $query['user'] . "/statuses?limit=25{$media}{$next}");
break;
case "thread":
$array = array(
api_get("statuses/" . $query['thread'])
);
break;
case "favourites":
$array = api_get("favourites?limit=25{$media}{$next}");
break;
case "direct":
$array = api_get("timelines/direct?limit=25{$next}");
break;
case "list":
$array = api_get("timelines/list/" . $query['list'] . "?limit=25{$next}");
break;
case "bookmarks":
$array = api_get("bookmarks?limit=25{$next}");
break;
case "account":
$info = api_get("accounts/verify_credentials");
$array = api_get("accounts/" . $info['id'] . "/statuses?limit=25{$media}{$next}");
break;
default:
$array = api_get("timelines/public?limit=25{$media}{$next}");
break;
}
if (!is_array($array)) {
return false;
}
$next = end($array) ['id'];
$thread = array();
foreach ($array as $elem) {
if ($query['replies'] == "on" || $query['mode'] == "thread") {
$thread[] = $elem;
}
else {
if ($elem['in_reply_to_id'] == null) {
$thread[] = $elem;
}
}
}
return array(
$thread,
$next
);
}
function processText($elem) {
global $user_settings;
require_once "vendor/simple_html_dom.php";
$content = trim(html_entity_decode($elem['content'],ENT_QUOTES));
if (!empty($content)) {
$html = str_get_html($content);
foreach ($html->find('a') as $lnk) {
foreach ($elem['media_attachments'] as $f) {
if (is_numeric(strpos($f['description'],explode("",$lnk->innertext)[0]))) {
$content = str_replace($lnk->outertext . "<br/>", null, $content);
$content = str_replace("<br/>" . $lnk->outertext, null, $content);
$content = str_replace($lnk->outertext, null, $content);
}
}
if (is_numeric(strpos($lnk->href, $user_settings['instance'])) || in_array($lnk->class, array(
"u-url mention",
"hashtag"
)) || $lnk->rel == "tag") {
$content = str_replace($lnk->outertext, $lnk->innertext, $content);
}
else {
$prv = $lnk->outertext;
$lnk->target = '_blank';
$lnk->class = 'link external';
$content = str_replace($prv, $lnk->outertext, $content);
}
}
}
$result = strip_tags($content, '<br><p><strong><a><em><strike>');
$result = str_replace('<br />', ' <br>', $result);
//$result = str_replace('&#39;', "'", $result);
foreach ($elem['mentions'] as $mention) {
$result = str_replace("@" . $mention['username'], "<span class='user' id='" . $mention['id'] . "'><a href='?user=" . $mention['id'] . "' class='link ldr' onClick='return false;'>@" . $mention['username'] . "</a></span>", $result);
}
//$result = preg_replace("/(?<!=\")(\b[\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/", "<a target=\"_blank\" class='external' style='color:navy;' href=\"$1\">$1</a>", $result);
$result = emojify($result, $elem['emojis']);
$result = preg_replace("/#([A-Za-z0-9\/\.]*)/", "<a class='ldr' href=\"./?tag=$1\"><b>#$1</b></a>", $result);
return $result;
}
function get_mime($filename) {
$result = new finfo();
if (is_resource($result) === true) {
return $result->file($filename, FILEINFO_MIME_TYPE);
}
return false;
}

View File

@ -485,13 +485,13 @@ function getnotif($id = false, $max = false) {
$type = "<span class='fontello' style='color:#62C2CC; font-size:10px;'>&#xf10d;</span>";
$string = "mentioned you in a post";
$preview = "<a style='text-decoration:none;' class='ldr text' href='?thread=" . $post['status']['id'] . "' target='_blank'><span style='display:block; opacity:1; font-size:10px; line-height:12px;'>" . emojify(strip_tags(trim($post['status']['content']) , '<br><br \>') , $post['status']['emojis'], 15) . "</span></a>";
$media = (!empty($post['status']['media_attachments']) ? "<a style='text-decoration:none;' class='ldr' href='?thread=" . $post['status']['id'] . "' target='_blank'><div style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div></a>" : "");
$media = (!empty($post['status']['media_attachments']) ? "<a style='text-decoration:none;' class='ldr' href='?thread=" . $post['status']['id'] . "' target='_blank'><div class='notifpic' style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div></a>" : "");
}
else {
$type = "<span class='fontello' style='color:#62C2CC; font-size:10px;'>&#xf112;</span>";
$string = "replied to your post";
$preview = "<a style='text-decoration:none;' class='ldr text' href='?thread=" . $post['status']['id'] . "' target='_blank'><span style='display:block; opacity:1; font-size:10px; line-height:12px;'>" . emojify(strip_tags(trim($post['status']['content']) , '<br><br \>') , $post['status']['emojis'], 15) . "</span></a>";
$media = (!empty($post['status']['media_attachments']) ? "<div style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div>" : "");
$media = (!empty($post['status']['media_attachments']) ? "<div class='notifpic' style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div>" : "");
}
$array = $post['status']["mentions"];
@ -514,14 +514,14 @@ function getnotif($id = false, $max = false) {
$type = "<span class='fontello' style='color:#F17022; font-size:10px;'>&#xe802;</span>";
$string = "favourited your post";
$preview = "<a style='text-decoration:none;' class='ldr text' href='?thread=" . $post['status']['id'] . "' target='_blank'><span style='display:block; opacity:1; font-size:10px; line-height:12px;'>" . (!empty($post['status']['content']) ? emojify(strip_tags(trim($post['status']['content']) , '<br><br \>') , $post['status']['emojis'], 15) : "Favourited your image") . "</span></a>";
$media = (!empty($post['status']['media_attachments']) ? "<div style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div>" : "");
$media = (!empty($post['status']['media_attachments']) ? "<div class='notifpic' style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div>" : "");
break;
case "reblog":
$type = "<span class='fontello' style='color:#D1DC29; font-size:10px;'>&#xe826;</span>";
$string = "reblogged your post";
$preview = "<a style='text-decoration:none;' class='ldr text' href='?thread=" . $post['status']['id'] . "' target='_blank'><span style='display:block; opacity:1; font-size:10px; line-height:12px;'>" . (!empty($post['status']['content']) ? emojify(strip_tags(trim($post['status']['content']) , '<br><br \>') , $post['status']['emojis'], 15) : "Reblogged your image") . "</span></a>";
@$media = (!is_null($post['status']['media_attachments']) ? "<div style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div>" : "");
@$media = (!is_null($post['status']['media_attachments']) ? "<div class='notifpic' style='flex: 0 0 60px; background-size:cover; background-image:url(" . $post['status']['media_attachments'][0]['url'] . ");'></div>" : "");
break;
case "follow":

View File

@ -425,6 +425,7 @@ $('body').on('click', '#settings #send', function() {
$('#settings #loading').remove();
$('#settings #send').after('<b id="saved">Settings Saved</b>');
$('#settings #saved').delay(1000).fadeOut("slow");
window.location.reload(true);
});
});

View File

@ -108,7 +108,7 @@ endif; ?>
<?php if ($logedin): ?>
<span class="topbutton mobile compose" style='position:relative;'>
<a href='' onClick='return false;' class='fontello topicon' style='color:white; text-decoration:none; display:inline; font-size:20px;'>&#xe824;</a>
<a href='' onClick='return false;' class='fontello topicon' style='text-decoration:none; display:inline; font-size:20px;'>&#xe824;</a>
</span>
<span class="topbutton ntbutton">
@ -142,23 +142,23 @@ endif; ?>
<?php
else: ?>
<span class="topbutton" style='position:relative;'>
<a href='?page=about' class='fontello' style='color:white; text-decoration:none; display:inline; font-size:20px;'>&#xe814; </a>
<a href='?page=about' class='fontello topicon ldr' style='text-decoration:none; display:inline; font-size:20px;'>&#xe814; </a>
</span>
<span class="topbutton" style='position:relative;'>
<a href='?page=fediverse' class='fontello' style='color:white; text-decoration:none; display:inline; font-size:20px;'>&#xf1e0; </a>
<a href='?page=fediverse' class='fontello topicon ldr' style='text-decoration:none; display:inline; font-size:20px;'>&#xf1e0; </a>
</span>
<span class="topbutton" style='position:relative;'>
<a href='?page=privacy' class='fontello' style='color:white; text-decoration:none; display:inline; font-size:20px;'>&#xe819; </a>
<a href='?page=privacy' class='fontello topicon ldr' style='text-decoration:none; display:inline; font-size:20px;'>&#xe819; </a>
</span>
<span class="topbutton" style='position:relative;'>
<a href='?page=settings' class='fontello' style='color:white; text-decoration:none; display:inline; font-size:20px;'>&#xe82d; </a>
<a href='?page=settings' class='fontello topicon ldr' style='text-decoration:none; display:inline; font-size:20px;'>&#xe82d; </a>
</span>
<span class="topbutton" style='position:relative; width:auto; margin-left:10px;'>
<a href='./login' style='display:inline:block; padding:3px; background-color: #3F71BC; border: 1px solid white; font-weight:bold; border-radius:3px; color:white; text-decoration:none; display:inline; font-size:20px;'><span class='fontello' >&#xe832;</span> Login </a>
<a href='./login' style='display:inline:block; padding:3px; border: 1px solid white; font-weight:bold; border-radius:3px; color:white; text-decoration:none; display:inline; font-size:20px;'><span class='fontello' >&#xe832;</span> Login </a>
</span>
<?php
endif; ?>
@ -186,9 +186,9 @@ if ($logedin) {
<input type='hidden' name='thread' id="thread" value='null'>
<div style='width:100%; text-align:left;'>
<div style='width:100% height:27px; border-bottom: 1px solid transparent;'>
<input type='text' name='spoiler' placeholder='Title (optional)' value='' style='border:none; width:612px;'>
<input type='text' name='spoiler' placeholder='Title (optional)' value='' style='border:none; width:99%;'>
</div>
<textarea name='status' id="status" style='width:612px; height:100px; border:none;'></textarea>
<textarea name='status' id="status" style='width:98.85%; height:100px; border:none;'></textarea>
</div>
<span style='float:left;'>
<input type='submit' value='Send' id='send' onClick='return false'>

View File

@ -8,8 +8,8 @@ include "../include/functions.php";
$message = "";
if (isset($_POST['user'])){
$instance = htmlentities($_POST['user']);
if (isset($_POST['user']) || isset($_GET['instance'])){
$instance = (isset($_POST['user']) ? htmlentities($_POST['user']) : htmlentities($_GET['instance']));
$check = json_decode(file_get_contents("https://$instance/api/v1/instance"),true);
if(is_null($check['title'])){

297
modules/2timeline.php Normal file
View File

@ -0,0 +1,297 @@
<?php
list($thread, $next) = timeline(array_merge($tl, $user_settings));
$replies = ($tl['mode'] == "thread" ? getreplies($tl['thread']) : false);
$notes = ($tl['mode'] == "thread" ? getnotes($tl['thread']) : false);
if (isset($_GET['user']) && (!isset($_GET['next']) && !isset($_GET['since']))) {
list($info, $rel) = user_info($_GET['user']);
$template = file_get_contents("templates/profileheader.txt");
$profile['mainColor'] = averageColor($info['avatar']);
$profile['header'] = $info['header_static'];
$profile['top'] = ($logedin ? "<span id='" . $info['id'] . "' class='profileButton profileMenu' style='position:relative;'>&#xe811;
<div class='menu' style='width:80px; position:absolute; background-color:yellow; top:25px; display:none;'>
<div id='" . $info['id'] . "' class='profileButton " . ($rel[0]['muting'] ? "un" : "") . "mute' style='width:100%; border-radius:0px;'>" . ($rel[0]['muting'] ? "&#xe81a; Unmute" : "&#xe81b; Mute") . "</div>
<div id='" . $info['id'] . "' class='profileButton " . ($rel[0]['blocking'] ? "un" : "") . "block' style='width:100%; border-radius:0px;'>" . ($rel[0]['blocking'] ? "&#xe80d Unblock" : "&#xe813; Block") . "</div>
</div>
</span>" : "");
if ($logedin && $rel[0]['following']) {
$profile['top'] .= "<span id='" . $info['id'] . "' class='profileButton listmenu' style='position:relative;'>Lists &#xe80b;
<div class='menu' style='width:120px; position:absolute; background-color:yellow; top:25px; left:00px; display:none;'><ul>";
$userlist = api_get("accounts/" . $info['id'] . "/lists");
$listids = array();
foreach ($userlist as $lst) {
$listids[] = $lst['id'];
}
$lists = api_get("/lists");
foreach ($lists as $list) {
$profile['top'] .= "<a href='?action=addtolist&user=" . $info['id'] . "&list=" . $list['id'] . "' id='" . $info['id'] . "' list='" . $list['id'] . "' class='" . (in_array($list['id'], $listids) ? 'rutl' : 'autl') . "' onClick='return false;'><li>" . $list['title'] . "</li></a>";
}
$profile['top'] .= "<a href='?page=lists' class='ldr' onClick='return false;'><li>Manage Lists</li></a>";
$profile['top'] .= "
</ul></div>
</span>";
}
if ($logedin) {
if ($rel[0]['following']) {
$label = "&#xe80c; Following";
$class = "unfollow";
}
else {
if ($info['locked']) {
if ($rel[0]['requested']) {
$label = "&#xe806; Follow Requested";
$class = "unfollow";
}
else {
$label = "&#xe806; Request Follow";
$class = "follow";
}
}
else {
$label = "&#xf234; Follow";
$class = "follow";
}
}
$profile['top'] .= "<span id='" . $info['id'] . "' class='profileButton $class'>$label</span>";
}
$profile['top'] .= "<span id='" . $info['id'] . "' class='profileButton " . (in_array($info['id'], $user_settings['nsfw']) ? "unnsfw" : "nsfw") . "'>" . (in_array($info['id'], $user_settings['nsfw']) ? "NSFW <span class='fontello'>&#xf205;</span>" : "NSFW <span class='fontello'>&#xf204;</span>") . "</span>";
if ($logedin) {
$profile['bottom'] = "
" . ($info['locked'] ? "<span class='profileButton' style='background-color: rgba(255,255,255,.5);'>&#xe819; Locked</span>" : "") . "
" . ($rel[0]['followed_by'] ? "<span class='profileButton' style='background-color: rgba(255,255,255,.5);'>&#xe80c; Follows You</span>" : "") . "
" . ($rel[0]['blocking'] ? "<span class='profileButton' style='background-color: rgba(255,255,255,.5);'>&#xe82c; Blocked</span>" : "") . "
" . ($rel[0]['muting'] ? "<span class='profileButton' style='background-color: rgba(255,255,255,.5);'>&#xe813; Muted</span>" : "") . "
";
}
else {
$profile['bottom'] = "";
}
$profile['avatar'] = $info['avatar'];
$profile['name'] = emojify($info['display_name'], $info['emojis'], 40);
$profile['acct'] = $info['acct'];
$profile['url'] = $info['url'];
$profile['note'] = emojify(trim($info['note']) , $info['emojis']);
$profile['statuses'] = $info['statuses_count'];
$profile['following'] = $info['following_count'];
$profile['followers'] = $info['followers_count'];
foreach ($profile as $key => $value) {
$template = str_replace(":$key:", $value, $template);
}
echo $template;
}
elseif (!isset($_GET['next']) && !isset($_GET['since'])) {
echo "<div class='element'></div>";
}
if ((!isset($thread[0]['id']) && !empty($thread)) || !is_array($thread)) {
echo "<div class='element'><div class='avatar'></div><span class='button error'> Error loading the timeline. " . json_encode($thread) . "</span></div>";
}
else {
$e = 0;
foreach ($thread as $elem) {
$post = array();
$post['pid'] = $elem['id'];
$post['replyto'] = "";
$post['rt'] = "";
if ($elem['reblog'] != null) {
$post['name'] = "<b><span id='" . $elem['reblog']['account']['id'] . "' class='user'><a class='link ldr' href='?user=" . $elem['reblog']['account']['id'] . "'>" . emojify($elem['reblog']['account']['display_name'], $elem['reblog']['account']['emojis'], 15) . "</a></span></b>";
$post['replyto'] = "<span>" . ($elem['reblog']['in_reply_to_id'] ? " <a class='fontello link preview ldr' target='_blank' id='" . $elem['reblog']['in_reply_to_id'] . "' href='?thread=" . $elem['reblog']['in_reply_to_id'] . "'>&#xf112;</a>" : "") . "</span>";
//$post['rt'] = "<span>[ <span style='font-family:fontello'> &#xe826; </span> by <img src='".$elem['account']['avatar']."' width=20 style='vertical-align:middle;'> <a class='link ldr user' id='".$elem['account']['id']."' href='?user=" . $elem['account']['id'] . "'>" . emojify($elem['account']['display_name'],$elem['account']['emojis'],15) . "</a> ]</span>";
$post['rt'] = "<span>[ <span style='font-family:fontello'> &#xe826; </span> by <img src='" . $elem['account']['avatar'] . "' width=30 style='vertical-align:middle; border-radius:30px;'> <a class='link ldr user' id='" . $elem['account']['id'] . "' href='?user=" . $elem['account']['id'] . "'><span class='desktop'>" . emojify($elem['account']['display_name'], $elem['account']['emojis'], 15) . "</span><span class='mobile'>@" . explode("@", $elem['account']['acct']) [0] . "</span></a> ]</span>";
$elem = $elem['reblog'];
}
else {
$post['name'] = "<span style='position:relative;'><b><span id='" . $elem['account']['id'] . "' class='user'><a class='link ldr' href='?user=" . $elem['account']['id'] . "'>" . emojify($elem['account']['display_name'], $elem['account']['emojis'], 20) . "</a></span></span></b><span class='desktop' style='font.size:10px;'> (" . $elem['account']['acct'] . ")</span> ";
$post['replyto'] = "<span>" . ($elem['in_reply_to_id'] ? " <a class='fontello link preview ldr' target='_blank' id='" . $elem['in_reply_to_id'] . "' href='?thread=" . $elem['in_reply_to_id'] . "'>&#xf112;</a>" : "") . "</span>";
}
if (in_array($elem["account"]['id'], $user_settings['nsfw'])) {
$elem['sensitive'] = true;
}
if ($user_settings['explicit'] == "hide" && $elem['sensitive'] == true && $tl['mode'] != "thread") {
continue;
}
if (@in_array($elem["pleroma"]['conversation_id'], $user_settings['hide'])) {
continue;
}
$json['id'] = $elem['id'];
$json['scope'] = $elem['visibility'];
if ($logedin) {
$pos['mentions'] = "";
$array = $elem["mentions"];
$json['mentions'] = ($user_settings['acct'] == $elem["account"]['acct'] ? "" : "@" . $elem["account"]['acct']) . " ";
if (!empty($array)) {
foreach ($array as $mnt) {
if ($mnt['acct'] != $user_settings['acct']) {
$json['mentions'] .= "@" . $mnt['acct'] . " ";
}
}
}
}
$post['json'] = json_encode($json);
$post['menu'] = "<ul>";
if ($logedin) {
$post['menu'] .= ($elem['account']['id'] == $user_settings['uid'] ? "<li><a href='?action=delete&thread=" . $elem['id'] . "' onClick='return false;' class='delete fontello' id=':id:'>&#xe80e; Delete Post</a></li>" : "");
$post['menu'] .= "<li><a href='?action=compose&quote=" . $elem['id'] . "' onClick='return false;' class='quote fontello' id='" . $elem['id'] . "' style='background-color:transparent;'>&#xf10e; Quote Post</a></li>";
$post['menu'] .= ($elem['account']['id'] != $user_settings['uid'] ? "<li><a href='?action=mute&user=" . $elem['account']['id'] . "' onClick='return false;' class='mute fontello' id='" . $elem['account']['id'] . "' style='background-color:transparent;'>&#xe81b; Mute User</a></li>" : "");
$post['menu'] .= ($elem['account']['id'] != $user_settings['uid'] ? "<li><a href='?action=mute&thread=" . $elem['account']['id'] . "' onClick='return false;' class='muteconv fontello' id='" . $elem['id'] . "' style='background-color:transparent;'>&#xf1f7; Drop Thread</a></li>" : "");
$post['menu'] .= (isset($user_settings['pleroma']) ? "<li><a href='?action=hide&thread=" . $elem['pleroma']['conversation_id'] . "' onClick='return false;' class='hide fontello' id='" . $elem['pleroma']['conversation_id'] . "' style='background-color:transparent;'>&#xf1f8; Hide Thread</a></li>" : "");
$post['menu'] .= (isset($user_settings['pleroma']) ? "<li><a href='?action=bookmark&thread=" . $elem['account']['id'] . "' onClick='return false;' class='" . ($elem['bookmarked'] == true ? "un" : "") . "bookmark fontello' id='" . $elem['id'] . "' style='background-color:transparent;'>&#xe81e; " . ($elem['bookmarked'] == true ? "Unb" : "B") . "ookmark</a></li>" : "");
$post['menu'] .= ($elem['account']['id'] != $user_settings['uid'] ? "<li><a href='?action=nsfw&user=" . $elem['account']['id'] . "' onClick='return false;' class='nsfw fontello' id='" . $elem['account']['id'] . "' style='background-color:transparent;'>&#xe829; User is NSFW</a></li>" : "");
}
$post['menu'] .= "<li><a target='_blank' href='" . $elem['url'] . "' class='original link fontello' style='background-color:transparent;'>&#xf14c; Original Note</a></li>";
$post['menu'] .= "</ul>";
$post['text'] = processText($elem);
$post['spoiler'] = (empty($elem['spoiler_text']) ? "" : "<span style='font-weight:bold;font-size:20px;'>" . $elem['spoiler_text'] . "</span><br>");
$post['media'] = "";
$urls = get_urls(strip_tags($elem['content'], '<br><br \>'));
if (!empty($urls)) {
foreach ($urls as $url) {
parse_str(parse_url($url, PHP_URL_QUERY) , $my_array_of_vars);
if (isset($my_array_of_vars['v'])) {
$post['media'] = "<embed class='desktop' width='620' height='415' src='https://invidio.us/embed/" . $my_array_of_vars['v'] . "'>";
}
}
}
if (!empty($elem['media_attachments'])) {
if ($user_settings['attach'] != "off"){
$images = count($elem['media_attachments']);
$class = ($images === 1 ? "" : ($images > 4 ? "class='smaller'" : "class='small'"));
foreach ($elem['media_attachments'] as $file) {
$ext = explode(".", $file['url']);
$ext = end($ext);
$ext = explode("?", $ext) [0];
if ($ext == 'mp4' || $ext == 'webm') {
$post['media'] .= "<div style='overflow:hidden; float:left; margin:2px;' $class><video preload='metadata' style='text-align:center; max-width:100%; max-height:100%;' controls loop>
<source src='" . $file['url'] . "' type='video/$ext'>
</video></div>
";
}
elseif ($ext == 'mp3' || $ext == 'ogg') {
$post['media'] .= "<div style='text-align:center; width:100%;'><audio controls>
<source src='" . $file['url'] . "' type='audio/$ext'>
Your browser does not support the audio tag.
</audio> </div>";
}
else {
if ($elem['sensitive'] == true && $user_settings['explicit'] != 'off') {
$post['media'] .= "<div style='overflow:hidden; float:left; margin:2px;' $class><a target='_blank' href='" . $file['url'] . "' onClick='return false;' class='blur'><noscript><img src='" . $file['url'] . "' style='width:100%;'></noscript><img " . ($e < 2 ? "src='" . $file['url'] . "'" : "data-src='" . $file['url'] . "'") . " class='lazyload' style='max-width:100%; max-height:100% vertical-align:middle;'></a><a target='_blank' href='" . $file['url'] . "' onClick='return false;' class='open-lightbox' style='display:none;'><img src='" . $file['url'] . "' class='lazyload' style='width:100%;'></a></div>";
}
else {
//$post['media'] .= "<div style='margin:0px; background-color:#".averageColor($file['url']).";' $class><a target='_blank' href='" . $file['url'] . "' onClick='return false;' class='open-lightbox'><img " . ($e < 2 ? "src='" . $file['url'] . "'" : "data-src='" . $file['url'] . "'") . " class='lazyload' style='" . ($images === 1 ? "width:100%;" : "max-width:100%; max-height:100%;") . " vertical-align:middle;'><noscript><img src='" . $file['url'] . "' style='width:100%;'></noscript></a></div>";
$post['media'] .= "<div style='margin:0px; background-color:#000;' $class><a target='_blank' href='" . $file['url'] . "' onClick='return false;' class='open-lightbox'><img " . ($e < 2 ? "src='" . $file['url'] . "'" : "data-src='" . $file['url'] . "'") . " class='lazyload' style='" . ($images === 1 ? "width:100%;" : "max-width:100%; max-height:100%;") . " vertical-align:middle;'><noscript><img src='" . $file['url'] . "' style='width:100%;'></noscript></a></div>";
}
}
}
} else {
$post['text'] .= "<br><br>\n";
foreach ($elem['media_attachments'] as $file) {
$post['text'] .= "<span class='fontello'>&#xe818;</span><a href='".$file['url']."' target='_blank' onClick='return false;' class='open-lightbox'>See attachment ".($elem['sensitive'] == true ? "(NSFW)" : "")."</a><br>\n";
}
}
}
$public = "&#xe83c;";
$private = "&#xe819;";
$unlisted = "&#xe816;";
$direct = "&#xf0e0;";
$post['footer'] = "<div style='float:left; color:darkgray;'>
<a style='text-decoration:none;color:darkgray;' class='ldr' target='_blank' href='?thread=" . $elem['id'] . "&instance=$srv" . "'>" . date("d/m/y H:i", strtotime($elem['created_at'])) . "</a> - <span class='fontello'>" . $$elem['visibility'] . " </span>
</div>
<div class='post_buttons' id='" . $elem['id'] . "'>
" . ($logedin ? "<div class='felem'><a onClick='return false' class='replyform' href='?thread=" . $elem['id'] . "' style='font-family:fontello; vertical-align:middle;'>&#xe824;</a></div>" : "") . "
<div class='felem'><a onClick='return false' " . ($logedin ? "class='" . ($elem['favourited'] == true ? "unfav" : "fav") . "' href='?action=true&mode=".($elem['favourited'] == true ? "off" : "true")."&fav=" . $elem['id'] . "'" : "class='notAllowed'") . " style='font-family:fontello; vertical-align:middle;'>&#xe802; <span>" . $elem['favourites_count'] . "</span></a></div>
<div class='felem'><a onClick='return false' " . ($logedin && ($elem['visibility'] == "public" || $elem['visibility'] == "unlisted") ? "class='" . ($elem['reblogged'] == true ? "unreblog" : "reblog") . "' href='?action=reblog&thread=" . $elem['id'] . "'" : "class='notAllowed'") . " style='font-family:fontello; vertical-align:middle;'>&#xe83a; <span>" . $elem['reblogs_count'] . "</span></a></div>
<div class='felem'><a class='replies' onClick='return false' href='?thread=" . $elem['id'] . "' style='font-family:fontello; vertical-align:middle;'>&#xe827; <span>" . $elem['replies_count'] . "</span></a></div>
</div>";
$post['form'] = ($tl['mode'] == 'thread' && $logedin ? str_replace(array(
":id:",
":content:"
) , array(
$elem['id'],
$json['mentions']
) , file_get_contents("templates/replyform.txt")) : "");
$post['ancestors'] = " ";
$post['descendants'] = " ";
if ($tl['mode'] == 'thread') {
foreach ($replies as $e) {
if ($e['mode'] == 'ancestor') {
$post['ancestors'] .= render_reply($e['content']);
}
else {
$post['descendants'] .= render_reply($e['content']);
}
}
}
$post['style'] = ""; //($tl['mode'] == "single" ? "display:none;" : "");
$post['id'] = $elem['id'];
$post['avatar'] = $elem['account']['avatar'];
$post['notes'] = "";
if ($notes) {
foreach ($notes as $note) {
$post['notes'] .= "<div id='" . $note[1]['id'] . "'>
<a href='?user=" . $note[1]['id'] . "' class='ldr' title='" . $note[1]['acct'] . "'>
<div class='nte' style='background-image:url(" . $note[1]['avatar'] . ");'>
<div class='nte_type' style='background-color:" . ($note[0] == "fav" ? "red" : "green") . "'><span>" . ($note[0] == "fav" ? "&#xe802;" : "&#xe826;") . "</span></div>
</div>
</a>
</div>";
}
}
if ((empty($elem['media_attachments']) && $post['media'] == "") || (!(empty($elem['media_attachments']) && $post['media'] == "") && $user_settings['attach'] == "off")) {
$post['template'] = file_get_contents("templates/textpost.txt");
}
else {
$post['template'] = file_get_contents("templates/post.txt");
}
foreach ($post as $key => $value) {
$post['template'] = str_replace(":$key:", $value, $post['template']);
}
echo $post['template'];
unset($post);
$e++;
}
if ((!isset($_GET['next']) || (isset($_GET['next']) && !isset($_GET['ajax']))) && !isset($_GET['since']) && !isset($_GET['thread'])) {
$query = http_build_query(array_filter(array(
'user' => (isset($tl['user']) ? $tl['user'] : false) ,
'mode' => $tl['mode']
)));
echo "<div class='element'><div class='avatar' style='height:0px;'></div><div class='loadmore' style='display:table-cell; height:50px; line-height:50px;'><a class='link' onClick='return false;' style='margin:5px;' href='?next=$next&" . $query . "'>Load More Posts</a></div></div>";
}
}
?>

BIN
themes/1994/brutus.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

352
themes/1994/css/color.css Normal file
View File

@ -0,0 +1,352 @@
a, .link {
color: blue;
}
body {
background-color: #008282;
background-image: url("../vp.jpg");
}
select{
color:black;
background-color:white;
}
label {
color: #425f99;
}
textarea,input[type="text"],.notifpic{
background-color:#c8f7f5;
border-bottom:2px solid #ffffff !important;
border-right:2px solid #ffffff !important;
border-top:2px solid #828282 !important;
border-left:2px solid #828282 !important;
}
textarea{
background-image: url("../brutus.png");
background-repeat: no-repeat;
background-position: right;
background-size:contain;
}
.media{
border-bottom:2px solid #ffffff !important;
border-top:2px solid #828282 !important;
}
input[type="radio"]:checked+label {
color: black;
}
input[type="checkbox"]:checked+label {
color: red;
}
.topbar {
background-color: #734eec;
}
.gotop {
background-color: rgba(255, 255, 255, 0.5);
}
.gotop a {
color: white;
}
.topicon {
color: white;
}
.tiselected {
border-bottom: 2px solid white;
}
.badge {
color: white;
}
.alert {
background-color: red;
}
#notifications {
background-color: #efd7f3;
color:black;
box-shadow: 1px 1px 1px black;
}
.notif{
color:black;
}
.notif .text{
color:black !important;
}
.uname {
text-decoration:underline !important;
}
#quicksend {
background-color: #efd7f3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
}
.new {
background-color:#efd7f3;
}
.side_element {
background-color: #efd7f3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
}
.side_element li:hover {
background-color: #734eec;
color:white;
}
.side_element li:active {
background-color: rgba(255, 255, 255, 0.25);
}
.side_element a, .userinfo a, .userinfo .ldr {
color: black !important;
}
.uploadBox {
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
}
.delpic {
color:red;
background-color:white;
}
#send {
background-color: #b967ff;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
color:black;
}
.formbtn {
color:black;
}
.formbtn label{
color:black;
}
.profile,.loader,.menu,.notif {
background-color: #efd7f3 !important;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
}
.menu li {
background-color: #efd7f3 !important;
}
#usermenu .menu {
background-color: #6B91B6;
}
.postMenu {
background-color: #efd7f3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
color:black;
padding:1px;
}
.postMenu div{
background-color: #efd7f3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
color:black;
box-shadow: 1px 1px 2px black;
}
.postMenu li{
background-color: #efd7f3;
color:black;
}
.menu li:hover {
background-color: #734eec !important;
color:white;
}
.postMenu li a{
color: #734eec !important;
}
.postMenu li:hover a{
color:white !important;
}
.listmenu li {
background-color:black;
color:white;
}
.listmenu li:hover {
background-color:white;
color:black;
}
.autl:hover li{
background-color:lightgreen !important;
}
.rutl:hover li{
background-color:crimson !important;
}
.unblock,.unmute,.block,.mute,.follow,
.unfollow,
.nsfw,
.unnsfw,
.profileMenu,
.listmenu {
background-color: black;
color: white;
cursor: pointer;
}
.mute:hover,.block:hover,.follow:hover,
.nsfw:hover {
background-color: lime;
}
.unmute:hover,.unblock:hover,.unfollow:hover,
.unnsfw:hover{
background-color: crimson !important;
}
.unbookmark{
color: crimson !important;
}
.unfav, .unreblog{
color: red !important;
}
.post,
.rb,
.textonly,
.loadmore {
background-color: #efd7f3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
}
.postform {
background-color: #efd7f3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
}
.previewpost,.userinfo {
background-color: #efd7f3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
box-shadow: 1px 1px 1px rgba(0,0,0,0.8);
color:black;
}
.userinfo_he a{
color:white !important;
}
.icon {
background-color: black;
}
.postHeader {
background-color: #734eec;
color:white;
}
.reply .postHeader{
background-color:#808080;
border-bottom:3px solid #808080;
}
.postHeader a, .postHeader .link {
color: white;
}
.toggleblur{
background-color: blue;
color:white;
}
.post_footer {
border-bottom:2px solid #ffffff;
border-right:2px solid #ffffff;
border-top:2px solid #828282;
border-left:2px solid #828282;
background-color:#c8f7f5;
}
.notif .post_buttons {
color: black;
background-color:#efd7f3;
}
.reply {
background-color: #d8edf3;
border-bottom: 1px solid #666;
}
.note {
background-color: #ccc;
}
.button {
background-color: white;
}
.setting label {
background-color:#e2e2e2;
border-bottom:2px solid #ffffff;
border-right:2px solid #ffffff;
border-top:2px solid #828282;
border-left:2px solid #828282;
color:#aaaaaa;
}
.setting input[type="radio"]:checked+label {
background-color: #efd7f3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
color: black;
}

666
themes/1994/css/mobile.css Normal file
View File

@ -0,0 +1,666 @@
/* overall */
* {
font-family: arial, helvetica, sans-serif;
font-size: 12pt;
}
html,body{
height:100%;
}
a {
text-decoration:none;
}
h1 {
font-size:20px;
}
p {
margin: 0px !important;
}
body {
margin: 0;
}
body {
background-attachment: fixed;
background-size: auto 100%;
background-repeat: no-repeat;
background-position: left top;
}
ul{
padding:0px;
margin:0px;
}
select{
padding:5px;
margin-top:5px;
border:0px;
font-weight:bold;
font-family:fontello, sans-serif;
}
option{
font-family:fontello, sans-serif;
}
label {
margin-left: 5px;
margin-right: 5px;
cursor: pointer;
}
input[type="file"], .nloadmore {
cursor:pointer;
}
textarea {
resize: none;
}
/* omnipresent */
.desktop{
display:none !important;
}
.link {
text-decoration: none;
}
.external:after{
font-family:fontello;
font-weight:normal;
content: ' ';
}
/* basic structure */
.topbar {
width: 100vw;
height: 45px;
margin: 0;
position: relative;
}
.wrapper {
width: 100vw;
clear: both;
display: inline-block;
text-align: center;
}
.container {
width: 100% !important;
display: inline-block;
text-align: center;
}
#posts {
width: 100% !important;
}
.content {
width: 100%;
display: inline-block;
margin:0px !important;
text-align: left;
word-break: break-all;
}
aside {
display:none !important;
}
.gotop {
width: 30px;
height: 30px;
padding: 5px;
position: fixed;
display: table;
text-align: center;
right: 20px;
bottom: 20px;
border-radius: 10px;
z-index:50;
}
.gotop a {
text-align: center;
display: table-cell;
vertical-align: middle;
opacity: 0.7;
font-size: 20px;
}
#hiddenside {
background-color: rgba(255, 255, 255, 0);
position: fixed;
left: 0px;
bottom: 0px;
width: 100vw;
height: auto;
z-index: 99;
}
/* topbar elements */
.mid {
display:none;
}
.topbutton {
vertical-align: middle;
display: table-cell;
line-height: 45px;
height: 100%;
width: 50px;
position: relative;
}
.topicon {
text-decoration: none;
display: inline;
font-size: 20px;
}
.badge {
text-decoration: none;
}
.alert {
border-radius: 90px;
width: 10px;
height: 10px;
position: absolute;
right: 15px;
top: 15px;
display: none;
}
#notifications {
position: fixed;
left: 0px;
top: 45px;
width: 100vw;
max-height: 400px;
display: none;
line-height:12px;
overflow-y:scroll;
border-radius:3px;
}
.notif{
width:100%;
height:80px;
display:inline-block;
text-align:left;
position:relative;
}
#quicksend {
border-radius: 3px;
font-weight: bold;
}
.notifContents{
margin:10px;
display:flex;
height:60px;
max-width:325px;
}
.nloadmore {
display:inline-block;
height:20px;
padding-top:10px;
}
/* sidebar */
.side_element {
display:none;
width: 92%;
margin: 10px;
display: inline-block;
text-align: center;
color: lightgray;
}
.side_element a {
color: lightgray;
}
/* posts area elements */
.uploadedImage {
width: 60px;
margin: 10px 0px 10px 10px;
height: 60px;
border: 1px solid #ccc;
display: inline-block;
box-shadow: 3px 3px 3px grey;
float: left;
background-size: cover;
}
.uploadBox {
width: 100%;
display: inline-block;
border-bottom: 1px solid #ddd;
}
.delpic {
border-radius:90px;
display:inline-block;
cursor:pointer;
}
#send {
padding:5px;
border-radius:3px;
font-weight:bold;
margin-top:5px;
}
.formbtn {
background-color:transparent;
border: 0px;
margin-top:11px;
margin-left:15px;
float:left;
width:20px;
height:20px;
line-height:20px;
text-align:center;
overflow:hidden;
font-size:20px;
}
.formbtn label{
margin:-5px;
font-size:20px;
}
.element {
width: 90% !important;
clear: both;
display: inline-block;
margin-top: 3px;
}
.profile {
float:left;
background-color:white;
border-radius:5px;
//width:650px;
width:100%;
}
.profileButton{
padding: 5px;
border-radius: 5px;
font-family: fontello, sans-serif;
}
#usermenu .menu {
display: none;
width: 150px;
height: 100px;
position: absolute;
top: 45px;
left: -80px;
transition: 0.4s;
}
#usermenu:hover>.menu,
#usermenu:active>.menu {
display: block;
transition: 0.4s;
}
.postMenu,.listmenu {
cursor: pointer;
position:relative;
}
.postMenu div{
border-radius: 3px;
}
.postMenu li {
margin:0px;
width:100%;
height:35px;
display:block;
text-align:center;
line-height:35px;
}
.postMenu:hover > div{
display:block !important;
}
.postMenu ul {
margin:0px;
width:100%;
padding:0px;
}
.profileMenu:hover > div, .listmenu:hover > div{
display:block !important;
}
.listmenu li {
font-family: fontello, sans-serif;
height:30px;
line-height:30px;
text-align:left;
padding-left:12px;
list-style-type: none;
}
.felem {
margin-left: 10px;
float: left;
}
.avatar {
display:none;
width: 50px;
background-size: cover;
height: 50px;
float: left;
margin: 15px;
border-radius: 10px;
}
.post,
.loader,
.loadmore,
.rb,
.textonly,
.profile {
width: 100% !important;
float: left;
text-align: center;
position: relative;
border-radius: 3px;
}
.postform {
display:none;
position:fixed;
width: 100vw !important;
left:0px;
top:45px;
text-align: center;
border-radius: 3px;
z-index: 99;
}
#postform {
display:none;
}
.postHeader {
width: 100%;
display: inline-block;
height: 40px;
text-align: left;
}
.postHeader *,.post_footer *{
font-size:small;
}
.previewpost {
display: none;
position: absolute;
margin-top: -100px;
width: 400px;
border-radius:3px;
}
.user {
position:relative;
}
.userinfo {
display: none;
position: absolute;
left:0px;
top:-198px;
width: 300px;
height: 200px;
border-radius:3px;
}
.userinfo_co {
width: 280px;
margin: 10px;
}
.userinfo_he {
width: 300px;
height: 100px;
}
.media {
width: 100%;
display: inline-block;
}
.img {
width: 600px;
text-align: center;
}
.blur {
-webkit-filter: blur(25px) brightness(70%) grayscale(100%);
/* Safari 6.0 - 9.0 */
filter: blur(25px) brightness(70%) grayscale(100%);
opacity: 0.5;
transition: 0.4s;
}
.toggleblur {
display:none;
cursor: pointer;
font-family: sans, fontello;
}
.small {
width: 48% !important;
height: 321px;
line-height: 321px;
background-color: black;
float:left;
margin:2px !important;
}
.smaller {
width: 31% !important;
height: 212px;
line-height: 212px;
background-color: black;
float:left;
margin:2px !important;
}
.icon {
width: 80px !important;
height: 80px !important;
line-height: 80px;
float:left;
text-align:center;
margin:2px !important;
}
.postbody {
margin: 15px;
}
.post_footer {
width: 630px;
display: table-cell;
clear: both;
padding: 10px;
height: 20px;
text-align: left;
border-radius: 3px;
}
.post_buttons {
font-family: fontello;
float: right;
display: inline-block;
text-align: right;
font-size: 15pt;
}
.post_buttons a,
.post_buttons span {
font-family: inherit;
text-decoration: none;
color: inherit;
font-size: inherit;
}
.reply {
width: 100%;
clear: both;
text-align: left;
display: block;
}
.note {
width: 640px;
float: left;
text-align: left;
border-radius: 5px;
padding: 5px;
}
.button {
padding: 15px;
float: left;
text-align: center;
border-radius: 5px;
font-size: 20pt;
}
/* pages */
.setting label {
display: block;
width: 40px;
height: 20px;
padding: 5px;
float: left;
margin: 0px;
text-align: center;
transition: all 0.3s ease-in-out;
}
.setting input[type="radio"]:checked+label {
font-weight: bold;
}
/* other stuff */
/* <lightbox> */
.lightbox-opened {
/* background-color: #333; */
background-color: rgba(50, 50, 50, 0.85);
cursor: pointer;
height: 100%;
/* left: 0; */
overflow-y: scroll;
position: fixed;
text-align: center;
top: 0;
width: 100%;
z-index:105;
&:before {
background-color: #333;
background-color: rgba(#333, 0.9);
color: #eee;
content: "x";
font-family: sans-serif;
padding: 6px 12px;
position: fixed;
text-transform: uppercase;
}
img {
box-shadow: 0 0 6px 3px #333;
}
}
/*
.lightbox-opened {
//background-color: #333;
background-color: rgba(50, 50, 50, 0.85);
cursor: pointer;
height: 100%;
left: 0;
overflow-y: scroll;
padding: 24px;
position: fixed;
text-align: center;
top: 0;
width: 100%;
&:before {
background-color: #333;
background-color: rgba(#333, 0.9);
color: #eee;
content: "x";
font-family: sans-serif;
padding: 6px 12px;
position: fixed;
text-transform: uppercase;
}
img {
box-shadow: 0 0 6px 3px #333;
}
}
*/
.no-scroll {
overflow: hidden;
}
/* </lightbox> */
.fontello {
font-family: fontello, sans-serif;
}
.loading {
font-family: fontello;
color: black;
content: "\E822";
animation-name: spin;
animation-duration: 5000ms;
animation-iteration-count: infinite;
animation-timing-function: linear;
/* transform: rotate(3deg); */
/* transform: rotate(0.3rad);/ */
/* transform: rotate(3grad); */
/* transform: rotate(.03turn); */
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.disabled {
background-color: black;
}

636
themes/1994/css/style.css Normal file
View File

@ -0,0 +1,636 @@
/* overall */
html {
scroll-behavior: smooth;
}
body {
background-attachment: fixed;
background-size: cover;
}
* {
font-family: arial, helvetica, sans-serif;
font-size: 11pt;
}
a {
text-decoration: none;
}
h1 {
font-size:30px;
}
p {
margin: 0px !important;
}
body {
margin: 0;
}
ul{
padding:0px;
margin:0px;
}
select{
padding:5px;
margin-top:5px;
border:0px;
font-weight:bold;
font-family:fontello, sans-serif;
}
option{
font-family:fontello, sans-serif;
}
label {
margin-left: 5px;
margin-right: 5px;
cursor: pointer;
}
input[type="file"], .nloadmore {
cursor:pointer;
}
textarea {
resize: none;
}
/* omnipresent */
.mobile {
display:none !important;
}
.link {
text-decoration: none;
}
.external:after{
font-family:fontello;
font-weight:normal;
content: ' ';
}
/* basic structure */
.topbar {
width: 100%;
height: 45px;
margin: 0;
position: relative;
}
.wrapper {
width: 100%;
clear: both;
display: inline-block;
text-align: center;
}
.container {
display: inline-block;
text-align: center;
}
#posts {
width: 800px;
float: left;
}
aside {
margin-top: 5px;
width: 280px;
float: left;
display: inline-block;
}
.gotop {
width: 30px;
height: 30px;
padding: 5px;
position: fixed;
display: table;
text-align: center;
right: 20px;
bottom: 20px;
border-radius: 10px;
}
.gotop a {
text-align: center;
display: table-cell;
vertical-align: middle;
opacity: 0.7;
font-size: 20px;
}
#hiddenside {
background-color: rgba(255, 255, 255, 0);
position: fixed;
right: 10px;
bottom: 115px;
width: 350px;
height: auto;
}
/* topbar elements */
.topbutton {
vertical-align: middle;
display: table-cell;
line-height: 45px;
height: 100%;
width: 50px;
position: relative;
}
.topicon {
text-decoration: none;
display: inline;
font-size: 20px;
}
.ntbutton {
position:relative;
}
.badge {
text-decoration: none;
}
.alert {
border-radius: 90px;
width: 10px;
height: 10px;
position: absolute;
right: 15px;
top: 15px;
display: none;
}
#notifications {
position: absolute;
right: -20px;
top: 45px;
width: 350px;
max-height: 500px;
display: none;
line-height:12px;
overflow-y:scroll;
border-radius:3px;
}
.notif{
width:330px;
height:80px;
display:inline-block;
text-align:left;
position:relative;
}
#quicksend {
border-radius: 3px;
font-weight: bold;
}
.notifContents{
margin:10px;
display:flex;
height:60px;
max-width:325px;
}
.nloadmore {
display:inline-block;
height:20px;
padding-top:10px;
}
/* sidebar */
.side_element {
border-radius: 3px;
width: 92%;
margin: 10px;
display: inline-block;
text-align: center;
}
.side_element li {
font-family: fontello, sans-serif;
height:30px;
line-height:30px;
text-align:left;
padding-left:12px;
list-style-type: none;
}
/* posts area elements */
.uploadedImage {
width: 60px;
margin: 10px 0px 10px 10px;
height: 60px;
border: 1px solid #ccc;
display: inline-block;
box-shadow: 3px 3px 3px grey;
float: left;
background-size: cover;
}
.uploadBox {
width: 100%;
display: inline-block;
border-bottom: 1px solid #ddd;
}
.delpic {
border-radius:90px;
display:inline-block;
cursor:pointer;
}
#send {
padding:5px;
border-radius:3px;
font-weight:bold;
margin-top:5px;
float:left;
}
.formbtn {
background-color:transparent;
border: 0px;
margin-top:11px;
margin-left:15px;
float:left;
width:20px;
height:20px;
line-height:20px;
text-align:center;
overflow:hidden;
font-size:20px;
}
.formbtn label{
margin:-5px;
font-size:20px;
}
.element {
width: 800px;
clear: both;
display: inline-block;
margin-top: 5px;
}
.profile,.loader {
float:left;
border-radius:5px;
width:650px;
}
.profileButton{
padding: 5px;
border-radius: 5px;
font-family: fontello, sans-serif;
}
#usermenu .menu {
display: none;
width: 150px;
height: 100px;
position: absolute;
top: 45px;
left: -80px;
transition: 0.4s;
}
#usermenu:hover>.menu,
#usermenu:active>.menu {
display: block;
transition: 0.4s;
}
.postMenu {
cursor: pointer;
position:relative;
}
.postMenu div{
border-radius: 3px;
}
.postMenu li {
margin:0px;
width:100%;
height:35px;
display:block;
text-align:center;
line-height:35px;
}
.postMenu:hover > div{
display:block !important;
}
.postMenu ul {
margin:0px;
width:100%;
padding:0px;
}
.profileMenu:hover > div, .listmenu:hover > div{
display:block !important;
}
.listmenu li {
font-family: fontello, sans-serif;
height:30px;
line-height:30px;
text-align:left;
padding-left:12px;
list-style-type: none;
}
.felem {
margin-left: 10px;
float: left;
}
.avatar {
width: 80px;
background-size: 80px;
height: 80px;
float: left;
margin: 15px;
border-radius: 10px;
}
.post,
.rb,
.textonly,
.loadmore {
width: 650px;
float: left;
text-align: center;
position: relative;
border-radius: 3px;
}
.postform {
width:650px;
float: left;
text-align: center;
position: relative;
border-radius: 3px;
display:block !important;
}
.postHeader {
width: 100%;
display: inline-block;
height: 40px;
text-align: left;
}
.previewpost {
display: none;
position: absolute;
margin-top: -100px;
width: 400px;
border-radius:3px;
}
.user {
position:relative;
}
.userinfo {
display: none;
position: absolute;
left:0px;
top:15px;
width: 300px;
height: auto;
border-radius:3px;
line-height:initial;
z-index:99;
}
.userinfo_upper{
top:-100px;
}
.userinfo_co {
width: 280px;
margin: 10px;
text-align: center;
position:relative;
}
.userinfo_he {
width: 300px;
height: 150px;
}
.media {
width: 100%;
display: inline-block;
}
.img {
width: 600px;
text-align: center;
}
.blur {
-webkit-filter: blur(25px) brightness(70%) grayscale(100%);
/* Safari 6.0 - 9.0 */
filter: blur(25px) brightness(70%) grayscale(100%);
opacity: 0.5;
transition: 0.4s;
}
.toggleblur {
display:none;
cursor: pointer;
font-family: sans, fontello;
}
.small {
width: 321px !important;
height: 321px;
line-height: 321px;
/* background-color: black; */
float:left;
margin:2px !important;
}
.smaller {
width: 212px !important;
height: 212px;
line-height: 212px;
/* background-color: black; */
float:left;
margin:2px !important;
}
.icon {
width: 80px !important;
height: 80px !important;
line-height: 80px;
float:left;
text-align:center;
margin:2px !important;
}
.postbody {
margin: 15px;
}
.content {
width: 600px;
display: inline-block;
margin:0px !important;
text-align: left;
}
.post_footer {
width: 630px;
display: table-cell;
clear: both;
padding: 10px;
height: 20px;
text-align: left;
border-radius: 3px;
}
.post_buttons {
font-family: fontello;
float: right;
display: inline-block;
text-align: right;
font-size: 15pt;
}
.post_buttons a,
.post_buttons span {
font-family: inherit;
text-decoration: none;
color: inherit;
font-size: inherit;
}
.reply {
width: 100%;
clear: both;
text-align: left;
display: block;
}
.note {
width: 640px;
float: left;
text-align: left;
border-radius: 5px;
padding: 5px;
}
.button {
padding: 15px;
float: left;
text-align: center;
border-radius: 5px;
font-size: 20pt;
}
/* pages */
.setting label {
display: block;
width: 40px;
height: 20px;
padding: 5px;
float: left;
margin: 0px;
text-align: center;
transition: all 0.3s ease-in-out;
}
.setting input[type="radio"]:checked+label {
font-weight: bold;
}
/* other stuff */
/* <lightbox> */
.lightbox-opened {
/* background-color: #333; */
background-color: rgba(50, 50, 50, 0.85);
cursor: pointer;
height: 100%;
/* left: 0; */
overflow-y: scroll;
position: fixed;
text-align: center;
top: 0;
width: 100%;
z-index:105;
&:before {
background-color: #333;
background-color: rgba(#333, 0.9);
color: #eee;
content: "x";
font-family: sans-serif;
padding: 6px 12px;
position: fixed;
text-transform: uppercase;
}
img {
box-shadow: 0 0 6px 3px #333;
}
}
.no-scroll {
overflow: hidden;
}
/* </lightbox> */
.fontello {
font-family: fontello;
}
.loading {
font-family: fontello;
color: black;
content: "\E822";
animation-name: spin;
animation-duration: 5000ms;
animation-iteration-count: infinite;
animation-timing-function: linear;
/* transform: rotate(3deg); */
/* transform: rotate(0.3rad);/ */
/* transform: rotate(3grad); */
/* transform: rotate(.03turn); */
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.disabled {
background-color: black;
}

View File

@ -0,0 +1,21 @@
<div class='element'>
<div class='avatar' style='background-image:url(:avatar:) :style:'></div>
<div class='post' id=':id:' pid=':pid:'>
<div id='a:id:' class='ancestors'>:ancestors:</div>
<div class='postHeader'>
<span style='margin:5px; display:block; float:left; line-height:30px;'><img src=':avatar:' width=30 class='mobile' style='vertical-align:middle; border-radius:30px'> :name: :rt: </span>
<span style="margin:10px; float:right; display:block;">
<span class='postMenu fontello'>&#xf0c9;<div style='display:none; z-index:99; width:130px; position: absolute; top: 15px; right: -1px;' class='menu'>:menu:</div></span>
</span>
</div>
:spoiler:
<div class='media' style='text-align:center;'>:media:</div>
<div class='postbody'><div class='content' style='margin-bottom:5px;'>
:replyto: :text:
</div></div>
<div class='post_footer'>:footer:</DIV>
<div class='post_notes'>:notes:</DIV>
<div id=':id:' class='replies_container'><noscript>:form:</noscript>:descendants:</div>
</div>
<script type='application/json' id='data-:id:'>:json:</script>
</div>

View File

@ -0,0 +1,26 @@
<div class='element'>
<div class='avatar' style='height:1px;'></div>
<div class='profile'>
<div style='width: 100%; height:250px; background-color:#:mainColor:; background-size:cover; background-image:url(:header:); display:inline-block; position:relative;'>
<span style='width:290; height:30px; display:block; margin-top:15px; margin-right:15px; float:right;'>
:top:
</span>
<span style='position:absolute; bottom:10px; left:10px;'>
:bottom:
</span>
</div>
<div style='width: 100%; position:relative; text-align:center; padding-bottom:15px;'>
<div class='avatar' style='background-color:white; background-size: cover; background-image:url(:avatar:); text-align:center; float:none; display:inline-block; border:3px solid white; margin-top:-50px; border-radius:5px; width:80px; height:80px;'></div>
<br><span style='font-weight:bold; font-size:40px;'>:name:</span>
<br><span style='font-weight:bold;'><a href=':url:' target='_blank' class='link external'> @:acct:</a></span>
<br><span>:note:</span>
</div>
<div class='post_footer' style='width: inherit; text-align:center;'>
<div style='width:33%; text-align:center; float:left;'><b>Statuses</b><br>:statuses:</div>
<div style='width:33%; text-align:center; float:left;'><b>Following</b><br>:following:</div>
<div style='width:33%; text-align:center; float:left;'><b>Followers</b><br>:followers:</div>
<span style='font-size:9px;'>Data may be inaccurate, <a href=':url:' style='font-size:9px;' target='_blank' class='link'>visit profile directly</a> to see updated data.</span>
</div>
</div>
</div>

View File

@ -0,0 +1,16 @@
<div class='element'>
<div class='avatar' style='background-image:url(:avatar:) :style:'></div>
<div class='rb' id=':id:'>
<div id='a:id:' class='ancestors'>:ancestors:</div>
<div class='post_header'>:name:</div>
<div class='media'>:media:</div>
<div class='content' style='margin-bottom:5px;'>
:spoiler:
:text:
</div>
<div class='post_footer'>:footer:</DIV>
<div id='r:id:' class='replies_container'>:form::descendants:</div>
</div>
<script type='application/json' id='data-:id:'>:json:</script>
:notes:
</div>

View File

@ -0,0 +1,25 @@
<div class='reply :mode:' id=':id:'>
<div class='postHeader'>
<span style='margin:7px; display:block; float:left;'>
<img src=':avatar:' width=30 style='vertical-align:middle; border-radius:30px;'>
<a class='ldr link user' href='?user=:uid:' id=':uid:'>
<b>:name:</b>
</a>
<span class='desktop'>(:acct:)</span>
</span>
<span style='margin:10px; float:right; display:block;'>
<span class='postMenu fontello'>&#xf0c9;
<div style='display:none; z-index:99; width:130px; position: absolute; top: 15px; right: -1px;' class='menu'>:menu:</div>
</span>
</span>
</div>
<div class='postbody'>
<div class='content' style='margin:0px;'>:media: :replyto: :text:</div>
</div>
<span style='width:100%; margin-bottom:10px; display:block;'>
<span style='margin-left:10px;'>:date:</span>
<span id=':id:' class="post_buttons" style='margin-right:10px;'>:buttons:</span>
</span>
<div id=':id:' class='replies_container'></div>
<script type='application/json' id='data-:id:'>:json:</script>
</div>

View File

@ -0,0 +1,39 @@
<div class='reply form' id='replyform' style='display:inline-block; width:100%'>
<div style='width:95%; margin: 10px auto; display:block;'>
<div style='text-align:right; background-color:white;'>
<form action='status.php' method='post' enctype='multipart/form-data'>
<input type='hidden' id='thread' name='thread' value=':id:'>
<div style='width:100%; border: 1px solid #ddd; text-align:left;'>
<div style='width:100% height:27px; border-bottom: 1px solid #ddd;'>
<input type='text' name='spoiler' value='Title (optional)' onClick='this.value=""' style='border:none; width:100%;'>
</div>
<textarea name='status' id="status" style='width:100%; height:100px; border:none;'>:content:</textarea>
</div>
<span style='float:left;'>
<input type='submit' value='Send' id='send' onClick='return false'>
<div class='formbtn fontello' style='position:relative;'>
&#xe818;
<input style='opacity:0; position:absolute; left:0px; top:5px; background-color:yellow;' type='file' id="files_input_field" name='file[]' multiple onchange="upload_files_reply();">
</div>
<div class='formbtn fontello' style='position:relative;'>
<input type='checkbox' name='sensitive' id='rsensitive' style='display:none;'>
<label for='rsensitive' class='fontello'>&#xe81b;</label>
</div>
</span>
<span style='float:left; margin-left:10px;' class='status'>
</span>
<span style='float:right;'>
<select name='scope' id='scope'>
<option id="public" value="1">&#xe83c; Public</option>
<option id="unlisted" value="2">&#xe816; Unlisted</option>
<option id="private" value="3">&#xe819; Private</option>
<option id="direct" value="4">&#xf0e0; Direct</option>
</select>
</span>
</form>
</div>
<div style="clear: both;"></div>
</div>
</div>

View File

@ -0,0 +1,23 @@
<div class='element'>
<div class='avatar' style='height:1px;'></div>
<div class='post textonly' id=':id:' pid=':pid:'>
<div id='a:id:' class='ancestors'>:ancestors:</div>
<div class='postHeader'>
<span style='margin:5px; display:block; float:left;'>
<img src=':avatar:' width=30 style='vertical-align:middle; border-radius:30px;'>
:name: :rt:
</span>
<span style="margin:10px; float:right; display:block;">
<span class='postMenu fontello'>&#xf0c9;<div style='display:none; z-index:99; width:130px; position: absolute; top: 15px; right: -1px;' class='menu'>:menu:</div></span>
</span>
</div>
<div class='postbody'>
<div class='content' style='margin-bottom:5px; margin-top:5px;'>:spoiler: :replyto: :text:</div>
</div>
<div class='post_footer'>:footer:</div>
<div class='post_notes'>:notes:</DIV>
<div id=':id:' class='replies_container'>:descendants:</div>
</div>
<script type='application/json' id='data-:id:'>:json:</script>
</div>

BIN
themes/1994/vp.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 KiB

View File

@ -0,0 +1,343 @@
a, .link {
color: #04e703;
}
body {
background-color: #3a6ea5;
}
.element div, .element span, .element p{
color:white;
}
select{
color:black;
background-color:white;
}
label {
color: #425f99;
}
textarea,input[type="text"]{
background-color:white;
border-bottom:2px solid #ffffff !important;
border-right:2px solid #ffffff !important;
border-top:2px solid #828282 !important;
border-left:2px solid #828282 !important;
}
input[type="radio"]:checked+label {
color: black;
}
input[type="checkbox"]:checked+label {
color: red;
}
.topbar {
background-color: #d4d0c8;
border-bottom:2px solid #a9b5bf;
box-shadow: 2px 2px 4px #000000;
}
.gotop {
background-color: rgba(255, 255, 255, 0.5);
}
.gotop a {
color: white;
}
.topicon {
color: black;
}
.tiselected {
border-bottom: 2px solid black;
}
.badge {
color: black;
}
.alert {
background-color: red;
}
#notifications {
background-color: #d4d0c8 !important;
color:black;
box-shadow: 1px 1px 1px black;
}
.notif{
color:black;
}
.notif .text{
color:black !important;
}
.uname {
color:blue !important;
text-decoration:blue !important;
}
#quicksend {
background-color: #c3c3c3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
}
.new {
background-color:#c3c3c3;
}
.side_element {
background-color: #c3c3c3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
}
.side_element li:hover {
background-color: #000082;
color:white;
}
.side_element li:active {
background-color: rgba(255, 255, 255, 0.25);
}
.side_element a, .userinfo a, .userinfo .ldr {
color: black !important;
}
.uploadBox {
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.3), 0 1px rgba(255, 255, 255, 0.1);
}
.delpic {
color:red;
background-color:white;
}
#send {
background-color: #c3c3c3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
color:black;
}
.formbtn {
color:black;
}
.formbtn label{
color:black;
}
.loader,.menu,.notif {
background-color: #d4d0c8!important;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
}
.loader a{
color:black;
}
.menu li {
background-color: #d4d0c8!important;
}
#usermenu .menu {
background-color: #6B91B6;
}
.postMenu {
color:#d3b870 !important;
padding:1px;
}
.postMenu div{
background-color: #c3c3c3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
color:black;
box-shadow: 1px 1px 2px black;
}
.postMenu li{
background-color: #c3c3c3;
color:black;
}
.menu li:hover {
background-color: #000082 !important;
color:white;
}
.postMenu li a{
color: #000082 !important;
}
.postMenu li:hover a{
color:white !important;
}
.listmenu li {
background-color:black;
color:white;
}
.listmenu li:hover {
background-color:white;
color:black;
}
.autl:hover li{
background-color:lightgreen !important;
}
.rutl:hover li{
background-color:crimson !important;
}
.unblock,.unmute,.block,.mute,.follow,
.unfollow,
.nsfw,
.unnsfw,
.profileMenu,
.listmenu {
background-color: black;
color: white;
cursor: pointer;
}
.mute:hover,.block:hover,.follow:hover,
.nsfw:hover {
background-color: lime;
}
.unmute:hover,.unblock:hover,.unfollow:hover,
.unnsfw:hover{
background-color: crimson !important;
}
.unbookmark{
color: crimson !important;
}
.unfav, .unreblog{
color: red !important;
}
.profile,
.post,
.rb,
.textonly,
.loadmore {
background-color: #383858;
border-top:2px solid #6a6a82;
border-left:2px solid #6a6a82;
border-bottom:2px solid #26263c;
border-right:2px solid #26263c;
box-shadow: inset 0 1px 20px rgba(0, 0, 0, 0.5), 0 1px rgba(255, 255, 255, 0.1);
}
.postform {
background-color: #c3c3c3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
box-shadow: 2px 2px 4px #000000;
}
.previewpost,.userinfo {
background-color: #383858 !important;
border-top:2px solid #6a6a82;
border-left:2px solid #6a6a82;
border-bottom:2px solid #26263c;
border-right:2px solid #26263c;
box-shadow: inset 0 1px 20px rgba(0, 0, 0, 0.5), 0 1px rgba(255, 255, 255, 0.1);
}
.userinfo_he a{
color:white !important;
}
.icon {
background-color: black;
}
.postHeader {
color:white;
}
.postHeader a, .postHeader .link {
color: #d3b870 !important;
}
.toggleblur{
background-color: blue;
color:white;
}
.post_footer {
box-shadow: inset 0 1px 10px rgba(0, 0, 0, 0.5), 0 1px rgba(255, 255, 255, 0.1);
border-bottom:2px solid #6a6a82;
border-right:2px solid #6a6a82;
border-top:2px solid #26263c;
border-left:2px solid #26263c;
background-color:black;
}
.post_footer .post_buttons a, .post_footer span{
color: #04e703;
}
.reply {
background-color: #20193d !important;
border-top:2px solid #6a6a82;
border-bottom:2px solid #26263c;
/* box-shadow: inset 0 1px 20px rgba(0, 0, 0, 0.5), 0 1px rgba(255, 255, 255, 0.1); */
}
.note {
background-color: #ccc;
}
.button {
background-color: white;
}
.setting label {
background-color:#e2e2e2;
border-bottom:2px solid #ffffff;
border-right:2px solid #ffffff;
border-top:2px solid #828282;
border-left:2px solid #828282;
color:#aaaaaa;
}
.setting input[type="radio"]:checked+label {
background-color: #c3c3c3;
border-top:2px solid #ffffff;
border-left:2px solid #ffffff;
border-bottom:2px solid #828282;
border-right:2px solid #828282;
color: black;
}

View File

@ -0,0 +1,656 @@
/* overall */
* {
font-family: arial, helvetica, sans-serif;
font-size: 12pt;
}
a {
text-decoration:none;
}
h1 {
font-size:20px;
}
p {
margin: 0px !important;
}
body {
margin: 0;
}
ul{
padding:0px;
margin:0px;
}
select{
padding:5px;
margin-top:5px;
border:0px;
font-weight:bold;
font-family:fontello, sans-serif;
}
option{
font-family:fontello, sans-serif;
}
label {
margin-left: 5px;
margin-right: 5px;
cursor: pointer;
}
input[type="file"], .nloadmore {
cursor:pointer;
}
textarea {
resize: none;
}
/* omnipresent */
.desktop{
display:none !important;
}
.link {
text-decoration: none;
}
.external:after{
font-family:fontello;
font-weight:normal;
content: ' ';
}
/* basic structure */
.topbar {
width: 100vw;
height: 45px;
margin: 0;
position: relative;
}
.wrapper {
width: 100vw;
clear: both;
display: inline-block;
text-align: center;
}
.container {
width: 100% !important;
display: inline-block;
text-align: center;
}
#posts {
width: 100% !important;
}
.content {
width: 100%;
display: inline-block;
margin:0px !important;
text-align: left;
word-break: break-all;
}
aside {
display:none !important;
}
.gotop {
width: 30px;
height: 30px;
padding: 5px;
position: fixed;
display: table;
text-align: center;
right: 20px;
bottom: 20px;
border-radius: 10px;
z-index:50;
}
.gotop a {
text-align: center;
display: table-cell;
vertical-align: middle;
opacity: 0.7;
font-size: 20px;
}
#hiddenside {
background-color: rgba(255, 255, 255, 0);
position: fixed;
left: 0px;
bottom: 0px;
width: 100vw;
height: auto;
z-index: 99;
}
/* topbar elements */
.mid {
display:none;
}
.topbutton {
vertical-align: middle;
display: table-cell;
line-height: 45px;
height: 100%;
width: 50px;
position: relative;
}
.topicon {
text-decoration: none;
display: inline;
font-size: 20px;
}
.badge {
text-decoration: none;
}
.alert {
border-radius: 90px;
width: 10px;
height: 10px;
position: absolute;
right: 15px;
top: 15px;
display: none;
}
#notifications {
position: fixed;
left: 0px;
top: 45px;
width: 100vw;
max-height: 400px;
display: none;
line-height:12px;
overflow-y:scroll;
border-radius:3px;
}
.notif{
width:100%;
height:80px;
display:inline-block;
text-align:left;
position:relative;
}
#quicksend {
border-radius: 3px;
font-weight: bold;
}
.notifContents{
margin:10px;
display:flex;
height:60px;
max-width:325px;
}
.nloadmore {
display:inline-block;
height:20px;
padding-top:10px;
}
/* sidebar */
.side_element {
display:none;
width: 92%;
margin: 10px;
display: inline-block;
text-align: center;
color: lightgray;
}
.side_element a {
color: lightgray;
}
/* posts area elements */
.uploadedImage {
width: 60px;
margin: 10px 0px 10px 10px;
height: 60px;
border: 1px solid #ccc;
display: inline-block;
box-shadow: 3px 3px 3px grey;
float: left;
background-size: cover;
}
.uploadBox {
width: 100%;
display: inline-block;
border-bottom: 1px solid #ddd;
}
.delpic {
border-radius:90px;
display:inline-block;
cursor:pointer;
}
#send {
padding:5px;
border-radius:3px;
font-weight:bold;
margin-top:5px;
}
.formbtn {
background-color:transparent;
border: 0px;
margin-top:11px;
margin-left:15px;
float:left;
width:20px;
height:20px;
line-height:20px;
text-align:center;
overflow:hidden;
font-size:20px;
}
.formbtn label{
margin:-5px;
font-size:20px;
}
.element {
width: 90% !important;
clear: both;
display: inline-block;
margin-top: 3px;
}
.profile {
float:left;
background-color:white;
border-radius:5px;
//width:650px;
width:100%;
}
.profileButton{
padding: 5px;
border-radius: 5px;
font-family: fontello, sans-serif;
}
#usermenu .menu {
display: none;
width: 150px;
height: 100px;
position: absolute;
top: 45px;
left: -80px;
transition: 0.4s;
}
#usermenu:hover>.menu,
#usermenu:active>.menu {
display: block;
transition: 0.4s;
}
.postMenu,.listmenu {
cursor: pointer;
position:relative;
}
.postMenu div{
border-radius: 3px;
}
.postMenu li {
margin:0px;
width:100%;
height:35px;
display:block;
text-align:center;
line-height:35px;
}
.postMenu:hover > div{
display:block !important;
}
.postMenu ul {
margin:0px;
width:100%;
padding:0px;
}
.profileMenu:hover > div, .listmenu:hover > div{
display:block !important;
}
.listmenu li {
font-family: fontello, sans-serif;
height:30px;
line-height:30px;
text-align:left;
padding-left:12px;
list-style-type: none;
}
.felem {
margin-left: 10px;
float: left;
}
.avatar {
display:none;
width: 50px;
background-size: cover;
height: 50px;
float: left;
margin: 15px;
border-radius: 10px;
}
.post,
.loader,
.loadmore,
.rb,
.textonly,
.profile {
width: 100% !important;
float: left;
text-align: center;
position: relative;
border-radius: 3px;
}
.postform {
display:none;
position:fixed;
width: 100vw !important;
left:0px;
top:45px;
text-align: center;
border-radius: 3px;
z-index: 99;
}
#postform {
display:none;
}
.postHeader {
width: 100%;
display: inline-block;
height: 40px;
text-align: left;
}
.postHeader *,.post_footer *{
font-size:small;
}
.previewpost {
display: none;
position: absolute;
margin-top: -100px;
width: 400px;
border-radius:3px;
}
.user {
position:relative;
}
.userinfo {
display: none;
position: absolute;
left:0px;
top:-198px;
width: 300px;
height: 200px;
border-radius:3px;
}
.userinfo_co {
width: 280px;
margin: 10px;
}
.userinfo_he {
width: 300px;
height: 100px;
}
.media {
width: 100%;
display: inline-block;
}
.img {
width: 600px;
text-align: center;
}
.blur {
-webkit-filter: blur(25px) brightness(70%) grayscale(100%);
/* Safari 6.0 - 9.0 */
filter: blur(25px) brightness(70%) grayscale(100%);
opacity: 0.5;
transition: 0.4s;
}
.toggleblur {
display:none;
cursor: pointer;
font-family: sans, fontello;
}
.small {
width: 48% !important;
height: 321px;
line-height: 321px;
background-color: black;
float:left;
margin:2px !important;
}
.smaller {
width: 31% !important;
height: 212px;
line-height: 212px;
background-color: black;
float:left;
margin:2px !important;
}
.icon {
width: 80px !important;
height: 80px !important;
line-height: 80px;
float:left;
text-align:center;
margin:2px !important;
}
.postbody {
margin: 15px;
}
.post_footer {
width: 630px;
display: table-cell;
clear: both;
padding: 10px;
height: 20px;
text-align: left;
border-radius: 3px;
}
.post_buttons {
font-family: fontello;
float: right;
display: inline-block;
text-align: right;
font-size: 15pt;
}
.post_buttons a,
.post_buttons span {
font-family: inherit;
text-decoration: none;
color: inherit;
font-size: inherit;
}
.reply {
width: 100%;
clear: both;
text-align: left;
display: block;
}
.note {
width: 640px;
float: left;
text-align: left;
border-radius: 5px;
padding: 5px;
}
.button {
padding: 15px;
float: left;
text-align: center;
border-radius: 5px;
font-size: 20pt;
}
/* pages */
.setting label {
display: block;
width: 40px;
height: 20px;
padding: 5px;
float: left;
margin: 0px;
text-align: center;
transition: all 0.3s ease-in-out;
}
.setting input[type="radio"]:checked+label {
font-weight: bold;
}
/* other stuff */
/* <lightbox> */
.lightbox-opened {
/* background-color: #333; */
background-color: rgba(50, 50, 50, 0.85);
cursor: pointer;
height: 100%;
/* left: 0; */
overflow-y: scroll;
position: fixed;
text-align: center;
top: 0;
width: 100%;
z-index:105;
&:before {
background-color: #333;
background-color: rgba(#333, 0.9);
color: #eee;
content: "x";
font-family: sans-serif;
padding: 6px 12px;
position: fixed;
text-transform: uppercase;
}
img {
box-shadow: 0 0 6px 3px #333;
}
}
/*
.lightbox-opened {
//background-color: #333;
background-color: rgba(50, 50, 50, 0.85);
cursor: pointer;
height: 100%;
left: 0;
overflow-y: scroll;
padding: 24px;
position: fixed;
text-align: center;
top: 0;
width: 100%;
&:before {
background-color: #333;
background-color: rgba(#333, 0.9);
color: #eee;
content: "x";
font-family: sans-serif;
padding: 6px 12px;
position: fixed;
text-transform: uppercase;
}
img {
box-shadow: 0 0 6px 3px #333;
}
}
*/
.no-scroll {
overflow: hidden;
}
/* </lightbox> */
.fontello {
font-family: fontello, sans-serif;
}
.loading {
font-family: fontello;
color: black;
content: "\E822";
animation-name: spin;
animation-duration: 5000ms;
animation-iteration-count: infinite;
animation-timing-function: linear;
/* transform: rotate(3deg); */
/* transform: rotate(0.3rad);/ */
/* transform: rotate(3grad); */
/* transform: rotate(.03turn); */
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.disabled {
background-color: black;
}

View File

@ -0,0 +1,631 @@
/* overall */
html {
scroll-behavior: smooth;
}
* {
font-family: arial, helvetica, sans-serif;
font-size: 11pt;
}
a {
text-decoration: none;
}
h1 {
font-size:30px;
}
p {
margin: 0px !important;
}
body {
margin: 0;
}
ul{
padding:0px;
margin:0px;
}
select{
padding:5px;
margin-top:5px;
border:0px;
font-weight:bold;
font-family:fontello, sans-serif;
}
option{
font-family:fontello, sans-serif;
}
label {
margin-left: 5px;
margin-right: 5px;
cursor: pointer;
}
input[type="file"], .nloadmore {
cursor:pointer;
}
textarea {
resize: none;
}
/* omnipresent */
.mobile {
display:none !important;
}
.link {
text-decoration: none;
}
.external:after{
font-family:fontello;
font-weight:normal;
content: ' ';
}
/* basic structure */
.topbar {
width: 100%;
height: 45px;
margin: 0;
position: relative;
}
.wrapper {
width: 100%;
clear: both;
display: inline-block;
text-align: center;
}
.container {
display: inline-block;
text-align: center;
}
#posts {
width: 800px;
float: left;
}
aside {
margin-top: 5px;
width: 280px;
float: left;
display: inline-block;
}
.gotop {
width: 30px;
height: 30px;
padding: 5px;
position: fixed;
display: table;
text-align: center;
right: 20px;
bottom: 20px;
border-radius: 10px;
}
.gotop a {
text-align: center;
display: table-cell;
vertical-align: middle;
opacity: 0.7;
font-size: 20px;
}
#hiddenside {
background-color: rgba(255, 255, 255, 0);
position: fixed;
right: 10px;
bottom: 115px;
width: 350px;
height: auto;
}
/* topbar elements */
.topbutton {
vertical-align: middle;
display: table-cell;
line-height: 45px;
height: 100%;
width: 50px;
position: relative;
}
.topicon {
text-decoration: none;
display: inline;
font-size: 20px;
}
.ntbutton {
position:relative;
}
.badge {
text-decoration: none;
}
.alert {
border-radius: 90px;
width: 10px;
height: 10px;
position: absolute;
right: 15px;
top: 15px;
display: none;
}
#notifications {
position: absolute;
right: -20px;
top: 45px;
width: 350px;
max-height: 500px;
display: none;
line-height:12px;
overflow-y:scroll;
border-radius:3px;
}
.notif{
width:330px;
height:80px;
display:inline-block;
text-align:left;
position:relative;
}
#quicksend {
border-radius: 3px;
font-weight: bold;
}
.notifContents{
margin:10px;
display:flex;
height:60px;
max-width:325px;
}
.nloadmore {
display:inline-block;
height:20px;
padding-top:10px;
}
/* sidebar */
.side_element {
border-radius: 3px;
width: 92%;
margin: 10px;
display: inline-block;
text-align: center;
}
.side_element li {
font-family: fontello, sans-serif;
height:30px;
line-height:30px;
text-align:left;
padding-left:12px;
list-style-type: none;
}
/* posts area elements */
.uploadedImage {
width: 60px;
margin: 10px 0px 10px 10px;
height: 60px;
border: 1px solid #ccc;
display: inline-block;
box-shadow: 3px 3px 3px grey;
float: left;
background-size: cover;
}
.uploadBox {
width: 100%;
display: inline-block;
border-bottom: 1px solid #ddd;
}
.delpic {
border-radius:90px;
display:inline-block;
cursor:pointer;
}
#send {
padding:5px;
border-radius:3px;
font-weight:bold;
margin-top:5px;
float:left;
}
.formbtn {
background-color:transparent;
border: 0px;
margin-top:11px;
margin-left:15px;
float:left;
width:20px;
height:20px;
line-height:20px;
text-align:center;
overflow:hidden;
font-size:20px;
}
.formbtn label{
margin:-5px;
font-size:20px;
}
.element {
width: 800px;
clear: both;
display: inline-block;
margin-top: 5px;
}
.profile,.loader {
float:left;
border-radius:5px;
width:650px;
}
.profileButton{
padding: 5px;
border-radius: 5px;
font-family: fontello, sans-serif;
}
#usermenu .menu {
display: none;
width: 150px;
height: 100px;
position: absolute;
top: 45px;
left: -80px;
transition: 0.4s;
}
#usermenu:hover>.menu,
#usermenu:active>.menu {
display: block;
transition: 0.4s;
}
.postMenu {
cursor: pointer;
position:relative;
}
.postMenu div{
border-radius: 3px;
}
.postMenu li {
margin:0px;
width:100%;
height:35px;
display:block;
text-align:center;
line-height:35px;
}
.postMenu:hover > div{
display:block !important;
}
.postMenu ul {
margin:0px;
width:100%;
padding:0px;
}
.profileMenu:hover > div, .listmenu:hover > div{
display:block !important;
}
.listmenu li {
font-family: fontello, sans-serif;
height:30px;
line-height:30px;
text-align:left;
padding-left:12px;
list-style-type: none;
}
.felem {
margin-left: 10px;
float: left;
}
.avatar {
width: 80px;
background-size: 80px;
height: 80px;
float: left;
margin: 15px;
border-radius: 10px;
}
.post,
.rb,
.textonly,
.loadmore {
width: 650px;
float: left;
text-align: center;
position: relative;
border-radius: 3px;
}
.postform {
width:650px;
float: left;
text-align: center;
position: relative;
border-radius: 3px;
display:block !important;
}
.postHeader {
width: 100%;
display: inline-block;
height: 40px;
text-align: left;
}
.previewpost {
display: none;
position: absolute;
margin-top: -100px;
width: 400px;
border-radius:3px;
}
.user {
position:relative;
}
.userinfo {
display: none;
position: absolute;
left:0px;
top:15px;
width: 300px;
height: auto;
border-radius:3px;
line-height:initial;
z-index:99;
}
.userinfo_upper{
top:-100px;
}
.userinfo_co {
width: 280px;
margin: 10px;
text-align: center;
position:relative;
}
.userinfo_he {
width: 300px;
height: 150px;
}
.media {
width: 100%;
display: inline-block;
}
.img {
width: 600px;
text-align: center;
}
.blur {
-webkit-filter: blur(25px) brightness(70%) grayscale(100%);
/* Safari 6.0 - 9.0 */
filter: blur(25px) brightness(70%) grayscale(100%);
opacity: 0.5;
transition: 0.4s;
}
.toggleblur {
display:none;
cursor: pointer;
font-family: sans, fontello;
}
.small {
width: 321px !important;
height: 321px;
line-height: 321px;
/* background-color: black; */
float:left;
margin:2px !important;
}
.smaller {
width: 212px !important;
height: 212px;
line-height: 212px;
/* background-color: black; */
float:left;
margin:2px !important;
}
.icon {
width: 80px !important;
height: 80px !important;
line-height: 80px;
float:left;
text-align:center;
margin:2px !important;
}
.postbody {
margin: 15px;
}
.content {
width: 600px;
display: inline-block;
margin:0px !important;
text-align: left;
}
.post_footer {
width: 630px;
display: table-cell;
clear: both;
padding: 10px;
height: 20px;
text-align: left;
border-radius: 3px;
}
.post_buttons {
font-family: fontello;
float: right;
display: inline-block;
text-align: right;
font-size: 15pt;
}
.post_buttons a,
.post_buttons span {
font-family: inherit;
text-decoration: none;
color: inherit;
font-size: inherit;
}
.reply {
width: 100%;
clear: both;
text-align: left;
display: block;
}
.note {
width: 640px;
float: left;
text-align: left;
border-radius: 5px;
padding: 5px;
}
.button {
padding: 15px;
float: left;
text-align: center;
border-radius: 5px;
font-size: 20pt;
}
/* pages */
.setting label {
display: block;
width: 40px;
height: 20px;
padding: 5px;
float: left;
margin: 0px;
text-align: center;
transition: all 0.3s ease-in-out;
}
.setting input[type="radio"]:checked+label {
font-weight: bold;
}
/* other stuff */
/* <lightbox> */
.lightbox-opened {
/* background-color: #333; */
background-color: rgba(50, 50, 50, 0.85);
cursor: pointer;
height: 100%;
/* left: 0; */
overflow-y: scroll;
position: fixed;
text-align: center;
top: 0;
width: 100%;
z-index:105;
&:before {
background-color: #333;
background-color: rgba(#333, 0.9);
color: #eee;
content: "x";
font-family: sans-serif;
padding: 6px 12px;
position: fixed;
text-transform: uppercase;
}
img {
box-shadow: 0 0 6px 3px #333;
}
}
.no-scroll {
overflow: hidden;
}
/* </lightbox> */
.fontello {
font-family: fontello;
}
.loading {
font-family: fontello;
color: black;
content: "\E822";
animation-name: spin;
animation-duration: 5000ms;
animation-iteration-count: infinite;
animation-timing-function: linear;
/* transform: rotate(3deg); */
/* transform: rotate(0.3rad);/ */
/* transform: rotate(3grad); */
/* transform: rotate(.03turn); */
}
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
.disabled {
background-color: black;
}

View File

@ -0,0 +1 @@
<div class='reply :mode:' id=':id:'> <div class='postHeader'> <span style='margin:12px; display:block; float:left;'> <img src=':avatar:' width=30 style='vertical-align:middle;'> <a class='ldr link user' href='?user=:uid:' id=':uid:'><b>:name:</b></a> <span class='desktop'>(:acct:)</span> </span> <span style='margin:10px; float:right; display:block;'> <span class='postMenu fontello'>&#xf0c9;<div style='display:none; z-index:99; width:130px; background-color:white; position: absolute; top: 15px; right: -1px;'>:menu:</div></span> </span> </div> <div class='postbody'> <div class='content' style='margin:0px;'>:media: :replyto: :text:</div> </div> <span style='width:100%; margin-bottom:10px; display:block;'> <span style='margin-left:10px;'>:date:</span> <span id=':id:' class="post_buttons" style='margin-right:10px;'>:buttons:</span> </span> <div id=':id:' class='replies_container'></div> <script type='application/json' id='data-:id:'>:json:</script></div>

View File

@ -0,0 +1,21 @@
<div class='element'>
<div class='avatar' style='background-image:url(:avatar:) :style:'></div>
<div class='post' id=':id:' pid=':pid:'>
<div id='a:id:' class='ancestors'>:ancestors:</div>
<div class='postHeader'>
<span style='margin:5px; display:block; float:left; line-height:30px;'><img src=':avatar:' width=30 class='mobile' style='vertical-align:middle; border-radius:30px'> :name: :rt: </span>
<span style="margin:10px; float:right; display:block;">
<span class='postMenu fontello'>&#xf0c9;<div style='display:none; z-index:99; width:130px; position: absolute; top: 15px; right: -1px;' class='menu'>:menu:</div></span>
</span>
</div>
:spoiler:
<div class='media' style='text-align:center;'>:media:</div>
<div class='postbody'><div class='content' style='margin-bottom:5px;'>
:replyto: :text:
</div></div>
<div class='post_footer'>:footer:</DIV>
<div class='post_notes'>:notes:</DIV>
<div id=':id:' class='replies_container'><noscript>:form:</noscript>:descendants:</div>
</div>
<script type='application/json' id='data-:id:'>:json:</script>
</div>

View File

@ -0,0 +1,26 @@
<div class='element'>
<div class='avatar' style='height:1px;'></div>
<div class='profile'>
<div style='width: 100%; height:250px; background-color:#:mainColor:; background-size:cover; background-image:url(:header:); display:inline-block; position:relative;'>
<span style='width:290; height:30px; display:block; margin-top:15px; margin-right:15px; float:right;'>
:top:
</span>
<span style='position:absolute; bottom:10px; left:10px;'>
:bottom:
</span>
</div>
<div style='width: 100%; position:relative; text-align:center; padding-bottom:15px;'>
<div class='avatar' style='background-color:white; background-size: cover; background-image:url(:avatar:); text-align:center; float:none; display:inline-block; border:3px solid white; margin-top:-50px; border-radius:5px; width:80px; height:80px;'></div>
<br><span style='font-weight:bold; font-size:40px;'>:name:</span>
<br><span style='font-weight:bold;'><a href=':url:' target='_blank' class='link external'> @:acct:</a></span>
<br><span>:note:</span>
</div>
<div class='post_footer' style='width: inherit; text-align:center;'>
<div style='width:33%; text-align:center; float:left;'><b>Statuses</b><br>:statuses:</div>
<div style='width:33%; text-align:center; float:left;'><b>Following</b><br>:following:</div>
<div style='width:33%; text-align:center; float:left;'><b>Followers</b><br>:followers:</div>
<span style='font-size:9px;'>Data may be inaccurate, <a href=':url:' style='font-size:9px;' target='_blank' class='link'>visit profile directly</a> to see updated data.</span>
</div>
</div>
</div>

View File

@ -0,0 +1,16 @@
<div class='element'>
<div class='avatar' style='background-image:url(:avatar:) :style:'></div>
<div class='rb' id=':id:'>
<div id='a:id:' class='ancestors'>:ancestors:</div>
<div class='post_header'>:name:</div>
<div class='media'>:media:</div>
<div class='content' style='margin-bottom:5px;'>
:spoiler:
:text:
</div>
<div class='post_footer'>:footer:</DIV>
<div id='r:id:' class='replies_container'>:form::descendants:</div>
</div>
<script type='application/json' id='data-:id:'>:json:</script>
:notes:
</div>

View File

@ -0,0 +1,25 @@
<div class='reply :mode:' id=':id:'>
<div class='postHeader'>
<span style='margin:12px; display:block; float:left;'>
<img src=':avatar:' width=30 style='vertical-align:middle; border-radius:30px;'>
<a class='ldr link user' href='?user=:uid:' id=':uid:'>
<b>:name:</b>
</a>
<span class='desktop'>(:acct:)</span>
</span>
<span style='margin:10px; float:right; display:block;'>
<span class='postMenu fontello'>&#xf0c9;
<div style='display:none; z-index:99; width:130px; position: absolute; top: 15px; right: -1px;' class='menu'>:menu:</div>
</span>
</span>
</div>
<div class='postbody'>
<div class='content' style='margin:0px;'>:media: :replyto: :text:</div>
</div>
<span style='width:100%; margin-bottom:10px; display:block;'>
<span style='margin-left:10px;'>:date:</span>
<span id=':id:' class="post_buttons" style='margin-right:10px;'>:buttons:</span>
</span>
<div id=':id:' class='replies_container'></div>
<script type='application/json' id='data-:id:'>:json:</script>
</div>

View File

@ -0,0 +1,39 @@
<div class='reply form' id='replyform' style='display:inline-block; width:100%'>
<div style='width:95%; margin: 10px auto; display:block;'>
<div style='text-align:right; background-color:white;'>
<form action='status.php' method='post' enctype='multipart/form-data'>
<input type='hidden' id='thread' name='thread' value=':id:'>
<div style='width:100%; border: 1px solid #ddd; text-align:left;'>
<div style='width:100% height:27px; border-bottom: 1px solid #ddd;'>
<input type='text' name='spoiler' value='Title (optional)' onClick='this.value=""' style='border:none; width:100%;'>
</div>
<textarea name='status' id="status" style='width:100%; height:100px; border:none;'>:content:</textarea>
</div>
<span style='float:left;'>
<input type='submit' value='Send' id='send' onClick='return false'>
<div class='formbtn fontello' style='position:relative;'>
&#xe818;
<input style='opacity:0; position:absolute; left:0px; top:5px; background-color:yellow;' type='file' id="files_input_field" name='file[]' multiple onchange="upload_files_reply();">
</div>
<div class='formbtn fontello' style='position:relative;'>
<input type='checkbox' name='sensitive' id='rsensitive' style='display:none;'>
<label for='rsensitive' class='fontello'>&#xe81b;</label>
</div>
</span>
<span style='float:left; margin-left:10px;' class='status'>
</span>
<span style='float:right;'>
<select name='scope' id='scope'>
<option id="public" value="1">&#xe83c; Public</option>
<option id="unlisted" value="2">&#xe816; Unlisted</option>
<option id="private" value="3">&#xe819; Private</option>
<option id="direct" value="4">&#xf0e0; Direct</option>
</select>
</span>
</form>
</div>
<div style="clear: both;"></div>
</div>
</div>

View File

@ -0,0 +1,23 @@
<div class='element'>
<div class='avatar' style='height:1px;'></div>
<div class='post textonly' id=':id:' pid=':pid:'>
<div id='a:id:' class='ancestors'>:ancestors:</div>
<div class='postHeader'>
<span style='margin:5px; display:block; float:left;'>
<img src=':avatar:' width=30 style='vertical-align:middle; border-radius:30px;'>
:name: :rt:
</span>
<span style="margin:10px; float:right; display:block;">
<span class='postMenu fontello'>&#xf0c9;<div style='display:none; z-index:99; width:130px; position: absolute; top: 15px; right: -1px;' class='menu'>:menu:</div></span>
</span>
</div>
<div class='postbody'>
<div class='content' style='margin-bottom:5px; margin-top:5px;'>:spoiler: :replyto: :text:</div>
</div>
<div class='post_footer'>:footer:</div>
<div class='post_notes'>:notes:</DIV>
<div id=':id:' class='replies_container'>:descendants:</div>
</div>
<script type='application/json' id='data-:id:'>:json:</script>
</div>

View File

@ -64,8 +64,8 @@ input[type="checkbox"]:checked+label {
-webkit-box-shadow: inset -6px 73px 100px -117px rgba(209,209,209,1);-moz-box-shadow: inset -6px 73px 100px -117px rgba(209,209,209,1);box-shadow: inset -6px 73px 100px -117px rgba(209,209,209,1);
}
.notif a:not(.uname){
color:black !important;
.notif .text{
color:black;
}
#quicksend {

View File

@ -74,7 +74,7 @@ input[type="checkbox"]:checked+label {
color:black;
}
.notif a:not(.uname){
.notif .text{
color:black !important;
}
@ -306,7 +306,7 @@ input[type="checkbox"]:checked+label {
border-left:2px solid #828282;
}
.post_buttons {
.notif .post_buttons {
color: black;
background-color:#c3c3c3;
}

View File

@ -5,8 +5,6 @@ a, .link {
body {
background-color: #1a2a39;
background-image: url("../bg.jpg");
background-size: 100%;
background-attachment: fixed;
}
p,div,span{
@ -66,16 +64,21 @@ input[type="checkbox"]:checked+label {
}
#notifications {
background-color:#121a24;
background-color:rgba(18,26,36,0.8);
box-shadow: 1px 1px 1px black;
}
.notif{
border-bottom:1px solid #1c2737;
background-color:#121a24;
background-color:transparent;
color:white;
}
.notif .post_buttons {
color: #0b82d2;
background-color:#121a24;
}
.new {
background-color:#25354b;
}
@ -196,8 +199,8 @@ input[type="checkbox"]:checked+label {
.post,
.rb,
.textonly,
.loadmore,.postform,.profile,.loader,.post_footer {
background-color: #121a24;
.loadmore,.postform,.profile,.loader {
background-color: rgba(18,26,36,0.8);
}
.toggleblur {
@ -225,10 +228,7 @@ input[type="checkbox"]:checked+label {
background-color: black;
}
.notif .post_buttons {
color: #0b82d2;
background-color:#121a24;
}
.reply {
background-color: #1b2735;

View File

@ -5,6 +5,18 @@
font-size: 12pt;
}
html,body{
height:100%;
}
body {
margin: 0;
background-attachment: fixed;
background-size: auto 100%;
background-repeat: no-repeat;
background-position: center top;
}
a {
text-decoration:none;
}
@ -17,10 +29,6 @@ p {
margin: 0px !important;
}
body {
margin: 0;
}
ul{
padding:0px;
margin:0px;

View File

@ -1,11 +1,17 @@
/* overall */
* {
font-family: arial, helvetica, sans-serif;
font-size: 11pt;
}
html {
scroll-behavior: smooth;
}
* {
font-family: arial, helvetica, sans-serif;
font-size: 11pt;
body {
background-attachment: fixed;
background-size: cover;
margin: 0;
}
a {
@ -20,10 +26,6 @@ p {
margin: 0px !important;
}
body {
margin: 0;
}
ul{
padding:0px;
margin:0px;