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;
padding: 0;
box-sizing: border-box;
position: relative;
}
@ -34,6 +33,19 @@ h1 {
color: #614390;
}
a {
color: #22E;
text-decoration: none;
&:hover {
text-decoration: underline;
}
&:active {
color: #E22;
}
}
hr {
border: 0;
height: 1px;
@ -59,3 +71,53 @@ img {
display: none !important;
visibility: hidden !important;
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
}
@keyframes fadeOut {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes slideInFromRight {
0% {
right: -100%;
}
100% {
right: 0;
}
}
@keyframes slideOutToBottom {
0% {
bottom: 0;
}
100% {
bottom: -100%;
}
}

View file

@ -1,6 +1,3 @@
/*
* Notification styling
*/
.alerts {
position: fixed;
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 {
min-height: 100%;
width: 100%;
background: no-repeat center center / cover fixed transparent;
&__content {
padding-bottom: 220px;
@media (min-width: 1024px) {
@media (max-width: 1064px) {
padding: 0;
}
}

View file

@ -1,22 +1,58 @@
.content {
margin: 10px auto;
padding: 2px 3px;
width: 1024px;
max-width: 1024px;
border: 1px solid #9475B2;
box-shadow: 0 0 3px #9475B2;
border-radius: 3px;
background: #D3BFFF;
&__left {
&__header {
margin: -1px -2px;
padding: 4px 5px 5px;
font-weight: 700;
font-size: 20px;
color: #306;
background: linear-gradient(90deg, rgba(148, 117, 178, .7), rgba(148, 117, 178, 0)) #C2AFFE;
border-radius: 2px;
word-wrap: break-word;
text-align: left;
&--alt {
margin: -1px -2px -1px;
padding: 4px 5px 5px;
background: linear-gradient(270deg, rgba(148, 117, 178, .7), rgba(148, 117, 178, 0)) #C2AFFE;
text-align: right;
}
}
&--auth {
text-align: center;
width: auto;
max-width: 400px;
}
&--left {
float: left;
width: 688px;
}
&__right {
&--right {
float: right;
width: 334px;
}
@media (max-width: 1064px) {
&--left,
&--right {
width: 100%;
}
&--left {
border-top: 1px solid #9475B2;
}
}
&--alt {
background: #C2AEEE;
margin: 5px 10px;

View file

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

View file

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

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 "legacy";
@import "bem/alert";
@import "bem/announce-box";
@import "bem/auth";
@import "bem/avatar";
@import "bem/banned";
@import "bem/bbcode";
@import "bem/busy";
@import "bem/container";
@ -10,4 +18,13 @@
@import "bem/dropdown";
@import "bem/footer";
@import "bem/header";
@import "bem/header-login";
@import "bem/input";
@import "bem/link";
@import "bem/members";
@import "bem/news";
@import "bem/profile";
@import "bem/uploader";
@import "bem/user";
@import "legacy";

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';
var title: HTMLDivElement = <HTMLDivElement>DOM.Create('div', 'head'),
var title: HTMLDivElement = <HTMLDivElement>DOM.Create('div', 'content__header content__header--alt'),
link: HTMLLinkElement = <HTMLLinkElement>DOM.Create('a', 'underline');
title.style.marginBottom = '1px';
@ -30,6 +30,7 @@ namespace Sakura
link.innerText = 'Changelog';
link.href = Config.ChangelogUrl;
link.target = '_blank';
link.style.color = 'inherit';
DOM.Append(title, link);
DOM.Append(target, title);

View file

@ -3,37 +3,34 @@
{% set title = 'Login' %}
{% block content %}
<div class="loginPage">
<div class="loginForm">
<div class="head">
Login
</div>
<form method="post" action="{{ route('auth.login') }}" id="loginForm">
<input type="hidden" name="redirect" value="{{ server['HTTP_REFERER'] ? server['HTTP_REFERER'] : route('main.index') }}">
<div class="leftAlign">
<label for="loginUserName">Username:</label>
</div>
<div class="centreAlign">
<input class="inputStyling" type="text" id="loginUserName" name="username" autofocus="true">
</div>
<div class="leftAlign">
<label for="loginPassword">Password:</label>
</div>
<div class="centreAlign">
<input class="inputStyling" type="password" id="loginPassword" name="password">
</div>
<div class="subLinks centreAlign">
<input class="inputStyling" name="remember" type="checkbox" class="ignore-css" id="loginRemember"><label for="loginRemember">Remember Me</a>
</div>
<div class="centreAlign">
<button class="inputStyling" id="loginButton" name="session" value="{{ session_id() }}"><i class="fa fa-sign-in"></i> Login</button>
</div>
<div class="subLinks centreAlign" style="line-height: 1.5em;">
<p><a href="{{ route('auth.register') }}" class="default">I don't have an account yet!</a></p>
<p><a href="{{ route('auth.resetpassword') }}" class="default">I forgot my password!</a></p>
<p><a href="{{ route('auth.reactivate') }}" class="default">I want to reactivate my account!</a></p>
</div>
</form>
<div class="auth content content--auth">
<div class="content__header">
Login
</div>
<form method="post" action="{{ route('auth.login') }}">
<input type="hidden" name="redirect" value="{{ server['HTTP_REFERER']|default(route('main.index')) }}">
<label>
<div class="auth__label">Username</div>
<input class="input__text" type="text" name="username" autofocus>
</label>
<label>
<div class="auth__label">Password</div>
<input class="input__text" type="password" name="password">
</label>
<label>
<div class="auth__label auth__label--checkbox">
<input name="remember" type="checkbox">
Remember me!
</div>
</label>
<button class="input__button auth__button" name="session" value="{{ session_id() }}">
<i class="fa fa-sign-in"></i> Login
</button>
<div class="auth__subtext">
<a href="{{ route('auth.register') }}">I don't have an account yet!</a><br>
<a href="{{ route('auth.resetpassword') }}">I forgot my password!</a><br>
<a href="{{ route('auth.reactivate') }}">I want to reactivate my account!</a>
</div>
</form>
</div>
{% endblock %}

View file

@ -3,16 +3,14 @@
{% set title = 'Logout' %}
{% block content %}
<div class="loginPage">
<div class="loginForm">
<div class="head">
Are you sure?
</div>
<form method="post" action="{{ route('auth.logout') }}" id="logoutForm">
<div class="centreAlign">
<button class="inputStyling" id="loginButton" name="session" value="{{ session_id() }}"><i class="fa fa-sign-out"></i> Logout</button>
</div>
</form>
<div class="auth content content--auth">
<div class="content__header">
Are you sure?
</div>
<form method="post" action="{{ route('auth.logout') }}" id="logoutForm">
<button class="input__button auth__button" name="session" value="{{ session_id() }}">
<i class="fa fa-sign-out"></i> Logout
</button>
</form>
</div>
{% endblock %}

View file

@ -3,29 +3,22 @@
{% set title = 'Reactivate account' %}
{% block content %}
<div class="loginPage">
<div class="resendForm">
<div class="head">
Reactivate account
</div>
<form method="post" action="{{ route('auth.reactivate') }}" id="resendForm">
<input type="hidden" name="session" value="{{ session_id() }}">
<div class="leftAlign">
<label for="activeUserName">Username:</label>
</div>
<div class="centreAlign">
<input class="inputStyling" type="text" id="activeUserName" name="username">
</div>
<div class="leftAlign">
<label for="activeEmail">E-mail:</label>
</div>
<div class="centreAlign">
<input class="inputStyling" type="text" id="activeEmail" name="email">
</div>
<div class="centreAlign">
<input class="inputStyling" type="submit" name="submit" value="Request Activation" id="requestActiveBtn">
</div>
</form>
<div class="auth content content--auth">
<div class="content__header">
Reactivate account
</div>
<form method="post" action="{{ route('auth.reactivate') }}">
<label>
<div class="auth__label">Username</div>
<input class="input__text" type="text" name="username" autofocus>
</label>
<label>
<div class="auth__label">E-mail</div>
<input class="input__text" type="text" name="email">
</label>
<button class="input__button auth__button" name="session" value="{{ session_id() }}">
Request Activation
</button>
</form>
</div>
{% endblock %}

View file

@ -3,62 +3,36 @@
{% set title = 'Register' %}
{% block content %}
<div class="auth content content--auth">
{% if config('user.disable_registration') %}
<div class="loginPage">
<div class="registerForm" id="registerWarn" style="display: block;">
<div class="centreAlign">
<div class="fa fa-remove fa-5x" style="display: block; margin: 10px 0 0;"></div>
<h1>Registration is disabled.</h1>
<p>Please try again later.</p>
</div>
</div>
</div>
<div class="fa fa-remove fa-5x" style="display: block; margin: 10px 0 0;"></div>
<h1>Registration is disabled.</h1>
<p>Please try again later.</p>
{% else %}
<div class="loginPage">
<div class="registerForm">
<div class="head">
Register
</div>
<form id="registerForm" method="post" action="{{ route('auth.register') }}" style="display:{% if haltRegistration %}none{% else %}block{% endif %};">
<input type="hidden" name="session" value="{{ session_id() }}">
<div class="leftAlign">
<label for="registerUserName">Username:</label>
</div>
<div class="centreAlign">
<input class="inputStyling" type="text" id="registerUserName" name="username" placeholder="Any character"{% if get.username %} value="{{ get.username }}"{% endif %}>
</div>
<div class="leftAlign">
<label for="registerEmail">E-mail:</label>
</div>
<div class="centreAlign">
<input class="inputStyling" type="text" id="registerEmail" name="email" placeholder="Used for e.g. password retrieval"{% if get.email %} value="{{ get.email }}"{% endif %}>
</div>
<div class="leftAlign">
<label for="registerPassword">Password:</label>
</div>
<div class="centreAlign">
<input class="inputStyling" type="password" id="registerPassword" name="password" placeholder="Using special characters is recommended">
</div>
<div class="centreAlign">
<input class="inputStyling" type="submit" name="submit" value="Register" id="registerAccBtn">
</div>
<div class="subLinks centreAlign">
By creating an account you agree to the <a href="#" class="default">Terms of Service</a>.
</div>
</form>
<div class="registerForm" id="registerWarn" style="display: {% if not haltRegistration %}none{% else %}block{% endif %};">
<div class="centreAlign">
<h1 class="fa fa-warning fa-5x" style="display: block; margin: 10px 0 0;"></h1>
<h1>Are you {{ haltName }}?</h1>
<p>Making more than one account is not permitted.</p>
<p>If you lost your password please use the reset password form but if you don't already have an account you can go ahead and click the link below to show the registration form this check is based on your IP so in some cases someone may have registered/used the site on this IP already.</p>
<p>If we find out that you already have an account we may question you about it, if you can give a good reason we'll let it slide otherwise we may issue a temporary ban.</p>
</div>
<div class="subLinks centreAlign">
<a href="javascript:void(0);" class="default" onclick="document.getElementById('registerWarn').style.display='none'; document.getElementById('registerForm').style.display='block';">This is a mistake, let me register anyway!</a>
</div>
</div>
<div class="content__header">
Register
</div>
</div>
<form id="registerForm" method="post" action="{{ route('auth.register') }}">
<label>
<div class="auth__label">Username</div>
<input class="input__text" type="text" name="username" autofocus placeholder="Any character"{% if get.username is defined %} value="{{ get.username }}"{% endif %}>
</label>
<label>
<div class="auth__label">E-mail</div>
<input class="input__text" type="text" name="email" placeholder="Used for e.g. password retrieval"{% if get.email is defined %} value="{{ get.email }}"{% endif %}>
</label>
<label>
<div class="auth__label">Password</div>
<input class="input__text" type="password" name="password" placeholder="Using special characters is recommended">
</label>
<button class="input__button auth__button" name="session" value="{{ session_id() }}">
<i class="fa fa-magic"></i> Register
</button>
<div class="auth__subtext">
By creating an account you agree to the <a href="{{ route('info.terms') }}">Terms of Service</a>.<br>
You are only allowed to make a single account.
</div>
</form>
{% endif %}
</div>
{% endblock %}

View file

@ -3,46 +3,38 @@
{% set title = 'Reset Password' %}
{% block content %}
<div class="loginPage">
<div class="passwordForm">
<div class="head">
Reset Password
</div>
<form method="post" action="{{ route('auth.resetpassword') }}" id="passwordForm">
<input type="hidden" name="session" value="{{ session_id() }}">
{% if get.u is defined and get.k is defined %}
<input type="hidden" name="user" value="{{ get.u }}">
<input type="hidden" name="key" value="{{ get.k }}">
<div class="leftAlign">
<label for="forgotUserName">Password:</label>
</div>
<div class="centreAlign">
<input class="inputStyling" type="password" id="resetPassword" name="password">
</div>
<div class="centreAlign">
<button class="inputStyling">Save Password</button>
</div>
{% else %}
<div class="leftAlign">
<label for="forgotUserName">Username:</label>
</div>
<div class="centreAlign">
<input class="inputStyling" type="text" id="forgotUserName" name="username">
</div>
<div class="leftAlign">
<label for="forgotEmail">E-mail:</label>
</div>
<div class="centreAlign">
<input class="inputStyling" type="text" id="forgotEmail" name="email">
</div>
<div class="centreAlign">
<button class="inputStyling">Request Change</button>
</div>
<div class="subLinks centreAlign">
<a href="{{ route('info.contact') }}" class="default">Contact us</a> if you lost access to your e-mail address!
</div>
{% endif %}
</form>
<div class="auth content content--auth">
<div class="content__header">
Reset Password
</div>
<form method="post" action="{{ route('auth.resetpassword') }}" id="passwordForm">
<input type="hidden" name="session" value="{{ session_id() }}">
{% if get.u is defined and get.k is defined %}
<input type="hidden" name="user" value="{{ get.u }}">
<input type="hidden" name="key" value="{{ get.k }}">
<label>
<div class="auth__label">Password</div>
<input class="input__text" type="password" name="password" autofocus>
</label>
<button class="input__button auth__button">
Save Password
</button>
{% else %}
<label>
<div class="auth__label">Username</div>
<input class="input__text" type="text" name="username" autofocus>
</label>
<label>
<div class="auth__label">E-mail</div>
<input class="input__text" type="text" name="email">
</label>
<button class="input__button auth__button">
Request Change
</button>
<div class="auth__subtext">
<a href="{{ route('info.contact') }}">Contact us</a> if you lost access to your e-mail address!
</div>
{% endif %}
</form>
</div>
{% endblock %}

View file

@ -1,18 +1,18 @@
<li id="comment-{{ comment.id }}">
<div class="comment">
<a class="comment-avatar clean" href="{{ route('user.profile', comment.userData.id) }}" style="background-image: url('{{ route('user.avatar', comment.userData.id) }}');"><span style="color: {{ comment.userData.colour }};">{{ comment.userData.username }}</span></a>
<a class="comment-avatar" href="{{ route('user.profile', comment.userData.id) }}" style="background-image: url('{{ route('user.avatar', comment.userData.id) }}');"><span style="color: {{ comment.userData.colour }};">{{ comment.userData.username }}</span></a>
<div class="comment-pointer"></div>
<div class="comment-content">
<div class="comment-controls">
<ul>
{% if comment.userData.id == user.id %}
<li><a href="javascript:void(0);" onclick="commentDelete({{ comment.id }});" class="clean fa fa-trash-o" title="Delete"></a></li>
<li><a href="javascript:void(0);" onclick="commentDelete({{ comment.id }});" class="fa fa-trash-o" title="Delete"></a></li>
{% else %}
<li><a href="{{ route('user.report', comment.userData.id) }}" class="clean fa fa-exclamation-circle" title="Report"></a></li>
<li><a href="{{ route('user.report', comment.userData.id) }}" class="fa fa-exclamation-circle" title="Report"></a></li>
{% endif %}
<li><a href="javascript:void(0);" onclick="commentReply({{ comment.id }}, '{{ session_id() }}', '{{ route('user.avatar', user.id) }}');" class="clean fa fa-reply" title="Reply" id="comment-action-reply-{{ comment.id }}"></a></li>
<li class="shown voting like"><a href="javascript:void(0);" onclick="commentVote({{ comment.id }}, 1);" class="clean"><span class="fa fa-thumbs-up"></span> <span id="comment-{{ comment.id }}-likes">{{ comment.upvotes }}</span></a></li>
<li class="shown voting dislike"><a href="javascript:void(0);" onclick="commentVote({{ comment.id }}, 0);" class="clean"><span class="fa fa-thumbs-down"></span> <span id="comment-{{ comment.id }}-dislikes">{{ comment.downvotes }}</span></a></li>
<li><a href="javascript:void(0);" onclick="commentReply({{ comment.id }}, '{{ session_id() }}', '{{ route('user.avatar', user.id) }}');" class="fa fa-reply" title="Reply" id="comment-action-reply-{{ comment.id }}"></a></li>
<li class="shown voting like"><a href="javascript:void(0);" onclick="commentVote({{ comment.id }}, 1);"><span class="fa fa-thumbs-up"></span> <span id="comment-{{ comment.id }}-likes">{{ comment.upvotes }}</span></a></li>
<li class="shown voting dislike"><a href="javascript:void(0);" onclick="commentVote({{ comment.id }}, 0);"><span class="fa fa-thumbs-down"></span> <span id="comment-{{ comment.id }}-dislikes">{{ comment.downvotes }}</span></a></li>
</ul>
<div class="clear"></div>
</div>

View file

@ -1,26 +1,26 @@
<div id="indexPanel">
{% if user.isActive %}
<div class="user-container" style="background-image: url({{ route('user.header', user.id) }});">
<div class="default-avatar-setting user-container-avatar" style="background-image: url({{ route('user.avatar', user.id) }}); box-shadow: 0 0 5px {{ user.colour }};"><a href="{{ route('user.profile', user.id) }}" class="clean" style="display: block; height: 100%; width: 100%;"></a></div>
<div class="user-container-info">
<a href="{{ route('user.profile', user.id) }}" class="clean"><h1 style="color: {{ user.colour }}; text-shadow: 0 0 7px {% if user.colour != 'inherit' %}{{ user.colour }}{% else %}#222{% endif %}; padding: 0 0 2px;">{{ user.username }}</h1></a>
<div class="user" style="background-image: url({{ route('user.header', user.id) }});">
<div class="avatar avatar--border user__avatar" style="background-image: url({{ route('user.avatar', user.id) }}); box-shadow: 0 0 5px {{ user.colour }};"><a href="{{ route('user.profile', user.id) }}" style="display: block; height: 100%; width: 100%;"></a></div>
<div class="user__info">
<a href="{{ route('user.profile', user.id) }}" class="link link--clean"><h1 style="color: {{ user.colour }}; text-shadow: 0 0 7px {% if user.colour != 'inherit' %}{{ user.colour }}{% else %}#222{% endif %}; padding: 0 0 2px;">{{ user.username }}</h1></a>
{% set friendRequests = user.friends(-1, true)|length %}
{% if friendRequests %}
<a class="default" href="{{ route('settings.friends.requests') }}" title="Pending friend requests">{{ friendRequests }} new friend requests</a>
<a href="{{ route('settings.friends.requests') }}" title="Pending friend requests">{{ friendRequests }} new friend requests</a>
{% endif %}
</div>
</div>
{% endif %}
<div class="head">Stats</div>
<div class="content__header content__header--alt">Stats</div>
We have <b>{{ stats.userCount }} user{% if stats.userCount != 1 %}s{% endif %}</b>,
<b><a href="{{ route('user.profile', stats.newestUser.id) }}" style="color: {{ stats.newestUser.colour }};" class="default">{{ stats.newestUser.username }}</a></b> is the newest user,
<b><a href="{{ route('user.profile', stats.newestUser.id) }}" style="color: {{ stats.newestUser.colour }};">{{ stats.newestUser.username }}</a></b> is the newest user,
it has been <b>{{ stats.lastRegDate }} day{{ stats.lastRegDate == 1 ? '' : 's' }}</b> since the last user registered and the forum has <b>{{ stats.topicCount }} topic{% if stats.topicCount != 1 %}s{% endif %}</b> and <b>{{ stats.postCount }} post{% if stats.postCount != 1 %}s{% endif %}</b>.
<div class="head">Online Users</div>
<div class="content__header content__header--alt">Online Users</div>
{% if stats.onlineUsers %}
All active users in the past 2 minutes
<table class="panelTable">
{% for amount,onlineUser in stats.onlineUsers %}
<tr><td style="text-align: left;"><a href="{{ route('user.profile', onlineUser.id) }}" style="font-weight: bold; color: {{ onlineUser.colour }};" class="default">{{ onlineUser.username }}</a></td><td style="text-align: right;"><time class="time-ago" datetime="{{ onlineUser.lastOnline|date('r') }}">{{ onlineUser.lastOnline|date(config('general.date_format')) }}</time></td></tr>
<tr><td style="text-align: left;"><a href="{{ route('user.profile', onlineUser.id) }}" style="font-weight: bold; color: {{ onlineUser.colour }};">{{ onlineUser.username }}</a></td><td style="text-align: right;"><time class="time-ago" datetime="{{ onlineUser.lastOnline|date('r') }}">{{ onlineUser.lastOnline|date(config('general.date_format')) }}</time></td></tr>
{% endfor %}
</table>
{% else %}

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 %}
<div class="news-body">
<a class="no-underline" href="{{ route('user.profile', post.userData.id) }}">
<div class="news-poster">
<img src="{{ route('user.avatar', post.userData.id) }}" alt="{{ post.userData.username }}" class="default-avatar-setting">
<h1 style="color: {{ post.userData.colour }}; text-shadow: 0 0 7px {% if post.userData.colour != 'inherit' %}{{ post.userData.colour }}{% else %}#222{% endif %}; padding: 0 0 10px;">{{ post.userData.username }}</h1>
{% if newsHideTitle is not defined %}<a href="{{ route('news.post', post.id) }}" class="news__head" id="p{{ post.id }}">{{ post.title }}</a>{% endif %}
<div class="news__body">
<a class="news__poster" href="{{ route('user.profile', post.userData.id) }}">
<div class="avatar avatar--border news__avatar" style="background-image: url('{{ route('user.avatar', post.userData.id) }}')"></div>
<div class="news__username" style="color: {{ post.userData.colour }}; text-shadow: 0 0 7px {% if post.userData.colour != 'inherit' %}{{ post.userData.colour }}{% else %}#222{% endif %}">
{{ post.userData.username }}
</div>
</a>
<div class="bbcode">
@ -11,7 +11,7 @@
</div>
</div>
<div class="clear"></div>
<div class="news-post-time">
<div class="news__date">
Posted <time class="time-ago" datetime="{{ post.time|date('r') }}">{{ post.time|date(config('general.date_format')) }}</time>
{% if newsHideCommentCount is not defined %}<a class="default" href="{{ route('news.post', post.id) }}#comments">{{ post.commentCount }} comment{% if post.commentCount != 1 %}s{% endif %}</a>{% endif %}
{% if newsHideCommentCount is not defined %}<a href="{{ route('news.post', post.id) }}#comments">{{ post.commentCount }} comment{% if post.commentCount != 1 %}s{% endif %}</a>{% endif %}
</div>

View file

@ -5,19 +5,19 @@
{% if paginationPages is defined and paginationPages|length > 1 %}
{% if paginationPage > 1 %}
{% if paginationPages|length > 2 %}
<a href="{{ paginationUrl }}{{ paginationSeparator }}page=1" title="Jump to first page"><span class="fa fa-fast-backward"></span></a>
<a class="input__button" href="{{ paginationUrl }}{{ paginationSeparator }}page=1" title="Jump to first page"><span class="fa fa-fast-backward"></span></a>
{% endif %}
<a href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPage - 1 }}" title="Previous page"><span class="fa fa-step-backward"></span></a>
<a class="input__button" href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPage - 1 }}" title="Previous page"><span class="fa fa-step-backward"></span></a>
{% endif %}
{% for id,page in paginationPages %}
{% if (id + 1) > (paginationPage - 3) and (id + 1) < (paginationPage + 3) %}
<a href="{{ paginationUrl }}{{ paginationSeparator }}page={{ id + 1 }}"{% if id == paginationPage - 1 %} class="current"{% endif %} title="Page {{ id + 1 }}">{{ id + 1 }}</a>
<a class="input__button{% if id == paginationPage - 1 %} input__button--current{% endif %}" href="{{ paginationUrl }}{{ paginationSeparator }}page={{ id + 1 }}" title="Page {{ id + 1 }}">{{ id + 1 }}</a>
{% endif %}
{% endfor %}
{% if paginationPage < paginationPages|length %}
<a href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPage + 1 }}" title="Next page"><span class="fa fa-step-forward"></span></a>
<a class="input__button" href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPage + 1 }}" title="Next page"><span class="fa fa-step-forward"></span></a>
{% if paginationPages|length > 2 %}
<a href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPages|length }}" title="Jump to last page"><span class="fa fa-fast-forward"></span></a>
<a class="input__button" href="{{ paginationUrl }}{{ paginationSeparator }}page={{ paginationPages|length }}" title="Jump to last page"><span class="fa fa-fast-forward"></span></a>
{% endif %}
{% endif %}
{% endif %}

View file

@ -1,10 +1,10 @@
<div class="head">{{ title }}</div>
<div class="content__header">{{ title }}</div>
<div class="forumList">
{% for forum in forum.forums %}
{% if forum.type == 1 %}
{% if forum.forums|length and forum.perms.view %}
<div class="forumCategory">
{% if forum.type != 1 %}Subforums{% else %}<a href="{{ route('forums.forum', forum.id) }}" class="clean">{{ forum.name }}</a>{% endif %}
{% if forum.type != 1 %}Subforums{% else %}<a href="{{ route('forums.forum', forum.id) }}">{{ forum.name }}</a>{% endif %}
</div>
{% for forum in forum.forums %}
{% include 'forum/elements/forumEntry.twig' %}

View file

@ -1,18 +1,18 @@
{% set paginationClass = 'rightSide' %}
<div class="buttonRow pagination">
<div class="buttonRow">
<div class="leftSide">
{% if forumBackLink is defined %}
<a href="{{ forumBackLink }}" class="forumbtn"><span class="fa fa-backward"></span> Back</a>
<a href="{{ forumBackLink }}" class="input__button"><span class="fa fa-backward"></span> Back</a>
{% endif %}
{% if forumReplyLink is defined %}
<a href="{{ forumReplyLink }}" class="forumbtn"><span class="fa fa-reply-all"></span> Reply</a>
<a href="{{ forumReplyLink }}" class="input__button"><span class="fa fa-reply-all"></span> Reply</a>
{% endif %}
{% if forumNewLink is defined %}
<a href="{{ forumNewLink }}" class="forumbtn"><span class="fa fa-pencil-square-o"></span> New Topic</a>
<a href="{{ forumNewLink }}" class="input__button"><span class="fa fa-pencil-square-o"></span> New Topic</a>
{% endif %}
{% if forumMarkRead is defined %}
<a href="{{ forumMarkRead }}" class="forumbtn"><span class="fa fa-check-square-o"></span> Mark as Read</a>
<a href="{{ forumMarkRead }}" class="input__button"><span class="fa fa-check-square-o"></span> Mark as Read</a>
{% endif %}
{% if topic.id is defined and showMod is defined %}
{% include 'forum/elements/forumMod.twig' %}

View file

@ -2,14 +2,14 @@
<div class="forumForum">
<div class="forumIcon {% if forum.unread(user.id) %}unread {% endif %}fa fa-3x {% if forum.icon %}{{ forum.icon }}{% else %}{% if forum.type == 2 %}fa-chevron-circle-right{% elseif forum.type == 1 %}fa-folder{% else %}fa-comments{% endif %}{% endif %}"></div>
<div class="forumTitle">
<div class="name"><a href="{% if forum.type == 2 %}{{ forum.link }}{% else %}{{ route('forums.forum', forum.id) }}{% endif %}" class="default">{{ forum.name }}</a></div>
<div class="name"><a href="{% if forum.type == 2 %}{{ forum.link }}{% else %}{{ route('forums.forum', forum.id) }}{% endif %}">{{ forum.name }}</a></div>
<div class="desc">
{{ forum.description }}
{% if forum.forums|length %}
<div class="subforums">
Subforums:
{% for forum in forum.forums %}
{% if forum.unread(user.id) %}<span style="font-variant: small-caps; color: #6C5D7B; text-shadow: 0px 0px 5px #9475B2;">[!]</span>{% endif %} <a href="{% if forum.type == 2 %}{{ forum.link }}{% else %}{{ route('forums.forum', forum.id) }}{% endif %}" class="default">{{ forum.name }}</a>
{% if forum.unread(user.id) %}<span style="font-variant: small-caps; color: #6C5D7B; text-shadow: 0px 0px 5px #9475B2;">[!]</span>{% endif %} <a href="{% if forum.type == 2 %}{{ forum.link }}{% else %}{{ route('forums.forum', forum.id) }}{% endif %}">{{ forum.name }}</a>
{% endfor %}
</div>
{% endif %}
@ -23,8 +23,8 @@
<div class="forumLastPost">
<div>
{% if forum.lastPost.id %}
<a href="{{ route('forums.topic', forum.lastPost.topic) }}" class="default">{{ forum.lastPost.subject|slice(0, 30) }}{% if forum.lastPost.subject|length > 30 %}...{% endif %}</a><br>
<time class="time-ago" datetime="{{ forum.lastPost.time|date('r') }}">{{ forum.lastPost.time|date(config('general.date_format')) }}</time> by {% if forum.lastPost.poster.id %}<a href="{{ route('user.profile', forum.lastPost.poster.id) }}" class="default" style="color: {{ forum.lastPost.poster.colour }}; text-shadow: 0 0 5px {% if forum.lastPost.poster.colour != 'inherit' %}{{ forum.lastPost.poster.colour }}{% else %}#222{% endif %};">{{ forum.lastPost.poster.username }}</a>{% else %}[deleted user]{% endif %} <a href="{{ route('forums.post', forum.lastPost.id) }}" class="default fa fa-tag"></a>
<a href="{{ route('forums.topic', forum.lastPost.topic) }}">{{ forum.lastPost.subject|slice(0, 30) }}{% if forum.lastPost.subject|length > 30 %}...{% endif %}</a><br>
<time class="time-ago" datetime="{{ forum.lastPost.time|date('r') }}">{{ forum.lastPost.time|date(config('general.date_format')) }}</time> by {% if forum.lastPost.poster.id %}<a href="{{ route('user.profile', forum.lastPost.poster.id) }}" style="color: {{ forum.lastPost.poster.colour }}; text-shadow: 0 0 5px {% if forum.lastPost.poster.colour != 'inherit' %}{{ forum.lastPost.poster.colour }}{% else %}#222{% endif %};">{{ forum.lastPost.poster.username }}</a>{% else %}[deleted user]{% endif %} <a href="{{ route('forums.post', forum.lastPost.id) }}" class="fa fa-tag"></a>
{% else %}
There are no posts in this forum.<br>&nbsp;
{% endif %}

View file

@ -1,15 +1,15 @@
{% if forumSticky is defined %}
<a class="forumbtn" title="{{ forumSticky ? 'Unsticky' : 'Sticky' }}" href="{{ route('forums.topic.sticky', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumSticky ? 'remove' : 'thumb-tack' }}"></span></a>
<a class="input__button" title="{{ forumSticky ? 'Unsticky' : 'Sticky' }}" href="{{ route('forums.topic.sticky', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumSticky ? 'remove' : 'thumb-tack' }}"></span></a>
{% endif %}
{% if forumAnnounce is defined %}
<a class="forumbtn" title="{{ forumAnnounce ? 'Unannounce' : 'Announce' }}" href="{{ route('forums.topic.announce', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumAnnounce ? 'remove' : 'bullhorn' }}"></span></a>
<a class="input__button" title="{{ forumAnnounce ? 'Unannounce' : 'Announce' }}" href="{{ route('forums.topic.announce', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumAnnounce ? 'remove' : 'bullhorn' }}"></span></a>
{% endif %}
{% if forumLock is defined %}
<a class="forumbtn" title="{{ forumLock ? 'Unlock' : 'Lock' }}" href="{{ route('forums.topic.lock', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumLock ? 'unlock' : 'lock' }}"></span></a>
<a class="input__button" title="{{ forumLock ? 'Unlock' : 'Lock' }}" href="{{ route('forums.topic.lock', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumLock ? 'unlock' : 'lock' }}"></span></a>
{% endif %}
{% if forumRestore is defined %}
<a class="forumbtn" title="Restore" href="{{ route('forums.topic.restore', topic.id) }}?session={{ session_id() }}"><span class="fa fa-history"></span></a>
<a class="input__button" title="Restore" href="{{ route('forums.topic.restore', topic.id) }}?session={{ session_id() }}"><span class="fa fa-history"></span></a>
{% endif %}
{% if forumTrash is defined or forumPrune is defined %}
<a class="forumbtn" title="{{ forumPrune is defined ? 'Prune' : 'Trash' }}" href="{{ route('forums.topic.delete', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumPrune is defined ? 'bomb' : 'trash' }}"></span></a>
<a class="input__button" title="{{ forumPrune is defined ? 'Prune' : 'Trash' }}" href="{{ route('forums.topic.delete', topic.id) }}?session={{ session_id() }}"><span class="fa fa-{{ forumPrune is defined ? 'bomb' : 'trash' }}"></span></a>
{% endif %}

View file

@ -16,20 +16,20 @@
<div id="reply">
<form id="postingForm" method="post" action="{{ postingAction }}">
<div class="posting-subject" id="postingTitleContainer"{% if titleCache is not defined %} style="display: none;"{% endif %}>
<input type="text" class="inputStyling" name="title" id="postingTitle" placeholder="Title" value="{{ titleCache is defined ? titleCache : '' }}">
<input type="text" class="input__text" name="title" id="postingTitle" placeholder="Title" value="{{ titleCache is defined ? titleCache : '' }}">
</div>
<div class="posting-text">
<textarea class="inputStyling" name="text" id="postingText" placeholder="Hit ctrl+enter to submit quickly!"{% if titleCache is defined %} autofocus{% endif %}>{{ textCache }}</textarea>
<textarea class="input__text" name="text" id="postingText" placeholder="Hit ctrl+enter to submit quickly!"{% if titleCache is defined %} autofocus{% endif %}>{{ textCache }}</textarea>
</div>
<div class="posting-buttons">
<div style="float: left;">
{% for code,meta in bbcode %}
<button onclick="Sakura.Editor.InsertBBCode(Sakura.DOM.ID('postingText'), '{{ code }}'{% if meta[2] is defined %}, true{% endif %});" type="button"{% if meta[0] %} title="{{ meta[0] }}"{% endif %} class="forumbtn{% if meta[1] %} fa fa-{{ meta[1] }}{% endif %}">{% if not meta[1] %}{{ code }}{% endif %}</button>
<button onclick="Sakura.Editor.InsertBBCode(Sakura.DOM.ID('postingText'), '{{ code }}'{% if meta[2] is defined %}, true{% endif %});" type="button"{% if meta[0] %} title="{{ meta[0] }}"{% endif %} class="input__button{% if meta[1] %} fa fa-{{ meta[1] }}{% endif %}">{% if not meta[1] %}{{ code }}{% endif %}</button>
{% endfor %}
</div>
<div style="float: right;">
<button class="forumbtn fa fa-remove" title="Stop editing" style="display: none;" type="button" onclick="stopEdit();" id="postingStopEditing"></button>
<button class="forumbtn fa fa-send" title="Reply"></button>
<button class="input__button fa fa-remove" title="Stop editing" style="display: none;" type="button" onclick="stopEdit();" id="postingStopEditing"></button>
<button class="input__button fa fa-send" title="Reply"></button>
</div>
<div class="clear"></div>
</div>

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>
</td>
<td class="topicTitle{% if topic.type == 2 %} topicAnnouncement{% endif %}">
<a href="{{ route('forums.topic', topic.id) }}" class="default">{{ topic.title }}</a>
<a href="{{ route('forums.topic', topic.id) }}">{{ topic.title }}</a>
</td>
<td class="topicAuthor{% if topic.type == 2 %} topicAnnouncement{% endif %}">
{% if topic.firstPost.poster.id %}
<a href="{{ route('user.profile', topic.firstPost.poster.id) }}" class="default" style="color: {{ topic.firstPost.poster.colour }}; text-shadow: 0 0 5px {% if topic.firstPost.poster.colour != 'inherit' %}{{ topic.firstPost.poster.colour }}{% else %}#222{% endif %};">{{ topic.firstPost.poster.username }}</a>
<a href="{{ route('user.profile', topic.firstPost.poster.id) }}" style="color: {{ topic.firstPost.poster.colour }}; text-shadow: 0 0 5px {% if topic.firstPost.poster.colour != 'inherit' %}{{ topic.firstPost.poster.colour }}{% else %}#222{% endif %};">{{ topic.firstPost.poster.username }}</a>
{% else %}
[deleted user]
{% endif %}
@ -18,10 +18,10 @@
</td>
<td class="topicLast{% if topic.type == 2 %} topicAnnouncement{% endif %}">
{% if topic.lastPost.poster.id %}
<a href="{{ route('user.profile', topic.lastPost.poster.id) }}" class="default" style="color: {{ topic.lastPost.poster.colour }}; text-shadow: 0 0 5px {% if topic.lastPost.poster.colour != 'inherit' %}{{ topic.lastPost.poster.colour }}{% else %}#222{% endif %};">{{ topic.lastPost.poster.username }}</a>
<a href="{{ route('user.profile', topic.lastPost.poster.id) }}" style="color: {{ topic.lastPost.poster.colour }}; text-shadow: 0 0 5px {% if topic.lastPost.poster.colour != 'inherit' %}{{ topic.lastPost.poster.colour }}{% else %}#222{% endif %};">{{ topic.lastPost.poster.username }}</a>
{% else %}
[deleted user]
{% endif %} <a href="{{ route('forums.post', topic.lastPost.id) }}" class="default fa fa-tag"></a><br>
{% endif %} <a href="{{ route('forums.post', topic.lastPost.id) }}" class="fa fa-tag"></a><br>
<time class="time-ago" datetime="{{ topic.lastPost.time|date('r') }}">{{ topic.lastPost.time|date(config('general.date_format')) }}</time>
</td>
</tr>

View file

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

View file

@ -4,9 +4,9 @@
{% block content %}
<div class="content homepage forum">
<div class="content__right">
<div class="content--right">
<div id="forumIndexPopularTopics">
<div class="head">Popular topics</div>
<div class="content__header content__header--alt">Popular topics</div>
<table class="panelTable" style="border-spacing: 0;">
<tr>
<th>Title</th>
@ -15,15 +15,15 @@
{% for _t in activeTopics %}
<tr {% if _t.unread(user.id) %}style="font-weight: bold;"{% endif %}>
<td style="text-align: left; border-bottom: 1px solid #9475b2;">
<a href="{{ route('forums.topic', _t.id) }}" class="default">{{ _t.title }}</a>
<a href="{{ route('forums.topic', _t.id) }}">{{ _t.title }}</a>
</td>
<td class="rightAlign" style="border-bottom: 1px solid #9475b2;"><time class="time-ago" datetime="{{ _t.lastPost.time|date('r') }}">{{ _t.lastPost.time|date(config('general.date_format')) }}</time></td>
<td style="text-align: right; border-bottom: 1px solid #9475b2;"><time class="time-ago" datetime="{{ _t.lastPost.time|date('r') }}">{{ _t.lastPost.time|date(config('general.date_format')) }}</time></td>
</tr>
{% endfor %}
</table>
</div>
<div id="forumIndexNewPosts">
<div class="head">Latest posts</div>
<div class="content__header content__header--alt">Latest posts</div>
<table class="panelTable" style="border-spacing: 0;">
<tr>
<th>Title &amp; user</th>
@ -32,22 +32,22 @@
{% for _p in latestPosts %}
<tr {% if _p.unread(user.id) %}style="font-weight: bold;"{% endif %}>
<td style="text-align: left; border-bottom: 1px solid #9475b2;">
<a href="{{ route('forums.post', _p.id) }}" class="default">{{ _p.subject }}</a>
<a href="{{ route('forums.post', _p.id) }}">{{ _p.subject }}</a>
by
<a href="{{ route('user.profile', _p.poster.id) }}" class="default"><span style="color: {{ _p.poster.colour }};">{{ _p.poster.username }}</span></a>
<a href="{{ route('user.profile', _p.poster.id) }}"><span style="color: {{ _p.poster.colour }};">{{ _p.poster.username }}</span></a>
</td>
<td class="rightAlign" style="border-bottom: 1px solid #9475b2;"><time class="time-ago" datetime="{{ _p.time|date('r') }}">{{ _p.time|date(config('general.date_format')) }}</time></td>
<td style="text-align: right; border-bottom: 1px solid #9475b2;"><time class="time-ago" datetime="{{ _p.time|date('r') }}">{{ _p.time|date(config('general.date_format')) }}</time></td>
</tr>
{% endfor %}
</table>
</div>
<div id="forumMostActivePoster">
<div class="head">Today's most active poster</div>
<div class="content__header content__header--alt">Today's most active poster</div>
{% if activePoster.id %}
<a class="clean" href="{{ route('user.profile', activePoster.id) }}">
<div class="user-container" style="background-image: url({{ route('user.header', activePoster.id) }});">
<div class="default-avatar-setting user-container-avatar" style="background-image: url({{ route('user.avatar', activePoster.id) }}); box-shadow: 0 0 5px #{% if activePoster.isOnline %}484{% else %}844{% endif %};"></div>
<div class="user-container-info">
<a href="{{ route('user.profile', activePoster.id) }}" class="link link--clean">
<div class="user" style="background-image: url({{ route('user.header', activePoster.id) }});">
<div class="avatar avatar--border user__avatar" style="background-image: url({{ route('user.avatar', activePoster.id) }}); box-shadow: 0 0 5px #{% if activePoster.isOnline %}484{% else %}844{% endif %};"></div>
<div class="user__info">
<h1 style="color: {{ activePoster.colour }}; text-shadow: 0 0 7px {% if activePoster.colour != 'inherit' %}{{ activePoster.colour }}{% else %}#222{% endif %}; padding: 0 0 2px;" {% if activePoster.getUsernameHistory %} title="Known as {{ activePoster.getUsernameHistory[0].username_old }} before {{ activePoster.getUsernameHistory[0].change_time|date(config('general.date_format')) }}." {% endif %}>{{ activePoster.username }}</h1>
{% if activePoster.isPremium %}<img src="/images/tenshi.png" alt="Tenshi" style="vertical-align: middle;"> {% endif %}<img src="/images/flags/{{ activePoster.country|lower }}.png" alt="{{ activePoster.country }}" style="vertical-align: middle;" title="{{ activePoster.country(true) }}"> <span style="font-size: .8em;">{{ activePoster.title }}</span>
</div>
@ -58,7 +58,7 @@
{% endif %}
</div>
</div>
<div class="content__left">
<div class="content--left">
{% include 'forum/elements/forumBase.twig' %}
</div>
<div class="clear"></div>

View file

@ -90,102 +90,100 @@
{% endblock %}
{% block content %}
<div class="content homepage forum viewtopic">
<div class="content-column">
<div class="head">{{ forum.name }} / <span id="topicTitle">{{ topic.title|default(null) }}</span></div>
{% include 'forum/elements/forumBtns.twig' %}
<table class="posts">
{% if topic is defined %}
{% set textCache = session.replyText['t' ~ topic.id]|default(null) %}
{% set postingAction = route('forums.topic.reply', topic.id) %}
<div class="content forum viewtopic">
<div class="content__header">{{ forum.name }} / <span id="topicTitle">{{ topic.title|default(null) }}</span></div>
{% include 'forum/elements/forumBtns.twig' %}
<table class="posts">
{% if topic is defined %}
{% set textCache = session.replyText['t' ~ topic.id]|default(null) %}
{% set postingAction = route('forums.topic.reply', topic.id) %}
{% for post in posts[get.page|default(1) - 1] %}
<tr class="post" id="p{{ post.id }}">
<td class="userpanel">
{% if post.poster.activated or post.poster.restricted %}<a href="{{ route('user.profile', post.poster.id) }}" class="default username" style="color: {{ post.poster.colour }}; text-shadow: 0 0 5px {% if post.poster.colour != 'inherit' %}{{ post.poster.colour }}{% else %}#222{% endif %};" title="Go to {{ post.poster.username }}'s profile">{{ post.poster.username }}</a>
<img src="{{ route('user.avatar', post.poster.id) }}" alt="{{ post.poster.username }}" class="avatar" style="box-shadow: 0 3px 7px #{% if post.poster.isOnline %}484{% else %}844{% endif %};">
{% else %}
<a class="username">[deleted user]</a>
{% endif %}
<div class="userdata">
<div class="usertitle">{{ post.poster.title }}</div>
<img src="/images/tenshi.png" alt="Tenshi"{% if not post.poster.isPremium %} style="opacity: 0;"{% endif %}> <img src="/images/flags/{{ post.poster.country|lower }}.png" alt="{{ post.poster.country(true) }}">{% if post.poster.id == (topic.posts|first).poster.id %} <img src="/images/op.png" alt="OP" title="Original Poster">{% endif %}
{% if user.isActive %}
<div class="actions">
{% if (user.id == post.poster.id and forum.perms.edit) or forum.perms.editAny %}
<a class="fa fa-pencil-square-o" title="Edit this post" href="javascript:void(0);" onclick="editPost({{ post.id }});"></a>
{% endif %}
{% if (user.id == post.poster.id and forum.perms.delete) or forum.perms.deleteAny %}
<a class="fa fa-trash" title="Delete this post" href="javascript:;" onclick="deletePost({{ post.id }})"></a>
{% endif %}
{% if not (post.poster.activated or post.poster.restricted or user.id == post.poster.id) %}
<a class="fa fa-{% if user.isFriends(post.poster.id) == 2 %}heart{% else %}star{% endif %} friend-{{ post.poster.id }}-level" title="You are friends" {% if user.isFriends(post.poster.id) == 0 %}style="display: none;"{% endif %}></a>
<a class="fa fa-user-{% if user.isFriends(post.poster.id) == 0 %}plus{% else %}times{% endif %} forum-friend-toggle friend-{{ post.poster.id }}-toggle" title="{% if user.isFriends(post.poster.id) == 0 %}Add {{ post.poster.username }} as a friend{% else %}Remove friend{% endif %}" href="javascript:void(0);" onclick="Sakura.Friend.{% if user.isFriends(post.poster.id) == 0 %}Add({{ post.poster.id }}){% else %}Remove({{ post.poster.id }}){% endif %}"></a>
<a class="fa fa-flag" title="Report {{ post.poster.username }}" href="{{ route('user.report', post.poster.id) }}"></a>
{% endif %}
<a class="fa fa-reply" title="Quote this post" href="javascript:void(0);" onclick="Sakura.Editor.QuotePost({{ post.id }}, '{{ post.poster.username }}', pText);"></a>
</div>
{% endif %}
</div>
</td>
<td class="post-content">
<div class="details">
<div class="subject">
<a href="#p{{ post.id }}" class="clean">{{ post.subject|slice(0, 50) }}{% if post.subject|length > 50 %}...{% endif %}</a>
</div>
<div class="date">
<a href="{{ route('forums.post', post.id) }}" class="clean">#{{ post.id }} - <time class="time-ago" datetime="{{ post.time|date('r') }}">{{ post.time|date(config('general.date_format')) }}</time></a>
</div>
<div class="clear"></div>
</div>
<div class="post-text bbcode">
{{ post.parsed|raw }}
</div>
{% if post.poster.signature and post.poster.perms.changeSignature %}
<div class="clear"></div>
<div class="signature bbcode">
{{ post.poster.signature()|raw|nl2br }}
</div>
{% endif %}
</td>
</tr>
{% endfor %}
{% else %}
{% set titleCache = session.replyText['f' ~ forum.id].title|default('') %}
{% set textCache = session.replyText['f' ~ forum.id].text|default('') %}
{% set postingAction = route('forums.new', forum.id) %}
{% endif %}
{% if forumReplyLink is defined or topic is not defined %}
<tr class="post" id="postingPreview" style="display: none;">
{% for post in posts[get.page|default(1) - 1] %}
<tr class="post" id="p{{ post.id }}">
<td class="userpanel">
<a class="default username" href="{{ route('user.profile', user.id) }}" style="color: {{ user.colour }}; text-shadow: 0 0 5px {% if user.colour != 'inherit' %}{{ user.colour }}{% else %}#222{% endif %};" title="Go to {{ user.username }}'s profile">{{ user.username }}</a>
<img src="{{ route('user.avatar', user.id) }}" alt="{{ user.username }}" class="avatar" style="box-shadow: 0 3px 7px #484;">
{% if post.poster.activated or post.poster.restricted %}<a href="{{ route('user.profile', post.poster.id) }}" style="color: {{ post.poster.colour }}; text-shadow: 0 0 5px {% if post.poster.colour != 'inherit' %}{{ post.poster.colour }}{% else %}#222{% endif %};" title="Go to {{ post.poster.username }}'s profile">{{ post.poster.username }}</a>
<img src="{{ route('user.avatar', post.poster.id) }}" alt="{{ post.poster.username }}" class="avatar" style="box-shadow: 0 3px 7px #{% if post.poster.isOnline %}484{% else %}844{% endif %};">
{% else %}
<a class="username">[deleted user]</a>
{% endif %}
<div class="userdata">
<div class="usertitle">{{ user.title }}</div>
<img src="/images/tenshi.png" alt="Tenshi"{% if not user.isPremium %} style="opacity: 0;"{% endif %}> <img src="/images/flags/{{ user.country|lower }}.png" alt="{{ user.country(true) }}">{% if topic is defined and user.id == (topic.posts|first).poster.id %} <img src="/images/op.png" alt="OP" title="Original Poster">{% endif %}
<div class="usertitle">{{ post.poster.title }}</div>
<img src="/images/tenshi.png" alt="Tenshi"{% if not post.poster.isPremium %} style="opacity: 0;"{% endif %}> <img src="/images/flags/{{ post.poster.country|lower }}.png" alt="{{ post.poster.country(true) }}">{% if post.poster.id == (topic.posts|first).poster.id %} <img src="/images/op.png" alt="OP" title="Original Poster">{% endif %}
{% if user.isActive %}
<div class="actions">
{% if (user.id == post.poster.id and forum.perms.edit) or forum.perms.editAny %}
<a class="fa fa-pencil-square-o" title="Edit this post" href="javascript:void(0);" onclick="editPost({{ post.id }});"></a>
{% endif %}
{% if (user.id == post.poster.id and forum.perms.delete) or forum.perms.deleteAny %}
<a class="fa fa-trash" title="Delete this post" href="javascript:;" onclick="deletePost({{ post.id }})"></a>
{% endif %}
{% if not (post.poster.activated or post.poster.restricted or user.id == post.poster.id) %}
<a class="fa fa-{% if user.isFriends(post.poster.id) == 2 %}heart{% else %}star{% endif %} friend-{{ post.poster.id }}-level" title="You are friends" {% if user.isFriends(post.poster.id) == 0 %}style="display: none;"{% endif %}></a>
<a class="fa fa-user-{% if user.isFriends(post.poster.id) == 0 %}plus{% else %}times{% endif %} forum-friend-toggle friend-{{ post.poster.id }}-toggle" title="{% if user.isFriends(post.poster.id) == 0 %}Add {{ post.poster.username }} as a friend{% else %}Remove friend{% endif %}" href="javascript:void(0);" onclick="Sakura.Friend.{% if user.isFriends(post.poster.id) == 0 %}Add({{ post.poster.id }}){% else %}Remove({{ post.poster.id }}){% endif %}"></a>
<a class="fa fa-flag" title="Report {{ post.poster.username }}" href="{{ route('user.report', post.poster.id) }}"></a>
{% endif %}
<a class="fa fa-reply" title="Quote this post" href="javascript:void(0);" onclick="Sakura.Editor.QuotePost({{ post.id }}, '{{ post.poster.username }}', pText);"></a>
</div>
{% endif %}
</div>
</td>
<td class="post-content">
<div class="details">
<div class="subject" id="previewTitle">{% if titleCache is not defined %}Re: {{ topic.title }}{% endif %}</div>
<div class="date" id="previewMode">Preview</div>
<div class="subject">
<a href="#p{{ post.id }}">{{ post.subject|slice(0, 50) }}{% if post.subject|length > 50 %}...{% endif %}</a>
</div>
<div class="date">
<a href="{{ route('forums.post', post.id) }}">#{{ post.id }} - <time class="time-ago" datetime="{{ post.time|date('r') }}">{{ post.time|date(config('general.date_format')) }}</time></a>
</div>
<div class="clear"></div>
</div>
<div class="post-text bbcode" id="previewText"></div>
{% if user.signature and user.perms.changeSignature %}
<div class="clear"></div>
<div class="signature bbcode">
{{ user.signature()|raw|nl2br }}
</div>
<div class="post-text bbcode">
{{ post.parsed|raw }}
</div>
{% if post.poster.signature and post.poster.perms.changeSignature %}
<div class="clear"></div>
<div class="signature bbcode">
{{ post.poster.signature()|raw|nl2br }}
</div>
{% endif %}
</td>
</tr>
{% endif %}
</table>
{% if forumReplyLink is defined or topic is not defined %}
{% include 'forum/elements/replyForm.twig' %}
{% endfor %}
{% else %}
{% set titleCache = session.replyText['f' ~ forum.id].title|default('') %}
{% set textCache = session.replyText['f' ~ forum.id].text|default('') %}
{% set postingAction = route('forums.new', forum.id) %}
{% endif %}
{% include 'forum/elements/forumBtns.twig' %}
</div>
{% if forumReplyLink is defined or topic is not defined %}
<tr class="post" id="postingPreview" style="display: none;">
<td class="userpanel">
<a href="{{ route('user.profile', user.id) }}" style="color: {{ user.colour }}; text-shadow: 0 0 5px {% if user.colour != 'inherit' %}{{ user.colour }}{% else %}#222{% endif %};" title="Go to {{ user.username }}'s profile">{{ user.username }}</a>
<img src="{{ route('user.avatar', user.id) }}" alt="{{ user.username }}" class="avatar" style="box-shadow: 0 3px 7px #484;">
<div class="userdata">
<div class="usertitle">{{ user.title }}</div>
<img src="/images/tenshi.png" alt="Tenshi"{% if not user.isPremium %} style="opacity: 0;"{% endif %}> <img src="/images/flags/{{ user.country|lower }}.png" alt="{{ user.country(true) }}">{% if topic is defined and user.id == (topic.posts|first).poster.id %} <img src="/images/op.png" alt="OP" title="Original Poster">{% endif %}
</div>
</td>
<td class="post-content">
<div class="details">
<div class="subject" id="previewTitle">{% if titleCache is not defined %}Re: {{ topic.title }}{% endif %}</div>
<div class="date" id="previewMode">Preview</div>
<div class="clear"></div>
</div>
<div class="post-text bbcode" id="previewText"></div>
{% if user.signature and user.perms.changeSignature %}
<div class="clear"></div>
<div class="signature bbcode">
{{ user.signature()|raw|nl2br }}
</div>
{% endif %}
</td>
</tr>
{% endif %}
</table>
{% if forumReplyLink is defined or topic is not defined %}
{% include 'forum/elements/replyForm.twig' %}
{% endif %}
{% include 'forum/elements/forumBtns.twig' %}
</div>
{% endblock %}

View file

@ -6,9 +6,9 @@
<div class="content content--alt">
<div>
<h1>Information</h1>
<hr class="default">
<hr>
{{ message|default('') }}
{% if redirect is defined %}<br><a href="{{ redirect }}" class="default">Click here if you aren't being redirected.</a>{% endif %}
{% if redirect is defined %}<br><a href="{{ redirect }}">Click here if you aren't being redirected.</a>{% endif %}
</div>
</div>
{% endblock %}

View file

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

View file

@ -18,7 +18,13 @@
{{ block('js') }}
</head>
<body>
<div id="container" class="container">
<div
id="container"
class="container"
{% if profile is defined ? profile.background : (user.perms.changeBackground and (user.backgroundSitewide or showBG|default(false)) and user.background) %}
style="background-image: url('{{ route('user.background', (profile is defined ? profile : user).id) }}'); "
{% endif %}
>
<span id="top"></span>
<div id="busy-window" class="busy hidden">
<div class="busy__content">
@ -36,31 +42,29 @@
</a>
<div class="header__menu">
<div class="header__menu--left" id="navMenuSite">
<!-- Navigation menu, displayed on left side of the bar. -->
<a class="header__menu-item fa-home" href="{{ route('main.index') }}" title="Home"></a>
<a class="header__menu-item fa-newspaper-o" href="{{ route('news.category') }}" title="News"></a>
<a class="header__menu-item fa-commenting" href="{{ route('chat.redirect') }}" title="Chat"></a>
<a class="header__menu-item fa-list" href="{{ route('forums.index') }}" title="Forums"></a>
<a class="header__menu-item fa-search" href="{{ route('main.search') }}" title="Search"></a>
<a class="header__menu-item fa fa-home" href="{{ route('main.index') }}" title="Home"></a>
<a class="header__menu-item fa fa-newspaper-o" href="{{ route('news.category') }}" title="News"></a>
<a class="header__menu-item fa fa-commenting" href="{{ route('chat.redirect') }}" title="Chat"></a>
<a class="header__menu-item fa fa-list" href="{{ route('forums.index') }}" title="Forums"></a>
<a class="header__menu-item fa fa-search" href="{{ route('main.search') }}" title="Search"></a>
{% if user.isActive %}
<a class="header__menu-item fa-users" href="{{ route('members.index') }}" title="Members"></a>
<a class="header__menu-item fa-heart" href="{{ route('premium.index') }}" title="Support us"></a>
<a class="header__menu-item fa fa-users" href="{{ route('members.index') }}" title="Members"></a>
<a class="header__menu-item fa fa-heart" href="{{ route('premium.index') }}" title="Support us"></a>
{% endif %}
</div>
<div class="header__menu--right" id="navMenuUser">
<!-- User menu, displayed on right side of the bar. -->
{% if user.isActive %}
<a class="header__menu-item header__menu-item--avatar" href="{{ route('user.profile', user.id) }}" title="Logged in as {{ user.username }}" style="background-image: url('{{ route('user.avatar', user.id) }}'); width: auto; color: {{ user.colour }}; border-color: {{ user.colour }}; font-weight: 700;"></a>
<a class="header__menu-item fa-envelope" href="#" title="Messages"></a>
<a class="header__menu-item fa-bell" href="javascript:;" title="Notifications"></a>
<a class="header__menu-item header__menu-item--avatar avatar" href="{{ route('user.profile', user.id) }}" title="Logged in as {{ user.username }}" style="background-image: url('{{ route('user.avatar', user.id) }}'); width: auto; color: {{ user.colour }}; border-color: {{ user.colour }}; font-weight: 700;"></a>
<a class="header__menu-item fa fa-envelope" href="#" title="Messages"></a>
<a class="header__menu-item fa fa-bell" href="javascript:;" title="Notifications"></a>
{% if user.perms.isMod or user.perms.isAdmin %}
<a class="header__menu-item fa-gavel" href="{{ route('manage.index') }}" title="Manage"></a>
<a class="header__menu-item fa fa-gavel" href="{{ route('manage.index') }}" title="Manage"></a>
{% endif %}
<a class="header__menu-item fa-cogs" href="{{ route('settings.index') }}" title="Settings"></a>
<a class="header__menu-item fa-sign-out" href="{{ route('auth.logout') }}" title="Logout"></a>
<a class="header__menu-item fa fa-cogs" href="{{ route('settings.index') }}" title="Settings"></a>
<a class="header__menu-item fa fa-sign-out" href="{{ route('auth.logout') }}" title="Logout"></a>
{% else %}
<a class="header__menu-item fa-magic" href="{{ route('auth.register') }}" title="Register"></a>
<a class="header__menu-item fa-sign-in" href="{{ route('auth.login') }}" title="Login"></a>
<a class="header__menu-item fa fa-magic" href="{{ route('auth.register') }}" title="Register"></a>
<a class="header__menu-item fa fa-sign-in" href="{{ route('auth.login') }}" title="Login"></a>
{% endif %}
</div>
</div>
@ -69,49 +73,45 @@
<div id="notifications" class="alerts"></div>
<div id="dialogues" class="dialogues"></div>
{% if profile is defined ? profile.background : (user.perms.changeBackground and (user.backgroundSitewide or showBG|default(false)) and user.background) %}
<div id="userBackground" style="background-image: url('{{ route('user.background', (profile is defined ? profile : user).id) }}');"></div>
{% endif %}
{% if not user.isActive and server['REQUEST_URI'] != route('auth.login') %}
<div class="headerLoginContainer">
<form method="post" action="{{ route('auth.login') }}" id="headerLoginForm">
<div class="header-login">
<form method="post" action="{{ route('auth.login') }}">
<input type="hidden" name="redirect" value="{{ server['REQUEST_URI'] }}">
<div>
<label for="headerLoginUserName">Username:</label>
<input type="text" id="headerLoginUserName" name="username" class="inputStyling" placeholder="Username">
</div>
<div>
<label for="headerLoginPassword">Password:</label>
<input type="password" id="headerLoginPassword" name="password" class="inputStyling" placeholder="Password">
</div>
<div>
<input type="checkbox" name="remember" id="headerLoginRemember">
<label for="headerLoginRemember">Remember me</label>
</div>
<div>
<button class="inputStyling small" name="session" value="{{ session_id() }}"><i class="fa fa-sign-in"></i> Login</button>
</div>
<label class="header-login__label">
Username:
<input type="text" name="username" class="input__text header-login__text" placeholder="Username">
</label>
<label class="header-login__label">
Password:
<input type="password" name="password" class="input__text header-login__text" placeholder="Password">
</label>
<label class="header-login__label">
<input type="checkbox" name="remember">
Remember me
</label>
<button class="input__button header-login__button" name="session" value="{{ session_id() }}">
<i class="fa fa-sign-in"></i> Login
</button>
</form>
</div>
{% endif %}
{% if user.restricted %}
<div class="headerNotify" style="background: repeating-linear-gradient(-45deg, #B33, #B33 10px, #B00 10px, #B00 20px); color: #FFF; border: 1px solid #C00; box-shadow: 0 0 3px #C00;">
<div class="announce-box announce-box--restricted" style="background: repeating-linear-gradient(-45deg, #B33, #B33 10px, #B00 10px, #B00 20px); color: #FFF; border: 1px solid #C00; box-shadow: 0 0 3px #C00;">
<h1>Your account is currently in <span style="font-weight: 700 !important;">restricted mode</span>!</h1>
<div>A staff member has set your account to restricted mode most likely due to violation of the rules. While restricted you won't be able to use most public features of the site. If you think this is a mistake please <a href="{{ route('info.contact') }}" style="color: inherit;">get in touch with one of our staff members</a>.</div>
</div>
{% endif %}
<noscript>
<div class="headerNotify">
<div class="announce-box">
<h1>You have JavaScript disabled!</h1>
<div>A lot of things are not going to work without it so I recommend you turn it on or use a capable browser.</div>
</div>
</noscript>
{% if config('general.cover') %}
<div class="headerAnnouncement" style="background-image: url('{{ config('general.cover') }}');"></div>
<div class="announce-box announce-box--header" style="background-image: url('{{ config('general.cover') }}');"></div>
{% endif %}
{% block content %}
@ -120,30 +120,30 @@
</div>
<div class="footer">
<div class="footer__sections">
<div class="footer__copyright">Powered by <a href="https://github.com/flashwave/sakura/">Sakura</a> &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">
<li class="footer_item footer_item--head">General</li>
<li class="footer_item"><a class="footer_link" href="{{ route('main.index') }}">Home</a></li>
<li class="footer_item"><a class="footer_link" href="{{ route('news.category') }}">News</a></li>
<li class="footer_item"><a class="footer_link" href="{{ route('main.search') }}">Search</a></li>
<li class="footer_item"><a class="footer_link" href="{{ route('info.contact') }}">Contact</a></li>
<li class="footer_item"><a class="footer_link" href="https://sakura.flash.moe">Changelog</a></li>
<li class="footer_item"><a class="footer_link" href="{{ route('premium.index') }}">Support us</a></li>
<li class="footer__item footer__item--head">General</li>
<li class="footer__item"><a class="footer__link" href="{{ route('main.index') }}">Home</a></li>
<li class="footer__item"><a class="footer__link" href="{{ route('news.category') }}">News</a></li>
<li class="footer__item"><a class="footer__link" href="{{ route('main.search') }}">Search</a></li>
<li class="footer__item"><a class="footer__link" href="{{ route('info.contact') }}">Contact</a></li>
<li class="footer__item"><a class="footer__link" href="https://sakura.flash.moe">Changelog</a></li>
<li class="footer__item"><a class="footer__link" href="{{ route('premium.index') }}">Support us</a></li>
</ul>
<ul class="footer__section">
<li class="footer_item footer_item--head">Community</li>
<li class="footer_item"><a class="footer_link" href="{{ route('forums.index') }}">Forums</a></li>
<li class="footer_item"><a class="footer_link" href="https://twitter.com/_flashii">Twitter</a></li>
<li class="footer_item"><a class="footer_link" href="https://youtube.com/user/flashiinet">YouTube</a></li>
<li class="footer_item"><a class="footer_link" href="https://steamcommunity.com/groups/flashiinet">Steam</a></li>
<li class="footer_item"><a class="footer_link" href="https://github.com/aitemu">GitHub</a></li>
<li class="footer__item footer__item--head">Community</li>
<li class="footer__item"><a class="footer__link" href="{{ route('forums.index') }}">Forums</a></li>
<li class="footer__item"><a class="footer__link" href="https://twitter.com/_flashii">Twitter</a></li>
<li class="footer__item"><a class="footer__link" href="https://youtube.com/user/flashiinet">YouTube</a></li>
<li class="footer__item"><a class="footer__link" href="https://steamcommunity.com/groups/flashiinet">Steam</a></li>
<li class="footer__item"><a class="footer__link" href="https://github.com/aitemu">GitHub</a></li>
</ul>
<ul class="footer__section">
<li class="footer_item footer_item--head">Information</li>
<li class="footer_item"><a class="footer_link" href="{{ route('main.faq') }}">FAQ</a></li>
<li class="footer_item"><a class="footer_link" href="{{ route('info.rules') }}">Rules</a></li>
<li class="footer_item"><a class="footer_link" href="{{ route('status.index') }}">Server Status</a></li>
<li class="footer_item"><a class="footer_link" href="{{ route('info.terms') }}">Terms of Service</a></li>
<li class="footer__item footer__item--head">Information</li>
<li class="footer__item"><a class="footer__link" href="{{ route('main.faq') }}">FAQ</a></li>
<li class="footer__item"><a class="footer__link" href="{{ route('info.rules') }}">Rules</a></li>
<li class="footer__item"><a class="footer__link" href="{{ route('status.index') }}">Server Status</a></li>
<li class="footer__item"><a class="footer__link" href="{{ route('info.terms') }}">Terms of Service</a></li>
</ul>
</div>
</div>

View file

@ -3,28 +3,26 @@
{% set title = 'You are banned!' %}
{% block content %}
<div class="content">
<div class="content-column news banned">
<div style="padding: 20px;">
<h1>You got dunked on!</h1>
{% if ban.reason %}
<h3>The following reason was supplied:</h3>
<p>
{{ ban.reason|raw }}
</p>
{% else %}
<h3>No reason was supplied.</h3>
<div class="content banned">
<div style="padding: 20px;">
<h1>You got dunked on!</h1>
{% if ban.reason %}
<h3>The following reason was supplied:</h3>
<p class="banned__reason">
{{ ban.reason|raw }}
</p>
{% else %}
<h3>No reason was supplied.</h3>
{% endif %}
<br>
<h2>Additional information</h2>
<ul style="margin-left: 30px;">
<li>You were banned on {{ ban.issued|date(config('general.date_format')) }}.</li>
<li>{% if ban.expires %}This ban expires on {{ ban.expires|date(config('general.date_format')) }}.{% else %}<b>You are permanently banned.</b>{% endif %}</li>
{% if ban.expires %}
<li>You were banned by <a href="{{ route('user.profile', ban.issuer.id) }}">{{ ban.issuer.username }}</a>.</li>
{% endif %}
<br>
<h2>Additional information</h2>
<ul style="margin-left: 30px;">
<li>You were banned on {{ ban.issued|date(config('general.date_format')) }}.</li>
<li>{% if ban.expires %}This ban expires on {{ ban.expires|date(config('general.date_format')) }}.{% else %}<b>You are permanently banned.</b>{% endif %}</li>
{% if ban.expires %}
<li>You were banned by <a href="{{ route('user.profile', ban.issuer.id) }}" class="default">{{ ban.issuer.username }}</a>.</li>
{% endif %}
</ul>
</div>
</ul>
</div>
</div>
{% endblock %}

View file

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

View file

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

View file

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

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 %}
{% block content %}
<div class="content">
<div class="content-column news">
<div class="head">News</div>
{% for post in posts[get.page|default(1) - 1] %}
{% include 'elements/newsPost.twig' %}
{% endfor %}
{% if posts|length > 1 %}
<div>
{% include 'elements/pagination.twig' %}
<div class="clear"></div>
</div>
{% endif %}
</div>
<div class="content news">
<div class="content__header">News</div>
{% for post in posts[get.page|default(1) - 1] %}
{% include 'elements/newsPost.twig' %}
{% endfor %}
{% if posts|length > 1 %}
<div>
{% include 'elements/pagination.twig' %}
<div class="clear"></div>
</div>
{% endif %}
</div>
{% endblock %}

View file

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

View file

@ -13,7 +13,7 @@
{% block content %}
<div class="content support">
<div class="head">Support {{ config('general.name') }}</div>
<div class="content__header">Support {{ config('general.name') }}</div>
<div style="font-size: .9em; margin-bottom: 10px;">
<p>To keep the site and everything surrounding it running I need money to pay the bills, however instead of just having a donate button I decided on adding a premium system to the site which gives you a few extras. The premium rank is indentified on the site by Tenshi. More stuff that literally doesn't exist yet will be added to the list of featuring down the line but in order, the stuff that already exist can be seen further down on this page. With your help we can keep adding new stuff, get new hardware and keep the site awesome!</p>
</div>
@ -60,14 +60,14 @@
</div>
{% if user.isActive and user.verified %}
<div class="slider">
<input class="inputStyling" type="range" min="1" max="{{ amountLimit }}" value="1" onchange="document.getElementById('monthsNo').value = this.value; document.getElementById('monthNoBtn').innerText = this.value; document.getElementById('monthsTrailingS').innerText = (this.value == 1 ? '' : 's'); document.getElementById('totalAmount').innerText = (this.value * {{ price }});">
<input class="input__range" type="range" min="1" max="{{ amountLimit }}" value="1" onchange="document.getElementById('monthsNo').value = this.value; document.getElementById('monthNoBtn').innerText = this.value; document.getElementById('monthsTrailingS').innerText = (this.value == 1 ? '' : 's'); document.getElementById('totalAmount').innerText = (this.value * {{ price }});">
</div>
<div class="checkout" style="line-height: 28px;">
<div style="float: left;">
<h1>Total: &#8364;<span id="totalAmount"></span></h1>
</div>
<div style="float: right;">
<button class="inputStyling" onclick="Yuuno.Busy.Show(Yuuno.BusyMode.BUSY, 'Please wait...');document.getElementById('purchaseForm').submit();">Get <span id="monthNoBtn">1</span> month<span id="monthsTrailingS"></span> of Tenshi</button>
<button class="input__button" onclick="Yuuno.Busy.Show(Yuuno.BusyMode.BUSY, 'Please wait...');document.getElementById('purchaseForm').submit();">Get <span id="monthNoBtn">1</span> month<span id="monthsTrailingS"></span> of Tenshi</button>
</div>
<div class="clear"></div>
</div>

View file

@ -6,19 +6,19 @@
<div class="new-profile-mode-title">
<h1>Friends</h1>
</div>
<div class="profile-friends">
<div class="profile__friends">
{% if friends|length > 0 %}
{% for friend in friends[get.page|default(1) - 1] %}
<div class="friend-container" id="friendslist-friend-{{ friend.id }}">
<a class="friends-list-data clean" href="{{ route('user.profile', friend.id) }}">
<img src="{{ route('user.avatar', friend.id) }}" alt="{{ friend.username }}" class="friends-list-avatar default-avatar-setting" style="width: 150px; height: 150px;">
<div class="friends-list-name" style="color: {{ friend.colour }};">{{ friend.username }}</div>
</a>
</div>
<div class="friend-container" id="friendslist-friend-{{ friend.id }}">
<a class="friends-list-data" href="{{ route('user.profile', friend.id) }}">
<img src="{{ route('user.avatar', friend.id) }}" alt="{{ friend.username }}" class="friends-list-avatar avatar avatar--border" style="width: 150px; height: 150px;">
<div class="friends-list-name" style="color: {{ friend.colour }};">{{ friend.username }}</div>
</a>
</div>
{% endfor %}
<div class="clear"></div>
<div class="clear"></div>
{% else %}
<h1 style="text-align: center; margin: 2em auto;">This user has no friends :(</h1>
<h1 class="profile__friends--none">This user has no friends :(</h1>
{% endif %}
</div>
{% if friends|length > 1 %}

View file

@ -10,27 +10,27 @@
<form enctype="multipart/form-data" method="post" action="javascript:;" onsubmit="updateSettingsConfirm(this, '{{ route('settings.account.details') }}');">
<div class="profile-field">
<div><h2>E-mail address</h2></div>
<div><input type="text" name="email" placeholder="{{ user.email }}" class="inputStyling"></div>
<div><input type="text" name="email" placeholder="{{ user.email }}" class="input__text"></div>
</div>
{% if edit_usern %}
<div class="profile-field">
<div><h2>Username {% if last_name_change %}(last change was <time class="time-ago" datetime="{{ last_name_change|date('r') }}">{{ last_name_change|date(config('general.date_format')) }}</time>){% endif %}</h2></div>
<div><input type="text" name="username"{% if username_allow %} placeholder="At least {{ config('user.name_min') }} and at most {{ config('user.name_max') }} characters!"{% else %}disabled placeholder="You can't change your name right now!" {% endif %} class="inputStyling"></div>
<div><input type="text" name="username"{% if username_allow %} placeholder="At least {{ config('user.name_min') }} and at most {{ config('user.name_max') }} characters!"{% else %}disabled placeholder="You can't change your name right now!" {% endif %} class="input__text{% if username_allow %} input__text--disabled{% endif %}"></div>
</div>
{% endif %}
{% if edit_title %}
<div class="profile-field">
<div><h2>Title</h2></div>
<div><input type="text" name="title" placeholder="Max 64 characters, leaving this empty will actually reset it" class="inputStyling" value="{{ user.title }}"></div>
<div><input type="text" name="title" placeholder="Max 64 characters, leaving this empty will actually reset it" class="input__text" value="{{ user.title }}"></div>
</div>
{% endif %}
<div class="profile-field">
<div><h2>Password</h2></div>
<div><input type="password" name="password" placeholder="Must be at least decently strong, size doesn't matter" class="inputStyling"></div>
<div><input type="password" name="password" placeholder="Must be at least decently strong, size doesn't matter" class="input__text"></div>
</div>
<div class="profile-save">
<button value="{{ session_id() }}" name="session" class="inputStyling">Save</button>
<button type="reset" class="inputStyling">Reset</button>
<button value="{{ session_id() }}" name="session" class="input__button">Save</button>
<button type="reset" class="input__button">Reset</button>
</div>
</form>
{% endblock %}

View file

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

View file

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

View file

@ -8,13 +8,13 @@
{% block settingsContent %}
<div class="bbcode" id="settingsPreview" style="max-height: 500px; overflow-y: auto; background: #C2AEEE; box-shadow: inset 0 0 1em 1em #D3BFFF;">{{ user.signature()|raw|nl2br }}</div>
<hr class="default">
<hr>
<form enctype="multipart/form-data" method="post" action="{{ route('settings.account.signature') }}">
<div><textarea name="signature" id="settingsEditor" class="inputStyling" style="width: calc(100% - 12px); height: 400px;">{{ user.signature }}</textarea></div>
<div><textarea name="signature" id="settingsEditor" class="input__text" style="height: 400px;">{{ user.signature }}</textarea></div>
<div class="profile-save">
<button value="{{ session_id() }}" name="session" class="inputStyling">Save</button>
<button type="reset" class="inputStyling">Reset</button>
<button type="button" class="inputStyling" onclick="settingsPreview();">Preview</button>
<button value="{{ session_id() }}" name="session" class="input__button">Save</button>
<button type="reset" class="input__button">Reset</button>
<button type="button" class="input__button" onclick="settingsPreview();">Preview</button>
</div>
</form>
{% include 'settings/account/_preview.twig' %}

View file

@ -8,13 +8,13 @@
{% block settingsContent %}
<div class="bbcode" id="settingsPreview" style="max-height: 500px; overflow-y: auto; background: #C2AEEE; box-shadow: inset 0 0 1em 1em #D3BFFF;">{{ user.userPage()|raw|nl2br }}</div>
<hr class="default">
<hr>
<form enctype="multipart/form-data" method="post" action="{{ route('settings.account.userpage') }}">
<div><textarea name="userpage" id="settingsEditor" class="inputStyling" style="width: calc(100% - 12px); height: 400px;">{% if user.page %}{{ user.page }}{% else %}[header]Welcome to my userpage![/header]{% endif %}</textarea></div>
<div><textarea name="userpage" id="settingsEditor" class="input__text" style="height: 400px;">{% if user.page %}{{ user.page }}{% else %}[header]Welcome to my userpage![/header]{% endif %}</textarea></div>
<div class="profile-save">
<button value="{{ session_id() }}" name="session" class="inputStyling">Save</button>
<button type="reset" class="inputStyling">Reset</button>
<button type="button" class="inputStyling" onclick="settingsPreview();">Preview</button>
<button value="{{ session_id() }}" name="session" class="input__button">Save</button>
<button type="reset" class="input__button">Reset</button>
<button type="button" class="input__button" onclick="settingsPreview();">Preview</button>
</div>
</form>
{% include 'settings/account/_preview.twig' %}

View file

@ -13,10 +13,10 @@
<form enctype="multipart/form-data" method="post" action="{{ route('settings.advanced.deactivate') }}">
<div class="profile-field">
<div><h2>Enter your password to continue</h2></div>
<div><input type="password" name="password" class="inputStyling"></div>
<div><input type="password" name="password" class="input__text"></div>
</div>
<div class="profile-save">
<button style="background: repeating-linear-gradient(-45deg, #B33, #B33 10px, #B00 10px, #B00 20px); color: #FFF; border: 1px solid #C00; box-shadow: 0 0 3px #C00, inset 0 0 3px #C00;" name="session" value="{{ session_id() }}" class="inputStyling">I understand, deactivate my account</button>
<button style="background: repeating-linear-gradient(-45deg, #B33, #B33 10px, #B00 10px, #B00 20px); color: #FFF; border: 1px solid #C00; box-shadow: 0 0 3px #C00, inset 0 0 3px #C00;" name="session" value="{{ session_id() }}" class="input__button">I understand, deactivate my account</button>
</div>
</form>
{% endblock %}

View file

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

View file

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

View file

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

View file

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

View file

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

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

View file

@ -184,76 +184,83 @@
</div>
</div>
{% else %}
<div class="content new-profile">
<div class="new-profile-container">
<div class="new-profile-header" style="background-image: url({{ route('user.header', profile.id) }});">
<div class="content profile">
<div class="profile__container">
<div class="profile__header" style="background-image: url({{ route('user.header', profile.id) }});">
<label class="uploader__label">
<input type="file" data-target="{{ route('user.header', user.id) }}" class="uploader" onchange="handleImageChange(this, this.parentElement.parentElement)">
</label>
<div class="new-profile-info">
<div class="default-avatar-setting new-profile-avatar" style="background-image: url({{ route('user.avatar', profile.id) }}); box-shadow: 0 0 5px #{% if profile.isOnline %}484{% else %}844{% endif %};">
<div class="profile__info">
<div class="avatar avatar--border profile__avatar" style="background-image: url({{ route('user.avatar', profile.id) }}); box-shadow: 0 0 5px #{% if profile.isOnline %}484{% else %}844{% endif %};">
<label class="uploader__label">
<input type="file" data-target="{{ route('user.avatar', user.id) }}" class="uploader" onchange="handleImageChange(this, this.parentElement.parentElement)">
</label>
</div>
<div class="new-profile-username">
<div class="profile__username">
<h1 style="color: {{ profile.colour }}; text-shadow: 0 0 7px {% if profile.colour != 'inherit' %}{{ profile.colour }}{% else %}#222{% endif %}; padding: 0 0 2px;" {% if profile.getUsernameHistory %} title="Known as {{ profile.getUsernameHistory[0].username_old }} before {{ profile.getUsernameHistory[0].change_time|date(config('general.date_format')) }}." {% endif %}>{{ profile.username }}</h1>
{% if profile.isPremium %}<img src="/images/tenshi.png" alt="Tenshi" style="vertical-align: middle;"> {% endif %}<img src="/images/flags/{{ profile.country|lower }}.png" alt="{{ profile.country }}" style="vertical-align: middle;" title="{{ profile.country(true) }}"> <span style="font-size: .8em;">{{ profile.title }}</span>
</div>
<div class="new-profile-dates">
<b>Joined</b> <time class="time-ago" datetime="{{ profile.registered|date('r') }}">{{ profile.registered|date(config('general.date_format')) }}</time>
<br>
{% if profile.lastOnline < 1 %}
<b>{{ profile.username }} hasn't logged in yet.</b>
{% else %}
<b>Last online</b> <time class="time-ago" datetime="{{ profile.lastOnline|date('r') }}">{{ profile.lastOnline|date(config('general.date_format')) }}</time>
{% endif %}
<div class="profile__dates">
{% spaceless %}
<div class="profile__date">
<b>Joined</b>&nbsp;<time class="time-ago" datetime="{{ profile.registered|date('r') }}">{{ profile.registered|date(config('general.date_format')) }}</time>
</div>
<div class="profile__date">
{% if profile.lastOnline < 1 %}
<b>{{ profile.username }} hasn't logged in yet.</b>
{% else %}
<b>Last online</b>&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 %}
<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 %}
{% endspaceless %}
</div>
</div>
</div>
<div class="new-profile-interactions">
<div class="new-profile-navigation">
<div class="profile__interactions">
<div class="profile__navigation">
{% if not noUserpage %}
<a class="fa fa-file-text-o" title="View {{ profile.username }}'s user page" href="#_userpage" onclick="profileMode('userpage');"></a>
<a class="profile__interactions-item fa fa-file-text-o" title="View {{ profile.username }}'s user page" href="#_userpage" onclick="profileMode('userpage');"></a>
{% endif %}
<a class="fa fa-list" title="View {{ profile.username }}'s topics" href="#_topics" onclick="profileMode('topics');"></a>
<a class="fa fa-reply" title="View {{ profile.username }}'s posts" href="#_posts" onclick="profileMode('posts');"></a>
<a class="fa fa-star" title="View {{ profile.username }}'s friends" href="#_friends" onclick="profileMode('friends');"></a>
<a class="fa fa-comments-o" title="View {{ profile.username }}'s profile comments" href="#_comments" onclick="profileMode('comments');"></a>
<a class="profile__interactions-item fa fa-list" title="View {{ profile.username }}'s topics" href="#_topics" onclick="profileMode('topics');"></a>
<a class="profile__interactions-item fa fa-reply" title="View {{ profile.username }}'s posts" href="#_posts" onclick="profileMode('posts');"></a>
<a class="profile__interactions-item fa fa-star" title="View {{ profile.username }}'s friends" href="#_friends" onclick="profileMode('friends');"></a>
<a class="profile__interactions-item fa fa-comments-o" title="View {{ profile.username }}'s profile comments" href="#_comments" onclick="profileMode('comments');"></a>
{% if (profile.isActive and profile.id == user.id) or user.perms.manageProfileImages %}
<a class="fa fa-picture-o" title="Edit your avatar, background and header" href="#_images" onclick="profileMode('images');"></a>
<a class="profile__interactions-item fa fa-picture-o" title="Edit your avatar, background and header" href="#_images" onclick="profileMode('images');"></a>
{% endif %}
</div>
{% if user.isActive %}
<div class="new-profile-actions">
<div class="profile__actions">
{% if user.id == profile.id %}
<a class="fa fa-pencil-square-o" title="Edit your profile" href="{{ route('settings.account.profile') }}"></a>
<a class="profile__interactions-item fa fa-pencil-square-o" title="Edit your profile" href="{{ route('settings.account.profile') }}"></a>
{% else %}
{% if user.isFriends(profile.id) != 0 %}<a class="fa fa-{% if user.isFriends(profile.id) == 2 %}heart{% else %}star{% endif %}" title="You are friends"></a>{% endif %}
<a class="fa fa-user-{% if user.isFriends(profile.id) == 0 %}plus{% else %}times{% endif %}" title="{% if user.isFriends(profile.id) == 0 %}Add {{ profile.username }} as a friend{% else %}Remove friend{% endif %}" href="javascript:void(0);" onclick="Sakura.Friend.{% if user.isFriends(profile.id) == 0 %}Add({{ profile.id }}){% else %}Remove({{ profile.id }}){% endif %}"></a>
<a class="fa fa-exclamation-circle" title="Report {{ profile.username }}" href="{{ route('user.report', profile.id) }}"></a>
<a class="profile__interactions-item fa fa-user-{% if user.isFriends(profile.id) == 0 %}plus{% else %}times{% endif %}" title="{% if user.isFriends(profile.id) == 0 %}Add {{ profile.username }} as a friend{% else %}Remove friend{% endif %}" href="javascript:void(0);" onclick="Sakura.Friend.{% if user.isFriends(profile.id) == 0 %}Add({{ profile.id }}){% else %}Remove({{ profile.id }}){% endif %}"></a>
<a class="profile__interactions-item fa fa-exclamation-circle" title="Report {{ profile.username }}" href="{{ route('user.report', profile.id) }}"></a>
{% endif %}
{% if user.perms.canRestrict %}
<a class="fa fa-trash" title="Restrict {{ profile.username }}" href="?restrict={{ session_id() }}"></a>
<a class="profile__interactions-item fa fa-trash" title="Restrict {{ profile.username }}" href="?restrict={{ session_id() }}"></a>
{% endif %}
</div>
{% endif %}
</div>
<div class="new-profile-content">
<div class="new-profile-mode">
<div class="profile__content">
<div class="profile__mode">
{% if profile.lastfm %}
<div class="np">
<div class="profile__now-playing">
<div class="np-icon">
<span class="fa fa-music"></span>
</div>
<div class="np-text">
<span class="fa fa-ellipsis-h" id="np-state"></span>
<a href="#" id="np-track"></a>
<a href="#" id="np-track" class="profile__now-playing-link"></a>
<span id="np-by" class="hidden">by</span>
<a href="#" id="np-artist"></a>
<a href="#" id="np-artist" class="profile__now-playing-link"></a>
</div>
</div>
{% endif %}
@ -280,7 +287,7 @@
{% include 'profile/images.twig' %}
</div>
</div>
<div class="new-profile-data">
<div class="profile__data">
<table style="width: 100%;">
<tr>
<td style="text-align: left; font-weight: bold;">Topics</td>
@ -295,7 +302,7 @@
<td style="text-align: right;">{{ profile.friends(2)|length }}</td>
</tr>
</table>
<hr class="default">
<hr>
{% if user.isActive %}
{# if user.perms.viewUserLinks or user.perms.viewUserDetails #}
<table style="width: 100%;">
@ -307,7 +314,7 @@
</td>
<td style="text-align: right;">
{% if data.link is defined %}
<a href="{{ data.link|format(data.value) }}" class="default">{{ (data.disp is defined ? data.disp : '%s')|format(data.value) }}</a>
<a href="{{ data.link|format(data.value) }}">{{ (data.disp is defined ? data.disp : '%s')|format(data.value) }}</a>
{% else %}
{{ (data.disp is defined ? data.disp : '%s')|format(data.value) }}
{% endif %}