//
// card-generator.js - Generate a card.
//
// © Copyright 2018 by luk3yx.
//
// Decode the URL (if encoded)
var encoded = helpers.params.get('oldlink');
if (encoded && encoded.startsWith('🎄')) {
helpers.params = new URLSearchParams(atob(encoded.replace('🎄', '')));
}
var card = (helpers.params.get('card') || '').toLowerCase();
var dfmsg = '';
switch (card) {
case 'xmas':
case 'christmas':
greeting = 'Merry Christmas';
dfmsg = 'Jingle bells, jingle bells,' +
'\nJingle all the way.' +
'\nOh what fun it is to ride,' +
'\nIn a one-horse open sleigh!';
break;
case 'birthday':
greeting = 'Happy Birthday';
break;
default:
greeting = 'April Fools';
dfmsg = 'I have no idea what card\nI am supposed to make.';
break;
}
if (! dfmsg) {
dfmsg = greeting + ', and\nbest wishes for the future.';
}
// Get all the parameters
var to = helpers.params.get('to');
var from = helpers.params.get('from') || '....................';
var msg = helpers.params.get('msg');
var imgurl = helpers.params.get('imgurl');
var colour = helpers.params.get('colour') || helpers.params.get('color');
var img = helpers.params.get('img');
// Parse them
var title = greeting + '!';
if (img == 'URL') {
img = null;
}
if (to) {
title = greeting + ' ' + to + '!';
}
if (! msg) {
msg = dfmsg;
}
// Escape HTML
title = helpers.escapeHTML(title);
from = helpers.escapeHTML(from);
msg = helpers.escapeHTML(msg, true);
img = helpers.escapeHTML(img);
colour = helpers.escapeHTML(colour);
// Get the image URL
if (img) {
// More code to support legacy options
var url = helpers.url + '/images/';
switch (img) {
case '1': // The older format had '1-6',
case '2': // not xmas[n] and birthday[n].
case '3': // This is because there only
case '4': // used to be a Christmas
case '5': // card generator.
case '6':
imgurl = url + 'xmas' + img + '.jpg';
break;
default:
if (img) {
imgurl = url + img + '.jpg';
}
break;
}
}
// Get the tag
var imgtag = '';
if (imgurl) {
imgtag = '
';
}
// Set the text colour
var morecss = '';
if (colour) {
morecss = '';
}
var html = `