more css updates
This commit is contained in:
parent
9c3a5ebfc9
commit
48a34095e1
65 changed files with 1262 additions and 1629 deletions
|
@ -1,7 +1,6 @@
|
|||
* {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
|
@ -34,6 +33,19 @@ h1 {
|
|||
color: #614390;
|
||||
}
|
||||
|
||||
a {
|
||||
color: #22E;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
&:active {
|
||||
color: #E22;
|
||||
}
|
||||
}
|
||||
|
||||
hr {
|
||||
border: 0;
|
||||
height: 1px;
|
||||
|
@ -59,3 +71,53 @@ img {
|
|||
display: none !important;
|
||||
visibility: hidden !important;
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
0% {
|
||||
transform: rotate(0deg);
|
||||
}
|
||||
|
||||
100% {
|
||||
transform: rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fadeOut {
|
||||
0% {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
0% {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
100% {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slideInFromRight {
|
||||
0% {
|
||||
right: -100%;
|
||||
}
|
||||
|
||||
100% {
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slideOutToBottom {
|
||||
0% {
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
100% {
|
||||
bottom: -100%;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,6 +1,3 @@
|
|||
/*
|
||||
* Notification styling
|
||||
*/
|
||||
.alerts {
|
||||
position: fixed;
|
||||
bottom: 5px;
|
||||
|
|
30
resources/assets/less/yuuno/bem/announce-box.less
Normal file
30
resources/assets/less/yuuno/bem/announce-box.less
Normal file
|
@ -0,0 +1,30 @@
|
|||
.announce-box {
|
||||
margin: 10px auto;
|
||||
padding: 10px 3px;
|
||||
width: auto;
|
||||
max-width: 1024px;
|
||||
border: 1px solid #9475B2;
|
||||
box-shadow: 0 0 3px #9475B2;
|
||||
border-radius: 3px;
|
||||
background: #D3BFFF;
|
||||
background: repeating-linear-gradient(-45deg, #C2AFFE, #C2AFFE 10px, #D3BFFF 10px, #D3BFFF 20px);
|
||||
display: block;
|
||||
text-align: center;
|
||||
|
||||
&--restricted {
|
||||
background: repeating-linear-gradient(-45deg, #B33, #B33 10px, #B00 10px, #B00 20px);
|
||||
color: #FFF;
|
||||
border: 1px solid #C00;
|
||||
box-shadow: 0 0 3px #C00;
|
||||
|
||||
h1 { // oops
|
||||
color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
&--header {
|
||||
padding: 2px 3px;
|
||||
height: 120px;
|
||||
background: #D3BFFF no-repeat scroll center center;
|
||||
}
|
||||
}
|
26
resources/assets/less/yuuno/bem/auth.less
Normal file
26
resources/assets/less/yuuno/bem/auth.less
Normal file
|
@ -0,0 +1,26 @@
|
|||
.auth {
|
||||
&__label {
|
||||
display: block;
|
||||
text-align: left;
|
||||
font-size: 20px;
|
||||
font-weight: 100;
|
||||
padding: 0 5px;
|
||||
line-height: 32px;
|
||||
color: #222;
|
||||
text-shadow: #888 0 0 3px;
|
||||
|
||||
&--checkbox {
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
|
||||
&__button {
|
||||
display: block;
|
||||
margin: 4px auto !important;
|
||||
}
|
||||
|
||||
&__subtext {
|
||||
font-size: 10px;
|
||||
line-height: 1.5em;
|
||||
}
|
||||
}
|
11
resources/assets/less/yuuno/bem/avatar.less
Normal file
11
resources/assets/less/yuuno/bem/avatar.less
Normal file
|
@ -0,0 +1,11 @@
|
|||
.avatar {
|
||||
background: no-repeat center center / cover transparent;
|
||||
|
||||
&--border {
|
||||
border: 3px solid #eee;
|
||||
background-color: #eee;
|
||||
box-shadow: 0 3px 7px #888;
|
||||
border-radius: 3px;
|
||||
margin: 5px;
|
||||
}
|
||||
}
|
11
resources/assets/less/yuuno/bem/banned.less
Normal file
11
resources/assets/less/yuuno/bem/banned.less
Normal file
|
@ -0,0 +1,11 @@
|
|||
.banned {
|
||||
&__reason {
|
||||
background: #B19DDD;
|
||||
border: 1px solid #9475B2;
|
||||
font-size: 13px;
|
||||
line-height: 19px;
|
||||
overflow: auto;
|
||||
padding: 6px 10px;
|
||||
border-radius: 3px;
|
||||
}
|
||||
}
|
|
@ -1,11 +1,12 @@
|
|||
.container {
|
||||
min-height: 100%;
|
||||
width: 100%;
|
||||
background: no-repeat center center / cover fixed transparent;
|
||||
|
||||
&__content {
|
||||
padding-bottom: 220px;
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
@media (max-width: 1064px) {
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,22 +1,58 @@
|
|||
.content {
|
||||
margin: 10px auto;
|
||||
padding: 2px 3px;
|
||||
width: 1024px;
|
||||
max-width: 1024px;
|
||||
border: 1px solid #9475B2;
|
||||
box-shadow: 0 0 3px #9475B2;
|
||||
border-radius: 3px;
|
||||
background: #D3BFFF;
|
||||
|
||||
&__left {
|
||||
&__header {
|
||||
margin: -1px -2px;
|
||||
padding: 4px 5px 5px;
|
||||
font-weight: 700;
|
||||
font-size: 20px;
|
||||
color: #306;
|
||||
background: linear-gradient(90deg, rgba(148, 117, 178, .7), rgba(148, 117, 178, 0)) #C2AFFE;
|
||||
border-radius: 2px;
|
||||
word-wrap: break-word;
|
||||
text-align: left;
|
||||
|
||||
&--alt {
|
||||
margin: -1px -2px -1px;
|
||||
padding: 4px 5px 5px;
|
||||
background: linear-gradient(270deg, rgba(148, 117, 178, .7), rgba(148, 117, 178, 0)) #C2AFFE;
|
||||
text-align: right;
|
||||
}
|
||||
}
|
||||
|
||||
&--auth {
|
||||
text-align: center;
|
||||
width: auto;
|
||||
max-width: 400px;
|
||||
}
|
||||
|
||||
&--left {
|
||||
float: left;
|
||||
width: 688px;
|
||||
}
|
||||
|
||||
&__right {
|
||||
&--right {
|
||||
float: right;
|
||||
width: 334px;
|
||||
}
|
||||
|
||||
@media (max-width: 1064px) {
|
||||
&--left,
|
||||
&--right {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
&--left {
|
||||
border-top: 1px solid #9475B2;
|
||||
}
|
||||
}
|
||||
|
||||
&--alt {
|
||||
background: #C2AEEE;
|
||||
margin: 5px 10px;
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
padding: 0 1px 0 4px;
|
||||
display: none;
|
||||
color: #FFF;
|
||||
text-decoration: none;
|
||||
text-decoration: none !important;
|
||||
clear: both;
|
||||
transition: background .2s;
|
||||
|
||||
|
@ -24,6 +24,7 @@
|
|||
|
||||
&:active {
|
||||
background: fade(#151515, 70%);
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
&--selected {
|
||||
|
@ -49,7 +50,7 @@
|
|||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
@media (max-width: 1064px) {
|
||||
float: none !important;
|
||||
margin-bottom: 5px;
|
||||
text-align: center;
|
||||
|
|
|
@ -47,9 +47,13 @@
|
|||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
&:active {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
@media (max-width: 1064px) {
|
||||
position: inherit;
|
||||
}
|
||||
}
|
||||
|
|
32
resources/assets/less/yuuno/bem/header-login.less
Normal file
32
resources/assets/less/yuuno/bem/header-login.less
Normal file
|
@ -0,0 +1,32 @@
|
|||
.header-login {
|
||||
background: rgba(211, 191, 255, .8);
|
||||
border: 1px solid #9475B2;
|
||||
box-shadow: 0 0 3px #8364A1;
|
||||
text-align: center;
|
||||
max-width: 1024px;
|
||||
margin: 10px auto 0;
|
||||
padding: 6px 3px;
|
||||
border-radius: 3px;
|
||||
|
||||
&__text {
|
||||
width: auto !important;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
&__button {
|
||||
margin: 0 !important;
|
||||
padding: 2px 8px !important;
|
||||
}
|
||||
|
||||
&__label {
|
||||
font-family: "Open Sans", sans-serif;
|
||||
font-weight: 100;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
@media (max-width: 640px) {
|
||||
&__label {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -8,9 +8,9 @@
|
|||
height: auto;
|
||||
width: auto;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
font: 100 70px/80px "Open Sans", sans-serif;
|
||||
color: #B06AC4;
|
||||
text-decoration: none !important;
|
||||
transition: color .2s, text-shadow .2s;
|
||||
|
||||
&:hover {
|
||||
|
@ -53,7 +53,6 @@
|
|||
margin: 0 7px -2px 6px;
|
||||
display: inline-block;
|
||||
border-bottom: 2px solid #8364A1;
|
||||
text-decoration: none;
|
||||
text-align: center;
|
||||
transition: background .3s, border-color .3s;
|
||||
height: 30px;
|
||||
|
@ -62,6 +61,7 @@
|
|||
vertical-align: middle;
|
||||
font-size: 1.6em;
|
||||
color: #75569B;
|
||||
text-decoration: none !important;
|
||||
background: linear-gradient(180deg, transparent 0%, transparent 50%, #8364A1 100%);
|
||||
background-size: 100% 200%;
|
||||
|
||||
|
@ -70,24 +70,24 @@
|
|||
}
|
||||
|
||||
&:active {
|
||||
color: #75569B;
|
||||
background-position: 0 100%;
|
||||
}
|
||||
|
||||
&--avatar {
|
||||
padding-left: 30px;
|
||||
background: url('/images/pixel.png') no-repeat scroll left center / contain transparent;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1024px) {
|
||||
@media (max-width: 1064px) {
|
||||
.header__menu {
|
||||
border: 0;
|
||||
padding: 10px 0 5px;
|
||||
margin: 0 auto;
|
||||
width: auto;
|
||||
text-align: center;
|
||||
|
||||
&-item {
|
||||
border: 0;
|
||||
|
@ -103,7 +103,7 @@
|
|||
|
||||
&:active {
|
||||
background: #75569B;
|
||||
color: #9575B2;
|
||||
color: #9475B2;
|
||||
}
|
||||
|
||||
&--avatar {
|
||||
|
|
69
resources/assets/less/yuuno/bem/input.less
Normal file
69
resources/assets/less/yuuno/bem/input.less
Normal file
|
@ -0,0 +1,69 @@
|
|||
.input {
|
||||
&__button {
|
||||
box-sizing: border-box;
|
||||
background: linear-gradient(0deg, #9475B2 10%, #C2AFFE 90%);
|
||||
color: #306;
|
||||
padding: 4px 8px;
|
||||
text-decoration: none;
|
||||
border-radius: 2px;
|
||||
margin: 4px 2px;
|
||||
display: inline-block;
|
||||
font-size: 1.3em;
|
||||
border: 1px solid #9475B2;
|
||||
cursor: pointer;
|
||||
text-decoration: none !important;
|
||||
|
||||
&--disabled {
|
||||
background: linear-gradient(180deg, #858585 0%, #858585 50%, #787878 50%) #858585 !important;
|
||||
box-shadow: inset #222 0 0 1px !important;
|
||||
text-shadow: #888 0 0 2px !important;
|
||||
}
|
||||
|
||||
&--current {
|
||||
background: linear-gradient(0deg, #A586C3, #D3BFFF);
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: #306;
|
||||
background: linear-gradient(0deg, #9475B2 30%, #C2AFFE 70%);
|
||||
}
|
||||
|
||||
&:active {
|
||||
color: #306;
|
||||
background: linear-gradient(180deg, #9475B2 30%, #C2AFFE 70%);
|
||||
}
|
||||
}
|
||||
|
||||
&__select {
|
||||
box-sizing: border-box;
|
||||
background: linear-gradient(180deg, #FFF 0%, #EEE 50%, #E5E5E5 50%) #FFF;
|
||||
border: 1px solid #CCC;
|
||||
box-shadow: inset #DDD 0 0 5px;
|
||||
padding: 3px 4px;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
&__text {
|
||||
box-sizing: border-box;
|
||||
width: 100%;
|
||||
padding: 3px 4px;
|
||||
border: 1px solid #CCC;
|
||||
box-shadow: inset #DDD 0 0 5px;
|
||||
background: linear-gradient(180deg, #FFF 0%, #EEE 50%, #E5E5E5 50%) #FFF;
|
||||
|
||||
&--red {
|
||||
box-shadow: inset 0 0 7px #EB5959;
|
||||
}
|
||||
|
||||
&--green {
|
||||
box-shadow: inset 0 0 7px #A9EC8B;
|
||||
}
|
||||
}
|
||||
|
||||
&__range {
|
||||
border: 0;
|
||||
width: 100%;
|
||||
font-size: 1.5em;
|
||||
margin: 5px 0;
|
||||
}
|
||||
}
|
6
resources/assets/less/yuuno/bem/link.less
Normal file
6
resources/assets/less/yuuno/bem/link.less
Normal file
|
@ -0,0 +1,6 @@
|
|||
.link {
|
||||
&--clean {
|
||||
color: inherit !important;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
}
|
93
resources/assets/less/yuuno/bem/members.less
Normal file
93
resources/assets/less/yuuno/bem/members.less
Normal file
|
@ -0,0 +1,93 @@
|
|||
.members {
|
||||
width: 100%;
|
||||
margin: 0 auto;
|
||||
padding: 10px 0;
|
||||
overflow: hidden;
|
||||
text-align: center;
|
||||
max-width: 1280px;
|
||||
|
||||
&__list {
|
||||
@media (max-width: 1064px) {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
||||
&--rectangles {
|
||||
.members__box {
|
||||
display: inline-flex;
|
||||
width: 300px;
|
||||
align-items: center;
|
||||
|
||||
&-avatar {
|
||||
width: 100px;
|
||||
height: 100px;
|
||||
flex-grow: 0;
|
||||
}
|
||||
|
||||
&-text {
|
||||
padding-top: 0;
|
||||
padding-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__box {
|
||||
background: linear-gradient(180deg, #C2AFFE, #B19EED) #C2AFFE;
|
||||
margin: 7px;
|
||||
border-radius: 5px;
|
||||
text-align: center;
|
||||
box-shadow: 0 0 .5em #000;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
padding: 10px;
|
||||
transition: box-shadow .2s;
|
||||
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
box-shadow: 0 0 1em #000;
|
||||
}
|
||||
|
||||
&:active {
|
||||
box-shadow: 0 0 1.5em #9475B2;
|
||||
}
|
||||
|
||||
&-avatar {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
}
|
||||
|
||||
&-text {
|
||||
font-weight: 700;
|
||||
padding-top: 6px;
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
|
||||
&__table {
|
||||
margin: 10px auto;
|
||||
background: #C2AFFE;
|
||||
box-shadow: 0 0 3px #9475B2;
|
||||
border: 1px solid #9475B2;
|
||||
max-width: 1024px;
|
||||
width: auto;
|
||||
border-radius: 3px;
|
||||
border-spacing: 0;
|
||||
|
||||
&-column {
|
||||
padding: 4px 8px;
|
||||
|
||||
&--legend {
|
||||
border: 0 solid #9475B2;
|
||||
background: #A586C4;
|
||||
}
|
||||
|
||||
&--thead {
|
||||
border-bottom-width: 1px;
|
||||
}
|
||||
|
||||
&--tfoot {
|
||||
border-top-width: 1px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
60
resources/assets/less/yuuno/bem/news.less
Normal file
60
resources/assets/less/yuuno/bem/news.less
Normal file
|
@ -0,0 +1,60 @@
|
|||
.news {
|
||||
&__head {
|
||||
margin: -1px -2px;
|
||||
padding: 4px;
|
||||
background: #C2AFFE;
|
||||
color: inherit !important;
|
||||
font-weight: 700;
|
||||
display: block;
|
||||
font-size: 16px;
|
||||
color: inherit;
|
||||
text-decoration: none !important;
|
||||
}
|
||||
|
||||
&__body {
|
||||
font-size: 11px;
|
||||
line-height: 14px;
|
||||
padding: 2px 0 0 3px;
|
||||
|
||||
p { // another oops for backwards compatiblity, fix this later with parsing
|
||||
margin: 0;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
}
|
||||
|
||||
&__date {
|
||||
font-size: 11px;
|
||||
padding: 6px 15px;
|
||||
text-align: right;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
&__poster {
|
||||
margin-top: -20px;
|
||||
float: right;
|
||||
text-align: center;
|
||||
min-width: 140px;
|
||||
z-index: 2;
|
||||
text-decoration: none !important;
|
||||
color: inherit !important;
|
||||
}
|
||||
|
||||
&__avatar {
|
||||
width: 120px;
|
||||
height: 120px;
|
||||
|
||||
@media (max-width: 400px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
&__username {
|
||||
font-size: 20px;
|
||||
line-height: 22px;
|
||||
font-family: "Open Sans", sans-serif;
|
||||
|
||||
@media (max-width: 400px) {
|
||||
margin-top: 22px;
|
||||
}
|
||||
}
|
||||
}
|
201
resources/assets/less/yuuno/bem/profile.less
Normal file
201
resources/assets/less/yuuno/bem/profile.less
Normal file
|
@ -0,0 +1,201 @@
|
|||
.profile {
|
||||
background: rgba(211, 191, 255, .8) !important;
|
||||
|
||||
&__header {
|
||||
height: 200px;
|
||||
background: no-repeat center center / cover transparent;
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
border-bottom: 1px solid #9475b2;
|
||||
}
|
||||
|
||||
&__info {
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
background: linear-gradient(0deg, rgba(211, 191, 255, .8), rgba(211, 191, 255, .8) 52px, transparent 52px, transparent);
|
||||
width: 100%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
// hackjob
|
||||
pointer-events: none;
|
||||
position: relative;
|
||||
top: -100%;
|
||||
|
||||
> * {
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
@media (max-width: 1064px) {
|
||||
background: rgba(211, 191, 255, .5);
|
||||
flex-flow: column;
|
||||
}
|
||||
}
|
||||
|
||||
&__avatar {
|
||||
height: 190px;
|
||||
width: 190px;
|
||||
margin: 0 2px;
|
||||
flex-grow: 0;
|
||||
flex-shrink: 0;
|
||||
|
||||
@media (max-width: 1064px) {
|
||||
height: 120px;
|
||||
width: 120px;
|
||||
margin: 2px;
|
||||
}
|
||||
}
|
||||
|
||||
&__username {
|
||||
align-self: flex-end;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
&__dates {
|
||||
font-size: .8em;
|
||||
line-height: 1.4em;
|
||||
text-align: right;
|
||||
align-self: flex-end;
|
||||
flex-grow: 5;
|
||||
height: 45px;
|
||||
|
||||
@media (max-width: 500px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1064px) {
|
||||
&__username,
|
||||
&__dates {
|
||||
flex-grow: 6;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
&__date {
|
||||
display: inline-block;
|
||||
|
||||
&:not(:first-child) {
|
||||
padding-left: 8px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__interactions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 2.5em;
|
||||
line-height: 1.4em;
|
||||
border-bottom: 1px solid #9475b2;
|
||||
|
||||
&-item {
|
||||
color: #8364A1;
|
||||
text-decoration: none !important;
|
||||
text-shadow: 0 0 2px #9475B2;
|
||||
transition: all .2s;
|
||||
|
||||
&:hover {
|
||||
text-shadow: 0 0 6px #9475B2;
|
||||
}
|
||||
|
||||
&:active {
|
||||
color: #725390;
|
||||
text-shadow: 0 0 8px #8364A1;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1064px) {
|
||||
flex-flow: column;
|
||||
}
|
||||
}
|
||||
|
||||
&__navigation {
|
||||
margin-left: 5px;
|
||||
}
|
||||
|
||||
&__actions {
|
||||
border-left: 1px solid #9475b2;
|
||||
min-width: 345px;
|
||||
text-align: right;
|
||||
margin-right: 5px;
|
||||
}
|
||||
|
||||
@media (max-width: 1064px) {
|
||||
&__navigation,
|
||||
&__actions {
|
||||
border: 0;
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
@media (max-width: 1064px) {
|
||||
flex-flow: column-reverse;
|
||||
}
|
||||
}
|
||||
|
||||
&__data {
|
||||
display: block;
|
||||
width: 350px;
|
||||
border-left: 1px solid #9475b2;
|
||||
flex-shrink: 0;
|
||||
text-align: center;
|
||||
|
||||
@media (max-width: 1064px) {
|
||||
width: 100%;
|
||||
border-bottom: 1px solid #9475b2;
|
||||
border-left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__mode {
|
||||
width: 100%;
|
||||
flex-grow: 0;
|
||||
margin-right: 2px;
|
||||
overflow: auto;
|
||||
|
||||
&-title {
|
||||
padding-bottom: 2px;
|
||||
border-bottom: 1px solid #9475b2;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
@media (max-width: 1064px) {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&__now-playing {
|
||||
text-shadow: 0 0 5px #8364A1;
|
||||
color: #614390;
|
||||
text-align: center;
|
||||
font-size: 1.2em;
|
||||
line-height: 1.5em;
|
||||
border-bottom: 1px solid #9475b2;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
&-link {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&__friends {
|
||||
text-align: center;
|
||||
|
||||
&--none {
|
||||
margin: 2em auto;
|
||||
}
|
||||
}
|
||||
}
|
19
resources/assets/less/yuuno/bem/user.less
Normal file
19
resources/assets/less/yuuno/bem/user.less
Normal file
|
@ -0,0 +1,19 @@
|
|||
.user {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: no-repeat center center / cover transparent;
|
||||
|
||||
&__avatar {
|
||||
height: 100px;
|
||||
width: 100px;
|
||||
margin: 0 2px;
|
||||
flex-grow: 0;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
&__info {
|
||||
background: rgba(211, 191, 255, .8);
|
||||
width: 100%;
|
||||
padding: 0 5px;
|
||||
}
|
||||
}
|
File diff suppressed because it is too large
Load diff
|
@ -1,7 +1,15 @@
|
|||
/*
|
||||
* Yuuno Stylesheet
|
||||
* By Flashwave <https://flash.moe> (2014-2016)
|
||||
*/
|
||||
|
||||
@import "base";
|
||||
@import "legacy";
|
||||
|
||||
@import "bem/alert";
|
||||
@import "bem/announce-box";
|
||||
@import "bem/auth";
|
||||
@import "bem/avatar";
|
||||
@import "bem/banned";
|
||||
@import "bem/bbcode";
|
||||
@import "bem/busy";
|
||||
@import "bem/container";
|
||||
|
@ -10,4 +18,13 @@
|
|||
@import "bem/dropdown";
|
||||
@import "bem/footer";
|
||||
@import "bem/header";
|
||||
@import "bem/header-login";
|
||||
@import "bem/input";
|
||||
@import "bem/link";
|
||||
@import "bem/members";
|
||||
@import "bem/news";
|
||||
@import "bem/profile";
|
||||
@import "bem/uploader";
|
||||
@import "bem/user";
|
||||
|
||||
@import "legacy";
|
||||
|
|
|
@ -1,19 +0,0 @@
|
|||
.np {
|
||||
text-shadow: 0 0 5px #8364A1;
|
||||
color: #614390;
|
||||
text-align: center;
|
||||
font-size: 1.2em;
|
||||
line-height: 1.5em;
|
||||
border-bottom: 1px solid #9475b2;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -22,7 +22,7 @@ namespace Sakura
|
|||
|
||||
this.Element.style.borderSpacing = '0 1px';
|
||||
|
||||
var title: HTMLDivElement = <HTMLDivElement>DOM.Create('div', 'head'),
|
||||
var title: HTMLDivElement = <HTMLDivElement>DOM.Create('div', 'content__header content__header--alt'),
|
||||
link: HTMLLinkElement = <HTMLLinkElement>DOM.Create('a', 'underline');
|
||||
|
||||
title.style.marginBottom = '1px';
|
||||
|
@ -30,6 +30,7 @@ namespace Sakura
|
|||
link.innerText = 'Changelog';
|
||||
link.href = Config.ChangelogUrl;
|
||||
link.target = '_blank';
|
||||
link.style.color = 'inherit';
|
||||
|
||||
DOM.Append(title, link);
|
||||
DOM.Append(target, title);
|
||||
|
|
|
@ -3,37 +3,34 @@
|
|||
{% set title = 'Login' %}
|
||||
|
||||
{% block content %}
|
||||
<div class="loginPage">
|
||||
<div class="loginForm">
|
||||
<div class="head">
|
||||
Login
|
||||
</div>
|
||||
<form method="post" action="{{ route('auth.login') }}" id="loginForm">
|
||||
<input type="hidden" name="redirect" value="{{ server['HTTP_REFERER'] ? server['HTTP_REFERER'] : route('main.index') }}">
|
||||
<div class="leftAlign">
|
||||
<label for="loginUserName">Username:</label>
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="text" id="loginUserName" name="username" autofocus="true">
|
||||
</div>
|
||||
<div class="leftAlign">
|
||||
<label for="loginPassword">Password:</label>
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="password" id="loginPassword" name="password">
|
||||
</div>
|
||||
<div class="subLinks centreAlign">
|
||||
<input class="inputStyling" name="remember" type="checkbox" class="ignore-css" id="loginRemember"><label for="loginRemember">Remember Me</a>
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<button class="inputStyling" id="loginButton" name="session" value="{{ session_id() }}"><i class="fa fa-sign-in"></i> Login</button>
|
||||
</div>
|
||||
<div class="subLinks centreAlign" style="line-height: 1.5em;">
|
||||
<p><a href="{{ route('auth.register') }}" class="default">I don't have an account yet!</a></p>
|
||||
<p><a href="{{ route('auth.resetpassword') }}" class="default">I forgot my password!</a></p>
|
||||
<p><a href="{{ route('auth.reactivate') }}" class="default">I want to reactivate my account!</a></p>
|
||||
</div>
|
||||
</form>
|
||||
<div class="auth content content--auth">
|
||||
<div class="content__header">
|
||||
Login
|
||||
</div>
|
||||
<form method="post" action="{{ route('auth.login') }}">
|
||||
<input type="hidden" name="redirect" value="{{ server['HTTP_REFERER']|default(route('main.index')) }}">
|
||||
<label>
|
||||
<div class="auth__label">Username</div>
|
||||
<input class="input__text" type="text" name="username" autofocus>
|
||||
</label>
|
||||
<label>
|
||||
<div class="auth__label">Password</div>
|
||||
<input class="input__text" type="password" name="password">
|
||||
</label>
|
||||
<label>
|
||||
<div class="auth__label auth__label--checkbox">
|
||||
<input name="remember" type="checkbox">
|
||||
Remember me!
|
||||
</div>
|
||||
</label>
|
||||
<button class="input__button auth__button" name="session" value="{{ session_id() }}">
|
||||
<i class="fa fa-sign-in"></i> Login
|
||||
</button>
|
||||
<div class="auth__subtext">
|
||||
<a href="{{ route('auth.register') }}">I don't have an account yet!</a><br>
|
||||
<a href="{{ route('auth.resetpassword') }}">I forgot my password!</a><br>
|
||||
<a href="{{ route('auth.reactivate') }}">I want to reactivate my account!</a>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -3,16 +3,14 @@
|
|||
{% set title = 'Logout' %}
|
||||
|
||||
{% block content %}
|
||||
<div class="loginPage">
|
||||
<div class="loginForm">
|
||||
<div class="head">
|
||||
Are you sure?
|
||||
</div>
|
||||
<form method="post" action="{{ route('auth.logout') }}" id="logoutForm">
|
||||
<div class="centreAlign">
|
||||
<button class="inputStyling" id="loginButton" name="session" value="{{ session_id() }}"><i class="fa fa-sign-out"></i> Logout</button>
|
||||
</div>
|
||||
</form>
|
||||
<div class="auth content content--auth">
|
||||
<div class="content__header">
|
||||
Are you sure?
|
||||
</div>
|
||||
<form method="post" action="{{ route('auth.logout') }}" id="logoutForm">
|
||||
<button class="input__button auth__button" name="session" value="{{ session_id() }}">
|
||||
<i class="fa fa-sign-out"></i> Logout
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -3,29 +3,22 @@
|
|||
{% set title = 'Reactivate account' %}
|
||||
|
||||
{% block content %}
|
||||
<div class="loginPage">
|
||||
<div class="resendForm">
|
||||
<div class="head">
|
||||
Reactivate account
|
||||
</div>
|
||||
<form method="post" action="{{ route('auth.reactivate') }}" id="resendForm">
|
||||
<input type="hidden" name="session" value="{{ session_id() }}">
|
||||
<div class="leftAlign">
|
||||
<label for="activeUserName">Username:</label>
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="text" id="activeUserName" name="username">
|
||||
</div>
|
||||
<div class="leftAlign">
|
||||
<label for="activeEmail">E-mail:</label>
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="text" id="activeEmail" name="email">
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="submit" name="submit" value="Request Activation" id="requestActiveBtn">
|
||||
</div>
|
||||
</form>
|
||||
<div class="auth content content--auth">
|
||||
<div class="content__header">
|
||||
Reactivate account
|
||||
</div>
|
||||
<form method="post" action="{{ route('auth.reactivate') }}">
|
||||
<label>
|
||||
<div class="auth__label">Username</div>
|
||||
<input class="input__text" type="text" name="username" autofocus>
|
||||
</label>
|
||||
<label>
|
||||
<div class="auth__label">E-mail</div>
|
||||
<input class="input__text" type="text" name="email">
|
||||
</label>
|
||||
<button class="input__button auth__button" name="session" value="{{ session_id() }}">
|
||||
Request Activation
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -3,62 +3,36 @@
|
|||
{% set title = 'Register' %}
|
||||
|
||||
{% block content %}
|
||||
<div class="auth content content--auth">
|
||||
{% if config('user.disable_registration') %}
|
||||
<div class="loginPage">
|
||||
<div class="registerForm" id="registerWarn" style="display: block;">
|
||||
<div class="centreAlign">
|
||||
<div class="fa fa-remove fa-5x" style="display: block; margin: 10px 0 0;"></div>
|
||||
<h1>Registration is disabled.</h1>
|
||||
<p>Please try again later.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="fa fa-remove fa-5x" style="display: block; margin: 10px 0 0;"></div>
|
||||
<h1>Registration is disabled.</h1>
|
||||
<p>Please try again later.</p>
|
||||
{% else %}
|
||||
<div class="loginPage">
|
||||
<div class="registerForm">
|
||||
<div class="head">
|
||||
Register
|
||||
</div>
|
||||
<form id="registerForm" method="post" action="{{ route('auth.register') }}" style="display:{% if haltRegistration %}none{% else %}block{% endif %};">
|
||||
<input type="hidden" name="session" value="{{ session_id() }}">
|
||||
<div class="leftAlign">
|
||||
<label for="registerUserName">Username:</label>
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="text" id="registerUserName" name="username" placeholder="Any character"{% if get.username %} value="{{ get.username }}"{% endif %}>
|
||||
</div>
|
||||
<div class="leftAlign">
|
||||
<label for="registerEmail">E-mail:</label>
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="text" id="registerEmail" name="email" placeholder="Used for e.g. password retrieval"{% if get.email %} value="{{ get.email }}"{% endif %}>
|
||||
</div>
|
||||
<div class="leftAlign">
|
||||
<label for="registerPassword">Password:</label>
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="password" id="registerPassword" name="password" placeholder="Using special characters is recommended">
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="submit" name="submit" value="Register" id="registerAccBtn">
|
||||
</div>
|
||||
<div class="subLinks centreAlign">
|
||||
By creating an account you agree to the <a href="#" class="default">Terms of Service</a>.
|
||||
</div>
|
||||
</form>
|
||||
<div class="registerForm" id="registerWarn" style="display: {% if not haltRegistration %}none{% else %}block{% endif %};">
|
||||
<div class="centreAlign">
|
||||
<h1 class="fa fa-warning fa-5x" style="display: block; margin: 10px 0 0;"></h1>
|
||||
<h1>Are you {{ haltName }}?</h1>
|
||||
<p>Making more than one account is not permitted.</p>
|
||||
<p>If you lost your password please use the reset password form but if you don't already have an account you can go ahead and click the link below to show the registration form this check is based on your IP so in some cases someone may have registered/used the site on this IP already.</p>
|
||||
<p>If we find out that you already have an account we may question you about it, if you can give a good reason we'll let it slide otherwise we may issue a temporary ban.</p>
|
||||
</div>
|
||||
<div class="subLinks centreAlign">
|
||||
<a href="javascript:void(0);" class="default" onclick="document.getElementById('registerWarn').style.display='none'; document.getElementById('registerForm').style.display='block';">This is a mistake, let me register anyway!</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content__header">
|
||||
Register
|
||||
</div>
|
||||
</div>
|
||||
<form id="registerForm" method="post" action="{{ route('auth.register') }}">
|
||||
<label>
|
||||
<div class="auth__label">Username</div>
|
||||
<input class="input__text" type="text" name="username" autofocus placeholder="Any character"{% if get.username is defined %} value="{{ get.username }}"{% endif %}>
|
||||
</label>
|
||||
<label>
|
||||
<div class="auth__label">E-mail</div>
|
||||
<input class="input__text" type="text" name="email" placeholder="Used for e.g. password retrieval"{% if get.email is defined %} value="{{ get.email }}"{% endif %}>
|
||||
</label>
|
||||
<label>
|
||||
<div class="auth__label">Password</div>
|
||||
<input class="input__text" type="password" name="password" placeholder="Using special characters is recommended">
|
||||
</label>
|
||||
<button class="input__button auth__button" name="session" value="{{ session_id() }}">
|
||||
<i class="fa fa-magic"></i> Register
|
||||
</button>
|
||||
<div class="auth__subtext">
|
||||
By creating an account you agree to the <a href="{{ route('info.terms') }}">Terms of Service</a>.<br>
|
||||
You are only allowed to make a single account.
|
||||
</div>
|
||||
</form>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -3,46 +3,38 @@
|
|||
{% set title = 'Reset Password' %}
|
||||
|
||||
{% block content %}
|
||||
<div class="loginPage">
|
||||
<div class="passwordForm">
|
||||
<div class="head">
|
||||
Reset Password
|
||||
</div>
|
||||
<form method="post" action="{{ route('auth.resetpassword') }}" id="passwordForm">
|
||||
<input type="hidden" name="session" value="{{ session_id() }}">
|
||||
{% if get.u is defined and get.k is defined %}
|
||||
<input type="hidden" name="user" value="{{ get.u }}">
|
||||
<input type="hidden" name="key" value="{{ get.k }}">
|
||||
<div class="leftAlign">
|
||||
<label for="forgotUserName">Password:</label>
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="password" id="resetPassword" name="password">
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<button class="inputStyling">Save Password</button>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="leftAlign">
|
||||
<label for="forgotUserName">Username:</label>
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="text" id="forgotUserName" name="username">
|
||||
</div>
|
||||
<div class="leftAlign">
|
||||
<label for="forgotEmail">E-mail:</label>
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<input class="inputStyling" type="text" id="forgotEmail" name="email">
|
||||
</div>
|
||||
<div class="centreAlign">
|
||||
<button class="inputStyling">Request Change</button>
|
||||
</div>
|
||||
<div class="subLinks centreAlign">
|
||||
<a href="{{ route('info.contact') }}" class="default">Contact us</a> if you lost access to your e-mail address!
|
||||
</div>
|
||||
{% endif %}
|
||||
</form>
|
||||
<div class="auth content content--auth">
|
||||
<div class="content__header">
|
||||
Reset Password
|
||||
</div>
|
||||
<form method="post" action="{{ route('auth.resetpassword') }}" id="passwordForm">
|
||||
<input type="hidden" name="session" value="{{ session_id() }}">
|
||||
{% if get.u is defined and get.k is defined %}
|
||||
<input type="hidden" name="user" value="{{ get.u }}">
|
||||
<input type="hidden" name="key" value="{{ get.k }}">
|
||||
<label>
|
||||
<div class="auth__label">Password</div>
|
||||
<input class="input__text" type="password" name="password" autofocus>
|
||||
</label>
|
||||
<button class="input__button auth__button">
|
||||
Save Password
|
||||
</button>
|
||||
{% else %}
|
||||
<label>
|
||||
<div class="auth__label">Username</div>
|
||||
<input class="input__text" type="text" name="username" autofocus>
|
||||
</label>
|
||||
<label>
|
||||
<div class="auth__label">E-mail</div>
|
||||
<input class="input__text" type="text" name="email">
|
||||
</label>
|
||||
<button class="input__button auth__button">
|
||||
Request Change
|
||||
</button>
|
||||
<div class="auth__subtext">
|
||||
<a href="{{ route('info.contact') }}">Contact us</a> if you lost access to your e-mail address!
|
||||
</div>
|
||||
{% endif %}
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
<li id="comment-{{ comment.id }}">
|
||||
<div class="comment">
|
||||
<a class="comment-avatar clean" href="{{ route('user.profile', comment.userData.id) }}" style="background-image: url('{{ route('user.avatar', comment.userData.id) }}');"><span style="color: {{ comment.userData.colour }};">{{ comment.userData.username }}</span></a>
|
||||
<a class="comment-avatar" href="{{ route('user.profile', comment.userData.id) }}" style="background-image: url('{{ route('user.avatar', comment.userData.id) }}');"><span style="color: {{ comment.userData.colour }};">{{ comment.userData.username }}</span></a>
|
||||
<div class="comment-pointer"></div>
|
||||
<div class="comment-content">
|
||||
<div class="comment-controls">
|
||||
<ul>
|
||||
{% if comment.userData.id == user.id %}
|
||||
<li><a href="javascript:void(0);" onclick="commentDelete({{ comment.id }});" class="clean fa fa-trash-o" title="Delete"></a></li>
|
||||
<li><a href="javascript:void(0);" onclick="commentDelete({{ comment.id }});" class="fa fa-trash-o" title="Delete"></a></li>
|
||||
{% else %}
|
||||
<li><a href="{{ route('user.report', comment.userData.id) }}" class="clean fa fa-exclamation-circle" title="Report"></a></li>
|
||||
<li><a href="{{ route('user.report', comment.userData.id) }}" class="fa fa-exclamation-circle" title="Report"></a></li>
|
||||
{% endif %}
|
||||
<li><a href="javascript:void(0);" onclick="commentReply({{ comment.id }}, '{{ session_id() }}', '{{ route('user.avatar', user.id) }}');" class="clean fa fa-reply" title="Reply" id="comment-action-reply-{{ comment.id }}"></a></li>
|
||||
<li class="shown voting like"><a href="javascript:void(0);" onclick="commentVote({{ comment.id }}, 1);" class="clean"><span class="fa fa-thumbs-up"></span> <span id="comment-{{ comment.id }}-likes">{{ comment.upvotes }}</span></a></li>
|
||||
<li class="shown voting dislike"><a href="javascript:void(0);" onclick="commentVote({{ comment.id }}, 0);" class="clean"><span class="fa fa-thumbs-down"></span> <span id="comment-{{ comment.id }}-dislikes">{{ comment.downvotes }}</span></a></li>
|
||||
<li><a href="javascript:void(0);" onclick="commentReply({{ comment.id }}, '{{ session_id() }}', '{{ route('user.avatar', user.id) }}');" class="fa fa-reply" title="Reply" id="comment-action-reply-{{ comment.id }}"></a></li>
|
||||
<li class="shown voting like"><a href="javascript:void(0);" onclick="commentVote({{ comment.id }}, 1);"><span class="fa fa-thumbs-up"></span> <span id="comment-{{ comment.id }}-likes">{{ comment.upvotes }}</span></a></li>
|
||||
<li class="shown voting dislike"><a href="javascript:void(0);" onclick="commentVote({{ comment.id }}, 0);"><span class="fa fa-thumbs-down"></span> <span id="comment-{{ comment.id }}-dislikes">{{ comment.downvotes }}</span></a></li>
|
||||
</ul>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
|
|
|
@ -1,26 +1,26 @@
|
|||
<div id="indexPanel">
|
||||
{% if user.isActive %}
|
||||
<div class="user-container" style="background-image: url({{ route('user.header', user.id) }});">
|
||||
<div class="default-avatar-setting user-container-avatar" style="background-image: url({{ route('user.avatar', user.id) }}); box-shadow: 0 0 5px {{ user.colour }};"><a href="{{ route('user.profile', user.id) }}" class="clean" style="display: block; height: 100%; width: 100%;"></a></div>
|
||||
<div class="user-container-info">
|
||||
<a href="{{ route('user.profile', user.id) }}" class="clean"><h1 style="color: {{ user.colour }}; text-shadow: 0 0 7px {% if user.colour != 'inherit' %}{{ user.colour }}{% else %}#222{% endif %}; padding: 0 0 2px;">{{ user.username }}</h1></a>
|
||||
<div class="user" style="background-image: url({{ route('user.header', user.id) }});">
|
||||
<div class="avatar avatar--border user__avatar" style="background-image: url({{ route('user.avatar', user.id) }}); box-shadow: 0 0 5px {{ user.colour }};"><a href="{{ route('user.profile', user.id) }}" style="display: block; height: 100%; width: 100%;"></a></div>
|
||||
<div class="user__info">
|
||||
<a href="{{ route('user.profile', user.id) }}" class="link link--clean"><h1 style="color: {{ user.colour }}; text-shadow: 0 0 7px {% if user.colour != 'inherit' %}{{ user.colour }}{% else %}#222{% endif %}; padding: 0 0 2px;">{{ user.username }}</h1></a>
|
||||
{% set friendRequests = user.friends(-1, true)|length %}
|
||||
{% if friendRequests %}
|
||||
<a class="default" href="{{ route('settings.friends.requests') }}" title="Pending friend requests">{{ friendRequests }} new friend requests</a>
|
||||
<a href="{{ route('settings.friends.requests') }}" title="Pending friend requests">{{ friendRequests }} new friend requests</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="head">Stats</div>
|
||||
<div class="content__header content__header--alt">Stats</div>
|
||||
We have <b>{{ stats.userCount }} user{% if stats.userCount != 1 %}s{% endif %}</b>,
|
||||
<b><a href="{{ route('user.profile', stats.newestUser.id) }}" style="color: {{ stats.newestUser.colour }};" class="default">{{ stats.newestUser.username }}</a></b> is the newest user,
|
||||
<b><a href="{{ route('user.profile', stats.newestUser.id) }}" style="color: {{ stats.newestUser.colour }};">{{ stats.newestUser.username }}</a></b> is the newest user,
|
||||
it has been <b>{{ stats.lastRegDate }} day{{ stats.lastRegDate == 1 ? '' : 's' }}</b> since the last user registered and the forum has <b>{{ stats.topicCount }} topic{% if stats.topicCount != 1 %}s{% endif %}</b> and <b>{{ stats.postCount }} post{% if stats.postCount != 1 %}s{% endif %}</b>.
|
||||
<div class="head">Online Users</div>
|
||||
<div class="content__header content__header--alt">Online Users</div>
|
||||
{% if stats.onlineUsers %}
|
||||
All active users in the past 2 minutes
|
||||
<table class="panelTable">
|
||||
{% for amount,onlineUser in stats.onlineUsers %}
|
||||
<tr><td style="text-align: left;"><a href="{{ route('user.profile', onlineUser.id) }}" style="font-weight: bold; color: {{ onlineUser.colour }};" class="default">{{ onlineUser.username }}</a></td><td style="text-align: right;"><time class="time-ago" datetime="{{ onlineUser.lastOnline|date('r') }}">{{ onlineUser.lastOnline|date(config('general.date_format')) }}</time></td></tr>
|
||||
<tr><td style="text-align: left;"><a href="{{ route('user.profile', onlineUser.id) }}" style="font-weight: bold; color: {{ onlineUser.colour }};">{{ onlineUser.username }}</a></td><td style="text-align: right;"><time class="time-ago" datetime="{{ onlineUser.lastOnline|date('r') }}">{{ onlineUser.lastOnline|date(config('general.date_format')) }}</time></td></tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% else %}
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
{% if newsHideTitle is not defined %}<a href="{{ route('news.post', post.id) }}" class="news-head" id="p{{ post.id }}">{{ post.title }}</a>{% endif %}
|
||||
<div class="news-body">
|
||||
<a class="no-underline" href="{{ route('user.profile', post.userData.id) }}">
|
||||
<div class="news-poster">
|
||||
<img src="{{ route('user.avatar', post.userData.id) }}" alt="{{ post.userData.username }}" class="default-avatar-setting">
|
||||
<h1 style="color: {{ post.userData.colour }}; text-shadow: 0 0 7px {% if post.userData.colour != 'inherit' %}{{ post.userData.colour }}{% else %}#222{% endif %}; padding: 0 0 10px;">{{ post.userData.username }}</h1>
|
||||
{% if newsHideTitle is not defined %}<a href="{{ route('news.post', post.id) }}" class="news__head" id="p{{ post.id }}">{{ post.title }}</a>{% endif %}
|
||||
<div class="news__body">
|
||||
<a class="news__poster" href="{{ route('user.profile', post.userData.id) }}">
|
||||
<div class="avatar avatar--border news__avatar" style="background-image: url('{{ route('user.avatar', post.userData.id) }}')"></div>
|
||||
<div class="news__username" style="color: {{ post.userData.colour }}; text-shadow: 0 0 7px {% if post.userData.colour != 'inherit' %}{{ post.userData.colour }}{% else %}#222{% endif %}">
|
||||
{{ post.userData.username }}
|
||||
</div>
|
||||
</a>
|
||||
<div class="bbcode">
|
||||
|
@ -11,7 +11,7 @@
|
|||
</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<div class="news-post-time">
|
||||
<div class="news__date">
|
||||
Posted <time class="time-ago" datetime="{{ post.time|date('r') }}">{{ post.time|date(config('general.date_format')) }}</time>
|
||||
{% if newsHideCommentCount is not defined %}<a class="default" href="{{ route('news.post', post.id) }}#comments">{{ post.commentCount }} comment{% if post.commentCount != 1 %}s{% endif %}</a>{% endif %}
|
||||
{% if newsHideCommentCount is not defined %}<a href="{{ route('news.post', post.id) }}#comments">{{ post.commentCount }} comment{% if post.commentCount != 1 %}s{% endif %}</a>{% endif %}
|
||||
</div>
|
||||
|
|
|
@ -5,19 +5,19 @@
|
|||
{% if paginationPages is defined and paginationPages|length > 1 %}
|
||||
{% if paginationPage > 1 %}
|
||||
{% if paginationPages|length > 2 %}
|
||||
<a href="{{ paginationUrl }}{{ paginationSeparator }}page=1" title="Jump to first page"><span class="fa fa-fast-backward"></span></a>
|
||||
<a class="input__button" href="{{ paginationUrl }}{{ paginationSeparator }}page=1" title="Jump to first page"><span class="fa fa-fast-backward"></span></a>
|
||||
{% endif %}
|
||||
<a href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPage - 1 }}" title="Previous page"><span class="fa fa-step-backward"></span></a>
|
||||
<a class="input__button" href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPage - 1 }}" title="Previous page"><span class="fa fa-step-backward"></span></a>
|
||||
{% endif %}
|
||||
{% for id,page in paginationPages %}
|
||||
{% if (id + 1) > (paginationPage - 3) and (id + 1) < (paginationPage + 3) %}
|
||||
<a href="{{ paginationUrl }}{{ paginationSeparator }}page={{ id + 1 }}"{% if id == paginationPage - 1 %} class="current"{% endif %} title="Page {{ id + 1 }}">{{ id + 1 }}</a>
|
||||
<a class="input__button{% if id == paginationPage - 1 %} input__button--current{% endif %}" href="{{ paginationUrl }}{{ paginationSeparator }}page={{ id + 1 }}" title="Page {{ id + 1 }}">{{ id + 1 }}</a>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% if paginationPage < paginationPages|length %}
|
||||
<a href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPage + 1 }}" title="Next page"><span class="fa fa-step-forward"></span></a>
|
||||
<a class="input__button" href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPage + 1 }}" title="Next page"><span class="fa fa-step-forward"></span></a>
|
||||
{% if paginationPages|length > 2 %}
|
||||
<a href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPages|length }}" title="Jump to last page"><span class="fa fa-fast-forward"></span></a>
|
||||
<a class="input__button" href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPages|length }}" title="Jump to last page"><span class="fa fa-fast-forward"></span></a>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
<div class="head">{{ title }}</div>
|
||||
<div class="content__header">{{ title }}</div>
|
||||
<div class="forumList">
|
||||
{% for forum in forum.forums %}
|
||||
{% if forum.type == 1 %}
|
||||
{% if forum.forums|length and forum.perms.view %}
|
||||
<div class="forumCategory">
|
||||
{% if forum.type != 1 %}Subforums{% else %}<a href="{{ route('forums.forum', forum.id) }}" class="clean">{{ forum.name }}</a>{% endif %}
|
||||
{% if forum.type != 1 %}Subforums{% else %}<a href="{{ route('forums.forum', forum.id) }}">{{ forum.name }}</a>{% endif %}
|
||||
</div>
|
||||
{% for forum in forum.forums %}
|
||||
{% include 'forum/elements/forumEntry.twig' %}
|
||||
|
|
|
@ -1,18 +1,18 @@
|
|||
{% set paginationClass = 'rightSide' %}
|
||||
|
||||
<div class="buttonRow pagination">
|
||||
<div class="buttonRow">
|
||||
<div class="leftSide">
|
||||
{% if forumBackLink is defined %}
|
||||
<a href="{{ forumBackLink }}" class="forumbtn"><span class="fa fa-backward"></span> Back</a>
|
||||
<a href="{{ forumBackLink }}" class="input__button"><span class="fa fa-backward"></span> Back</a>
|
||||
{% endif %}
|
||||
{% if forumReplyLink is defined %}
|
||||
<a href="{{ forumReplyLink }}" class="forumbtn"><span class="fa fa-reply-all"></span> Reply</a>
|
||||
<a href="{{ forumReplyLink }}" class="input__button"><span class="fa fa-reply-all"></span> Reply</a>
|
||||
{% endif %}
|
||||
{% if forumNewLink is defined %}
|
||||
<a href="{{ forumNewLink }}" class="forumbtn"><span class="fa fa-pencil-square-o"></span> New Topic</a>
|
||||
<a href="{{ forumNewLink }}" class="input__button"><span class="fa fa-pencil-square-o"></span> New Topic</a>
|
||||
{% endif %}
|
||||
{% if forumMarkRead is defined %}
|
||||
<a href="{{ forumMarkRead }}" class="forumbtn"><span class="fa fa-check-square-o"></span> Mark as Read</a>
|
||||
<a href="{{ forumMarkRead }}" class="input__button"><span class="fa fa-check-square-o"></span> Mark as Read</a>
|
||||
{% endif %}
|
||||
{% if topic.id is defined and showMod is defined %}
|
||||
{% include 'forum/elements/forumMod.twig' %}
|
||||
|
|
|
@ -2,14 +2,14 @@
|
|||
<div class="forumForum">
|
||||
<div class="forumIcon {% if forum.unread(user.id) %}unread {% endif %}fa fa-3x {% if forum.icon %}{{ forum.icon }}{% else %}{% if forum.type == 2 %}fa-chevron-circle-right{% elseif forum.type == 1 %}fa-folder{% else %}fa-comments{% endif %}{% endif %}"></div>
|
||||
<div class="forumTitle">
|
||||
<div class="name"><a href="{% if forum.type == 2 %}{{ forum.link }}{% else %}{{ route('forums.forum', forum.id) }}{% endif %}" class="default">{{ forum.name }}</a></div>
|
||||
<div class="name"><a href="{% if forum.type == 2 %}{{ forum.link }}{% else %}{{ route('forums.forum', forum.id) }}{% endif %}">{{ forum.name }}</a></div>
|
||||
<div class="desc">
|
||||
{{ forum.description }}
|
||||
{% if forum.forums|length %}
|
||||
<div class="subforums">
|
||||
Subforums:
|
||||
{% for forum in forum.forums %}
|
||||
{% if forum.unread(user.id) %}<span style="font-variant: small-caps; color: #6C5D7B; text-shadow: 0px 0px 5px #9475B2;">[!]</span>{% endif %} <a href="{% if forum.type == 2 %}{{ forum.link }}{% else %}{{ route('forums.forum', forum.id) }}{% endif %}" class="default">{{ forum.name }}</a>
|
||||
{% if forum.unread(user.id) %}<span style="font-variant: small-caps; color: #6C5D7B; text-shadow: 0px 0px 5px #9475B2;">[!]</span>{% endif %} <a href="{% if forum.type == 2 %}{{ forum.link }}{% else %}{{ route('forums.forum', forum.id) }}{% endif %}">{{ forum.name }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% endif %}
|
||||
|
@ -23,8 +23,8 @@
|
|||
<div class="forumLastPost">
|
||||
<div>
|
||||
{% if forum.lastPost.id %}
|
||||
<a href="{{ route('forums.topic', forum.lastPost.topic) }}" class="default">{{ forum.lastPost.subject|slice(0, 30) }}{% if forum.lastPost.subject|length > 30 %}...{% endif %}</a><br>
|
||||
<time class="time-ago" datetime="{{ forum.lastPost.time|date('r') }}">{{ forum.lastPost.time|date(config('general.date_format')) }}</time> by {% if forum.lastPost.poster.id %}<a href="{{ route('user.profile', forum.lastPost.poster.id) }}" class="default" style="color: {{ forum.lastPost.poster.colour }}; text-shadow: 0 0 5px {% if forum.lastPost.poster.colour != 'inherit' %}{{ forum.lastPost.poster.colour }}{% else %}#222{% endif %};">{{ forum.lastPost.poster.username }}</a>{% else %}[deleted user]{% endif %} <a href="{{ route('forums.post', forum.lastPost.id) }}" class="default fa fa-tag"></a>
|
||||
<a href="{{ route('forums.topic', forum.lastPost.topic) }}">{{ forum.lastPost.subject|slice(0, 30) }}{% if forum.lastPost.subject|length > 30 %}...{% endif %}</a><br>
|
||||
<time class="time-ago" datetime="{{ forum.lastPost.time|date('r') }}">{{ forum.lastPost.time|date(config('general.date_format')) }}</time> by {% if forum.lastPost.poster.id %}<a href="{{ route('user.profile', forum.lastPost.poster.id) }}" style="color: {{ forum.lastPost.poster.colour }}; text-shadow: 0 0 5px {% if forum.lastPost.poster.colour != 'inherit' %}{{ forum.lastPost.poster.colour }}{% else %}#222{% endif %};">{{ forum.lastPost.poster.username }}</a>{% else %}[deleted user]{% endif %} <a href="{{ route('forums.post', forum.lastPost.id) }}" class="fa fa-tag"></a>
|
||||
{% else %}
|
||||
There are no posts in this forum.<br>
|
||||
{% endif %}
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
{% if forumSticky is defined %}
|
||||
<a class="forumbtn" title="{{ forumSticky ? 'Unsticky' : 'Sticky' }}" href="{{ route('forums.topic.sticky', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumSticky ? 'remove' : 'thumb-tack' }}"></span></a>
|
||||
<a class="input__button" title="{{ forumSticky ? 'Unsticky' : 'Sticky' }}" href="{{ route('forums.topic.sticky', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumSticky ? 'remove' : 'thumb-tack' }}"></span></a>
|
||||
{% endif %}
|
||||
{% if forumAnnounce is defined %}
|
||||
<a class="forumbtn" title="{{ forumAnnounce ? 'Unannounce' : 'Announce' }}" href="{{ route('forums.topic.announce', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumAnnounce ? 'remove' : 'bullhorn' }}"></span></a>
|
||||
<a class="input__button" title="{{ forumAnnounce ? 'Unannounce' : 'Announce' }}" href="{{ route('forums.topic.announce', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumAnnounce ? 'remove' : 'bullhorn' }}"></span></a>
|
||||
{% endif %}
|
||||
{% if forumLock is defined %}
|
||||
<a class="forumbtn" title="{{ forumLock ? 'Unlock' : 'Lock' }}" href="{{ route('forums.topic.lock', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumLock ? 'unlock' : 'lock' }}"></span></a>
|
||||
<a class="input__button" title="{{ forumLock ? 'Unlock' : 'Lock' }}" href="{{ route('forums.topic.lock', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumLock ? 'unlock' : 'lock' }}"></span></a>
|
||||
{% endif %}
|
||||
{% if forumRestore is defined %}
|
||||
<a class="forumbtn" title="Restore" href="{{ route('forums.topic.restore', topic.id) }}?session={{ session_id() }}"><span class="fa fa-history"></span></a>
|
||||
<a class="input__button" title="Restore" href="{{ route('forums.topic.restore', topic.id) }}?session={{ session_id() }}"><span class="fa fa-history"></span></a>
|
||||
{% endif %}
|
||||
{% if forumTrash is defined or forumPrune is defined %}
|
||||
<a class="forumbtn" title="{{ forumPrune is defined ? 'Prune' : 'Trash' }}" href="{{ route('forums.topic.delete', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumPrune is defined ? 'bomb' : 'trash' }}"></span></a>
|
||||
<a class="input__button" title="{{ forumPrune is defined ? 'Prune' : 'Trash' }}" href="{{ route('forums.topic.delete', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumPrune is defined ? 'bomb' : 'trash' }}"></span></a>
|
||||
{% endif %}
|
||||
|
|
|
@ -16,20 +16,20 @@
|
|||
<div id="reply">
|
||||
<form id="postingForm" method="post" action="{{ postingAction }}">
|
||||
<div class="posting-subject" id="postingTitleContainer"{% if titleCache is not defined %} style="display: none;"{% endif %}>
|
||||
<input type="text" class="inputStyling" name="title" id="postingTitle" placeholder="Title" value="{{ titleCache is defined ? titleCache : '' }}">
|
||||
<input type="text" class="input__text" name="title" id="postingTitle" placeholder="Title" value="{{ titleCache is defined ? titleCache : '' }}">
|
||||
</div>
|
||||
<div class="posting-text">
|
||||
<textarea class="inputStyling" name="text" id="postingText" placeholder="Hit ctrl+enter to submit quickly!"{% if titleCache is defined %} autofocus{% endif %}>{{ textCache }}</textarea>
|
||||
<textarea class="input__text" name="text" id="postingText" placeholder="Hit ctrl+enter to submit quickly!"{% if titleCache is defined %} autofocus{% endif %}>{{ textCache }}</textarea>
|
||||
</div>
|
||||
<div class="posting-buttons">
|
||||
<div style="float: left;">
|
||||
{% for code,meta in bbcode %}
|
||||
<button onclick="Sakura.Editor.InsertBBCode(Sakura.DOM.ID('postingText'), '{{ code }}'{% if meta[2] is defined %}, true{% endif %});" type="button"{% if meta[0] %} title="{{ meta[0] }}"{% endif %} class="forumbtn{% if meta[1] %} fa fa-{{ meta[1] }}{% endif %}">{% if not meta[1] %}{{ code }}{% endif %}</button>
|
||||
<button onclick="Sakura.Editor.InsertBBCode(Sakura.DOM.ID('postingText'), '{{ code }}'{% if meta[2] is defined %}, true{% endif %});" type="button"{% if meta[0] %} title="{{ meta[0] }}"{% endif %} class="input__button{% if meta[1] %} fa fa-{{ meta[1] }}{% endif %}">{% if not meta[1] %}{{ code }}{% endif %}</button>
|
||||
{% endfor %}
|
||||
</div>
|
||||
<div style="float: right;">
|
||||
<button class="forumbtn fa fa-remove" title="Stop editing" style="display: none;" type="button" onclick="stopEdit();" id="postingStopEditing"></button>
|
||||
<button class="forumbtn fa fa-send" title="Reply"></button>
|
||||
<button class="input__button fa fa-remove" title="Stop editing" style="display: none;" type="button" onclick="stopEdit();" id="postingStopEditing"></button>
|
||||
<button class="input__button fa fa-send" title="Reply"></button>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
<div class="fa fa-2x fa-{% if topic.type == 1 %}thumb-tack{% elseif topic.type == 2 %}bullhorn{% elseif topic.status == 1 %}lock{% else %}navicon{% endif %}"></div>
|
||||
</td>
|
||||
<td class="topicTitle{% if topic.type == 2 %} topicAnnouncement{% endif %}">
|
||||
<a href="{{ route('forums.topic', topic.id) }}" class="default">{{ topic.title }}</a>
|
||||
<a href="{{ route('forums.topic', topic.id) }}">{{ topic.title }}</a>
|
||||
</td>
|
||||
<td class="topicAuthor{% if topic.type == 2 %} topicAnnouncement{% endif %}">
|
||||
{% if topic.firstPost.poster.id %}
|
||||
<a href="{{ route('user.profile', topic.firstPost.poster.id) }}" class="default" style="color: {{ topic.firstPost.poster.colour }}; text-shadow: 0 0 5px {% if topic.firstPost.poster.colour != 'inherit' %}{{ topic.firstPost.poster.colour }}{% else %}#222{% endif %};">{{ topic.firstPost.poster.username }}</a>
|
||||
<a href="{{ route('user.profile', topic.firstPost.poster.id) }}" style="color: {{ topic.firstPost.poster.colour }}; text-shadow: 0 0 5px {% if topic.firstPost.poster.colour != 'inherit' %}{{ topic.firstPost.poster.colour }}{% else %}#222{% endif %};">{{ topic.firstPost.poster.username }}</a>
|
||||
{% else %}
|
||||
[deleted user]
|
||||
{% endif %}
|
||||
|
@ -18,10 +18,10 @@
|
|||
</td>
|
||||
<td class="topicLast{% if topic.type == 2 %} topicAnnouncement{% endif %}">
|
||||
{% if topic.lastPost.poster.id %}
|
||||
<a href="{{ route('user.profile', topic.lastPost.poster.id) }}" class="default" style="color: {{ topic.lastPost.poster.colour }}; text-shadow: 0 0 5px {% if topic.lastPost.poster.colour != 'inherit' %}{{ topic.lastPost.poster.colour }}{% else %}#222{% endif %};">{{ topic.lastPost.poster.username }}</a>
|
||||
<a href="{{ route('user.profile', topic.lastPost.poster.id) }}" style="color: {{ topic.lastPost.poster.colour }}; text-shadow: 0 0 5px {% if topic.lastPost.poster.colour != 'inherit' %}{{ topic.lastPost.poster.colour }}{% else %}#222{% endif %};">{{ topic.lastPost.poster.username }}</a>
|
||||
{% else %}
|
||||
[deleted user]
|
||||
{% endif %} <a href="{{ route('forums.post', topic.lastPost.id) }}" class="default fa fa-tag"></a><br>
|
||||
{% endif %} <a href="{{ route('forums.post', topic.lastPost.id) }}" class="fa fa-tag"></a><br>
|
||||
<time class="time-ago" datetime="{{ topic.lastPost.time|date('r') }}">{{ topic.lastPost.time|date(config('general.date_format')) }}</time>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -7,9 +7,7 @@
|
|||
{% set forumMarkRead %}{{ route('forums.mark', forum.id) }}?s={{ session_id() }}{% endset %}
|
||||
|
||||
{% block content %}
|
||||
<div class="content homepage forum viewforum">
|
||||
<div class="content-column">
|
||||
{% include 'forum/elements/forumBase.twig' %}
|
||||
</div>
|
||||
<div class="content forum">
|
||||
{% include 'forum/elements/forumBase.twig' %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
|
||||
{% block content %}
|
||||
<div class="content homepage forum">
|
||||
<div class="content__right">
|
||||
<div class="content--right">
|
||||
<div id="forumIndexPopularTopics">
|
||||
<div class="head">Popular topics</div>
|
||||
<div class="content__header content__header--alt">Popular topics</div>
|
||||
<table class="panelTable" style="border-spacing: 0;">
|
||||
<tr>
|
||||
<th>Title</th>
|
||||
|
@ -15,15 +15,15 @@
|
|||
{% for _t in activeTopics %}
|
||||
<tr {% if _t.unread(user.id) %}style="font-weight: bold;"{% endif %}>
|
||||
<td style="text-align: left; border-bottom: 1px solid #9475b2;">
|
||||
<a href="{{ route('forums.topic', _t.id) }}" class="default">{{ _t.title }}</a>
|
||||
<a href="{{ route('forums.topic', _t.id) }}">{{ _t.title }}</a>
|
||||
</td>
|
||||
<td class="rightAlign" style="border-bottom: 1px solid #9475b2;"><time class="time-ago" datetime="{{ _t.lastPost.time|date('r') }}">{{ _t.lastPost.time|date(config('general.date_format')) }}</time></td>
|
||||
<td style="text-align: right; border-bottom: 1px solid #9475b2;"><time class="time-ago" datetime="{{ _t.lastPost.time|date('r') }}">{{ _t.lastPost.time|date(config('general.date_format')) }}</time></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
<div id="forumIndexNewPosts">
|
||||
<div class="head">Latest posts</div>
|
||||
<div class="content__header content__header--alt">Latest posts</div>
|
||||
<table class="panelTable" style="border-spacing: 0;">
|
||||
<tr>
|
||||
<th>Title & user</th>
|
||||
|
@ -32,22 +32,22 @@
|
|||
{% for _p in latestPosts %}
|
||||
<tr {% if _p.unread(user.id) %}style="font-weight: bold;"{% endif %}>
|
||||
<td style="text-align: left; border-bottom: 1px solid #9475b2;">
|
||||
<a href="{{ route('forums.post', _p.id) }}" class="default">{{ _p.subject }}</a>
|
||||
<a href="{{ route('forums.post', _p.id) }}">{{ _p.subject }}</a>
|
||||
by
|
||||
<a href="{{ route('user.profile', _p.poster.id) }}" class="default"><span style="color: {{ _p.poster.colour }};">{{ _p.poster.username }}</span></a>
|
||||
<a href="{{ route('user.profile', _p.poster.id) }}"><span style="color: {{ _p.poster.colour }};">{{ _p.poster.username }}</span></a>
|
||||
</td>
|
||||
<td class="rightAlign" style="border-bottom: 1px solid #9475b2;"><time class="time-ago" datetime="{{ _p.time|date('r') }}">{{ _p.time|date(config('general.date_format')) }}</time></td>
|
||||
<td style="text-align: right; border-bottom: 1px solid #9475b2;"><time class="time-ago" datetime="{{ _p.time|date('r') }}">{{ _p.time|date(config('general.date_format')) }}</time></td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
</div>
|
||||
<div id="forumMostActivePoster">
|
||||
<div class="head">Today's most active poster</div>
|
||||
<div class="content__header content__header--alt">Today's most active poster</div>
|
||||
{% if activePoster.id %}
|
||||
<a class="clean" href="{{ route('user.profile', activePoster.id) }}">
|
||||
<div class="user-container" style="background-image: url({{ route('user.header', activePoster.id) }});">
|
||||
<div class="default-avatar-setting user-container-avatar" style="background-image: url({{ route('user.avatar', activePoster.id) }}); box-shadow: 0 0 5px #{% if activePoster.isOnline %}484{% else %}844{% endif %};"></div>
|
||||
<div class="user-container-info">
|
||||
<a href="{{ route('user.profile', activePoster.id) }}" class="link link--clean">
|
||||
<div class="user" style="background-image: url({{ route('user.header', activePoster.id) }});">
|
||||
<div class="avatar avatar--border user__avatar" style="background-image: url({{ route('user.avatar', activePoster.id) }}); box-shadow: 0 0 5px #{% if activePoster.isOnline %}484{% else %}844{% endif %};"></div>
|
||||
<div class="user__info">
|
||||
<h1 style="color: {{ activePoster.colour }}; text-shadow: 0 0 7px {% if activePoster.colour != 'inherit' %}{{ activePoster.colour }}{% else %}#222{% endif %}; padding: 0 0 2px;" {% if activePoster.getUsernameHistory %} title="Known as {{ activePoster.getUsernameHistory[0].username_old }} before {{ activePoster.getUsernameHistory[0].change_time|date(config('general.date_format')) }}." {% endif %}>{{ activePoster.username }}</h1>
|
||||
{% if activePoster.isPremium %}<img src="/images/tenshi.png" alt="Tenshi" style="vertical-align: middle;"> {% endif %}<img src="/images/flags/{{ activePoster.country|lower }}.png" alt="{{ activePoster.country }}" style="vertical-align: middle;" title="{{ activePoster.country(true) }}"> <span style="font-size: .8em;">{{ activePoster.title }}</span>
|
||||
</div>
|
||||
|
@ -58,7 +58,7 @@
|
|||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="content__left">
|
||||
<div class="content--left">
|
||||
{% include 'forum/elements/forumBase.twig' %}
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
|
|
|
@ -90,102 +90,100 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="content homepage forum viewtopic">
|
||||
<div class="content-column">
|
||||
<div class="head">{{ forum.name }} / <span id="topicTitle">{{ topic.title|default(null) }}</span></div>
|
||||
{% include 'forum/elements/forumBtns.twig' %}
|
||||
<table class="posts">
|
||||
{% if topic is defined %}
|
||||
{% set textCache = session.replyText['t' ~ topic.id]|default(null) %}
|
||||
{% set postingAction = route('forums.topic.reply', topic.id) %}
|
||||
<div class="content forum viewtopic">
|
||||
<div class="content__header">{{ forum.name }} / <span id="topicTitle">{{ topic.title|default(null) }}</span></div>
|
||||
{% include 'forum/elements/forumBtns.twig' %}
|
||||
<table class="posts">
|
||||
{% if topic is defined %}
|
||||
{% set textCache = session.replyText['t' ~ topic.id]|default(null) %}
|
||||
{% set postingAction = route('forums.topic.reply', topic.id) %}
|
||||
|
||||
{% for post in posts[get.page|default(1) - 1] %}
|
||||
<tr class="post" id="p{{ post.id }}">
|
||||
<td class="userpanel">
|
||||
{% if post.poster.activated or post.poster.restricted %}<a href="{{ route('user.profile', post.poster.id) }}" class="default username" style="color: {{ post.poster.colour }}; text-shadow: 0 0 5px {% if post.poster.colour != 'inherit' %}{{ post.poster.colour }}{% else %}#222{% endif %};" title="Go to {{ post.poster.username }}'s profile">{{ post.poster.username }}</a>
|
||||
<img src="{{ route('user.avatar', post.poster.id) }}" alt="{{ post.poster.username }}" class="avatar" style="box-shadow: 0 3px 7px #{% if post.poster.isOnline %}484{% else %}844{% endif %};">
|
||||
{% else %}
|
||||
<a class="username">[deleted user]</a>
|
||||
{% endif %}
|
||||
<div class="userdata">
|
||||
<div class="usertitle">{{ post.poster.title }}</div>
|
||||
<img src="/images/tenshi.png" alt="Tenshi"{% if not post.poster.isPremium %} style="opacity: 0;"{% endif %}> <img src="/images/flags/{{ post.poster.country|lower }}.png" alt="{{ post.poster.country(true) }}">{% if post.poster.id == (topic.posts|first).poster.id %} <img src="/images/op.png" alt="OP" title="Original Poster">{% endif %}
|
||||
{% if user.isActive %}
|
||||
<div class="actions">
|
||||
{% if (user.id == post.poster.id and forum.perms.edit) or forum.perms.editAny %}
|
||||
<a class="fa fa-pencil-square-o" title="Edit this post" href="javascript:void(0);" onclick="editPost({{ post.id }});"></a>
|
||||
{% endif %}
|
||||
{% if (user.id == post.poster.id and forum.perms.delete) or forum.perms.deleteAny %}
|
||||
<a class="fa fa-trash" title="Delete this post" href="javascript:;" onclick="deletePost({{ post.id }})"></a>
|
||||
{% endif %}
|
||||
{% if not (post.poster.activated or post.poster.restricted or user.id == post.poster.id) %}
|
||||
<a class="fa fa-{% if user.isFriends(post.poster.id) == 2 %}heart{% else %}star{% endif %} friend-{{ post.poster.id }}-level" title="You are friends" {% if user.isFriends(post.poster.id) == 0 %}style="display: none;"{% endif %}></a>
|
||||
<a class="fa fa-user-{% if user.isFriends(post.poster.id) == 0 %}plus{% else %}times{% endif %} forum-friend-toggle friend-{{ post.poster.id }}-toggle" title="{% if user.isFriends(post.poster.id) == 0 %}Add {{ post.poster.username }} as a friend{% else %}Remove friend{% endif %}" href="javascript:void(0);" onclick="Sakura.Friend.{% if user.isFriends(post.poster.id) == 0 %}Add({{ post.poster.id }}){% else %}Remove({{ post.poster.id }}){% endif %}"></a>
|
||||
<a class="fa fa-flag" title="Report {{ post.poster.username }}" href="{{ route('user.report', post.poster.id) }}"></a>
|
||||
{% endif %}
|
||||
<a class="fa fa-reply" title="Quote this post" href="javascript:void(0);" onclick="Sakura.Editor.QuotePost({{ post.id }}, '{{ post.poster.username }}', pText);"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
<td class="post-content">
|
||||
<div class="details">
|
||||
<div class="subject">
|
||||
<a href="#p{{ post.id }}" class="clean">{{ post.subject|slice(0, 50) }}{% if post.subject|length > 50 %}...{% endif %}</a>
|
||||
</div>
|
||||
<div class="date">
|
||||
<a href="{{ route('forums.post', post.id) }}" class="clean">#{{ post.id }} - <time class="time-ago" datetime="{{ post.time|date('r') }}">{{ post.time|date(config('general.date_format')) }}</time></a>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div class="post-text bbcode">
|
||||
{{ post.parsed|raw }}
|
||||
</div>
|
||||
{% if post.poster.signature and post.poster.perms.changeSignature %}
|
||||
<div class="clear"></div>
|
||||
<div class="signature bbcode">
|
||||
{{ post.poster.signature()|raw|nl2br }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% set titleCache = session.replyText['f' ~ forum.id].title|default('') %}
|
||||
{% set textCache = session.replyText['f' ~ forum.id].text|default('') %}
|
||||
{% set postingAction = route('forums.new', forum.id) %}
|
||||
{% endif %}
|
||||
{% if forumReplyLink is defined or topic is not defined %}
|
||||
<tr class="post" id="postingPreview" style="display: none;">
|
||||
{% for post in posts[get.page|default(1) - 1] %}
|
||||
<tr class="post" id="p{{ post.id }}">
|
||||
<td class="userpanel">
|
||||
<a class="default username" href="{{ route('user.profile', user.id) }}" style="color: {{ user.colour }}; text-shadow: 0 0 5px {% if user.colour != 'inherit' %}{{ user.colour }}{% else %}#222{% endif %};" title="Go to {{ user.username }}'s profile">{{ user.username }}</a>
|
||||
<img src="{{ route('user.avatar', user.id) }}" alt="{{ user.username }}" class="avatar" style="box-shadow: 0 3px 7px #484;">
|
||||
{% if post.poster.activated or post.poster.restricted %}<a href="{{ route('user.profile', post.poster.id) }}" style="color: {{ post.poster.colour }}; text-shadow: 0 0 5px {% if post.poster.colour != 'inherit' %}{{ post.poster.colour }}{% else %}#222{% endif %};" title="Go to {{ post.poster.username }}'s profile">{{ post.poster.username }}</a>
|
||||
<img src="{{ route('user.avatar', post.poster.id) }}" alt="{{ post.poster.username }}" class="avatar" style="box-shadow: 0 3px 7px #{% if post.poster.isOnline %}484{% else %}844{% endif %};">
|
||||
{% else %}
|
||||
<a class="username">[deleted user]</a>
|
||||
{% endif %}
|
||||
<div class="userdata">
|
||||
<div class="usertitle">{{ user.title }}</div>
|
||||
<img src="/images/tenshi.png" alt="Tenshi"{% if not user.isPremium %} style="opacity: 0;"{% endif %}> <img src="/images/flags/{{ user.country|lower }}.png" alt="{{ user.country(true) }}">{% if topic is defined and user.id == (topic.posts|first).poster.id %} <img src="/images/op.png" alt="OP" title="Original Poster">{% endif %}
|
||||
<div class="usertitle">{{ post.poster.title }}</div>
|
||||
<img src="/images/tenshi.png" alt="Tenshi"{% if not post.poster.isPremium %} style="opacity: 0;"{% endif %}> <img src="/images/flags/{{ post.poster.country|lower }}.png" alt="{{ post.poster.country(true) }}">{% if post.poster.id == (topic.posts|first).poster.id %} <img src="/images/op.png" alt="OP" title="Original Poster">{% endif %}
|
||||
{% if user.isActive %}
|
||||
<div class="actions">
|
||||
{% if (user.id == post.poster.id and forum.perms.edit) or forum.perms.editAny %}
|
||||
<a class="fa fa-pencil-square-o" title="Edit this post" href="javascript:void(0);" onclick="editPost({{ post.id }});"></a>
|
||||
{% endif %}
|
||||
{% if (user.id == post.poster.id and forum.perms.delete) or forum.perms.deleteAny %}
|
||||
<a class="fa fa-trash" title="Delete this post" href="javascript:;" onclick="deletePost({{ post.id }})"></a>
|
||||
{% endif %}
|
||||
{% if not (post.poster.activated or post.poster.restricted or user.id == post.poster.id) %}
|
||||
<a class="fa fa-{% if user.isFriends(post.poster.id) == 2 %}heart{% else %}star{% endif %} friend-{{ post.poster.id }}-level" title="You are friends" {% if user.isFriends(post.poster.id) == 0 %}style="display: none;"{% endif %}></a>
|
||||
<a class="fa fa-user-{% if user.isFriends(post.poster.id) == 0 %}plus{% else %}times{% endif %} forum-friend-toggle friend-{{ post.poster.id }}-toggle" title="{% if user.isFriends(post.poster.id) == 0 %}Add {{ post.poster.username }} as a friend{% else %}Remove friend{% endif %}" href="javascript:void(0);" onclick="Sakura.Friend.{% if user.isFriends(post.poster.id) == 0 %}Add({{ post.poster.id }}){% else %}Remove({{ post.poster.id }}){% endif %}"></a>
|
||||
<a class="fa fa-flag" title="Report {{ post.poster.username }}" href="{{ route('user.report', post.poster.id) }}"></a>
|
||||
{% endif %}
|
||||
<a class="fa fa-reply" title="Quote this post" href="javascript:void(0);" onclick="Sakura.Editor.QuotePost({{ post.id }}, '{{ post.poster.username }}', pText);"></a>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
<td class="post-content">
|
||||
<div class="details">
|
||||
<div class="subject" id="previewTitle">{% if titleCache is not defined %}Re: {{ topic.title }}{% endif %}</div>
|
||||
<div class="date" id="previewMode">Preview</div>
|
||||
<div class="subject">
|
||||
<a href="#p{{ post.id }}">{{ post.subject|slice(0, 50) }}{% if post.subject|length > 50 %}...{% endif %}</a>
|
||||
</div>
|
||||
<div class="date">
|
||||
<a href="{{ route('forums.post', post.id) }}">#{{ post.id }} - <time class="time-ago" datetime="{{ post.time|date('r') }}">{{ post.time|date(config('general.date_format')) }}</time></a>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div class="post-text bbcode" id="previewText"></div>
|
||||
{% if user.signature and user.perms.changeSignature %}
|
||||
<div class="clear"></div>
|
||||
<div class="signature bbcode">
|
||||
{{ user.signature()|raw|nl2br }}
|
||||
</div>
|
||||
<div class="post-text bbcode">
|
||||
{{ post.parsed|raw }}
|
||||
</div>
|
||||
{% if post.poster.signature and post.poster.perms.changeSignature %}
|
||||
<div class="clear"></div>
|
||||
<div class="signature bbcode">
|
||||
{{ post.poster.signature()|raw|nl2br }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
{% if forumReplyLink is defined or topic is not defined %}
|
||||
{% include 'forum/elements/replyForm.twig' %}
|
||||
{% endfor %}
|
||||
{% else %}
|
||||
{% set titleCache = session.replyText['f' ~ forum.id].title|default('') %}
|
||||
{% set textCache = session.replyText['f' ~ forum.id].text|default('') %}
|
||||
{% set postingAction = route('forums.new', forum.id) %}
|
||||
{% endif %}
|
||||
{% include 'forum/elements/forumBtns.twig' %}
|
||||
</div>
|
||||
{% if forumReplyLink is defined or topic is not defined %}
|
||||
<tr class="post" id="postingPreview" style="display: none;">
|
||||
<td class="userpanel">
|
||||
<a href="{{ route('user.profile', user.id) }}" style="color: {{ user.colour }}; text-shadow: 0 0 5px {% if user.colour != 'inherit' %}{{ user.colour }}{% else %}#222{% endif %};" title="Go to {{ user.username }}'s profile">{{ user.username }}</a>
|
||||
<img src="{{ route('user.avatar', user.id) }}" alt="{{ user.username }}" class="avatar" style="box-shadow: 0 3px 7px #484;">
|
||||
<div class="userdata">
|
||||
<div class="usertitle">{{ user.title }}</div>
|
||||
<img src="/images/tenshi.png" alt="Tenshi"{% if not user.isPremium %} style="opacity: 0;"{% endif %}> <img src="/images/flags/{{ user.country|lower }}.png" alt="{{ user.country(true) }}">{% if topic is defined and user.id == (topic.posts|first).poster.id %} <img src="/images/op.png" alt="OP" title="Original Poster">{% endif %}
|
||||
</div>
|
||||
</td>
|
||||
<td class="post-content">
|
||||
<div class="details">
|
||||
<div class="subject" id="previewTitle">{% if titleCache is not defined %}Re: {{ topic.title }}{% endif %}</div>
|
||||
<div class="date" id="previewMode">Preview</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
<div class="post-text bbcode" id="previewText"></div>
|
||||
{% if user.signature and user.perms.changeSignature %}
|
||||
<div class="clear"></div>
|
||||
<div class="signature bbcode">
|
||||
{{ user.signature()|raw|nl2br }}
|
||||
</div>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
{% if forumReplyLink is defined or topic is not defined %}
|
||||
{% include 'forum/elements/replyForm.twig' %}
|
||||
{% endif %}
|
||||
{% include 'forum/elements/forumBtns.twig' %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -6,9 +6,9 @@
|
|||
<div class="content content--alt">
|
||||
<div>
|
||||
<h1>Information</h1>
|
||||
<hr class="default">
|
||||
<hr>
|
||||
{{ message|default('') }}
|
||||
{% if redirect is defined %}<br><a href="{{ redirect }}" class="default">Click here if you aren't being redirected.</a>{% endif %}
|
||||
{% if redirect is defined %}<br><a href="{{ redirect }}">Click here if you aren't being redirected.</a>{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -3,9 +3,9 @@
|
|||
{% set title = category ~ ' / ' ~ mode %}
|
||||
|
||||
{% block content %}
|
||||
<div class="content settings messages">
|
||||
<div class="content__right">
|
||||
<div class="head">
|
||||
<div class="content settings">
|
||||
<div class="content--right">
|
||||
<div class="content__header content__header--alt">
|
||||
Navigation
|
||||
</div>
|
||||
<div class="right-menu-nav">
|
||||
|
@ -17,8 +17,8 @@
|
|||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="content__left">
|
||||
<div class="head">{{ title }}</div>
|
||||
<div class="content--left">
|
||||
<div class="content__header">{{ title }}</div>
|
||||
<div class="settings-explanation">{{ block('description') }}</div>
|
||||
{{ block('manageContent') }}
|
||||
</div>
|
||||
|
|
|
@ -18,7 +18,13 @@
|
|||
{{ block('js') }}
|
||||
</head>
|
||||
<body>
|
||||
<div id="container" class="container">
|
||||
<div
|
||||
id="container"
|
||||
class="container"
|
||||
{% if profile is defined ? profile.background : (user.perms.changeBackground and (user.backgroundSitewide or showBG|default(false)) and user.background) %}
|
||||
style="background-image: url('{{ route('user.background', (profile is defined ? profile : user).id) }}'); "
|
||||
{% endif %}
|
||||
>
|
||||
<span id="top"></span>
|
||||
<div id="busy-window" class="busy hidden">
|
||||
<div class="busy__content">
|
||||
|
@ -36,31 +42,29 @@
|
|||
</a>
|
||||
<div class="header__menu">
|
||||
<div class="header__menu--left" id="navMenuSite">
|
||||
<!-- Navigation menu, displayed on left side of the bar. -->
|
||||
<a class="header__menu-item fa-home" href="{{ route('main.index') }}" title="Home"></a>
|
||||
<a class="header__menu-item fa-newspaper-o" href="{{ route('news.category') }}" title="News"></a>
|
||||
<a class="header__menu-item fa-commenting" href="{{ route('chat.redirect') }}" title="Chat"></a>
|
||||
<a class="header__menu-item fa-list" href="{{ route('forums.index') }}" title="Forums"></a>
|
||||
<a class="header__menu-item fa-search" href="{{ route('main.search') }}" title="Search"></a>
|
||||
<a class="header__menu-item fa fa-home" href="{{ route('main.index') }}" title="Home"></a>
|
||||
<a class="header__menu-item fa fa-newspaper-o" href="{{ route('news.category') }}" title="News"></a>
|
||||
<a class="header__menu-item fa fa-commenting" href="{{ route('chat.redirect') }}" title="Chat"></a>
|
||||
<a class="header__menu-item fa fa-list" href="{{ route('forums.index') }}" title="Forums"></a>
|
||||
<a class="header__menu-item fa fa-search" href="{{ route('main.search') }}" title="Search"></a>
|
||||
{% if user.isActive %}
|
||||
<a class="header__menu-item fa-users" href="{{ route('members.index') }}" title="Members"></a>
|
||||
<a class="header__menu-item fa-heart" href="{{ route('premium.index') }}" title="Support us"></a>
|
||||
<a class="header__menu-item fa fa-users" href="{{ route('members.index') }}" title="Members"></a>
|
||||
<a class="header__menu-item fa fa-heart" href="{{ route('premium.index') }}" title="Support us"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="header__menu--right" id="navMenuUser">
|
||||
<!-- User menu, displayed on right side of the bar. -->
|
||||
{% if user.isActive %}
|
||||
<a class="header__menu-item header__menu-item--avatar" href="{{ route('user.profile', user.id) }}" title="Logged in as {{ user.username }}" style="background-image: url('{{ route('user.avatar', user.id) }}'); width: auto; color: {{ user.colour }}; border-color: {{ user.colour }}; font-weight: 700;"></a>
|
||||
<a class="header__menu-item fa-envelope" href="#" title="Messages"></a>
|
||||
<a class="header__menu-item fa-bell" href="javascript:;" title="Notifications"></a>
|
||||
<a class="header__menu-item header__menu-item--avatar avatar" href="{{ route('user.profile', user.id) }}" title="Logged in as {{ user.username }}" style="background-image: url('{{ route('user.avatar', user.id) }}'); width: auto; color: {{ user.colour }}; border-color: {{ user.colour }}; font-weight: 700;"></a>
|
||||
<a class="header__menu-item fa fa-envelope" href="#" title="Messages"></a>
|
||||
<a class="header__menu-item fa fa-bell" href="javascript:;" title="Notifications"></a>
|
||||
{% if user.perms.isMod or user.perms.isAdmin %}
|
||||
<a class="header__menu-item fa-gavel" href="{{ route('manage.index') }}" title="Manage"></a>
|
||||
<a class="header__menu-item fa fa-gavel" href="{{ route('manage.index') }}" title="Manage"></a>
|
||||
{% endif %}
|
||||
<a class="header__menu-item fa-cogs" href="{{ route('settings.index') }}" title="Settings"></a>
|
||||
<a class="header__menu-item fa-sign-out" href="{{ route('auth.logout') }}" title="Logout"></a>
|
||||
<a class="header__menu-item fa fa-cogs" href="{{ route('settings.index') }}" title="Settings"></a>
|
||||
<a class="header__menu-item fa fa-sign-out" href="{{ route('auth.logout') }}" title="Logout"></a>
|
||||
{% else %}
|
||||
<a class="header__menu-item fa-magic" href="{{ route('auth.register') }}" title="Register"></a>
|
||||
<a class="header__menu-item fa-sign-in" href="{{ route('auth.login') }}" title="Login"></a>
|
||||
<a class="header__menu-item fa fa-magic" href="{{ route('auth.register') }}" title="Register"></a>
|
||||
<a class="header__menu-item fa fa-sign-in" href="{{ route('auth.login') }}" title="Login"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -69,49 +73,45 @@
|
|||
<div id="notifications" class="alerts"></div>
|
||||
<div id="dialogues" class="dialogues"></div>
|
||||
|
||||
{% if profile is defined ? profile.background : (user.perms.changeBackground and (user.backgroundSitewide or showBG|default(false)) and user.background) %}
|
||||
<div id="userBackground" style="background-image: url('{{ route('user.background', (profile is defined ? profile : user).id) }}');"></div>
|
||||
{% endif %}
|
||||
|
||||
{% if not user.isActive and server['REQUEST_URI'] != route('auth.login') %}
|
||||
<div class="headerLoginContainer">
|
||||
<form method="post" action="{{ route('auth.login') }}" id="headerLoginForm">
|
||||
<div class="header-login">
|
||||
<form method="post" action="{{ route('auth.login') }}">
|
||||
<input type="hidden" name="redirect" value="{{ server['REQUEST_URI'] }}">
|
||||
<div>
|
||||
<label for="headerLoginUserName">Username:</label>
|
||||
<input type="text" id="headerLoginUserName" name="username" class="inputStyling" placeholder="Username">
|
||||
</div>
|
||||
<div>
|
||||
<label for="headerLoginPassword">Password:</label>
|
||||
<input type="password" id="headerLoginPassword" name="password" class="inputStyling" placeholder="Password">
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" name="remember" id="headerLoginRemember">
|
||||
<label for="headerLoginRemember">Remember me</label>
|
||||
</div>
|
||||
<div>
|
||||
<button class="inputStyling small" name="session" value="{{ session_id() }}"><i class="fa fa-sign-in"></i> Login</button>
|
||||
</div>
|
||||
<label class="header-login__label">
|
||||
Username:
|
||||
<input type="text" name="username" class="input__text header-login__text" placeholder="Username">
|
||||
</label>
|
||||
<label class="header-login__label">
|
||||
Password:
|
||||
<input type="password" name="password" class="input__text header-login__text" placeholder="Password">
|
||||
</label>
|
||||
<label class="header-login__label">
|
||||
<input type="checkbox" name="remember">
|
||||
Remember me
|
||||
</label>
|
||||
<button class="input__button header-login__button" name="session" value="{{ session_id() }}">
|
||||
<i class="fa fa-sign-in"></i> Login
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if user.restricted %}
|
||||
<div class="headerNotify" style="background: repeating-linear-gradient(-45deg, #B33, #B33 10px, #B00 10px, #B00 20px); color: #FFF; border: 1px solid #C00; box-shadow: 0 0 3px #C00;">
|
||||
<div class="announce-box announce-box--restricted" style="background: repeating-linear-gradient(-45deg, #B33, #B33 10px, #B00 10px, #B00 20px); color: #FFF; border: 1px solid #C00; box-shadow: 0 0 3px #C00;">
|
||||
<h1>Your account is currently in <span style="font-weight: 700 !important;">restricted mode</span>!</h1>
|
||||
<div>A staff member has set your account to restricted mode most likely due to violation of the rules. While restricted you won't be able to use most public features of the site. If you think this is a mistake please <a href="{{ route('info.contact') }}" style="color: inherit;">get in touch with one of our staff members</a>.</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<noscript>
|
||||
<div class="headerNotify">
|
||||
<div class="announce-box">
|
||||
<h1>You have JavaScript disabled!</h1>
|
||||
<div>A lot of things are not going to work without it so I recommend you turn it on or use a capable browser.</div>
|
||||
</div>
|
||||
</noscript>
|
||||
|
||||
{% if config('general.cover') %}
|
||||
<div class="headerAnnouncement" style="background-image: url('{{ config('general.cover') }}');"></div>
|
||||
<div class="announce-box announce-box--header" style="background-image: url('{{ config('general.cover') }}');"></div>
|
||||
{% endif %}
|
||||
|
||||
{% block content %}
|
||||
|
@ -120,30 +120,30 @@
|
|||
</div>
|
||||
<div class="footer">
|
||||
<div class="footer__sections">
|
||||
<div class="footer__copyright">Powered by <a href="https://github.com/flashwave/sakura/">Sakura</a> © 2013-2016 <a href="http://aitemu.moe/">Aitemu</a></div>
|
||||
<div class="footer__copyright">Powered by <a class="footer__link" href="https://github.com/flashwave/sakura/">Sakura</a> © 2013-2016 <a class="footer__link" href="https://flash.moe/">flash.moe</a></div>
|
||||
<ul class="footer__section">
|
||||
<li class="footer_item footer_item--head">General</li>
|
||||
<li class="footer_item"><a class="footer_link" href="{{ route('main.index') }}">Home</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="{{ route('news.category') }}">News</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="{{ route('main.search') }}">Search</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="{{ route('info.contact') }}">Contact</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="https://sakura.flash.moe">Changelog</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="{{ route('premium.index') }}">Support us</a></li>
|
||||
<li class="footer__item footer__item--head">General</li>
|
||||
<li class="footer__item"><a class="footer__link" href="{{ route('main.index') }}">Home</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="{{ route('news.category') }}">News</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="{{ route('main.search') }}">Search</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="{{ route('info.contact') }}">Contact</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="https://sakura.flash.moe">Changelog</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="{{ route('premium.index') }}">Support us</a></li>
|
||||
</ul>
|
||||
<ul class="footer__section">
|
||||
<li class="footer_item footer_item--head">Community</li>
|
||||
<li class="footer_item"><a class="footer_link" href="{{ route('forums.index') }}">Forums</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="https://twitter.com/_flashii">Twitter</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="https://youtube.com/user/flashiinet">YouTube</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="https://steamcommunity.com/groups/flashiinet">Steam</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="https://github.com/aitemu">GitHub</a></li>
|
||||
<li class="footer__item footer__item--head">Community</li>
|
||||
<li class="footer__item"><a class="footer__link" href="{{ route('forums.index') }}">Forums</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="https://twitter.com/_flashii">Twitter</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="https://youtube.com/user/flashiinet">YouTube</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="https://steamcommunity.com/groups/flashiinet">Steam</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="https://github.com/aitemu">GitHub</a></li>
|
||||
</ul>
|
||||
<ul class="footer__section">
|
||||
<li class="footer_item footer_item--head">Information</li>
|
||||
<li class="footer_item"><a class="footer_link" href="{{ route('main.faq') }}">FAQ</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="{{ route('info.rules') }}">Rules</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="{{ route('status.index') }}">Server Status</a></li>
|
||||
<li class="footer_item"><a class="footer_link" href="{{ route('info.terms') }}">Terms of Service</a></li>
|
||||
<li class="footer__item footer__item--head">Information</li>
|
||||
<li class="footer__item"><a class="footer__link" href="{{ route('main.faq') }}">FAQ</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="{{ route('info.rules') }}">Rules</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="{{ route('status.index') }}">Server Status</a></li>
|
||||
<li class="footer__item"><a class="footer__link" href="{{ route('info.terms') }}">Terms of Service</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
@ -3,28 +3,26 @@
|
|||
{% set title = 'You are banned!' %}
|
||||
|
||||
{% block content %}
|
||||
<div class="content">
|
||||
<div class="content-column news banned">
|
||||
<div style="padding: 20px;">
|
||||
<h1>You got dunked on!</h1>
|
||||
{% if ban.reason %}
|
||||
<h3>The following reason was supplied:</h3>
|
||||
<p>
|
||||
{{ ban.reason|raw }}
|
||||
</p>
|
||||
{% else %}
|
||||
<h3>No reason was supplied.</h3>
|
||||
<div class="content banned">
|
||||
<div style="padding: 20px;">
|
||||
<h1>You got dunked on!</h1>
|
||||
{% if ban.reason %}
|
||||
<h3>The following reason was supplied:</h3>
|
||||
<p class="banned__reason">
|
||||
{{ ban.reason|raw }}
|
||||
</p>
|
||||
{% else %}
|
||||
<h3>No reason was supplied.</h3>
|
||||
{% endif %}
|
||||
<br>
|
||||
<h2>Additional information</h2>
|
||||
<ul style="margin-left: 30px;">
|
||||
<li>You were banned on {{ ban.issued|date(config('general.date_format')) }}.</li>
|
||||
<li>{% if ban.expires %}This ban expires on {{ ban.expires|date(config('general.date_format')) }}.{% else %}<b>You are permanently banned.</b>{% endif %}</li>
|
||||
{% if ban.expires %}
|
||||
<li>You were banned by <a href="{{ route('user.profile', ban.issuer.id) }}">{{ ban.issuer.username }}</a>.</li>
|
||||
{% endif %}
|
||||
<br>
|
||||
<h2>Additional information</h2>
|
||||
<ul style="margin-left: 30px;">
|
||||
<li>You were banned on {{ ban.issued|date(config('general.date_format')) }}.</li>
|
||||
<li>{% if ban.expires %}This ban expires on {{ ban.expires|date(config('general.date_format')) }}.{% else %}<b>You are permanently banned.</b>{% endif %}</li>
|
||||
{% if ban.expires %}
|
||||
<li>You were banned by <a href="{{ route('user.profile', ban.issuer.id) }}" class="default">{{ ban.issuer.username }}</a>.</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -4,19 +4,19 @@
|
|||
|
||||
{% block content %}
|
||||
<div class="content settings">
|
||||
<div class="content-right content-column">
|
||||
<div class="head">
|
||||
<div class="content--right">
|
||||
<div class="content__header content__header--alt">
|
||||
Frequently Asked Questions
|
||||
</div>
|
||||
<div class="right-menu-nav">
|
||||
{% for question in page.questions %}
|
||||
<a href="#{{ question.faq_shorthand }}" class="default">{{ question.faq_question }}</a>
|
||||
<a href="#{{ question.faq_shorthand }}">{{ question.faq_question }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="content__left">
|
||||
<div class="content--left">
|
||||
{% for question in page.questions %}
|
||||
<div class="head" id="{{ question.faq_shorthand }}">
|
||||
<div class="content__header" id="{{ question.faq_shorthand }}">
|
||||
{{ question.faq_question }}
|
||||
<a href="#{{ question.faq_shorthand }}" class="fa fa-quote-right news-rss default"></a>
|
||||
</div>
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
{% block content %}
|
||||
<div class="content homepage">
|
||||
<div class="content__right">
|
||||
<div class="content--right">
|
||||
{% include 'elements/indexPanel.twig' %}
|
||||
</div>
|
||||
<div class="content__left">
|
||||
<div class="head">News</div>
|
||||
<div class="content--left">
|
||||
<div class="content__header">News</div>
|
||||
{% for post in news %}
|
||||
{% include 'elements/newsPost.twig' %}
|
||||
{% endfor %}
|
||||
|
|
|
@ -4,21 +4,19 @@
|
|||
|
||||
{% block content %}
|
||||
<div class="content" style="background: #FFF;">
|
||||
<div class="content-column news">
|
||||
<div class="head">Search</div>
|
||||
<script>
|
||||
(function() {
|
||||
var cx = '013363332951923767879:krqdp_wt-eg';
|
||||
var gcse = document.createElement('script');
|
||||
gcse.type = 'text/javascript';
|
||||
gcse.async = true;
|
||||
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//cse.google.com/cse.js?cx=' + cx;
|
||||
var s = document.getElementsByTagName('script')[0];
|
||||
s.parentNode.insertBefore(gcse, s);
|
||||
})();
|
||||
</script>
|
||||
<gcse:searchbox></gcse:searchbox>
|
||||
<gcse:searchresults></gcse:searchresults>
|
||||
</div>
|
||||
<div class="content__header">Search</div>
|
||||
<script>
|
||||
(function() {
|
||||
var cx = '013363332951923767879:krqdp_wt-eg';
|
||||
var gcse = document.createElement('script');
|
||||
gcse.type = 'text/javascript';
|
||||
gcse.async = true;
|
||||
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//cse.google.com/cse.js?cx=' + cx;
|
||||
var s = document.getElementsByTagName('script')[0];
|
||||
s.parentNode.insertBefore(gcse, s);
|
||||
})();
|
||||
</script>
|
||||
<gcse:searchbox></gcse:searchbox>
|
||||
<gcse:searchresults></gcse:searchresults>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -1,23 +0,0 @@
|
|||
{% extends 'master.twig' %}
|
||||
|
||||
{% set title %}{{ page.category }} / {{ page.mode }}{% endset %}
|
||||
|
||||
{% block content %}
|
||||
<div class="content settings messages">
|
||||
<div class="content__right">
|
||||
{% include 'elements/settingsNav.twig' %}
|
||||
</div>
|
||||
<div class="content__left">
|
||||
<div class="head">
|
||||
{{ page.category }} / {{ page.mode }}
|
||||
</div>
|
||||
<div class="settings-explanation">
|
||||
{% for descline in page.description %}
|
||||
<div>{{ include(template_from_string(descline)) }}</div>
|
||||
{% endfor %}
|
||||
</div>
|
||||
{% include templates ~ '/' ~ current ~ '.twig' %}
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
{% endblock %}
|
|
@ -16,18 +16,16 @@
|
|||
{% set paginationUrl %}{{ route('news.category', category.name) }}{% endset %}
|
||||
|
||||
{% block content %}
|
||||
<div class="content">
|
||||
<div class="content-column news">
|
||||
<div class="head">News</div>
|
||||
{% for post in posts[get.page|default(1) - 1] %}
|
||||
{% include 'elements/newsPost.twig' %}
|
||||
{% endfor %}
|
||||
{% if posts|length > 1 %}
|
||||
<div>
|
||||
{% include 'elements/pagination.twig' %}
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="content news">
|
||||
<div class="content__header">News</div>
|
||||
{% for post in posts[get.page|default(1) - 1] %}
|
||||
{% include 'elements/newsPost.twig' %}
|
||||
{% endfor %}
|
||||
{% if posts|length > 1 %}
|
||||
<div>
|
||||
{% include 'elements/pagination.twig' %}
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -9,12 +9,10 @@
|
|||
{% set newsHideCommentCount = true %}
|
||||
|
||||
{% block content %}
|
||||
<div class="content">
|
||||
<div class="content-column news">
|
||||
<div class="head">{{ post.title }}</div>
|
||||
{% include 'elements/newsPost.twig' %}
|
||||
{% include 'elements/comments.twig' %}
|
||||
</div>
|
||||
<div class="content news">
|
||||
<div class="content__header">{{ post.title }}</div>
|
||||
{% include 'elements/newsPost.twig' %}
|
||||
{% include 'elements/comments.twig' %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
{% block content %}
|
||||
<div class="content support">
|
||||
<div class="head">Support {{ config('general.name') }}</div>
|
||||
<div class="content__header">Support {{ config('general.name') }}</div>
|
||||
<div style="font-size: .9em; margin-bottom: 10px;">
|
||||
<p>To keep the site and everything surrounding it running I need money to pay the bills, however instead of just having a donate button I decided on adding a premium system to the site which gives you a few extras. The premium rank is indentified on the site by Tenshi. More stuff that literally doesn't exist yet will be added to the list of featuring down the line but in order, the stuff that already exist can be seen further down on this page. With your help we can keep adding new stuff, get new hardware and keep the site awesome!</p>
|
||||
</div>
|
||||
|
@ -60,14 +60,14 @@
|
|||
</div>
|
||||
{% if user.isActive and user.verified %}
|
||||
<div class="slider">
|
||||
<input class="inputStyling" type="range" min="1" max="{{ amountLimit }}" value="1" onchange="document.getElementById('monthsNo').value = this.value; document.getElementById('monthNoBtn').innerText = this.value; document.getElementById('monthsTrailingS').innerText = (this.value == 1 ? '' : 's'); document.getElementById('totalAmount').innerText = (this.value * {{ price }});">
|
||||
<input class="input__range" type="range" min="1" max="{{ amountLimit }}" value="1" onchange="document.getElementById('monthsNo').value = this.value; document.getElementById('monthNoBtn').innerText = this.value; document.getElementById('monthsTrailingS').innerText = (this.value == 1 ? '' : 's'); document.getElementById('totalAmount').innerText = (this.value * {{ price }});">
|
||||
</div>
|
||||
<div class="checkout" style="line-height: 28px;">
|
||||
<div style="float: left;">
|
||||
<h1>Total: €<span id="totalAmount"></span></h1>
|
||||
</div>
|
||||
<div style="float: right;">
|
||||
<button class="inputStyling" onclick="Yuuno.Busy.Show(Yuuno.BusyMode.BUSY, 'Please wait...');document.getElementById('purchaseForm').submit();">Get <span id="monthNoBtn">1</span> month<span id="monthsTrailingS"></span> of Tenshi</button>
|
||||
<button class="input__button" onclick="Yuuno.Busy.Show(Yuuno.BusyMode.BUSY, 'Please wait...');document.getElementById('purchaseForm').submit();">Get <span id="monthNoBtn">1</span> month<span id="monthsTrailingS"></span> of Tenshi</button>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
|
|
|
@ -6,19 +6,19 @@
|
|||
<div class="new-profile-mode-title">
|
||||
<h1>Friends</h1>
|
||||
</div>
|
||||
<div class="profile-friends">
|
||||
<div class="profile__friends">
|
||||
{% if friends|length > 0 %}
|
||||
{% for friend in friends[get.page|default(1) - 1] %}
|
||||
<div class="friend-container" id="friendslist-friend-{{ friend.id }}">
|
||||
<a class="friends-list-data clean" href="{{ route('user.profile', friend.id) }}">
|
||||
<img src="{{ route('user.avatar', friend.id) }}" alt="{{ friend.username }}" class="friends-list-avatar default-avatar-setting" style="width: 150px; height: 150px;">
|
||||
<div class="friends-list-name" style="color: {{ friend.colour }};">{{ friend.username }}</div>
|
||||
</a>
|
||||
</div>
|
||||
<div class="friend-container" id="friendslist-friend-{{ friend.id }}">
|
||||
<a class="friends-list-data" href="{{ route('user.profile', friend.id) }}">
|
||||
<img src="{{ route('user.avatar', friend.id) }}" alt="{{ friend.username }}" class="friends-list-avatar avatar avatar--border" style="width: 150px; height: 150px;">
|
||||
<div class="friends-list-name" style="color: {{ friend.colour }};">{{ friend.username }}</div>
|
||||
</a>
|
||||
</div>
|
||||
{% endfor %}
|
||||
<div class="clear"></div>
|
||||
<div class="clear"></div>
|
||||
{% else %}
|
||||
<h1 style="text-align: center; margin: 2em auto;">This user has no friends :(</h1>
|
||||
<h1 class="profile__friends--none">This user has no friends :(</h1>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if friends|length > 1 %}
|
||||
|
|
|
@ -10,27 +10,27 @@
|
|||
<form enctype="multipart/form-data" method="post" action="javascript:;" onsubmit="updateSettingsConfirm(this, '{{ route('settings.account.details') }}');">
|
||||
<div class="profile-field">
|
||||
<div><h2>E-mail address</h2></div>
|
||||
<div><input type="text" name="email" placeholder="{{ user.email }}" class="inputStyling"></div>
|
||||
<div><input type="text" name="email" placeholder="{{ user.email }}" class="input__text"></div>
|
||||
</div>
|
||||
{% if edit_usern %}
|
||||
<div class="profile-field">
|
||||
<div><h2>Username {% if last_name_change %}(last change was <time class="time-ago" datetime="{{ last_name_change|date('r') }}">{{ last_name_change|date(config('general.date_format')) }}</time>){% endif %}</h2></div>
|
||||
<div><input type="text" name="username"{% if username_allow %} placeholder="At least {{ config('user.name_min') }} and at most {{ config('user.name_max') }} characters!"{% else %}disabled placeholder="You can't change your name right now!" {% endif %} class="inputStyling"></div>
|
||||
<div><input type="text" name="username"{% if username_allow %} placeholder="At least {{ config('user.name_min') }} and at most {{ config('user.name_max') }} characters!"{% else %}disabled placeholder="You can't change your name right now!" {% endif %} class="input__text{% if username_allow %} input__text--disabled{% endif %}"></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% if edit_title %}
|
||||
<div class="profile-field">
|
||||
<div><h2>Title</h2></div>
|
||||
<div><input type="text" name="title" placeholder="Max 64 characters, leaving this empty will actually reset it" class="inputStyling" value="{{ user.title }}"></div>
|
||||
<div><input type="text" name="title" placeholder="Max 64 characters, leaving this empty will actually reset it" class="input__text" value="{{ user.title }}"></div>
|
||||
</div>
|
||||
{% endif %}
|
||||
<div class="profile-field">
|
||||
<div><h2>Password</h2></div>
|
||||
<div><input type="password" name="password" placeholder="Must be at least decently strong, size doesn't matter" class="inputStyling"></div>
|
||||
<div><input type="password" name="password" placeholder="Must be at least decently strong, size doesn't matter" class="input__text"></div>
|
||||
</div>
|
||||
<div class="profile-save">
|
||||
<button value="{{ session_id() }}" name="session" class="inputStyling">Save</button>
|
||||
<button type="reset" class="inputStyling">Reset</button>
|
||||
<button value="{{ session_id() }}" name="session" class="input__button">Save</button>
|
||||
<button type="reset" class="input__button">Reset</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -97,7 +97,7 @@
|
|||
<h2>{{ vars.title }}</h2>
|
||||
</div>
|
||||
<div>
|
||||
<input class="inputStyling"
|
||||
<input class="input__text"
|
||||
{% for name, value in vars %}
|
||||
{% if name != 'title' %}
|
||||
{{ name }}="{{ value }}"
|
||||
|
@ -112,29 +112,38 @@
|
|||
<h2>Birthday</h2>
|
||||
</div>
|
||||
<div style="text-align: center;">
|
||||
Day: <select name="birthday_day">
|
||||
<option value="0"{% if birthday[2] is not defined %} selected="selected"{% endif %}>--</option>
|
||||
{% for i in 1..31 %}
|
||||
<option{% if birthday[2]|default(-1) == i %} selected="selected"{% endif %}>{{ i }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
Month: <select name="birthday_month">
|
||||
<option value="0"{% if not birthday[1] is not defined %} selected="selected"{% endif %}>--</option>
|
||||
{% for i in 1..12 %}
|
||||
<option value="{{ i }}"{% if birthday[1]|default(-1) == i %} selected="selected"{% endif %}>{{ months[i - 1] }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
Year: <select name="birthday_year">
|
||||
<option value="0"{% if not birthday[0] is not defined %} selected="selected"{% endif %}>----</option>
|
||||
{% for i in "now"|date('Y')..("now"|date('Y') - 100) %}
|
||||
<option{% if birthday[0]|default(-1) == i %} selected="selected"{% endif %}>{{ i }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
<label>
|
||||
Day:
|
||||
<select name="birthday_day" class="input__select">
|
||||
<option value="0"{% if birthday[2] is not defined %} selected="selected"{% endif %}>--</option>
|
||||
{% for i in 1..31 %}
|
||||
<option{% if birthday[2]|default(-1) == i %} selected="selected"{% endif %}>{{ i }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</label>
|
||||
<label>
|
||||
Month:
|
||||
<select name="birthday_month" class="input__select">
|
||||
<option value="0"{% if not birthday[1] is not defined %} selected="selected"{% endif %}>--</option>
|
||||
{% for i in 1..12 %}
|
||||
<option value="{{ i }}"{% if birthday[1]|default(-1) == i %} selected="selected"{% endif %}>{{ months[i - 1] }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</label>
|
||||
<label>
|
||||
Year:
|
||||
<select name="birthday_year" class="input__select">
|
||||
<option value="0"{% if not birthday[0] is not defined %} selected="selected"{% endif %}>----</option>
|
||||
{% for i in "now"|date('Y')..("now"|date('Y') - 100) %}
|
||||
<option{% if birthday[0]|default(-1) == i %} selected="selected"{% endif %}>{{ i }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="profile-save">
|
||||
<button name="session" value="{{ session_id() }}" class="inputStyling">Save</button>
|
||||
<button type="reset" class="inputStyling">Reset</button>
|
||||
<button name="session" value="{{ session_id() }}" class="input__button">Save</button>
|
||||
<button type="reset" class="input__button">Reset</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<form method="post" action="{{ route('settings.account.ranks') }}" class="friend-container {% if rank.id == user.mainRankId %}active{% endif %}">
|
||||
<input type="hidden" name="session" value="{{ session_id() }}">
|
||||
<input type="hidden" name="rank" value="{{ rank.id }}">
|
||||
<button class="friends-list-data clean" name="mode" value="main">
|
||||
<button class="friends-list-data" name="mode" value="main">
|
||||
<div class="friends-list-name" style="color: {{ rank.colour }};">{{ rank.name }}</div>
|
||||
</button>
|
||||
<div class="friends-list-actions">
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
{% block settingsContent %}
|
||||
<div class="bbcode" id="settingsPreview" style="max-height: 500px; overflow-y: auto; background: #C2AEEE; box-shadow: inset 0 0 1em 1em #D3BFFF;">{{ user.signature()|raw|nl2br }}</div>
|
||||
<hr class="default">
|
||||
<hr>
|
||||
<form enctype="multipart/form-data" method="post" action="{{ route('settings.account.signature') }}">
|
||||
<div><textarea name="signature" id="settingsEditor" class="inputStyling" style="width: calc(100% - 12px); height: 400px;">{{ user.signature }}</textarea></div>
|
||||
<div><textarea name="signature" id="settingsEditor" class="input__text" style="height: 400px;">{{ user.signature }}</textarea></div>
|
||||
<div class="profile-save">
|
||||
<button value="{{ session_id() }}" name="session" class="inputStyling">Save</button>
|
||||
<button type="reset" class="inputStyling">Reset</button>
|
||||
<button type="button" class="inputStyling" onclick="settingsPreview();">Preview</button>
|
||||
<button value="{{ session_id() }}" name="session" class="input__button">Save</button>
|
||||
<button type="reset" class="input__button">Reset</button>
|
||||
<button type="button" class="input__button" onclick="settingsPreview();">Preview</button>
|
||||
</div>
|
||||
</form>
|
||||
{% include 'settings/account/_preview.twig' %}
|
||||
|
|
|
@ -8,13 +8,13 @@
|
|||
|
||||
{% block settingsContent %}
|
||||
<div class="bbcode" id="settingsPreview" style="max-height: 500px; overflow-y: auto; background: #C2AEEE; box-shadow: inset 0 0 1em 1em #D3BFFF;">{{ user.userPage()|raw|nl2br }}</div>
|
||||
<hr class="default">
|
||||
<hr>
|
||||
<form enctype="multipart/form-data" method="post" action="{{ route('settings.account.userpage') }}">
|
||||
<div><textarea name="userpage" id="settingsEditor" class="inputStyling" style="width: calc(100% - 12px); height: 400px;">{% if user.page %}{{ user.page }}{% else %}[header]Welcome to my userpage![/header]{% endif %}</textarea></div>
|
||||
<div><textarea name="userpage" id="settingsEditor" class="input__text" style="height: 400px;">{% if user.page %}{{ user.page }}{% else %}[header]Welcome to my userpage![/header]{% endif %}</textarea></div>
|
||||
<div class="profile-save">
|
||||
<button value="{{ session_id() }}" name="session" class="inputStyling">Save</button>
|
||||
<button type="reset" class="inputStyling">Reset</button>
|
||||
<button type="button" class="inputStyling" onclick="settingsPreview();">Preview</button>
|
||||
<button value="{{ session_id() }}" name="session" class="input__button">Save</button>
|
||||
<button type="reset" class="input__button">Reset</button>
|
||||
<button type="button" class="input__button" onclick="settingsPreview();">Preview</button>
|
||||
</div>
|
||||
</form>
|
||||
{% include 'settings/account/_preview.twig' %}
|
||||
|
|
|
@ -13,10 +13,10 @@
|
|||
<form enctype="multipart/form-data" method="post" action="{{ route('settings.advanced.deactivate') }}">
|
||||
<div class="profile-field">
|
||||
<div><h2>Enter your password to continue</h2></div>
|
||||
<div><input type="password" name="password" class="inputStyling"></div>
|
||||
<div><input type="password" name="password" class="input__text"></div>
|
||||
</div>
|
||||
<div class="profile-save">
|
||||
<button style="background: repeating-linear-gradient(-45deg, #B33, #B33 10px, #B00 10px, #B00 20px); color: #FFF; border: 1px solid #C00; box-shadow: 0 0 3px #C00, inset 0 0 3px #C00;" name="session" value="{{ session_id() }}" class="inputStyling">I understand, deactivate my account</button>
|
||||
<button style="background: repeating-linear-gradient(-45deg, #B33, #B33 10px, #B00 10px, #B00 20px); color: #FFF; border: 1px solid #C00; box-shadow: 0 0 3px #C00, inset 0 0 3px #C00;" name="session" value="{{ session_id() }}" class="input__button">I understand, deactivate my account</button>
|
||||
</div>
|
||||
</form>
|
||||
{% endblock %}
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
<td style="width: 90px;">
|
||||
<form method="post" action="{{ route('settings.advanced.sessions') }}">
|
||||
<input type="hidden" name="id" value="{{ usession.id }}">
|
||||
<button class="inputStyling small" name="session" value="{{ session_id() }}">Kill</button>
|
||||
<button class="input__button" name="session" value="{{ session_id() }}">Kill</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -44,7 +44,7 @@
|
|||
<div class="profile-save">
|
||||
<form method="post" action="{{ route('settings.advanced.sessions') }}">
|
||||
<input type="hidden" name="all" value="1">
|
||||
<button class="inputStyling" name="session" value="{{ session_id() }}">Kill all active sessions</button>
|
||||
<button class="input__button" name="session" value="{{ session_id() }}">Kill all active sessions</button>
|
||||
</form>
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
<div class="friends-list">
|
||||
{% for friend in friends[get.page|default(1) - 1] %}
|
||||
<div class="friend-container" id="friendslist-friend-{{ friend.id }}">
|
||||
<a class="friends-list-data clean" href="{{ route('user.profile', friend.id) }}">
|
||||
<img src="{{ route('user.avatar', friend.id) }}" alt="{{ friend.username }}" class="friends-list-avatar default-avatar-setting" style="width: 150px; height: 150px;">
|
||||
<a class="friends-list-data" href="{{ route('user.profile', friend.id) }}">
|
||||
<img src="{{ route('user.avatar', friend.id) }}" alt="{{ friend.username }}" class="friends-list-avatar avatar avatar--border" style="width: 150px; height: 150px;">
|
||||
<div class="friends-list-name" style="color: {{ friend.colour }};">{{ friend.username }}</div>
|
||||
</a>
|
||||
<div class="friends-list-actions">
|
||||
|
|
|
@ -16,8 +16,8 @@
|
|||
<div class="friends-list">
|
||||
{% for friend in friends[get.page|default(1) - 1] %}
|
||||
<div class="friend-container" id="friend-{{ friend.id }}">
|
||||
<a class="friends-list-data clean" href="{{ route('user.profile', friend.id) }}">
|
||||
<img src="{{ route('user.avatar', friend.id) }}" alt="{{ friend.username }}" class="friends-list-avatar default-avatar-setting" style="width: 150px; height: 150px;">
|
||||
<a class="friends-list-data" href="{{ route('user.profile', friend.id) }}">
|
||||
<img src="{{ route('user.avatar', friend.id) }}" alt="{{ friend.username }}" class="friends-list-avatar avatar avatar--border" style="width: 150px; height: 150px;">
|
||||
<div class="friends-list-name" style="color: {{ friend.colour }};">{{ friend.username }}</div>
|
||||
</a>
|
||||
<div class="friends-list-actions">
|
||||
|
|
|
@ -47,22 +47,22 @@
|
|||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="content settings messages">
|
||||
<div class="content__left">
|
||||
<div class="head">
|
||||
<div class="content settings">
|
||||
<div class="content--right">
|
||||
<div class="content__header content__header--alt">
|
||||
Navigation
|
||||
</div>
|
||||
<div class="right-menu-nav">
|
||||
{% for name,links in navigation %}
|
||||
{% for name, links in navigation %}
|
||||
<div>{{ name }}</div>
|
||||
{% for name,link in links %}
|
||||
{% for name, link in links %}
|
||||
<a href="{{ link }}">{{ name }}</a>
|
||||
{% endfor %}
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="content__left">
|
||||
<div class="head">{{ title }}</div>
|
||||
<div class="content--left">
|
||||
<div class="content__header">{{ title }}</div>
|
||||
<div class="settings-explanation">{{ block('description') }}</div>
|
||||
{{ block('settingsContent') }}
|
||||
</div>
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
{% if alerts %}
|
||||
<div class="notification-history">
|
||||
{% for alert in alerts[get.page|default(1) - 1] %}
|
||||
<a id="notif-hist-{{ alert.id }}" class="clean {% if alert.read %}read{% endif %}"{% if alert.link %} href="{{ alert.link }}"{% endif %}>
|
||||
<a id="notif-hist-{{ alert.id }}" class="{% if alert.read %}read{% endif %}"{% if alert.link %} href="{{ alert.link }}"{% endif %}>
|
||||
<div class="notif-hist-icon">
|
||||
{% if 'FONT:' in alert.image %}
|
||||
<div class="font-icon fa {{ alert.image|replace({'FONT:': ''}) }} fa-4x"></div>
|
||||
|
|
|
@ -4,14 +4,8 @@
|
|||
{% set sort = get is defined and get.sort is defined and get.sort in sorts ? get.sort : sorts[0] %}
|
||||
|
||||
{% set notfound = rank == 0 %}
|
||||
|
||||
{% set rankTitle %}
|
||||
{% if notfound %}Not found{% else %}{{ ranks[rank].name(true) }}{% endif %}
|
||||
{% endset %}
|
||||
|
||||
{% set rankDescription %}
|
||||
{% if notfound %}The requested rank could not be found!{% else %}{{ ranks[rank].description }}{% endif %}
|
||||
{% endset %}
|
||||
{% set title = notfound ? 'Not found' : ranks[rank].name(true) %}
|
||||
{% set description = notfound ? 'The requested rank could not be found!' : ranks[rank].description %}
|
||||
|
||||
{% set users = ranks[rank].users|batch(30) %}
|
||||
|
||||
|
@ -20,17 +14,15 @@
|
|||
{% set paginationPages = users %}
|
||||
{% set paginationUrl %}{% if rank %}{{ route('members.rank', rank) }}{% else %}{{ route('members.index') }}{% endif %}{% endset %}
|
||||
|
||||
{% set title = rankTitle %}
|
||||
|
||||
{% block content %}
|
||||
<div class="headerNotify" style="margin-bottom: 1px;">
|
||||
<h1 style="{% if rank %}text-shadow: 0 0 5px {{ ranks[rank].colour }}; color: {{ ranks[rank].colour }};{% else %}text-shadow: 0 0 5px #555;{% endif %}">{{ rankTitle }}</h1>
|
||||
<h3>{{ rankDescription }}</h3>
|
||||
<div class="announce-box" style="margin-bottom: 1px;">
|
||||
<h1 style="{% if rank %}text-shadow: 0 0 5px {{ ranks[rank].colour }}; color: {{ ranks[rank].colour }};{% else %}text-shadow: 0 0 5px #555;{% endif %}">{{ title }}</h1>
|
||||
<h3>{{ description }}</h3>
|
||||
</div>
|
||||
<div class="membersPage" style="min-height: 500px;">
|
||||
<div class="members" style="min-height: 500px;">
|
||||
<div style="display: inline-block; margin: 0 auto; font-size: 1.5em; line-height: 1.5em; height: 30px;">
|
||||
<div class="dropdown" style="float: left; color: #FFF;">
|
||||
<a class="dropdown__title">Rank:</a>
|
||||
<span class="dropdown__title">Rank:</span>
|
||||
{% for r in ranks %}
|
||||
{% if not r.hidden or (r.hidden and rank == r.id) %}
|
||||
<a class="dropdown__option{% if rank == r.id %} dropdown__option--selected{% endif %}" href="{{ route('members.rank', r.id) }}{{ server['QUERY_STRING'] is defined ? '?' : '' }}{{ server['QUERY_STRING']|default('') }}" style="color: {{ r.colour }};">{{ r.id == 0 ? 'Not found' : r.name(true) }}</a>
|
||||
|
@ -38,73 +30,67 @@
|
|||
{% endfor %}
|
||||
</div>
|
||||
<div class="dropdown" style="float: left;">
|
||||
<a class="dropdown__title">View:</a>
|
||||
<span class="dropdown__title">View:</span>
|
||||
{% for s in sorts %}
|
||||
<a class="dropdown__option {% if s == sort %} dropdown__option--selected{% endif %}" href="?{{ server['QUERY_STRING']|default('') }}{{ server['QUERY_STRING']|default('') ? '&' : '' }}sort={{ s }}">{{ s|capitalize }}</a>
|
||||
{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
{% if not users|length %}
|
||||
{% if users|length < 1 %}
|
||||
<h1 style="margin: 2em 0;">This rank has no members!</h1>
|
||||
{% elseif not notfound %}
|
||||
<div class="membersPageList {{ sort }}">
|
||||
<div class="members__list members__list--{{ sort }}">
|
||||
{% if sort == sorts[2] %}
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>No.</th>
|
||||
<th>Username</th>
|
||||
<th>Registered</th>
|
||||
<th>Last online</th>
|
||||
<th>User title</th>
|
||||
<th>Country</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tfoot>
|
||||
<tr>
|
||||
<th>No.</th>
|
||||
<th>Username</th>
|
||||
<th>Registered</th>
|
||||
<th>Last online</th>
|
||||
<th>User title</th>
|
||||
<th>Country</th>
|
||||
</tr>
|
||||
</tfoot>
|
||||
{% for count,user in users[currPage] %}
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>
|
||||
#{{ rank ? count + 1 : count }}
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ route('user.profile', user.id) }}" class="default" style="font-weight: bold; color: {{ user.colour }}; text-shadow: 0 0 5px {{ user.colour }};">{{ user.username }}</a>
|
||||
</td>
|
||||
<td>
|
||||
<time class="time-ago" datetime="{{ user.registered|date('r') }}">{{ user.registered|date(config('general.date_format')) }}</time>
|
||||
</td>
|
||||
<td>
|
||||
{% if user.lastOnline == 0 %}<i>Never logged in.</i>{% else %}<time class="time-ago" datetime="{{ user.lastOnline|date('r') }}">{{ user.lastOnline|date(config('general.date_format')) }}</time>{% endif %}
|
||||
</td>
|
||||
<td>
|
||||
{{ user.title }}
|
||||
</td>
|
||||
<td>
|
||||
<img src="/images/flags/{{ user.country|lower }}.png" alt="{% if user.country|lower == 'xx' %}?{% else %}{{ user.country(true) }}{% endif %}" title="{% if user.country|lower == 'xx' %}Unknown{% else %}{{ user.country(true) }}{% endif %}">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
{% endfor %}
|
||||
</table>
|
||||
<table class="members__table">
|
||||
{% for elem in ['thead', 'tfoot'] %}
|
||||
<{{ elem }}>
|
||||
<tr>
|
||||
<th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">No.</th>
|
||||
<th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">Username</th>
|
||||
<th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">Registered</th>
|
||||
<th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">Last online</th>
|
||||
<th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">User title</th>
|
||||
<th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">Country</th>
|
||||
</tr>
|
||||
</{{ elem }}>
|
||||
{% endfor %}
|
||||
{% for count, user in users[currPage] %}
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="members__table-column">
|
||||
#{{ count }}
|
||||
</td>
|
||||
<td class="members__table-column">
|
||||
<a href="{{ route('user.profile', user.id) }}" style="font-weight: bold; color: {{ user.colour }}; text-shadow: 0 0 5px {{ user.colour }};">{{ user.username }}</a>
|
||||
</td>
|
||||
<td class="members__table-column">
|
||||
<time class="time-ago" datetime="{{ user.registered|date('r') }}">{{ user.registered|date(config('general.date_format')) }}</time>
|
||||
</td>
|
||||
<td class="members__table-column">
|
||||
{% if user.lastOnline == 0 %}<i>Never logged in.</i>{% else %}<time class="time-ago" datetime="{{ user.lastOnline|date('r') }}">{{ user.lastOnline|date(config('general.date_format')) }}</time>{% endif %}
|
||||
</td>
|
||||
<td class="members__table-column">
|
||||
{{ user.title }}
|
||||
</td>
|
||||
<td class="members__table-column">
|
||||
<img src="/images/flags/{{ user.country|lower }}.png" alt="{% if user.country|lower == 'xx' %}?{% else %}{{ user.country(true) }}{% endif %}" title="{% if user.country|lower == 'xx' %}Unknown{% else %}{{ user.country(true) }}{% endif %}">
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
{% endfor %}
|
||||
</table>
|
||||
{% else %}
|
||||
{% for user in users[currPage] %}
|
||||
<a href="{{ route('user.profile', user.id) }}">{# These comment tags are here to prevent the link extending too far
|
||||
#}<div class="userBox" id="u{{ user.id }}">{#
|
||||
#}<img src="/images/pixel.png" alt="{{ user.username }}" style="background: url('{{ route('user.avatar', user.id) }}') no-repeat center / contain;">{#
|
||||
#}<span class="userBoxUserName" style="color: {{ user.colour }};">{#
|
||||
#}{{ user.username }}{#
|
||||
#}</span>{#
|
||||
#}</div>{#
|
||||
#}</a>
|
||||
{% spaceless %}
|
||||
<a href="{{ route('user.profile', user.id) }}">
|
||||
<div class="members__box" id="u{{ user.id }}">
|
||||
<div class="avatar members__box-avatar" style="background-image: url('{{ route('user.avatar', user.id) }}')"></div>
|
||||
<span class="members__box-text" style="color: {{ user.colour }};">
|
||||
{{ user.username }}
|
||||
</span>
|
||||
</div>
|
||||
</a>
|
||||
{% endspaceless %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
|
|
@ -184,76 +184,83 @@
|
|||
</div>
|
||||
</div>
|
||||
{% else %}
|
||||
<div class="content new-profile">
|
||||
<div class="new-profile-container">
|
||||
<div class="new-profile-header" style="background-image: url({{ route('user.header', profile.id) }});">
|
||||
<div class="content profile">
|
||||
<div class="profile__container">
|
||||
<div class="profile__header" style="background-image: url({{ route('user.header', profile.id) }});">
|
||||
<label class="uploader__label">
|
||||
<input type="file" data-target="{{ route('user.header', user.id) }}" class="uploader" onchange="handleImageChange(this, this.parentElement.parentElement)">
|
||||
</label>
|
||||
<div class="new-profile-info">
|
||||
<div class="default-avatar-setting new-profile-avatar" style="background-image: url({{ route('user.avatar', profile.id) }}); box-shadow: 0 0 5px #{% if profile.isOnline %}484{% else %}844{% endif %};">
|
||||
<div class="profile__info">
|
||||
<div class="avatar avatar--border profile__avatar" style="background-image: url({{ route('user.avatar', profile.id) }}); box-shadow: 0 0 5px #{% if profile.isOnline %}484{% else %}844{% endif %};">
|
||||
<label class="uploader__label">
|
||||
<input type="file" data-target="{{ route('user.avatar', user.id) }}" class="uploader" onchange="handleImageChange(this, this.parentElement.parentElement)">
|
||||
</label>
|
||||
</div>
|
||||
<div class="new-profile-username">
|
||||
<div class="profile__username">
|
||||
<h1 style="color: {{ profile.colour }}; text-shadow: 0 0 7px {% if profile.colour != 'inherit' %}{{ profile.colour }}{% else %}#222{% endif %}; padding: 0 0 2px;" {% if profile.getUsernameHistory %} title="Known as {{ profile.getUsernameHistory[0].username_old }} before {{ profile.getUsernameHistory[0].change_time|date(config('general.date_format')) }}." {% endif %}>{{ profile.username }}</h1>
|
||||
{% if profile.isPremium %}<img src="/images/tenshi.png" alt="Tenshi" style="vertical-align: middle;"> {% endif %}<img src="/images/flags/{{ profile.country|lower }}.png" alt="{{ profile.country }}" style="vertical-align: middle;" title="{{ profile.country(true) }}"> <span style="font-size: .8em;">{{ profile.title }}</span>
|
||||
</div>
|
||||
<div class="new-profile-dates">
|
||||
<b>Joined</b> <time class="time-ago" datetime="{{ profile.registered|date('r') }}">{{ profile.registered|date(config('general.date_format')) }}</time>
|
||||
<br>
|
||||
{% if profile.lastOnline < 1 %}
|
||||
<b>{{ profile.username }} hasn't logged in yet.</b>
|
||||
{% else %}
|
||||
<b>Last online</b> <time class="time-ago" datetime="{{ profile.lastOnline|date('r') }}">{{ profile.lastOnline|date(config('general.date_format')) }}</time>
|
||||
{% endif %}
|
||||
<div class="profile__dates">
|
||||
{% spaceless %}
|
||||
<div class="profile__date">
|
||||
<b>Joined</b> <time class="time-ago" datetime="{{ profile.registered|date('r') }}">{{ profile.registered|date(config('general.date_format')) }}</time>
|
||||
</div>
|
||||
<div class="profile__date">
|
||||
{% if profile.lastOnline < 1 %}
|
||||
<b>{{ profile.username }} hasn't logged in yet.</b>
|
||||
{% else %}
|
||||
<b>Last online</b> <time class="time-ago" datetime="{{ profile.lastOnline|date('r') }}">{{ profile.lastOnline|date(config('general.date_format')) }}</time>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if profile.birthday != '0000-00-00' and profile.birthday|split('-')[0] > 0 %}
|
||||
<br><b>Age</b> <span title="{{ profile.birthday }}">{{ profile.birthday(true) }} years old</span>
|
||||
<div class="profile__date">
|
||||
<b>Age</b> <span title="{{ profile.birthday }}">{{ profile.birthday(true) }} years old</span>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% endspaceless %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="new-profile-interactions">
|
||||
<div class="new-profile-navigation">
|
||||
<div class="profile__interactions">
|
||||
<div class="profile__navigation">
|
||||
{% if not noUserpage %}
|
||||
<a class="fa fa-file-text-o" title="View {{ profile.username }}'s user page" href="#_userpage" onclick="profileMode('userpage');"></a>
|
||||
<a class="profile__interactions-item fa fa-file-text-o" title="View {{ profile.username }}'s user page" href="#_userpage" onclick="profileMode('userpage');"></a>
|
||||
{% endif %}
|
||||
<a class="fa fa-list" title="View {{ profile.username }}'s topics" href="#_topics" onclick="profileMode('topics');"></a>
|
||||
<a class="fa fa-reply" title="View {{ profile.username }}'s posts" href="#_posts" onclick="profileMode('posts');"></a>
|
||||
<a class="fa fa-star" title="View {{ profile.username }}'s friends" href="#_friends" onclick="profileMode('friends');"></a>
|
||||
<a class="fa fa-comments-o" title="View {{ profile.username }}'s profile comments" href="#_comments" onclick="profileMode('comments');"></a>
|
||||
<a class="profile__interactions-item fa fa-list" title="View {{ profile.username }}'s topics" href="#_topics" onclick="profileMode('topics');"></a>
|
||||
<a class="profile__interactions-item fa fa-reply" title="View {{ profile.username }}'s posts" href="#_posts" onclick="profileMode('posts');"></a>
|
||||
<a class="profile__interactions-item fa fa-star" title="View {{ profile.username }}'s friends" href="#_friends" onclick="profileMode('friends');"></a>
|
||||
<a class="profile__interactions-item fa fa-comments-o" title="View {{ profile.username }}'s profile comments" href="#_comments" onclick="profileMode('comments');"></a>
|
||||
{% if (profile.isActive and profile.id == user.id) or user.perms.manageProfileImages %}
|
||||
<a class="fa fa-picture-o" title="Edit your avatar, background and header" href="#_images" onclick="profileMode('images');"></a>
|
||||
<a class="profile__interactions-item fa fa-picture-o" title="Edit your avatar, background and header" href="#_images" onclick="profileMode('images');"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% if user.isActive %}
|
||||
<div class="new-profile-actions">
|
||||
<div class="profile__actions">
|
||||
{% if user.id == profile.id %}
|
||||
<a class="fa fa-pencil-square-o" title="Edit your profile" href="{{ route('settings.account.profile') }}"></a>
|
||||
<a class="profile__interactions-item fa fa-pencil-square-o" title="Edit your profile" href="{{ route('settings.account.profile') }}"></a>
|
||||
{% else %}
|
||||
{% if user.isFriends(profile.id) != 0 %}<a class="fa fa-{% if user.isFriends(profile.id) == 2 %}heart{% else %}star{% endif %}" title="You are friends"></a>{% endif %}
|
||||
<a class="fa fa-user-{% if user.isFriends(profile.id) == 0 %}plus{% else %}times{% endif %}" title="{% if user.isFriends(profile.id) == 0 %}Add {{ profile.username }} as a friend{% else %}Remove friend{% endif %}" href="javascript:void(0);" onclick="Sakura.Friend.{% if user.isFriends(profile.id) == 0 %}Add({{ profile.id }}){% else %}Remove({{ profile.id }}){% endif %}"></a>
|
||||
<a class="fa fa-exclamation-circle" title="Report {{ profile.username }}" href="{{ route('user.report', profile.id) }}"></a>
|
||||
<a class="profile__interactions-item fa fa-user-{% if user.isFriends(profile.id) == 0 %}plus{% else %}times{% endif %}" title="{% if user.isFriends(profile.id) == 0 %}Add {{ profile.username }} as a friend{% else %}Remove friend{% endif %}" href="javascript:void(0);" onclick="Sakura.Friend.{% if user.isFriends(profile.id) == 0 %}Add({{ profile.id }}){% else %}Remove({{ profile.id }}){% endif %}"></a>
|
||||
<a class="profile__interactions-item fa fa-exclamation-circle" title="Report {{ profile.username }}" href="{{ route('user.report', profile.id) }}"></a>
|
||||
{% endif %}
|
||||
{% if user.perms.canRestrict %}
|
||||
<a class="fa fa-trash" title="Restrict {{ profile.username }}" href="?restrict={{ session_id() }}"></a>
|
||||
<a class="profile__interactions-item fa fa-trash" title="Restrict {{ profile.username }}" href="?restrict={{ session_id() }}"></a>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="new-profile-content">
|
||||
<div class="new-profile-mode">
|
||||
<div class="profile__content">
|
||||
<div class="profile__mode">
|
||||
{% if profile.lastfm %}
|
||||
<div class="np">
|
||||
<div class="profile__now-playing">
|
||||
<div class="np-icon">
|
||||
<span class="fa fa-music"></span>
|
||||
</div>
|
||||
<div class="np-text">
|
||||
<span class="fa fa-ellipsis-h" id="np-state"></span>
|
||||
<a href="#" id="np-track"></a>
|
||||
<a href="#" id="np-track" class="profile__now-playing-link"></a>
|
||||
<span id="np-by" class="hidden">by</span>
|
||||
<a href="#" id="np-artist"></a>
|
||||
<a href="#" id="np-artist" class="profile__now-playing-link"></a>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
@ -280,7 +287,7 @@
|
|||
{% include 'profile/images.twig' %}
|
||||
</div>
|
||||
</div>
|
||||
<div class="new-profile-data">
|
||||
<div class="profile__data">
|
||||
<table style="width: 100%;">
|
||||
<tr>
|
||||
<td style="text-align: left; font-weight: bold;">Topics</td>
|
||||
|
@ -295,7 +302,7 @@
|
|||
<td style="text-align: right;">{{ profile.friends(2)|length }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<hr class="default">
|
||||
<hr>
|
||||
{% if user.isActive %}
|
||||
{# if user.perms.viewUserLinks or user.perms.viewUserDetails #}
|
||||
<table style="width: 100%;">
|
||||
|
@ -307,7 +314,7 @@
|
|||
</td>
|
||||
<td style="text-align: right;">
|
||||
{% if data.link is defined %}
|
||||
<a href="{{ data.link|format(data.value) }}" class="default">{{ (data.disp is defined ? data.disp : '%s')|format(data.value) }}</a>
|
||||
<a href="{{ data.link|format(data.value) }}">{{ (data.disp is defined ? data.disp : '%s')|format(data.value) }}</a>
|
||||
{% else %}
|
||||
{{ (data.disp is defined ? data.disp : '%s')|format(data.value) }}
|
||||
{% endif %}
|
||||
|
|
Reference in a new issue