Browse Source

Login screen

NGPixel 8 years ago
parent
commit
fa7391ea4b

File diff suppressed because it is too large
+ 0 - 0
assets/css/app.css


File diff suppressed because it is too large
+ 0 - 0
assets/css/login.css


BIN
assets/images/bg_1.jpg


BIN
assets/images/bg_2.jpg


BIN
assets/images/bg_3.jpg


File diff suppressed because it is too large
+ 0 - 0
assets/js/app.js


+ 1 - 0
assets/js/login.js

@@ -0,0 +1 @@
+"use strict";jQuery(document).ready(function(u){u("#login-user").focus()});

+ 7 - 0
client/js/login.js

@@ -0,0 +1,7 @@
+"use strict";
+
+jQuery( document ).ready(function( $ ) {
+
+	$('#login-user').focus();
+
+});

+ 0 - 4
client/scss/layout/_base.scss

@@ -5,10 +5,6 @@ html {
   box-sizing: inherit;
   box-sizing: inherit;
 }
 }
 
 
-#root {
-	padding-top: 52px;
-}
-
 [v-cloak] {
 [v-cloak] {
   display: none;
   display: none;
 }
 }

+ 4 - 0
client/scss/layout/_content.scss

@@ -1,4 +1,8 @@
 
 
+#root {
+	padding-top: 52px;
+}
+
 #page-type-view > section {
 #page-type-view > section {
 	transition: background-color .5s ease;
 	transition: background-color .5s ease;
 
 

+ 184 - 0
client/scss/login.scss

@@ -0,0 +1,184 @@
+@import './layout/_base';
+@import './layout/_mixins';
+
+body {
+	padding: 0;
+	margin: 0;
+	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+	font-size: 14px;
+}
+
+a {
+	color: #FFF;
+	transition: color 0.4s ease;
+	text-decoration: none;
+
+	&:hover {
+		color: #FB8C00;
+		text-decoration: underline;
+	}
+
+}
+
+#bg {
+	position: fixed;
+	top: 0;
+	left: 0;
+	width: 100%;
+	height: 100%;
+	z-index: 1;
+	background-color: #000;
+
+	> div {
+		background-size: cover;
+		background-position: center center;
+		width: 100%;
+		height: 100%;
+		position: absolute;
+		top: 0;
+		left: 0;
+		opacity: 0;
+		visibility: hidden;
+		transition: opacity 3s ease, visibility 3s;
+		animation: bg 30s linear infinite;
+
+		&:nth-child(1) {
+			animation-delay: 10s;
+		}
+
+		&:nth-child(2) {
+			animation-delay: 20s;
+		}
+
+	}
+
+}
+
+#root {
+	position: fixed;
+	top: 15vh;
+	left: 10vw;
+	z-index: 2;
+	color: #FFF;
+	display: flex;
+	flex-direction: column;
+
+	h1 {
+		font-size: 4rem;
+		color: #FFF;
+		padding: 0;
+		margin: 0;
+		animation: headerIntro 3s ease;
+	}
+
+	h2 {
+		font-size: 1.5rem;
+		font-weight: normal;
+		color: rgba(255,255,255,0.7);
+		padding: 0;
+		margin: 0 0 25px 0;
+		animation: headerIntro 3s ease;
+	}
+
+	input[type=text], input[type=password] {
+		width: 350px;
+		max-width: 80vw;
+		border: 1px solid rgba(255,255,255,0.3);
+		border-radius: 3px;
+		background-color: rgba(0,0,0,0.2);
+		padding: 0 15px;
+		height: 40px;
+		margin: 0 0 10px 0;
+		color: #FFF;
+		font-weight: bold;
+		font-size: 14px;
+		transition: all 0.4s ease;
+
+		&:focus {
+			outline: none;
+			border-color: rgba(255,255,255,0.8);
+		}
+
+	}
+
+	button {
+		background-color: #FB8C00;
+		color: #FFF;
+		border: 1px solid lighten(#FB8C00, 10%);
+		border-radius: 3px;
+		height: 40px;
+		width: 125px;
+		padding: 0;
+		font-weight: bold;
+		margin: 15px 0 0 0;
+		transition: all 0.4s ease;
+		cursor: pointer;
+
+		&:focus {
+			outline: none;
+			border-color: #FFF;
+		}
+
+		&:hover {
+			background-color: darken(#FB8C00, 10%);
+		}
+
+	}
+
+}
+
+#copyright {
+	display: flex;
+	align-items: center;
+	justify-content: flex-start;
+	position: absolute;
+	left: 10vw;
+	bottom: 10vh;
+	z-index: 2;
+	color: rgba(255,255,255,0.5);
+	font-weight: bold;
+
+	.icon {
+		font-size: 1.2rem;
+		margin: 0 8px;
+	}
+
+	a {
+		opacity: 0.75;
+	}
+
+}
+
+@include keyframes(bg) {
+	0% {
+		@include prefix(transform, scale(1,1));
+		visibility: visible;
+		opacity: 0;
+	},
+	5% {
+		opacity: 0.5;
+	},
+	33% {
+		opacity: 0.5;
+	},
+	38% {
+		@include prefix(transform, scale(1.2, 1.2));
+		opacity: 0;
+	},
+	39% {
+		visibility: hidden;
+	}
+	100% {
+		visibility: hidden;
+		opacity: 0;
+	}
+}
+
+@include keyframes(headerIntro) {
+	0% {
+		opacity: 0;
+	}
+	100% {
+		opacity: 1;
+	}
+}

+ 2 - 4
gulpfile.js

@@ -39,7 +39,7 @@ var paths = {
 		'!./node_modules/ace-builds/src-min-noconflict/mode-markdown.js'
 		'!./node_modules/ace-builds/src-min-noconflict/mode-markdown.js'
 	],
 	],
 	scriptapps: [
 	scriptapps: [
-		'./client/js/app.js'
+		'./client/js/*.js'
 	],
 	],
 	scriptapps_watch: [
 	scriptapps_watch: [
 		'./client/js/**/*.js'
 		'./client/js/**/*.js'
@@ -50,7 +50,7 @@ var paths = {
 		'./node_modules/simplemde/dist/simplemde.min.css'
 		'./node_modules/simplemde/dist/simplemde.min.css'
 	],
 	],
 	cssapps: [
 	cssapps: [
-		'./client/scss/app.scss'
+		'./client/scss/*.scss'
 	],
 	],
 	cssapps_watch: [
 	cssapps_watch: [
 		'./client/scss/**/*.scss'
 		'./client/scss/**/*.scss'
@@ -115,7 +115,6 @@ gulp.task("scripts-app", function () {
 
 
 	return gulp.src(paths.scriptapps)
 	return gulp.src(paths.scriptapps)
 	.pipe(plumber())
 	.pipe(plumber())
-	.pipe(concat('app.js'))
 	.pipe(include({ extensions: "js" }))
 	.pipe(include({ extensions: "js" }))
 	.pipe(babel())
 	.pipe(babel())
 	.pipe(uglify())
 	.pipe(uglify())
@@ -148,7 +147,6 @@ gulp.task("css-app", function () {
 	return gulp.src(paths.cssapps)
 	return gulp.src(paths.cssapps)
 	.pipe(plumber())
 	.pipe(plumber())
 	.pipe(sass())
 	.pipe(sass())
-	.pipe(concat('app.css'))
 	.pipe(cleanCSS({ keepSpecialComments: 0 }))
 	.pipe(cleanCSS({ keepSpecialComments: 0 }))
 	.pipe(plumber.stop())
 	.pipe(plumber.stop())
 	.pipe(gulp.dest("./assets/css"));
 	.pipe(gulp.dest("./assets/css"));

+ 43 - 1
views/auth/login.pug

@@ -1 +1,43 @@
-DUDE
+doctype html
+html
+	head
+		meta(http-equiv='X-UA-Compatible', content='IE=edge')
+		meta(charset='UTF-8')
+		meta(name='viewport', content='width=device-width, initial-scale=1')
+		meta(name='theme-color', content='#009688')
+		meta(name='msapplication-TileColor', content='#009688')
+		meta(name='msapplication-TileImage', content='/favicons/ms-icon-144x144.png')
+		title= appconfig.title
+
+		// Favicon
+		each favsize in [57, 60, 72, 76, 114, 120, 144, 152, 180]
+			link(rel='apple-touch-icon', sizes=favsize + 'x' + favsize, href='/favicons/apple-icon-' + favsize + 'x' + favsize + '.png')
+		link(rel='icon', type='image/png', sizes='192x192', href='/favicons/android-icon-192x192.png')
+		each favsize in [32, 96, 16]
+			link(rel='icon', type='image/png', sizes=favsize + 'x' + favsize, href='/favicons/favicon-' + favsize + 'x' + favsize + '.png')
+		link(rel='manifest', href='/manifest.json')
+
+		// CSS
+		link(type='text/css', rel='stylesheet', href='/css/libs.css')
+		link(type='text/css', rel='stylesheet', href='/css/login.css')
+
+		// JS
+		script(type='text/javascript', src='/js/libs.js')
+		script(type='text/javascript', src='/js/login.js')
+
+	body
+		#bg
+			each bg in [1, 2, 3]
+				div(style="background-image:url(/images/bg_" + bg + ".jpg);")
+		#root
+			h1= appconfig.title
+			h2 Login required
+			input#login-user(type='text', placeholder='Email address')
+			input#login-pass(type='password', placeholder='Password')
+			button Log In
+		#copyright
+			= t('footer.poweredby') + ' '
+			a.icon(href='https://github.com/Requarks/wiki')
+				i.fa.fa-github
+			a(href='https://github.com/Requarks/wiki') Requarks Wiki
+			

Some files were not shown because too many files changed in this diff