more css updates

This commit is contained in:
flash 2016-11-09 19:32:23 +01:00
parent 9c3a5ebfc9
commit 48a34095e1
65 changed files with 1262 additions and 1629 deletions

View file

@ -1,7 +1,6 @@
* { * {
margin: 0; margin: 0;
padding: 0; padding: 0;
box-sizing: border-box;
position: relative; position: relative;
} }
@ -34,6 +33,19 @@ h1 {
color: #614390; color: #614390;
} }
a {
color: #22E;
text-decoration: none;
&:hover {
text-decoration: underline;
}
&:active {
color: #E22;
}
}
hr { hr {
border: 0; border: 0;
height: 1px; height: 1px;
@ -59,3 +71,53 @@ img {
display: none !important; display: none !important;
visibility: hidden !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%;
}
}

View file

@ -1,6 +1,3 @@
/*
* Notification styling
*/
.alerts { .alerts {
position: fixed; position: fixed;
bottom: 5px; bottom: 5px;

View 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;
}
}

View 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;
}
}

View 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;
}
}

View 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;
}
}

View file

@ -1,11 +1,12 @@
.container { .container {
min-height: 100%; min-height: 100%;
width: 100%; width: 100%;
background: no-repeat center center / cover fixed transparent;
&__content { &__content {
padding-bottom: 220px; padding-bottom: 220px;
@media (min-width: 1024px) { @media (max-width: 1064px) {
padding: 0; padding: 0;
} }
} }

View file

@ -1,22 +1,58 @@
.content { .content {
margin: 10px auto; margin: 10px auto;
padding: 2px 3px; padding: 2px 3px;
width: 1024px; max-width: 1024px;
border: 1px solid #9475B2; border: 1px solid #9475B2;
box-shadow: 0 0 3px #9475B2; box-shadow: 0 0 3px #9475B2;
border-radius: 3px; border-radius: 3px;
background: #D3BFFF; 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; float: left;
width: 688px; width: 688px;
} }
&__right { &--right {
float: right; float: right;
width: 334px; width: 334px;
} }
@media (max-width: 1064px) {
&--left,
&--right {
width: 100%;
}
&--left {
border-top: 1px solid #9475B2;
}
}
&--alt { &--alt {
background: #C2AEEE; background: #C2AEEE;
margin: 5px 10px; margin: 5px 10px;

View file

@ -14,7 +14,7 @@
padding: 0 1px 0 4px; padding: 0 1px 0 4px;
display: none; display: none;
color: #FFF; color: #FFF;
text-decoration: none; text-decoration: none !important;
clear: both; clear: both;
transition: background .2s; transition: background .2s;
@ -24,6 +24,7 @@
&:active { &:active {
background: fade(#151515, 70%); background: fade(#151515, 70%);
color: inherit;
} }
&--selected { &--selected {
@ -49,7 +50,7 @@
} }
} }
@media (max-width: 1024px) { @media (max-width: 1064px) {
float: none !important; float: none !important;
margin-bottom: 5px; margin-bottom: 5px;
text-align: center; text-align: center;

View file

@ -47,9 +47,13 @@
&:hover { &:hover {
text-decoration: underline; text-decoration: underline;
} }
&:active {
color: inherit;
}
} }
@media (max-width: 1024px) { @media (max-width: 1064px) {
position: inherit; position: inherit;
} }
} }

View 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;
}
}
}

View file

@ -8,9 +8,9 @@
height: auto; height: auto;
width: auto; width: auto;
display: inline-block; display: inline-block;
text-decoration: none;
font: 100 70px/80px "Open Sans", sans-serif; font: 100 70px/80px "Open Sans", sans-serif;
color: #B06AC4; color: #B06AC4;
text-decoration: none !important;
transition: color .2s, text-shadow .2s; transition: color .2s, text-shadow .2s;
&:hover { &:hover {
@ -53,7 +53,6 @@
margin: 0 7px -2px 6px; margin: 0 7px -2px 6px;
display: inline-block; display: inline-block;
border-bottom: 2px solid #8364A1; border-bottom: 2px solid #8364A1;
text-decoration: none;
text-align: center; text-align: center;
transition: background .3s, border-color .3s; transition: background .3s, border-color .3s;
height: 30px; height: 30px;
@ -62,6 +61,7 @@
vertical-align: middle; vertical-align: middle;
font-size: 1.6em; font-size: 1.6em;
color: #75569B; color: #75569B;
text-decoration: none !important;
background: linear-gradient(180deg, transparent 0%, transparent 50%, #8364A1 100%); background: linear-gradient(180deg, transparent 0%, transparent 50%, #8364A1 100%);
background-size: 100% 200%; background-size: 100% 200%;
@ -70,24 +70,24 @@
} }
&:active { &:active {
color: #75569B;
background-position: 0 100%; background-position: 0 100%;
} }
&--avatar { &--avatar {
padding-left: 30px; 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 { .header__menu {
border: 0; border: 0;
padding: 10px 0 5px; padding: 10px 0 5px;
margin: 0 auto; margin: 0 auto;
width: auto; width: auto;
text-align: center;
&-item { &-item {
border: 0; border: 0;
@ -103,7 +103,7 @@
&:active { &:active {
background: #75569B; background: #75569B;
color: #9575B2; color: #9475B2;
} }
&--avatar { &--avatar {

View 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;
}
}

View file

@ -0,0 +1,6 @@
.link {
&--clean {
color: inherit !important;
text-decoration: none !important;
}
}

View 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;
}
}
}
}

View 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;
}
}
}

View 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;
}
}
}

View 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

View file

@ -1,7 +1,15 @@
/*
* Yuuno Stylesheet
* By Flashwave <https://flash.moe> (2014-2016)
*/
@import "base"; @import "base";
@import "legacy";
@import "bem/alert"; @import "bem/alert";
@import "bem/announce-box";
@import "bem/auth";
@import "bem/avatar";
@import "bem/banned";
@import "bem/bbcode"; @import "bem/bbcode";
@import "bem/busy"; @import "bem/busy";
@import "bem/container"; @import "bem/container";
@ -10,4 +18,13 @@
@import "bem/dropdown"; @import "bem/dropdown";
@import "bem/footer"; @import "bem/footer";
@import "bem/header"; @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/uploader";
@import "bem/user";
@import "legacy";

View file

@ -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;
}
}
}

View file

@ -22,7 +22,7 @@ namespace Sakura
this.Element.style.borderSpacing = '0 1px'; 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'); link: HTMLLinkElement = <HTMLLinkElement>DOM.Create('a', 'underline');
title.style.marginBottom = '1px'; title.style.marginBottom = '1px';
@ -30,6 +30,7 @@ namespace Sakura
link.innerText = 'Changelog'; link.innerText = 'Changelog';
link.href = Config.ChangelogUrl; link.href = Config.ChangelogUrl;
link.target = '_blank'; link.target = '_blank';
link.style.color = 'inherit';
DOM.Append(title, link); DOM.Append(title, link);
DOM.Append(target, title); DOM.Append(target, title);

View file

@ -3,37 +3,34 @@
{% set title = 'Login' %} {% set title = 'Login' %}
{% block content %} {% block content %}
<div class="loginPage"> <div class="auth content content--auth">
<div class="loginForm"> <div class="content__header">
<div class="head"> Login
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> </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> </div>
{% endblock %} {% endblock %}

View file

@ -3,16 +3,14 @@
{% set title = 'Logout' %} {% set title = 'Logout' %}
{% block content %} {% block content %}
<div class="loginPage"> <div class="auth content content--auth">
<div class="loginForm"> <div class="content__header">
<div class="head"> Are you sure?
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> </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> </div>
{% endblock %} {% endblock %}

View file

@ -3,29 +3,22 @@
{% set title = 'Reactivate account' %} {% set title = 'Reactivate account' %}
{% block content %} {% block content %}
<div class="loginPage"> <div class="auth content content--auth">
<div class="resendForm"> <div class="content__header">
<div class="head"> Reactivate account
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> </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> </div>
{% endblock %} {% endblock %}

View file

@ -3,62 +3,36 @@
{% set title = 'Register' %} {% set title = 'Register' %}
{% block content %} {% block content %}
<div class="auth content content--auth">
{% if config('user.disable_registration') %} {% if config('user.disable_registration') %}
<div class="loginPage"> <div class="fa fa-remove fa-5x" style="display: block; margin: 10px 0 0;"></div>
<div class="registerForm" id="registerWarn" style="display: block;"> <h1>Registration is disabled.</h1>
<div class="centreAlign"> <p>Please try again later.</p>
<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>
{% else %} {% else %}
<div class="loginPage"> <div class="content__header">
<div class="registerForm"> Register
<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> </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 %} {% endif %}
</div>
{% endblock %} {% endblock %}

View file

@ -3,46 +3,38 @@
{% set title = 'Reset Password' %} {% set title = 'Reset Password' %}
{% block content %} {% block content %}
<div class="loginPage"> <div class="auth content content--auth">
<div class="passwordForm"> <div class="content__header">
<div class="head"> Reset Password
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> </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> </div>
{% endblock %} {% endblock %}

View file

@ -1,18 +1,18 @@
<li id="comment-{{ comment.id }}"> <li id="comment-{{ comment.id }}">
<div class="comment"> <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-pointer"></div>
<div class="comment-content"> <div class="comment-content">
<div class="comment-controls"> <div class="comment-controls">
<ul> <ul>
{% if comment.userData.id == user.id %} {% 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 %} {% 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 %} {% 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><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);" class="clean"><span class="fa fa-thumbs-up"></span> <span id="comment-{{ comment.id }}-likes">{{ comment.upvotes }}</span></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);" class="clean"><span class="fa fa-thumbs-down"></span> <span id="comment-{{ comment.id }}-dislikes">{{ comment.downvotes }}</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> </ul>
<div class="clear"></div> <div class="clear"></div>
</div> </div>

View file

@ -1,26 +1,26 @@
<div id="indexPanel"> <div id="indexPanel">
{% if user.isActive %} {% if user.isActive %}
<div class="user-container" style="background-image: url({{ route('user.header', user.id) }});"> <div class="user" 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="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-container-info"> <div class="user__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> <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 %} {% set friendRequests = user.friends(-1, true)|length %}
{% if friendRequests %} {% 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 %} {% endif %}
</div> </div>
</div> </div>
{% endif %} {% 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>, 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>. 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 %} {% if stats.onlineUsers %}
All active users in the past 2 minutes All active users in the past 2 minutes
<table class="panelTable"> <table class="panelTable">
{% for amount,onlineUser in stats.onlineUsers %} {% 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 %} {% endfor %}
</table> </table>
{% else %} {% else %}

View file

@ -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 %} {% 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"> <div class="news__body">
<a class="no-underline" href="{{ route('user.profile', post.userData.id) }}"> <a class="news__poster" href="{{ route('user.profile', post.userData.id) }}">
<div class="news-poster"> <div class="avatar avatar--border news__avatar" style="background-image: url('{{ route('user.avatar', post.userData.id) }}')"></div>
<img src="{{ route('user.avatar', post.userData.id) }}" alt="{{ post.userData.username }}" class="default-avatar-setting"> <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 %}">
<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> {{ post.userData.username }}
</div> </div>
</a> </a>
<div class="bbcode"> <div class="bbcode">
@ -11,7 +11,7 @@
</div> </div>
</div> </div>
<div class="clear"></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> 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> </div>

View file

@ -5,19 +5,19 @@
{% if paginationPages is defined and paginationPages|length > 1 %} {% if paginationPages is defined and paginationPages|length > 1 %}
{% if paginationPage > 1 %} {% if paginationPage > 1 %}
{% if paginationPages|length > 2 %} {% 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 %} {% 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 %} {% endif %}
{% for id,page in paginationPages %} {% for id,page in paginationPages %}
{% if (id + 1) > (paginationPage - 3) and (id + 1) < (paginationPage + 3) %} {% 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 %} {% endif %}
{% endfor %} {% endfor %}
{% if paginationPage < paginationPages|length %} {% 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 %} {% 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 %} {% endif %}
{% endif %} {% endif %}

View file

@ -1,10 +1,10 @@
<div class="head">{{ title }}</div> <div class="content__header">{{ title }}</div>
<div class="forumList"> <div class="forumList">
{% for forum in forum.forums %} {% for forum in forum.forums %}
{% if forum.type == 1 %} {% if forum.type == 1 %}
{% if forum.forums|length and forum.perms.view %} {% if forum.forums|length and forum.perms.view %}
<div class="forumCategory"> <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> </div>
{% for forum in forum.forums %} {% for forum in forum.forums %}
{% include 'forum/elements/forumEntry.twig' %} {% include 'forum/elements/forumEntry.twig' %}

View file

@ -1,18 +1,18 @@
{% set paginationClass = 'rightSide' %} {% set paginationClass = 'rightSide' %}
<div class="buttonRow pagination"> <div class="buttonRow">
<div class="leftSide"> <div class="leftSide">
{% if forumBackLink is defined %} {% 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 %} {% endif %}
{% if forumReplyLink is defined %} {% 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 %} {% endif %}
{% if forumNewLink is defined %} {% 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 %} {% endif %}
{% if forumMarkRead is defined %} {% 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 %} {% endif %}
{% if topic.id is defined and showMod is defined %} {% if topic.id is defined and showMod is defined %}
{% include 'forum/elements/forumMod.twig' %} {% include 'forum/elements/forumMod.twig' %}

View file

@ -2,14 +2,14 @@
<div class="forumForum"> <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="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="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"> <div class="desc">
{{ forum.description }} {{ forum.description }}
{% if forum.forums|length %} {% if forum.forums|length %}
<div class="subforums"> <div class="subforums">
Subforums: Subforums:
{% for forum in forum.forums %} {% 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 %} {% endfor %}
</div> </div>
{% endif %} {% endif %}
@ -23,8 +23,8 @@
<div class="forumLastPost"> <div class="forumLastPost">
<div> <div>
{% if forum.lastPost.id %} {% 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> <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) }}" 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> <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 %} {% else %}
There are no posts in this forum.<br>&nbsp; There are no posts in this forum.<br>&nbsp;
{% endif %} {% endif %}

View file

@ -1,15 +1,15 @@
{% if forumSticky is defined %} {% 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 %} {% endif %}
{% if forumAnnounce is defined %} {% 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 %} {% endif %}
{% if forumLock is defined %} {% 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 %} {% endif %}
{% if forumRestore is defined %} {% 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 %} {% endif %}
{% if forumTrash is defined or forumPrune is defined %} {% 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 %} {% endif %}

View file

@ -16,20 +16,20 @@
<div id="reply"> <div id="reply">
<form id="postingForm" method="post" action="{{ postingAction }}"> <form id="postingForm" method="post" action="{{ postingAction }}">
<div class="posting-subject" id="postingTitleContainer"{% if titleCache is not defined %} style="display: none;"{% endif %}> <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>
<div class="posting-text"> <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>
<div class="posting-buttons"> <div class="posting-buttons">
<div style="float: left;"> <div style="float: left;">
{% for code,meta in bbcode %} {% 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 %} {% endfor %}
</div> </div>
<div style="float: right;"> <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="input__button 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-send" title="Reply"></button>
</div> </div>
<div class="clear"></div> <div class="clear"></div>
</div> </div>

View file

@ -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> <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>
<td class="topicTitle{% if topic.type == 2 %} topicAnnouncement{% endif %}"> <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>
<td class="topicAuthor{% if topic.type == 2 %} topicAnnouncement{% endif %}"> <td class="topicAuthor{% if topic.type == 2 %} topicAnnouncement{% endif %}">
{% if topic.firstPost.poster.id %} {% 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 %} {% else %}
[deleted user] [deleted user]
{% endif %} {% endif %}
@ -18,10 +18,10 @@
</td> </td>
<td class="topicLast{% if topic.type == 2 %} topicAnnouncement{% endif %}"> <td class="topicLast{% if topic.type == 2 %} topicAnnouncement{% endif %}">
{% if topic.lastPost.poster.id %} {% 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 %} {% else %}
[deleted user] [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> <time class="time-ago" datetime="{{ topic.lastPost.time|date('r') }}">{{ topic.lastPost.time|date(config('general.date_format')) }}</time>
</td> </td>
</tr> </tr>

View file

@ -7,9 +7,7 @@
{% set forumMarkRead %}{{ route('forums.mark', forum.id) }}?s={{ session_id() }}{% endset %} {% set forumMarkRead %}{{ route('forums.mark', forum.id) }}?s={{ session_id() }}{% endset %}
{% block content %} {% block content %}
<div class="content homepage forum viewforum"> <div class="content forum">
<div class="content-column"> {% include 'forum/elements/forumBase.twig' %}
{% include 'forum/elements/forumBase.twig' %}
</div>
</div> </div>
{% endblock %} {% endblock %}

View file

@ -4,9 +4,9 @@
{% block content %} {% block content %}
<div class="content homepage forum"> <div class="content homepage forum">
<div class="content__right"> <div class="content--right">
<div id="forumIndexPopularTopics"> <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;"> <table class="panelTable" style="border-spacing: 0;">
<tr> <tr>
<th>Title</th> <th>Title</th>
@ -15,15 +15,15 @@
{% for _t in activeTopics %} {% for _t in activeTopics %}
<tr {% if _t.unread(user.id) %}style="font-weight: bold;"{% endif %}> <tr {% if _t.unread(user.id) %}style="font-weight: bold;"{% endif %}>
<td style="text-align: left; border-bottom: 1px solid #9475b2;"> <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>
<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> </tr>
{% endfor %} {% endfor %}
</table> </table>
</div> </div>
<div id="forumIndexNewPosts"> <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;"> <table class="panelTable" style="border-spacing: 0;">
<tr> <tr>
<th>Title &amp; user</th> <th>Title &amp; user</th>
@ -32,22 +32,22 @@
{% for _p in latestPosts %} {% for _p in latestPosts %}
<tr {% if _p.unread(user.id) %}style="font-weight: bold;"{% endif %}> <tr {% if _p.unread(user.id) %}style="font-weight: bold;"{% endif %}>
<td style="text-align: left; border-bottom: 1px solid #9475b2;"> <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 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>
<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> </tr>
{% endfor %} {% endfor %}
</table> </table>
</div> </div>
<div id="forumMostActivePoster"> <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 %} {% if activePoster.id %}
<a class="clean" href="{{ route('user.profile', activePoster.id) }}"> <a href="{{ route('user.profile', activePoster.id) }}" class="link link--clean">
<div class="user-container" style="background-image: url({{ route('user.header', activePoster.id) }});"> <div class="user" 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="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-container-info"> <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> <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> {% 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> </div>
@ -58,7 +58,7 @@
{% endif %} {% endif %}
</div> </div>
</div> </div>
<div class="content__left"> <div class="content--left">
{% include 'forum/elements/forumBase.twig' %} {% include 'forum/elements/forumBase.twig' %}
</div> </div>
<div class="clear"></div> <div class="clear"></div>

View file

@ -90,102 +90,100 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="content homepage forum viewtopic"> <div class="content forum viewtopic">
<div class="content-column"> <div class="content__header">{{ forum.name }} / <span id="topicTitle">{{ topic.title|default(null) }}</span></div>
<div class="head">{{ forum.name }} / <span id="topicTitle">{{ topic.title|default(null) }}</span></div> {% include 'forum/elements/forumBtns.twig' %}
{% include 'forum/elements/forumBtns.twig' %} <table class="posts">
<table class="posts"> {% if topic is defined %}
{% if topic is defined %} {% set textCache = session.replyText['t' ~ topic.id]|default(null) %}
{% set textCache = session.replyText['t' ~ topic.id]|default(null) %} {% set postingAction = route('forums.topic.reply', topic.id) %}
{% set postingAction = route('forums.topic.reply', topic.id) %}
{% for post in posts[get.page|default(1) - 1] %} {% for post in posts[get.page|default(1) - 1] %}
<tr class="post" id="p{{ post.id }}"> <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;">
<td class="userpanel"> <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> {% 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', user.id) }}" alt="{{ user.username }}" class="avatar" style="box-shadow: 0 3px 7px #484;"> <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="userdata">
<div class="usertitle">{{ user.title }}</div> <div class="usertitle">{{ post.poster.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 %} <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> </div>
</td> </td>
<td class="post-content"> <td class="post-content">
<div class="details"> <div class="details">
<div class="subject" id="previewTitle">{% if titleCache is not defined %}Re: {{ topic.title }}{% endif %}</div> <div class="subject">
<div class="date" id="previewMode">Preview</div> <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 class="clear"></div>
</div> </div>
<div class="post-text bbcode" id="previewText"></div> <div class="post-text bbcode">
{% if user.signature and user.perms.changeSignature %} {{ post.parsed|raw }}
<div class="clear"></div> </div>
<div class="signature bbcode"> {% if post.poster.signature and post.poster.perms.changeSignature %}
{{ user.signature()|raw|nl2br }} <div class="clear"></div>
</div> <div class="signature bbcode">
{{ post.poster.signature()|raw|nl2br }}
</div>
{% endif %} {% endif %}
</td> </td>
</tr> </tr>
{% endif %} {% endfor %}
</table> {% else %}
{% if forumReplyLink is defined or topic is not defined %} {% set titleCache = session.replyText['f' ~ forum.id].title|default('') %}
{% include 'forum/elements/replyForm.twig' %} {% set textCache = session.replyText['f' ~ forum.id].text|default('') %}
{% set postingAction = route('forums.new', forum.id) %}
{% endif %} {% endif %}
{% include 'forum/elements/forumBtns.twig' %} {% if forumReplyLink is defined or topic is not defined %}
</div> <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> </div>
{% endblock %} {% endblock %}

View file

@ -6,9 +6,9 @@
<div class="content content--alt"> <div class="content content--alt">
<div> <div>
<h1>Information</h1> <h1>Information</h1>
<hr class="default"> <hr>
{{ message|default('') }} {{ 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>
</div> </div>
{% endblock %} {% endblock %}

View file

@ -3,9 +3,9 @@
{% set title = category ~ ' / ' ~ mode %} {% set title = category ~ ' / ' ~ mode %}
{% block content %} {% block content %}
<div class="content settings messages"> <div class="content settings">
<div class="content__right"> <div class="content--right">
<div class="head"> <div class="content__header content__header--alt">
Navigation Navigation
</div> </div>
<div class="right-menu-nav"> <div class="right-menu-nav">
@ -17,8 +17,8 @@
{% endfor %} {% endfor %}
</div> </div>
</div> </div>
<div class="content__left"> <div class="content--left">
<div class="head">{{ title }}</div> <div class="content__header">{{ title }}</div>
<div class="settings-explanation">{{ block('description') }}</div> <div class="settings-explanation">{{ block('description') }}</div>
{{ block('manageContent') }} {{ block('manageContent') }}
</div> </div>

View file

@ -18,7 +18,13 @@
{{ block('js') }} {{ block('js') }}
</head> </head>
<body> <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> <span id="top"></span>
<div id="busy-window" class="busy hidden"> <div id="busy-window" class="busy hidden">
<div class="busy__content"> <div class="busy__content">
@ -36,31 +42,29 @@
</a> </a>
<div class="header__menu"> <div class="header__menu">
<div class="header__menu--left" id="navMenuSite"> <div class="header__menu--left" id="navMenuSite">
<!-- Navigation menu, displayed on left side of the bar. --> <a class="header__menu-item fa fa-home" href="{{ route('main.index') }}" title="Home"></a>
<a class="header__menu-item 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-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-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-list" href="{{ route('forums.index') }}" title="Forums"></a> <a class="header__menu-item fa fa-search" href="{{ route('main.search') }}" title="Search"></a>
<a class="header__menu-item fa-search" href="{{ route('main.search') }}" title="Search"></a>
{% if user.isActive %} {% if user.isActive %}
<a class="header__menu-item fa-users" href="{{ route('members.index') }}" title="Members"></a> <a class="header__menu-item fa 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-heart" href="{{ route('premium.index') }}" title="Support us"></a>
{% endif %} {% endif %}
</div> </div>
<div class="header__menu--right" id="navMenuUser"> <div class="header__menu--right" id="navMenuUser">
<!-- User menu, displayed on right side of the bar. -->
{% if user.isActive %} {% 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 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-envelope" href="#" title="Messages"></a> <a class="header__menu-item fa fa-envelope" href="#" title="Messages"></a>
<a class="header__menu-item fa-bell" href="javascript:;" title="Notifications"></a> <a class="header__menu-item fa fa-bell" href="javascript:;" title="Notifications"></a>
{% if user.perms.isMod or user.perms.isAdmin %} {% 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 %} {% endif %}
<a class="header__menu-item fa-cogs" href="{{ route('settings.index') }}" title="Settings"></a> <a class="header__menu-item fa 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-sign-out" href="{{ route('auth.logout') }}" title="Logout"></a>
{% else %} {% else %}
<a class="header__menu-item fa-magic" href="{{ route('auth.register') }}" title="Register"></a> <a class="header__menu-item fa 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-sign-in" href="{{ route('auth.login') }}" title="Login"></a>
{% endif %} {% endif %}
</div> </div>
</div> </div>
@ -69,49 +73,45 @@
<div id="notifications" class="alerts"></div> <div id="notifications" class="alerts"></div>
<div id="dialogues" class="dialogues"></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') %} {% if not user.isActive and server['REQUEST_URI'] != route('auth.login') %}
<div class="headerLoginContainer"> <div class="header-login">
<form method="post" action="{{ route('auth.login') }}" id="headerLoginForm"> <form method="post" action="{{ route('auth.login') }}">
<input type="hidden" name="redirect" value="{{ server['REQUEST_URI'] }}"> <input type="hidden" name="redirect" value="{{ server['REQUEST_URI'] }}">
<div> <label class="header-login__label">
<label for="headerLoginUserName">Username:</label> Username:
<input type="text" id="headerLoginUserName" name="username" class="inputStyling" placeholder="Username"> <input type="text" name="username" class="input__text header-login__text" placeholder="Username">
</div> </label>
<div> <label class="header-login__label">
<label for="headerLoginPassword">Password:</label> Password:
<input type="password" id="headerLoginPassword" name="password" class="inputStyling" placeholder="Password"> <input type="password" name="password" class="input__text header-login__text" placeholder="Password">
</div> </label>
<div> <label class="header-login__label">
<input type="checkbox" name="remember" id="headerLoginRemember"> <input type="checkbox" name="remember">
<label for="headerLoginRemember">Remember me</label> Remember me
</div> </label>
<div> <button class="input__button header-login__button" name="session" value="{{ session_id() }}">
<button class="inputStyling small" name="session" value="{{ session_id() }}"><i class="fa fa-sign-in"></i> Login</button> <i class="fa fa-sign-in"></i> Login
</div> </button>
</form> </form>
</div> </div>
{% endif %} {% endif %}
{% if user.restricted %} {% 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> <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>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> </div>
{% endif %} {% endif %}
<noscript> <noscript>
<div class="headerNotify"> <div class="announce-box">
<h1>You have JavaScript disabled!</h1> <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>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> </div>
</noscript> </noscript>
{% if config('general.cover') %} {% 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 %} {% endif %}
{% block content %} {% block content %}
@ -120,30 +120,30 @@
</div> </div>
<div class="footer"> <div class="footer">
<div class="footer__sections"> <div class="footer__sections">
<div class="footer__copyright">Powered by <a href="https://github.com/flashwave/sakura/">Sakura</a> &copy; 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> &copy; 2013-2016 <a class="footer__link" href="https://flash.moe/">flash.moe</a></div>
<ul class="footer__section"> <ul class="footer__section">
<li class="footer_item footer_item--head">General</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('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('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('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="{{ 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="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"><a class="footer__link" href="{{ route('premium.index') }}">Support us</a></li>
</ul> </ul>
<ul class="footer__section"> <ul class="footer__section">
<li class="footer_item footer_item--head">Community</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="{{ 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://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://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://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"><a class="footer__link" href="https://github.com/aitemu">GitHub</a></li>
</ul> </ul>
<ul class="footer__section"> <ul class="footer__section">
<li class="footer_item footer_item--head">Information</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('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('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('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"><a class="footer__link" href="{{ route('info.terms') }}">Terms of Service</a></li>
</ul> </ul>
</div> </div>
</div> </div>

View file

@ -3,28 +3,26 @@
{% set title = 'You are banned!' %} {% set title = 'You are banned!' %}
{% block content %} {% block content %}
<div class="content"> <div class="content banned">
<div class="content-column news banned"> <div style="padding: 20px;">
<div style="padding: 20px;"> <h1>You got dunked on!</h1>
<h1>You got dunked on!</h1> {% if ban.reason %}
{% if ban.reason %} <h3>The following reason was supplied:</h3>
<h3>The following reason was supplied:</h3> <p class="banned__reason">
<p> {{ ban.reason|raw }}
{{ ban.reason|raw }} </p>
</p> {% else %}
{% else %} <h3>No reason was supplied.</h3>
<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 %} {% endif %}
<br> </ul>
<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>
</div> </div>
</div> </div>
{% endblock %} {% endblock %}

View file

@ -4,19 +4,19 @@
{% block content %} {% block content %}
<div class="content settings"> <div class="content settings">
<div class="content-right content-column"> <div class="content--right">
<div class="head"> <div class="content__header content__header--alt">
Frequently Asked Questions Frequently Asked Questions
</div> </div>
<div class="right-menu-nav"> <div class="right-menu-nav">
{% for question in page.questions %} {% 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 %} {% endfor %}
</div> </div>
</div> </div>
<div class="content__left"> <div class="content--left">
{% for question in page.questions %} {% for question in page.questions %}
<div class="head" id="{{ question.faq_shorthand }}"> <div class="content__header" id="{{ question.faq_shorthand }}">
{{ question.faq_question }} {{ question.faq_question }}
<a href="#{{ question.faq_shorthand }}" class="fa fa-quote-right news-rss default"></a> <a href="#{{ question.faq_shorthand }}" class="fa fa-quote-right news-rss default"></a>
</div> </div>

View file

@ -2,11 +2,11 @@
{% block content %} {% block content %}
<div class="content homepage"> <div class="content homepage">
<div class="content__right"> <div class="content--right">
{% include 'elements/indexPanel.twig' %} {% include 'elements/indexPanel.twig' %}
</div> </div>
<div class="content__left"> <div class="content--left">
<div class="head">News</div> <div class="content__header">News</div>
{% for post in news %} {% for post in news %}
{% include 'elements/newsPost.twig' %} {% include 'elements/newsPost.twig' %}
{% endfor %} {% endfor %}

View file

@ -4,21 +4,19 @@
{% block content %} {% block content %}
<div class="content" style="background: #FFF;"> <div class="content" style="background: #FFF;">
<div class="content-column news"> <div class="content__header">Search</div>
<div class="head">Search</div> <script>
<script> (function() {
(function() { var cx = '013363332951923767879:krqdp_wt-eg';
var cx = '013363332951923767879:krqdp_wt-eg'; var gcse = document.createElement('script');
var gcse = document.createElement('script'); gcse.type = 'text/javascript';
gcse.type = 'text/javascript'; gcse.async = true;
gcse.async = true; gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//cse.google.com/cse.js?cx=' + cx;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') + '//cse.google.com/cse.js?cx=' + cx; var s = document.getElementsByTagName('script')[0];
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(gcse, s);
s.parentNode.insertBefore(gcse, s); })();
})(); </script>
</script> <gcse:searchbox></gcse:searchbox>
<gcse:searchbox></gcse:searchbox> <gcse:searchresults></gcse:searchresults>
<gcse:searchresults></gcse:searchresults>
</div>
</div> </div>
{% endblock %} {% endblock %}

View file

@ -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 %}

View file

@ -16,18 +16,16 @@
{% set paginationUrl %}{{ route('news.category', category.name) }}{% endset %} {% set paginationUrl %}{{ route('news.category', category.name) }}{% endset %}
{% block content %} {% block content %}
<div class="content"> <div class="content news">
<div class="content-column news"> <div class="content__header">News</div>
<div class="head">News</div> {% for post in posts[get.page|default(1) - 1] %}
{% for post in posts[get.page|default(1) - 1] %} {% include 'elements/newsPost.twig' %}
{% include 'elements/newsPost.twig' %} {% endfor %}
{% endfor %} {% if posts|length > 1 %}
{% if posts|length > 1 %} <div>
<div> {% include 'elements/pagination.twig' %}
{% include 'elements/pagination.twig' %} <div class="clear"></div>
<div class="clear"></div> </div>
</div> {% endif %}
{% endif %}
</div>
</div> </div>
{% endblock %} {% endblock %}

View file

@ -9,12 +9,10 @@
{% set newsHideCommentCount = true %} {% set newsHideCommentCount = true %}
{% block content %} {% block content %}
<div class="content"> <div class="content news">
<div class="content-column news"> <div class="content__header">{{ post.title }}</div>
<div class="head">{{ post.title }}</div> {% include 'elements/newsPost.twig' %}
{% include 'elements/newsPost.twig' %} {% include 'elements/comments.twig' %}
{% include 'elements/comments.twig' %}
</div>
</div> </div>
{% endblock %} {% endblock %}

View file

@ -13,7 +13,7 @@
{% block content %} {% block content %}
<div class="content support"> <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;"> <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> <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> </div>
@ -60,14 +60,14 @@
</div> </div>
{% if user.isActive and user.verified %} {% if user.isActive and user.verified %}
<div class="slider"> <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>
<div class="checkout" style="line-height: 28px;"> <div class="checkout" style="line-height: 28px;">
<div style="float: left;"> <div style="float: left;">
<h1>Total: &#8364;<span id="totalAmount"></span></h1> <h1>Total: &#8364;<span id="totalAmount"></span></h1>
</div> </div>
<div style="float: right;"> <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>
<div class="clear"></div> <div class="clear"></div>
</div> </div>

View file

@ -6,19 +6,19 @@
<div class="new-profile-mode-title"> <div class="new-profile-mode-title">
<h1>Friends</h1> <h1>Friends</h1>
</div> </div>
<div class="profile-friends"> <div class="profile__friends">
{% if friends|length > 0 %} {% if friends|length > 0 %}
{% for friend in friends[get.page|default(1) - 1] %} {% for friend in friends[get.page|default(1) - 1] %}
<div class="friend-container" id="friendslist-friend-{{ friend.id }}"> <div class="friend-container" id="friendslist-friend-{{ friend.id }}">
<a class="friends-list-data clean" href="{{ route('user.profile', 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 default-avatar-setting" style="width: 150px; height: 150px;"> <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> <div class="friends-list-name" style="color: {{ friend.colour }};">{{ friend.username }}</div>
</a> </a>
</div> </div>
{% endfor %} {% endfor %}
<div class="clear"></div> <div class="clear"></div>
{% else %} {% 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 %} {% endif %}
</div> </div>
{% if friends|length > 1 %} {% if friends|length > 1 %}

View file

@ -10,27 +10,27 @@
<form enctype="multipart/form-data" method="post" action="javascript:;" onsubmit="updateSettingsConfirm(this, '{{ route('settings.account.details') }}');"> <form enctype="multipart/form-data" method="post" action="javascript:;" onsubmit="updateSettingsConfirm(this, '{{ route('settings.account.details') }}');">
<div class="profile-field"> <div class="profile-field">
<div><h2>E-mail address</h2></div> <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> </div>
{% if edit_usern %} {% if edit_usern %}
<div class="profile-field"> <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><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> </div>
{% endif %} {% endif %}
{% if edit_title %} {% if edit_title %}
<div class="profile-field"> <div class="profile-field">
<div><h2>Title</h2></div> <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> </div>
{% endif %} {% endif %}
<div class="profile-field"> <div class="profile-field">
<div><h2>Password</h2></div> <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>
<div class="profile-save"> <div class="profile-save">
<button value="{{ session_id() }}" name="session" class="inputStyling">Save</button> <button value="{{ session_id() }}" name="session" class="input__button">Save</button>
<button type="reset" class="inputStyling">Reset</button> <button type="reset" class="input__button">Reset</button>
</div> </div>
</form> </form>
{% endblock %} {% endblock %}

View file

@ -97,7 +97,7 @@
<h2>{{ vars.title }}</h2> <h2>{{ vars.title }}</h2>
</div> </div>
<div> <div>
<input class="inputStyling" <input class="input__text"
{% for name, value in vars %} {% for name, value in vars %}
{% if name != 'title' %} {% if name != 'title' %}
{{ name }}="{{ value }}" {{ name }}="{{ value }}"
@ -112,29 +112,38 @@
<h2>Birthday</h2> <h2>Birthday</h2>
</div> </div>
<div style="text-align: center;"> <div style="text-align: center;">
Day: <select name="birthday_day"> <label>
<option value="0"{% if birthday[2] is not defined %} selected="selected"{% endif %}>--</option> Day:
{% for i in 1..31 %} <select name="birthday_day" class="input__select">
<option{% if birthday[2]|default(-1) == i %} selected="selected"{% endif %}>{{ i }}</option> <option value="0"{% if birthday[2] is not defined %} selected="selected"{% endif %}>--</option>
{% endfor %} {% for i in 1..31 %}
</select> <option{% if birthday[2]|default(-1) == i %} selected="selected"{% endif %}>{{ i }}</option>
Month: <select name="birthday_month"> {% endfor %}
<option value="0"{% if not birthday[1] is not defined %} selected="selected"{% endif %}>--</option> </select>
{% for i in 1..12 %} </label>
<option value="{{ i }}"{% if birthday[1]|default(-1) == i %} selected="selected"{% endif %}>{{ months[i - 1] }}</option> <label>
{% endfor %} Month:
</select> <select name="birthday_month" class="input__select">
Year: <select name="birthday_year"> <option value="0"{% if not birthday[1] is not defined %} selected="selected"{% endif %}>--</option>
<option value="0"{% if not birthday[0] is not defined %} selected="selected"{% endif %}>----</option> {% for i in 1..12 %}
{% for i in "now"|date('Y')..("now"|date('Y') - 100) %} <option value="{{ i }}"{% if birthday[1]|default(-1) == i %} selected="selected"{% endif %}>{{ months[i - 1] }}</option>
<option{% if birthday[0]|default(-1) == i %} selected="selected"{% endif %}>{{ i }}</option> {% endfor %}
{% endfor %} </select>
</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> </div>
<div class="profile-save"> <div class="profile-save">
<button name="session" value="{{ session_id() }}" class="inputStyling">Save</button> <button name="session" value="{{ session_id() }}" class="input__button">Save</button>
<button type="reset" class="inputStyling">Reset</button> <button type="reset" class="input__button">Reset</button>
</div> </div>
</form> </form>
{% endblock %} {% endblock %}

View file

@ -12,7 +12,7 @@
<form method="post" action="{{ route('settings.account.ranks') }}" class="friend-container {% if rank.id == user.mainRankId %}active{% endif %}"> <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="session" value="{{ session_id() }}">
<input type="hidden" name="rank" value="{{ rank.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> <div class="friends-list-name" style="color: {{ rank.colour }};">{{ rank.name }}</div>
</button> </button>
<div class="friends-list-actions"> <div class="friends-list-actions">

View file

@ -8,13 +8,13 @@
{% block settingsContent %} {% 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> <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') }}"> <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"> <div class="profile-save">
<button value="{{ session_id() }}" name="session" class="inputStyling">Save</button> <button value="{{ session_id() }}" name="session" class="input__button">Save</button>
<button type="reset" class="inputStyling">Reset</button> <button type="reset" class="input__button">Reset</button>
<button type="button" class="inputStyling" onclick="settingsPreview();">Preview</button> <button type="button" class="input__button" onclick="settingsPreview();">Preview</button>
</div> </div>
</form> </form>
{% include 'settings/account/_preview.twig' %} {% include 'settings/account/_preview.twig' %}

View file

@ -8,13 +8,13 @@
{% block settingsContent %} {% 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> <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') }}"> <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"> <div class="profile-save">
<button value="{{ session_id() }}" name="session" class="inputStyling">Save</button> <button value="{{ session_id() }}" name="session" class="input__button">Save</button>
<button type="reset" class="inputStyling">Reset</button> <button type="reset" class="input__button">Reset</button>
<button type="button" class="inputStyling" onclick="settingsPreview();">Preview</button> <button type="button" class="input__button" onclick="settingsPreview();">Preview</button>
</div> </div>
</form> </form>
{% include 'settings/account/_preview.twig' %} {% include 'settings/account/_preview.twig' %}

View file

@ -13,10 +13,10 @@
<form enctype="multipart/form-data" method="post" action="{{ route('settings.advanced.deactivate') }}"> <form enctype="multipart/form-data" method="post" action="{{ route('settings.advanced.deactivate') }}">
<div class="profile-field"> <div class="profile-field">
<div><h2>Enter your password to continue</h2></div> <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>
<div class="profile-save"> <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> </div>
</form> </form>
{% endblock %} {% endblock %}

View file

@ -34,7 +34,7 @@
<td style="width: 90px;"> <td style="width: 90px;">
<form method="post" action="{{ route('settings.advanced.sessions') }}"> <form method="post" action="{{ route('settings.advanced.sessions') }}">
<input type="hidden" name="id" value="{{ usession.id }}"> <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> </form>
</td> </td>
</tr> </tr>
@ -44,7 +44,7 @@
<div class="profile-save"> <div class="profile-save">
<form method="post" action="{{ route('settings.advanced.sessions') }}"> <form method="post" action="{{ route('settings.advanced.sessions') }}">
<input type="hidden" name="all" value="1"> <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> </form>
</div> </div>
{% endblock %} {% endblock %}

View file

@ -16,8 +16,8 @@
<div class="friends-list"> <div class="friends-list">
{% for friend in friends[get.page|default(1) - 1] %} {% for friend in friends[get.page|default(1) - 1] %}
<div class="friend-container" id="friendslist-friend-{{ friend.id }}"> <div class="friend-container" id="friendslist-friend-{{ friend.id }}">
<a class="friends-list-data clean" href="{{ route('user.profile', 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 default-avatar-setting" style="width: 150px; height: 150px;"> <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> <div class="friends-list-name" style="color: {{ friend.colour }};">{{ friend.username }}</div>
</a> </a>
<div class="friends-list-actions"> <div class="friends-list-actions">

View file

@ -16,8 +16,8 @@
<div class="friends-list"> <div class="friends-list">
{% for friend in friends[get.page|default(1) - 1] %} {% for friend in friends[get.page|default(1) - 1] %}
<div class="friend-container" id="friend-{{ friend.id }}"> <div class="friend-container" id="friend-{{ friend.id }}">
<a class="friends-list-data clean" href="{{ route('user.profile', 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 default-avatar-setting" style="width: 150px; height: 150px;"> <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> <div class="friends-list-name" style="color: {{ friend.colour }};">{{ friend.username }}</div>
</a> </a>
<div class="friends-list-actions"> <div class="friends-list-actions">

View file

@ -47,22 +47,22 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<div class="content settings messages"> <div class="content settings">
<div class="content__left"> <div class="content--right">
<div class="head"> <div class="content__header content__header--alt">
Navigation Navigation
</div> </div>
<div class="right-menu-nav"> <div class="right-menu-nav">
{% for name,links in navigation %} {% for name, links in navigation %}
<div>{{ name }}</div> <div>{{ name }}</div>
{% for name,link in links %} {% for name, link in links %}
<a href="{{ link }}">{{ name }}</a> <a href="{{ link }}">{{ name }}</a>
{% endfor %} {% endfor %}
{% endfor %} {% endfor %}
</div> </div>
</div> </div>
<div class="content__left"> <div class="content--left">
<div class="head">{{ title }}</div> <div class="content__header">{{ title }}</div>
<div class="settings-explanation">{{ block('description') }}</div> <div class="settings-explanation">{{ block('description') }}</div>
{{ block('settingsContent') }} {{ block('settingsContent') }}
</div> </div>

View file

@ -23,7 +23,7 @@
{% if alerts %} {% if alerts %}
<div class="notification-history"> <div class="notification-history">
{% for alert in alerts[get.page|default(1) - 1] %} {% 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"> <div class="notif-hist-icon">
{% if 'FONT:' in alert.image %} {% if 'FONT:' in alert.image %}
<div class="font-icon fa {{ alert.image|replace({'FONT:': ''}) }} fa-4x"></div> <div class="font-icon fa {{ alert.image|replace({'FONT:': ''}) }} fa-4x"></div>

View file

@ -4,14 +4,8 @@
{% set sort = get is defined and get.sort is defined and get.sort in sorts ? get.sort : sorts[0] %} {% set sort = get is defined and get.sort is defined and get.sort in sorts ? get.sort : sorts[0] %}
{% set notfound = rank == 0 %} {% set notfound = rank == 0 %}
{% set title = notfound ? 'Not found' : ranks[rank].name(true) %}
{% set rankTitle %} {% set description = notfound ? 'The requested rank could not be found!' : ranks[rank].description %}
{% 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 users = ranks[rank].users|batch(30) %} {% set users = ranks[rank].users|batch(30) %}
@ -20,17 +14,15 @@
{% set paginationPages = users %} {% set paginationPages = users %}
{% set paginationUrl %}{% if rank %}{{ route('members.rank', rank) }}{% else %}{{ route('members.index') }}{% endif %}{% endset %} {% set paginationUrl %}{% if rank %}{{ route('members.rank', rank) }}{% else %}{{ route('members.index') }}{% endif %}{% endset %}
{% set title = rankTitle %}
{% block content %} {% block content %}
<div class="headerNotify" style="margin-bottom: 1px;"> <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 %}">{{ rankTitle }}</h1> <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>{{ rankDescription }}</h3> <h3>{{ description }}</h3>
</div> </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 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;"> <div class="dropdown" style="float: left; color: #FFF;">
<a class="dropdown__title">Rank:</a> <span class="dropdown__title">Rank:</span>
{% for r in ranks %} {% for r in ranks %}
{% if not r.hidden or (r.hidden and rank == r.id) %} {% 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> <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 %} {% endfor %}
</div> </div>
<div class="dropdown" style="float: left;"> <div class="dropdown" style="float: left;">
<a class="dropdown__title">View:</a> <span class="dropdown__title">View:</span>
{% for s in sorts %} {% 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> <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 %} {% endfor %}
</div> </div>
</div> </div>
{% if not users|length %} {% if users|length < 1 %}
<h1 style="margin: 2em 0;">This rank has no members!</h1> <h1 style="margin: 2em 0;">This rank has no members!</h1>
{% elseif not notfound %} {% elseif not notfound %}
<div class="membersPageList {{ sort }}"> <div class="members__list members__list--{{ sort }}">
{% if sort == sorts[2] %} {% if sort == sorts[2] %}
<table> <table class="members__table">
<thead> {% for elem in ['thead', 'tfoot'] %}
<tr> <{{ elem }}>
<th>No.</th> <tr>
<th>Username</th> <th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">No.</th>
<th>Registered</th> <th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">Username</th>
<th>Last online</th> <th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">Registered</th>
<th>User title</th> <th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">Last online</th>
<th>Country</th> <th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">User title</th>
</tr> <th class="members__table-column members__table-column--legend members__table-column--{{ elem }}">Country</th>
</thead> </tr>
<tfoot> </{{ elem }}>
<tr> {% endfor %}
<th>No.</th> {% for count, user in users[currPage] %}
<th>Username</th> <tbody>
<th>Registered</th> <tr>
<th>Last online</th> <td class="members__table-column">
<th>User title</th> #{{ count }}
<th>Country</th> </td>
</tr> <td class="members__table-column">
</tfoot> <a href="{{ route('user.profile', user.id) }}" style="font-weight: bold; color: {{ user.colour }}; text-shadow: 0 0 5px {{ user.colour }};">{{ user.username }}</a>
{% for count,user in users[currPage] %} </td>
<tbody> <td class="members__table-column">
<tr> <time class="time-ago" datetime="{{ user.registered|date('r') }}">{{ user.registered|date(config('general.date_format')) }}</time>
<td> </td>
#{{ rank ? count + 1 : count }} <td class="members__table-column">
</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>
<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 class="members__table-column">
</td> {{ user.title }}
<td> </td>
<time class="time-ago" datetime="{{ user.registered|date('r') }}">{{ user.registered|date(config('general.date_format')) }}</time> <td class="members__table-column">
</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> </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 %} </tr>
</td> </tbody>
<td> {% endfor %}
{{ user.title }} </table>
</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>
{% else %} {% else %}
{% for user in users[currPage] %} {% for user in users[currPage] %}
<a href="{{ route('user.profile', user.id) }}">{# These comment tags are here to prevent the link extending too far {% spaceless %}
#}<div class="userBox" id="u{{ user.id }}">{# <a href="{{ route('user.profile', user.id) }}">
#}<img src="/images/pixel.png" alt="{{ user.username }}" style="background: url('{{ route('user.avatar', user.id) }}') no-repeat center / contain;">{# <div class="members__box" id="u{{ user.id }}">
#}<span class="userBoxUserName" style="color: {{ user.colour }};">{# <div class="avatar members__box-avatar" style="background-image: url('{{ route('user.avatar', user.id) }}')"></div>
#}{{ user.username }}{# <span class="members__box-text" style="color: {{ user.colour }};">
#}</span>{# {{ user.username }}
#}</div>{# </span>
#}</a> </div>
</a>
{% endspaceless %}
{% endfor %} {% endfor %}
{% endif %} {% endif %}
</div> </div>

View file

@ -184,76 +184,83 @@
</div> </div>
</div> </div>
{% else %} {% else %}
<div class="content new-profile"> <div class="content profile">
<div class="new-profile-container"> <div class="profile__container">
<div class="new-profile-header" style="background-image: url({{ route('user.header', profile.id) }});"> <div class="profile__header" style="background-image: url({{ route('user.header', profile.id) }});">
<label class="uploader__label"> <label class="uploader__label">
<input type="file" data-target="{{ route('user.header', user.id) }}" class="uploader" onchange="handleImageChange(this, this.parentElement.parentElement)"> <input type="file" data-target="{{ route('user.header', user.id) }}" class="uploader" onchange="handleImageChange(this, this.parentElement.parentElement)">
</label> </label>
<div class="new-profile-info"> <div class="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="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"> <label class="uploader__label">
<input type="file" data-target="{{ route('user.avatar', user.id) }}" class="uploader" onchange="handleImageChange(this, this.parentElement.parentElement)"> <input type="file" data-target="{{ route('user.avatar', user.id) }}" class="uploader" onchange="handleImageChange(this, this.parentElement.parentElement)">
</label> </label>
</div> </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> <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> {% 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>
<div class="new-profile-dates"> <div class="profile__dates">
<b>Joined</b> <time class="time-ago" datetime="{{ profile.registered|date('r') }}">{{ profile.registered|date(config('general.date_format')) }}</time> {% spaceless %}
<br> <div class="profile__date">
{% if profile.lastOnline < 1 %} <b>Joined</b>&nbsp;<time class="time-ago" datetime="{{ profile.registered|date('r') }}">{{ profile.registered|date(config('general.date_format')) }}</time>
<b>{{ profile.username }} hasn't logged in yet.</b> </div>
{% else %} <div class="profile__date">
<b>Last online</b> <time class="time-ago" datetime="{{ profile.lastOnline|date('r') }}">{{ profile.lastOnline|date(config('general.date_format')) }}</time> {% if profile.lastOnline < 1 %}
{% endif %} <b>{{ profile.username }} hasn't logged in yet.</b>
{% else %}
<b>Last online</b>&nbsp;<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 %} {% 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>&nbsp; <div class="profile__date">
<b>Age</b>&nbsp;<span title="{{ profile.birthday }}">{{ profile.birthday(true) }} years old</span>
</div>
{% endif %} {% endif %}
{% endspaceless %}
</div> </div>
</div> </div>
</div> </div>
<div class="new-profile-interactions"> <div class="profile__interactions">
<div class="new-profile-navigation"> <div class="profile__navigation">
{% if not noUserpage %} {% 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 %} {% endif %}
<a class="fa fa-list" title="View {{ profile.username }}'s topics" href="#_topics" onclick="profileMode('topics');"></a> <a class="profile__interactions-item 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="profile__interactions-item 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="profile__interactions-item 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-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 %} {% 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 %} {% endif %}
</div> </div>
{% if user.isActive %} {% if user.isActive %}
<div class="new-profile-actions"> <div class="profile__actions">
{% if user.id == profile.id %} {% 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 %} {% 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 %} {% 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="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="fa fa-exclamation-circle" title="Report {{ profile.username }}" href="{{ route('user.report', profile.id) }}"></a> <a class="profile__interactions-item fa fa-exclamation-circle" title="Report {{ profile.username }}" href="{{ route('user.report', profile.id) }}"></a>
{% endif %} {% endif %}
{% if user.perms.canRestrict %} {% 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 %} {% endif %}
</div> </div>
{% endif %} {% endif %}
</div> </div>
<div class="new-profile-content"> <div class="profile__content">
<div class="new-profile-mode"> <div class="profile__mode">
{% if profile.lastfm %} {% if profile.lastfm %}
<div class="np"> <div class="profile__now-playing">
<div class="np-icon"> <div class="np-icon">
<span class="fa fa-music"></span> <span class="fa fa-music"></span>
</div> </div>
<div class="np-text"> <div class="np-text">
<span class="fa fa-ellipsis-h" id="np-state"></span> <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> <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>
</div> </div>
{% endif %} {% endif %}
@ -280,7 +287,7 @@
{% include 'profile/images.twig' %} {% include 'profile/images.twig' %}
</div> </div>
</div> </div>
<div class="new-profile-data"> <div class="profile__data">
<table style="width: 100%;"> <table style="width: 100%;">
<tr> <tr>
<td style="text-align: left; font-weight: bold;">Topics</td> <td style="text-align: left; font-weight: bold;">Topics</td>
@ -295,7 +302,7 @@
<td style="text-align: right;">{{ profile.friends(2)|length }}</td> <td style="text-align: right;">{{ profile.friends(2)|length }}</td>
</tr> </tr>
</table> </table>
<hr class="default"> <hr>
{% if user.isActive %} {% if user.isActive %}
{# if user.perms.viewUserLinks or user.perms.viewUserDetails #} {# if user.perms.viewUserLinks or user.perms.viewUserDetails #}
<table style="width: 100%;"> <table style="width: 100%;">
@ -307,7 +314,7 @@
</td> </td>
<td style="text-align: right;"> <td style="text-align: right;">
{% if data.link is defined %} {% 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 %} {% else %}
{{ (data.disp is defined ? data.disp : '%s')|format(data.value) }} {{ (data.disp is defined ? data.disp : '%s')|format(data.value) }}
{% endif %} {% endif %}