Fixed CSS and request URLs

This commit is contained in:
2019-05-26 03:02:48 +10:00
parent 862abbdb31
commit f949617284
12 changed files with 62 additions and 62 deletions
+5 -5
View File
@@ -161,15 +161,15 @@ footer {
} }
} }
.panel.left, .panel.center { .panel.right, .panel.center {
align-items: center; align-items: center;
} }
.panel.left .warning, .panel.center .warning { .panel.right .warning, .panel.center .warning {
align-self: stretch; align-self: stretch;
} }
.panel.left form, .panel.center form { .panel.right form, .panel.center form {
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
@@ -177,14 +177,14 @@ footer {
align-self: stretch; align-self: stretch;
} }
.panel.left form button, .panel.center form button { .panel.right form button, .panel.center form button {
align-self: stretch; align-self: stretch;
margin-top: .2em; margin-top: .2em;
margin-bottom: .2em; margin-bottom: .2em;
} }
@media screen and (max-width: 480px) { @media screen and (max-width: 480px) {
.panel.left h1, .panel.center h1 { .panel.right h1, .panel.center h1 {
font-size: 16px; font-size: 16px;
} }
} }
+15 -15
View File
@@ -10,7 +10,7 @@ let sendmail = require('sendmail')();
let { log, validateEmail } = require('../common/utilities.js'); let { log, validateEmail } = require('../common/utilities.js');
let { throttle, isThrottled } = require('../common/throttle.js'); let { throttle, isThrottled } = require('../common/throttle.js');
const signup = (connection) => (req, res) => { const signupRequest = (connection) => (req, res) => {
//formidable handles forms //formidable handles forms
let form = formidable.IncomingForm(); let form = formidable.IncomingForm();
@@ -66,7 +66,7 @@ const signup = (connection) => (req, res) => {
if (err) throw err; if (err) throw err;
//build the verification email //build the verification email
let addr = `http://${process.env.WEB_ADDRESS}/verify?email=${fields.email}&verify=${rand}`; let addr = `http://${process.env.WEB_ADDRESS}/verifyrequest?email=${fields.email}&verify=${rand}`;
let msg = 'Hello! Please visit the following address to verify your account: '; let msg = 'Hello! Please visit the following address to verify your account: ';
let msgHtml = `<html><body><p>${msg}<a href='${addr}'>${addr}</a></p></body></html>`; let msgHtml = `<html><body><p>${msg}<a href='${addr}'>${addr}</a></p></body></html>`;
@@ -95,7 +95,7 @@ const signup = (connection) => (req, res) => {
}); });
} }
const verify = (connection) => (req, res) => { const verifyRequest = (connection) => (req, res) => {
//get the saved data //get the saved data
let query = 'SELECT email, username, salt, hash, verify FROM signups WHERE email = ?;'; let query = 'SELECT email, username, salt, hash, verify FROM signups WHERE email = ?;';
@@ -133,7 +133,7 @@ const verify = (connection) => (req, res) => {
}); });
} }
const login = (connection) => (req, res) => { const loginRequest = (connection) => (req, res) => {
//formidable handles forms //formidable handles forms
let form = formidable.IncomingForm(); let form = formidable.IncomingForm();
@@ -193,7 +193,7 @@ const login = (connection) => (req, res) => {
}); });
} }
const logout = (connection) => (req, res) => { const logoutRequest = (connection) => (req, res) => {
let query = 'DELETE FROM sessions WHERE sessions.accountId IN (SELECT accounts.id FROM accounts WHERE email = ?) AND token = ?;'; let query = 'DELETE FROM sessions WHERE sessions.accountId IN (SELECT accounts.id FROM accounts WHERE email = ?) AND token = ?;';
connection.query(query, [req.body.email, req.body.token], (err) => { connection.query(query, [req.body.email, req.body.token], (err) => {
if (err) throw err; if (err) throw err;
@@ -203,7 +203,7 @@ const logout = (connection) => (req, res) => {
res.end(); res.end();
} }
const passwordChange = (connection) => (req, res) => { const passwordChangeRequest = (connection) => (req, res) => {
//formidable handles forms //formidable handles forms
let form = formidable.IncomingForm(); let form = formidable.IncomingForm();
@@ -269,7 +269,7 @@ const passwordChange = (connection) => (req, res) => {
}); });
} }
const passwordRecover = (connection) => (req, res) => { const passwordRecoverRequest = (connection) => (req, res) => {
//formidable handles forms //formidable handles forms
let form = formidable.IncomingForm(); let form = formidable.IncomingForm();
@@ -339,7 +339,7 @@ const passwordRecover = (connection) => (req, res) => {
}); });
} }
const passwordReset = (connection) => (req, res) => { const passwordResetRequest = (connection) => (req, res) => {
//formidable handles forms //formidable handles forms
let form = formidable.IncomingForm(); let form = formidable.IncomingForm();
@@ -394,11 +394,11 @@ const passwordReset = (connection) => (req, res) => {
} }
module.exports = { module.exports = {
signup: signup, signupRequest: signupRequest,
verify: verify, verifyRequest: verifyRequest,
login: login, loginRequest: loginRequest,
logout: logout, logoutRequest: logoutRequest,
passwordChange: passwordChange, passwordChangeRequest: passwordChangeRequest,
passwordRecover: passwordRecover, passwordRecoverRequest: passwordRecoverRequest,
passwordReset: passwordReset passwordResetRequest: passwordResetRequest
}; };
+10 -10
View File
@@ -23,20 +23,20 @@ let connection = connectToDatabase(); //uses .env
//handle accounts //handle accounts
let accounts = require('./accounts.js'); let accounts = require('./accounts.js');
app.post('/signup', accounts.signup(connection)); app.post('/signuprequest', accounts.signupRequest(connection));
app.get('/verify', accounts.verify(connection)); app.get('/verifyrequest', accounts.verifyRequest(connection));
app.post('/login', accounts.login(connection)); app.post('/loginrequest', accounts.loginRequest(connection));
app.post('/logout', accounts.logout(connection)); app.post('/logoutrequest', accounts.logoutRequest(connection));
app.post('/passwordchange', accounts.passwordChange(connection)); app.post('/passwordchangerequest', accounts.passwordChangeRequest(connection));
app.post('/passwordrecover', accounts.passwordRecover(connection)); app.post('/passwordrecoverrequest', accounts.passwordRecoverRequest(connection));
app.post('/passwordreset', accounts.passwordReset(connection)); app.post('/passwordresetrequest', accounts.passwordResetRequest(connection));
//handle profiles //handle profiles
let profiles = require('./profiles.js'); let profiles = require('./profiles.js');
app.post('/profilerequest', profiles.profileRequest(connection)); app.post('/profilerequest', profiles.profileRequest(connection));
app.post('/recruit', profiles.recruit(connection)); app.post('/recruitrequest', profiles.recruitRequest(connection));
app.post('/train', profiles.train(connection)); app.post('/trainrequest', profiles.trainRequest(connection));
app.post('/untrain', profiles.untrain(connection)); app.post('/untrainrequest', profiles.untrainRequest(connection));
app.post('/ladderrequest', profiles.ladderRequest(connection)); app.post('/ladderrequest', profiles.ladderRequest(connection));
profiles.runGoldTick(connection); profiles.runGoldTick(connection);
+12 -12
View File
@@ -9,7 +9,7 @@ let CronJob = require('cron').CronJob;
let { log } = require('../common/utilities.js'); let { log } = require('../common/utilities.js');
//profile creation & requesting //profile creation & requesting
const profileCreate = (connection) => (req, res) => { const profileCreateRequest = (connection) => (req, res) => {
//formidable handles forms //formidable handles forms
let form = formidable.IncomingForm(); let form = formidable.IncomingForm();
@@ -18,11 +18,11 @@ const profileCreate = (connection) => (req, res) => {
if (err) throw err; if (err) throw err;
//separate this section so it can be used elsewhere too //separate this section so it can be used elsewhere too
return profileCreateInner(connection, req, res, fields); return profileCreateRequestInner(connection, req, res, fields);
}); });
} }
function profileCreateInner(connection, req, res, fields) { function profileCreateRequestInner(connection, req, res, fields) {
let query = 'SELECT accountId FROM profiles WHERE accountId IN (SELECT accounts.id FROM accounts WHERE username = ?);'; let query = 'SELECT accountId FROM profiles WHERE accountId IN (SELECT accounts.id FROM accounts WHERE username = ?);';
connection.query(query, [fields.username], (err, results) => { connection.query(query, [fields.username], (err, results) => {
if (err) throw err; if (err) throw err;
@@ -81,7 +81,7 @@ function profileRequestInner(connection, req, res, fields) {
if (err) throw err; if (err) throw err;
if (results.length === 1) { if (results.length === 1) {
return profileCreateInner(connection, req, res, fields); return profileCreateRequestInner(connection, req, res, fields);
} else { } else {
res.status(400).write(log('Profile not found', fields.username, fields.id, fields.token)); res.status(400).write(log('Profile not found', fields.username, fields.id, fields.token));
res.end(); res.end();
@@ -104,7 +104,7 @@ function profileRequestInner(connection, req, res, fields) {
} }
//actual actions to be taken //actual actions to be taken
const recruit = (connection) => (req, res) => { const recruitRequest = (connection) => (req, res) => {
//formidable handles forms //formidable handles forms
let form = formidable.IncomingForm(); let form = formidable.IncomingForm();
@@ -178,7 +178,7 @@ const recruit = (connection) => (req, res) => {
}); });
} }
const train = (connection) => (req, res) => { const trainRequest = (connection) => (req, res) => {
//formidable handles forms //formidable handles forms
let form = formidable.IncomingForm(); let form = formidable.IncomingForm();
@@ -272,7 +272,7 @@ const train = (connection) => (req, res) => {
}); });
} }
const untrain = (connection) => (req, res) => { const untrainRequest = (connection) => (req, res) => {
//formidable handles forms //formidable handles forms
let form = formidable.IncomingForm(); let form = formidable.IncomingForm();
@@ -382,9 +382,9 @@ const runGoldTick = (connection) => {
module.exports = { module.exports = {
// profileCreate: profileCreate, //NOTE: Not actually used // profileCreate: profileCreate, //NOTE: Not actually used
profileRequest: profileRequest, profileRequest: profileRequest,
recruit: recruit, recruitRequest: recruitRequest,
train: train, trainRequest: trainRequest,
untrain: untrain, untrainRequest: untrainRequest,
runGoldTick: runGoldTick, ladderRequest: ladderRequest,
ladderRequest: ladderRequest runGoldTick: runGoldTick
} }
+2 -2
View File
@@ -30,9 +30,9 @@ class PasswordReset extends React.Component {
} }
return ( return (
<div className='page' style={{justifyContent: 'center'}}> <div className='page centered'>
<Panel /> <Panel />
<Link to='/' className='centered'>Return Home</Link> <Link to='/'>Return Home</Link>
</div> </div>
); );
} }
+7 -7
View File
@@ -164,28 +164,28 @@ class Profile extends React.Component {
<div className='row'> <div className='row'>
<p className='col'>Recruits:</p> <p className='col'>Recruits:</p>
<p className='col'>{this.state.recruits}</p> <p className='col'>{this.state.recruits}</p>
<button className='col' style={{flex: '2 1 1.5%'}} onClick={() => this.sendRequest('/recruit')}>Recruit More</button> <button className='col' style={{flex: '2 1 1.5%'}} onClick={() => this.sendRequest('/recruitrequest')}>Recruit More</button>
</div> </div>
<div className='row'> <div className='row'>
<p className='col'>Soldiers:</p> <p className='col'>Soldiers:</p>
<p className='col'>{this.state.soldiers}</p> <p className='col'>{this.state.soldiers}</p>
<button className='col' onClick={() => this.sendRequest('/train', this.props.username, 'soldier')}>Train (100 gold)</button> <button className='col' onClick={() => this.sendRequest('/trainrequest', this.props.username, 'soldier')}>Train (100 gold)</button>
<button className='col' onClick={() => this.sendRequest('/untrain', this.props.username, 'soldier')}>Untrain</button> <button className='col' onClick={() => this.sendRequest('/untrainrequest', this.props.username, 'soldier')}>Untrain</button>
</div> </div>
<div className='row'> <div className='row'>
<p className='col'>Spies:</p> <p className='col'>Spies:</p>
<p className='col'>{this.state.spies}</p> <p className='col'>{this.state.spies}</p>
<button className='col' onClick={() => this.sendRequest('/train', this.props.username, 'spy')}>Train (200 gold)</button> <button className='col' onClick={() => this.sendRequest('/trainrequest', this.props.username, 'spy')}>Train (200 gold)</button>
<button className='col' onClick={() => this.sendRequest('/untrain', this.props.username, 'spy')}>Untrain</button> <button className='col' onClick={() => this.sendRequest('/untrainrequest', this.props.username, 'spy')}>Untrain</button>
</div> </div>
<div className='row'> <div className='row'>
<p className='col'>Scientists:</p> <p className='col'>Scientists:</p>
<p className='col'>{this.state.scientists}</p> <p className='col'>{this.state.scientists}</p>
<button className='col' onClick={() => this.sendRequest('/train', this.props.username, 'scientist')}>Train (120 gold)</button> <button className='col' onClick={() => this.sendRequest('/trainrequest', this.props.username, 'scientist')}>Train (120 gold)</button>
<button className='col' onClick={() => this.sendRequest('/untrain', this.props.username, 'scientist')}>Untrain</button> <button className='col' onClick={() => this.sendRequest('/untrainrequest', this.props.username, 'scientist')}>Untrain</button>
</div> </div>
</div> </div>
); );
+2 -2
View File
@@ -19,14 +19,14 @@ class Login extends React.Component {
}; };
return ( return (
<div className='panel left'> <div className='panel right'>
<h1>Login</h1> <h1>Login</h1>
<div className='warning' style={warningStyle}> <div className='warning' style={warningStyle}>
<p>{this.state.warning}</p> <p>{this.state.warning}</p>
</div> </div>
<form action='/login' method='post' onSubmit={(e) => this.submit(e)}> <form action='/loginrequest' method='post' onSubmit={(e) => this.submit(e)}>
<div> <div>
<label>Email:</label> <label>Email:</label>
<input type='text' name='email' value={this.state.email} onChange={this.updateEmail.bind(this)} /> <input type='text' name='email' value={this.state.email} onChange={this.updateEmail.bind(this)} />
+1 -1
View File
@@ -19,7 +19,7 @@ class Logout extends React.Component {
//build the XHR //build the XHR
let xhr = new XMLHttpRequest(); let xhr = new XMLHttpRequest();
xhr.open('POST', '/logout', true); xhr.open('POST', '/logoutrequest', true);
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8'); xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
xhr.send(JSON.stringify({ xhr.send(JSON.stringify({
email: this.props.email, email: this.props.email,
+2 -2
View File
@@ -18,14 +18,14 @@ class PasswordChange extends React.Component {
}; };
return ( return (
<div className='panel left'> <div className='panel right'>
<h1>Change Password</h1> <h1>Change Password</h1>
<div className='warning' style={warningStyle}> <div className='warning' style={warningStyle}>
<p>{this.state.warning}</p> <p>{this.state.warning}</p>
</div> </div>
<form action='/passwordchange' method='post' onSubmit={(e) => this.submit(e)}> <form action='/passwordchangerequest' method='post' onSubmit={(e) => this.submit(e)}>
<div> <div>
<label>Password:</label> <label>Password:</label>
<input type='password' name='password' value={this.state.password} onChange={this.updatePassword.bind(this)} /> <input type='password' name='password' value={this.state.password} onChange={this.updatePassword.bind(this)} />
+2 -2
View File
@@ -16,14 +16,14 @@ class PasswordRecover extends React.Component {
}; };
return ( return (
<div className='panel left'> <div className='panel right'>
<h1>Recover Password</h1> <h1>Recover Password</h1>
<div className='warning' style={warningStyle}> <div className='warning' style={warningStyle}>
<p>{this.state.warning}</p> <p>{this.state.warning}</p>
</div> </div>
<form action='/passwordrecover' method='post' onSubmit={(e) => this.submit(e)}> <form action='/passwordrecoverrequest' method='post' onSubmit={(e) => this.submit(e)}>
<div> <div>
<label>Email:</label> <label>Email:</label>
<input type='text' name='email' value={this.state.email} onChange={this.updateEmail.bind(this)} /> <input type='text' name='email' value={this.state.email} onChange={this.updateEmail.bind(this)} />
+2 -2
View File
@@ -19,14 +19,14 @@ class PasswordReset extends React.Component {
}; };
return ( return (
<div className='panel center'> <div className='panel right'>
<h1>Change Password</h1> <h1>Change Password</h1>
<div className='warning' style={warningStyle}> <div className='warning' style={warningStyle}>
<p>{this.state.warning}</p> <p>{this.state.warning}</p>
</div> </div>
<form action='/passwordreset' method='post' onSubmit={(e) => this.submit(e)}> <form action='/passwordresetrequest' method='post' onSubmit={(e) => this.submit(e)}>
<div> <div>
<label>Password:</label> <label>Password:</label>
<input type='password' name='password' value={this.state.password} onChange={this.updatePassword.bind(this)} /> <input type='password' name='password' value={this.state.password} onChange={this.updatePassword.bind(this)} />
+2 -2
View File
@@ -19,14 +19,14 @@ export default class Signup extends React.Component {
}; };
return ( return (
<div className='panel left'> <div className='panel right'>
<h1>Sign Up</h1> <h1>Sign Up</h1>
<div className='warning' style={warningStyle}> <div className='warning' style={warningStyle}>
<p>{this.state.warning}</p> <p>{this.state.warning}</p>
</div> </div>
<form action='/signup' method='post' onSubmit={(e) => this.submit(e)}> <form action='/signuprequest' method='post' onSubmit={(e) => this.submit(e)}>
<div> <div>
<label>Email:</label> <label>Email:</label>
<input type='text' name='email' value={this.state.email} onChange={this.updateEmail.bind(this)} /> <input type='text' name='email' value={this.state.email} onChange={this.updateEmail.bind(this)} />