Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
710b8dc
Add custom device popup template
versx Aug 21, 2020
0be71e9
Use ejs instead of mustache
versx Aug 21, 2020
0dd179b
Add template support for device and scanarea popups
versx Aug 21, 2020
11cce47
Add template support for nest popups
versx Aug 21, 2020
68c469f
Add template support for spawnpoint popups
versx Aug 21, 2020
8827ac1
Add template support for weather popups
versx Aug 21, 2020
62d1035
Add template support for s2 scan cell popups
versx Aug 21, 2020
d8f6647
Add template support for pokestops
versx Aug 21, 2020
031faa2
Add template support for gym/raid popups
versx Aug 22, 2020
65d8080
Add template support for pokemon popups
versx Aug 22, 2020
8902afa
Add pvp rankings to pokemon template
versx Aug 22, 2020
19bfd2f
Add template support for submission cell popups
versx Aug 22, 2020
2805c3a
Remove unused fileRead method
versx Aug 22, 2020
fe1480d
Small fixes
versx Aug 22, 2020
f2f4f18
Merge master
versx Sep 17, 2020
a6e0696
Rename example templates. Add gitignore for templates folder.
versx Sep 17, 2020
d0ef857
Lint
versx Sep 17, 2020
c58c1f2
Remove spawnpoints, s2 cells, and s2 submission cells from templates.…
versx Sep 17, 2020
7329c3d
Fix pokemon popup columns on smaller screens
versx Sep 17, 2020
0de08bc
Fix gym popup columns on smaller screens and raid image
versx Sep 17, 2020
280496e
Fix raid popup image to include gender and costume
versx Sep 17, 2020
913bbe3
Merge branch 'master' into popup-templates
versx Sep 18, 2020
8e6229d
Merge branch 'master' into popup-templates
versx Sep 24, 2020
402e877
Merge branch 'master' into popup-templates
versx Oct 21, 2020
5d419e9
Merge branch 'master' into popup-templates
versx Oct 27, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -125,3 +125,7 @@ static/locales/*

# No docker-compose.yml files
docker-compose.yml

# Only keep example templates
/templates/*
!/templates/*.example.ejs
44 changes: 44 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
"compression": "^1.7.4",
"discord-oauth2": "^2.5.0",
"discord.js": "^12.3.1",
"ejs": "^3.1.5",
"eslint": "^7.9.0",
"express": "^4.17.1",
"express-mysql-session": "^2.1.4",
Expand Down
7 changes: 7 additions & 0 deletions src/routes/api.js
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,13 @@ router.post('/search', async (req, res) => {
res.json({ data: data });
});

router.post('/get_template/:name', async (req, res) => {
const template = req.params.name;
const view = req.body.data;
const templateData = await utils.render(template, view);
res.send(templateData);
});

router.get('/get_settings', async (req, res) => {
const data = getSettings();
res.json({ data: data });
Expand Down
42 changes: 41 additions & 1 deletion src/services/utils.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
'use strict';

const fs = require('fs');
const path = require('path');
const ejs = require('ejs');

const TemplatesDir = path.resolve(__dirname, '../../templates');
const config = require('../services/config.js');

const generateString = () => {
Expand Down Expand Up @@ -46,9 +51,44 @@ const hasRole = (userRoles, requiredRoles) => {

const zeroPad = (num, places) => String(num).padStart(places, '0');

const fileExists = async (path) => {
return new Promise((resolve, reject) => {
try {
fs.exists(path, (exists) => {
resolve(exists);
});
} catch (e) {
return reject(e);
}
});
};

const render = async (name, data) => {
const filePath = path.resolve(TemplatesDir, name + '.ejs');
if (!await fileExists(filePath)) {
throw `Template ${filePath} does not exist!`;
}
return new Promise((resolve, reject) => {
try {
ejs.renderFile(filePath, data, (err, str) => {
if (err) {
console.error('Template render error:', err);
//return reject(err);
}
resolve(str);
});
} catch (e) {
console.error('Template error:', e);
return reject(e);
}
});
};

module.exports = {
generateString,
hasGuild,
hasRole,
zeroPad
zeroPad,
fileExists,
render
};
1 change: 1 addition & 0 deletions src/views/header.mustache
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/leaflet-easyprint@2.1.9/dist/bundle.min.js"></script>
<script type="text/javascript" src="https://unpkg.com/leaflet.markercluster@1.4.1/dist/leaflet.markercluster.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/leaflet.locatecontrol@v0.70.0/dist/L.Control.Locate.min.js" charset="utf-8"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mustache.js/4.0.1/mustache.min.js"></script>
{{#google_analytics_id}}
<script type="text/javascript" src="//google-analytics.com/analytics.js"></script>
{{/google_analytics_id}}
Expand Down
Loading