Skip to content

Commit

Permalink
#103 wip, got textarea behaving
Browse files Browse the repository at this point in the history
  • Loading branch information
jcolson committed Mar 14, 2021
1 parent c9a5e70 commit c8d83e0
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 47 deletions.
16 changes: 15 additions & 1 deletion http_root/css/site.css
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,29 @@ input[type=time] {
border-radius: 10px;
}

input[type=textarea] {
textarea {
width: 100%;
resize: vertical;
padding: 10px;
margin: 10px 0;
border-radius: 10px;
border: 0;
box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.06);
height: 175px;
word-wrap: break-word;
}

textareax {
width: 100%;
height: 150px;
overflow-wrap: break-word;
word-wrap: break-word;
flex-wrap: wrap;
word-break: break-all;
overflow: scroll;
overflow-y: scroll;
overflow-x: hidden;
overflow: -moz-scrollbars-vertical;
}

button {
Expand Down
14 changes: 7 additions & 7 deletions http_views/events.pug
Original file line number Diff line number Diff line change
Expand Up @@ -27,21 +27,21 @@ block content
.column
.column
| Title:
input(type='text' name='title' id='event-title' placeholder='Title', value=`${event&&event.title?event.title:''}`)
input(type='text' name='title' id='event-title' placeholder='Title' value=`${event&&event.title?event.title:''}`)
| DM/GM:
input(type='text' name='dm' id='event-dm' placeholder='DM/GM', value=`${event&&event.dm?event.dm:''}`)
input(type='text' name='dm' id='event-dm' placeholder='DM/GM' value=`${event&&event.dm?event.dm:''}`)
| Duration (in hours):
input(type='text' name='duration_hours' id='event-duration_hours' placeholder='Duration (in hours)', value=`${event&&event.duration_hours?event.duration_hours:''}`)
input(type='text' name='duration_hours' id='event-duration_hours' placeholder='Duration (in hours)' value=`${event&&event.duration_hours?event.duration_hours:''}`)
| Start (Date):
input(type='date' name='date' id='event-date' value=`${event?event.date_time.toISOString().substring(0,10):''}`)
| Start (Time):
| Start (Time in GMT):
input(type='time' name='time' id='event-time' value=`${event?event.date_time.toISOString().substring(11,16):''}`)
.column
| Number of Players:
input(type='text' name='number_player_slots' id='event-number_player_slots' placeholder='Number of Players', value=`${event&&event.number_player_slots?event.number_player_slots:''}`)
input(type='text' name='number_player_slots' id='event-number_player_slots' placeholder='Number of Players' value=`${event&&event.number_player_slots?event.number_player_slots:''}`)
| Campaign:
input(type='text' name='campaign' id='event-campaign' placeholder='Campaign', value=`${event&&event.campaign?event.campaign:''}`)
input(type='text' name='campaign' id='event-campaign' placeholder='Campaign' value=`${event&&event.campaign?event.campaign:''}`)
| Description:
input(type='textarea' name='description' id='event-description' placeholder='Description', value=`${event&&event.description?event.description:''}`)
textarea(name='description' id='event-description' placeholder='Description') #{event&&event.description?event.description:''}
.column
button(type='button' onclick='setEvent();') Save
4 changes: 3 additions & 1 deletion http_views/includes/menu.pug
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,9 @@
h3
img(src= Config.dndVaultIcon)
.
D&D Vault - #{title} #{discordMe?' ('+discordMe.username+'#'+discordMe.discriminator+')':''}
D&D Vault - #{title} #{discordMe?'('+discordMe.username+'#'+discordMe.discriminator+')':''}
.
#{guildConfig?'@ '+guildConfig.name:''}
.topnav
a(href= '/') Home
//- | | 
Expand Down
68 changes: 30 additions & 38 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ const { connect, disconnect } = require('mongoose');

const GuildModel = require('./models/Guild');
const EventModel = require('./models/Event');
const UserModel = require('./models/User');

const DEFAULT_CONFIGDIR = __dirname;
global.Config = require(path.resolve(process.env.CONFIGDIR || DEFAULT_CONFIGDIR, './config.json'));
Expand Down Expand Up @@ -73,15 +74,26 @@ let server = app
.use(grant)
.use(ROUTE_ROOT, express.static(Config.httpStaticDir))
.use(async function (request, response, next) {
console.log('in middleware checking if I need to update guildID');
let requestUrl = new URL(request.url, `${request.protocol}://${request.headers.host}`);
let guildID = requestUrl.searchParams.get('guildID');
console.log(`in middleware checking if I need to update guildID, guildID status: ${request.session.guildConfig ? true : false}`);
const requestUrl = new URL(request.url, `${request.protocol}://${request.headers.host}`);
const guildID = requestUrl.searchParams.get('guildID');
if (guildID) {
if (!request.session.guildConfig || request.session.guildConfig.guildID != guildID) {
console.log(`Retrieving guild info for ${guildID}`);
let guildConfig = await GuildModel.findOne({ guildID: guildID });
const guildConfig = await GuildModel.findOne({ guildID: guildID });
if (guildConfig) {
request.session.guildConfig = guildConfig;
}
}
} else if (!request.session.guildConfig && request.session.discordMe) {
console.log(`Retrieving any guild for user, ${request.session.discordMe.id}`);
const userConfig = await UserModel.findOne({ userID: request.session.discordMe.id });
const guildConfig = await GuildModel.findOne({ guildID: userConfig.guildID });
if (guildConfig) {
request.session.guildConfig = guildConfig;
}
} else {
console.log(`Don't need to (or can't) retrieve a guild ...`);
}
next();
})
Expand Down Expand Up @@ -155,6 +167,7 @@ let server = app
response.end(error.message);
}
})
// all routes past this point require authentication
.use(async function (request, response, next) {
const desiredDestination = request.path;
console.log(`in middleware, ensuring user is logged in for ${desiredDestination}`);
Expand All @@ -174,11 +187,7 @@ let server = app
.get(ROUTE_TIMEZONESSET, async function (request, response) {
try {
console.log('serving ' + ROUTE_TIMEZONESSET);
//@todo can remove
if (!request.session.discordMe) {
console.log(`User not authenticated.`);
response.json({ status: 'false' });
} else if (request.session.guildConfig) {
if (request.session.guildConfig) {
console.log('we know the guild so we can set the timezone for user.');
let requestUrl = new URL(request.url, `${request.protocol}://${request.headers.host}`);
// console.log(request.session.discordMe);
Expand All @@ -203,19 +212,10 @@ let server = app
.get(ROUTE_TIMEZONES, function (request, response) {
try {
console.log('serving ' + ROUTE_TIMEZONES);
//@todo can remove
if (!request.session.discordMe) {
request.query.destination = ROUTE_TIMEZONES;
response.redirect(url.format({
pathname: grant.config.discord.prefix + "/discord",
query: request.query,
}));
} else {
let requestUrl = new URL(request.url, `${request.protocol}://${request.headers.host}`);
// console.log(request.session.discordMe);
let responseData = timezones.handleTimezonesDataRequest(requestUrl);
response.render('timezones', { title: 'Timezones', timezoneData: responseData, Config: Config, guildConfig: request.session.guildConfig, discordMe: request.session.discordMe })
}
let requestUrl = new URL(request.url, `${request.protocol}://${request.headers.host}`);
// console.log(request.session.discordMe);
let responseData = timezones.handleTimezonesDataRequest(requestUrl);
response.render('timezones', { title: 'Timezones', timezoneData: responseData, Config: Config, guildConfig: request.session.guildConfig, discordMe: request.session.discordMe })
} catch (error) {
console.error(error.message);
response.setHeader('Content-Type', 'text/html');
Expand All @@ -226,23 +226,15 @@ let server = app
.get(ROUTE_EVENTS, async function (request, response) {
try {
console.log('serving ' + ROUTE_EVENTS);
//@todo can remove
if (!request.session.discordMe) {
request.query.destination = ROUTE_EVENTS;
response.redirect(url.format({
pathname: grant.config.discord.prefix + "/discord",
query: request.query,
}));
} else {
let requestUrl = new URL(request.url, `${request.protocol}://${request.headers.host}`);
// console.log(request.session.discordMe);
let eventID = requestUrl.searchParams.get('eventID');
let event = await EventModel.findById(eventID);
if (event && event.userID != request.session.discordMe.id) {
event = undefined;
}
response.render('events', { title: 'Events', event: event, Config: Config, guildConfig: request.session.guildConfig, discordMe: request.session.discordMe })
let requestUrl = new URL(request.url, `${request.protocol}://${request.headers.host}`);
// console.log(request.session.discordMe);
let eventID = requestUrl.searchParams.get('eventID');
let event = await EventModel.findById(eventID);
if (event && event.userID != request.session.discordMe.id) {
console.log(`event is not owned by current user, dereferencing`);
event = undefined;
}
response.render('events', { title: 'Events', event: event, Config: Config, guildConfig: request.session.guildConfig, discordMe: request.session.discordMe })
} catch (error) {
console.error(error.message);
response.setHeader('Content-Type', 'text/html');
Expand Down

0 comments on commit c8d83e0

Please sign in to comment.