Browse Source

Merge branch 'staging'

howdoyoucode 7 years ago
parent
commit
f7f9b3956f

+ 1 - 0
.gitignore

@@ -18,6 +18,7 @@ backend/config/default.json
 # Front End
 frontend/node_modules/
 frontend/build/*.js
+frontend/build/index.html
 frontend/build/config/default.json
 
 npm

+ 0 - 1
frontend/build/index.html → frontend/build/index.tpl.html

@@ -54,6 +54,5 @@
 </head>
 <body>
 	<script src='https://www.google.com/recaptcha/api.js'></script>
-	<script src='/bundle.js'></script>
 </body>
 </html>

+ 38 - 8
frontend/components/pages/Team.vue

@@ -3,7 +3,7 @@
 		<main-header></main-header>
 		<div class='container'>
 			<h3 class="center">Current members</h3>
-			<br />
+			<br>
 			<div class="columns">
 				<div class='card column is-6-desktop is-offset-3-desktop is-12-mobile'>
 					<header class='card-header'>
@@ -13,8 +13,8 @@
 					</header>
 					<div class='card-content'>
 						<div class='content'>
+							<span class="custom-tag purple">senior-project-manager</span>
 							<span class="custom-tag blue">co-founder</span>
-							<span class="custom-tag light-blue">lead-developer</span>
 							<ul>
 								<li>
 									<b>Joined: </b>
@@ -22,7 +22,33 @@
 								</li>
 								<li>
 									<b>Email: </b>
-									<a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#107;&#114;&#105;&#115;&#118;&#111;&#115;&#049;&#051;&#048;&#064;&#103;&#109;&#097;&#105;&#108;&#046;&#099;&#111;&#109;">krisvos130@gmail.com</a>
+									<a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#107;&#114;&#105;&#115;&#064;&#109;&#117;&#115;&#097;&#114;&#101;&#046;&#099;&#111;&#109;">&#107;&#114;&#105;&#115;&#064;&#109;&#117;&#115;&#097;&#114;&#101;&#046;&#099;&#111;&#109;</a>
+								</li>
+							</ul>
+						</div>
+					</div>
+				</div>
+			</div>
+			<br>
+			<div class="columns">
+				<div class='card column is-6-desktop is-offset-3-desktop is-12-mobile'>
+					<header class='card-header'>
+						<p class='card-header-title'>
+							Owen Diffey
+						</p>
+					</header>
+					<div class='card-content'>
+						<div class='content'>
+							<span class="custom-tag purple">project-manager</span>
+							<span class="custom-tag light-blue">developer</span>
+							<ul>
+								<li>
+									<b>Joined: </b>
+									February 29, 2016
+								</li>
+								<li>
+									<b>Email: </b>
+									<a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#111;&#119;&#101;&#110;&#064;&#109;&#117;&#115;&#097;&#114;&#101;&#046;&#099;&#111;&#109;">&#111;&#119;&#101;&#110;&#064;&#109;&#117;&#115;&#097;&#114;&#101;&#046;&#099;&#111;&#109;</a>
 								</li>
 							</ul>
 						</div>
@@ -47,7 +73,7 @@
 								</li>
 								<li>
 									<b>Email: </b>
-									<a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#097;&#116;&#106;&#111;&#110;&#097;&#116;&#104;&#097;&#110;&#064;&#101;&#110;&#103;&#105;&#110;&#101;&#101;&#114;&#046;&#099;&#111;&#109;">atjonathan@engineer.com</a>
+									<a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#106;&#111;&#110;&#097;&#116;&#104;&#097;&#110;&#064;&#109;&#117;&#115;&#097;&#114;&#101;&#046;&#099;&#111;&#109;">&#106;&#111;&#110;&#097;&#116;&#104;&#097;&#110;&#064;&#109;&#117;&#115;&#097;&#114;&#101;&#046;&#099;&#111;&#109;</a>
 								</li>
 							</ul>
 						</div>
@@ -59,21 +85,20 @@
 				<div class='card column is-6-desktop is-offset-3-desktop is-12-mobile'>
 					<header class='card-header'>
 						<p class='card-header-title'>
-							Owen Diffey
+							Adryd
 						</p>
 					</header>
 					<div class='card-content'>
 						<div class='content'>
 							<span class="custom-tag pink">lead-designer</span>
-							<span class="custom-tag light-blue">developer</span>
 							<ul>
 								<li>
 									<b>Joined: </b>
-									February 29, 2016
+									April 21, 2017
 								</li>
 								<li>
 									<b>Email: </b>
-									<a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#111;&#119;&#101;&#110;&#064;&#111;&#100;&#105;&#102;&#102;&#101;&#121;&#046;&#117;&#107;">&#111;&#119;&#101;&#110;&#064;&#111;&#100;&#105;&#102;&#102;&#101;&#121;&#046;&#117;&#107;</a>
+									<a href="&#109;&#097;&#105;&#108;&#116;&#111;:&#097;&#100;&#114;&#121;&#100;&#064;&#109;&#117;&#115;&#097;&#114;&#101;&#046;&#099;&#111;&#109;">&#097;&#100;&#114;&#121;&#100;&#064;&#109;&#117;&#115;&#097;&#114;&#101;&#046;&#099;&#111;&#109;</a>
 								</li>
 							</ul>
 						</div>
@@ -284,4 +309,9 @@
 		background-color: #019875;
 		color: white;
 	}
+
+	.custom-tag.purple {
+		background-color: #90298C;
+    	color: white;
+	}
 </style>

+ 18 - 18
frontend/main.js

@@ -79,63 +79,63 @@ router.afterEach(data => {
 
 router.map({
 	'/': {
-		component: resolve => require(['./components/pages/Home.vue'], resolve)
+		component: resolve => require.ensure([], () => resolve(require('./components/pages/Home.vue')), 'home')
 	},
 	'*': {
-		component: resolve => require(['./components/404.vue'], resolve)
+		component: resolve => require.ensure([], () => resolve(require('./components/404.vue')), '404')
 	},
 	'404': {
-		component: resolve => require(['./components/404.vue'], resolve)
+		component: resolve => require.ensure([], () => resolve(require('./components/404.vue')), '404')
 	},
 	'/terms': {
-		component: resolve => require(['./components/pages/Terms.vue'], resolve)
+		component: resolve => require.ensure([], () => resolve(require('./components/pages/Terms.vue')), 'terms')
 	},
 	'/privacy': {
-		component: resolve => require(['./components/pages/Privacy.vue'], resolve)
+		component: resolve => require.ensure([], () => resolve(require('./components/pages/Privacy.vue')), 'privacy')
 	},
 	'/team': {
-		component: resolve => require(['./components/pages/Team.vue'], resolve)
+		component: resolve => require.ensure([], () => resolve(require('./components/pages/Team.vue')), 'team')
 	},
 	'/news': {
-		component: resolve => require(['./components/pages/News.vue'], resolve)
+		component: resolve => require.ensure([], () => resolve(require('./components/pages/News.vue')), 'news')
 	},
 	'/about': {
-		component: resolve => require(['./components/pages/About.vue'], resolve)
+		component: resolve => require.ensure([], () => resolve(require('./components/pages/About.vue')), 'about')
 	},
 	'/u/:username': {
-		component: resolve => require(['./components/User/Show.vue'], resolve),
+		component: resolve => require.ensure([], () => resolve(require('./components/User/Show.vue')), 'show-user')
 	},
 	'/settings': {
-		component: resolve => require(['./components/User/Settings.vue'], resolve),
+		component: resolve => require.ensure([], () => resolve(require('./components/User/Settings.vue')), 'settings'),
 		loginRequired: true
 	},
 	'/reset_password': {
-		component: resolve => require(['./components/User/ResetPassword.vue'], resolve)
+		component: resolve => require.ensure([], () => resolve(require('./components/User/ResetPassword.vue')), 'reset-password')
 	},
 	'/login': {
-		component: resolve => require(['./components/Modals/Login.vue'], resolve)
+		component: resolve => require.ensure([], () => resolve(require('./components/Modals/Login.vue')), 'login')
 	},
 	'/register': {
-		component: resolve => require(['./components/Modals/Register.vue'], resolve)
+		component: resolve => require.ensure([], () => resolve(require('./components/Modals/Register.vue')), 'register')
 	},
 	'/admin': {
-		component: resolve => require(['./components/pages/Admin.vue'], resolve),
+		component: resolve => require.ensure([], () => resolve(require('./components/pages/Admin.vue')), 'admin'),
 		adminRequired: true
 	},
 	'/admin/:page': {
-		component: resolve => require(['./components/pages/Admin.vue'], resolve),
+		component: resolve => require.ensure([], () => resolve(require('./components/pages/Admin.vue')), 'admin'),
 		adminRequired: true
 	},
 	'/official/:id': {
-		component: resolve => require(['./components/Station/Station.vue'], resolve),
+		component: resolve => require.ensure([], () => resolve(require('./components/Station/Station.vue')), 'station'),
 		officialRequired: true
 	},
 	'/:id': {
-		component: resolve => require(['./components/Station/Station.vue'], resolve),
+		component: resolve => require.ensure([], () => resolve(require('./components/Station/Station.vue')), 'station'),
 		officialRequired: true
 	},
 	'/community/:id': {
-		component: resolve => require(['./components/Station/Station.vue'], resolve),
+		component: resolve => require.ensure([], () => resolve(require('./components/Station/Station.vue')), 'station'),
 		communityRequired: true
 	}
 });

+ 2 - 0
frontend/package.json

@@ -20,6 +20,7 @@
     "eslint": "^3.4.0",
     "eslint-loader": "^1.5.0",
     "eslint-plugin-html": "^1.5.2",
+    "html-webpack-plugin": "^2.28.0",
     "sass-loader": "^4.0.2",
     "style-loader": "^0.13.1",
     "vue-hot-reload-api": "^1.3.3",
@@ -28,6 +29,7 @@
     "vue-style-loader": "^1.0.0",
     "webpack": "^1.14.0",
     "webpack-dev-server": "^1.15.1",
+    "webpack-md5-hash": "0.0.5",
     "whatwg-fetch": "^0.11.1"
   },
   "dependencies": {

+ 12 - 1
frontend/webpack.config.js

@@ -1,4 +1,6 @@
 const webpack = require('webpack');
+const WebpackMd5Hash = require('webpack-md5-hash');
+const HtmlWebpackPlugin = require("html-webpack-plugin");
 
 module.exports = {
 	devtool: 'eval-source-map',
@@ -6,8 +8,17 @@ module.exports = {
 	output: {
 		path: __dirname + '/build/',
 		publicPath: '/',
-		filename: 'bundle.js'
+		filename: '[name].[chunkhash].js'
 	},
+	plugins: [
+		new WebpackMd5Hash(),
+		new HtmlWebpackPlugin({
+			hash: true,
+			template: "build/index.tpl.html",
+			inject: "body",
+			filename: "index.html"
+		})
+	],
 	module: {
 		loaders: [
 			{