From 666dcc145f23dcc5a49edd6506490b09866194b5 Mon Sep 17 00:00:00 2001 From: versx Date: Thu, 24 Sep 2020 11:41:32 -0700 Subject: [PATCH 1/5] Add custom themes --- .gitignore | 4 + src/routes/ui.js | 27 ++++-- src/views/header.mustache | 1 + src/views/index.mustache | 7 +- src/views/navbar.mustache | 4 +- static/css/index.css | 11 +-- static/css/themes/blue.css.example | 126 ++++++++++++++++++++++++++++ static/css/themes/dark.css.example | 126 ++++++++++++++++++++++++++++ static/css/themes/default.css | 126 ++++++++++++++++++++++++++++ static/css/themes/green.css.example | 126 ++++++++++++++++++++++++++++ static/css/themes/mygod.css.example | 125 +++++++++++++++++++++++++++ static/js/index.js | 32 +++++++ 12 files changed, 698 insertions(+), 17 deletions(-) create mode 100644 static/css/themes/blue.css.example create mode 100644 static/css/themes/dark.css.example create mode 100644 static/css/themes/default.css create mode 100644 static/css/themes/green.css.example create mode 100644 static/css/themes/mygod.css.example diff --git a/.gitignore b/.gitignore index 65ca5ca2..d51c8f46 100644 --- a/.gitignore +++ b/.gitignore @@ -125,3 +125,7 @@ static/locales/* # No docker-compose.yml files docker-compose.yml + +static/css/themes/* +!static/css/themes/default.css +!static/css/themes/*.css.example \ No newline at end of file diff --git a/src/routes/ui.js b/src/routes/ui.js index 234f8d1f..679c27dc 100644 --- a/src/routes/ui.js +++ b/src/routes/ui.js @@ -82,6 +82,9 @@ const handlePage = async (req, res) => { await updateAvailableForms(config.icons); data.available_icon_styles_json = JSON.stringify(config.icons); + const themes = await getAvailableThemes(); + data.available_themes_json = JSON.stringify(themes);; + // Build available items list const availableItems = [-1, -2, -3, -4, -5, -6, -7, -8]; //const keys = Object.keys(InventoryItemId); @@ -92,11 +95,7 @@ const handlePage = async (req, res) => { data.available_items_json = JSON.stringify(availableItems); // Build available areas list - const areas = []; - const areaKeys = Object.keys(config.areas).sort(); - areaKeys.forEach(key => { - areas.push({ 'area': key }); - }); + const areas = Object.keys(config.areas).sort().map(x => { return { 'area': x } }); data.areas = areas; // Available raid boss filters @@ -215,6 +214,24 @@ const getAvailableTileservers = () => { return tileservers; }; +const getAvailableThemes = async () => { + const themes = {}; + const themesDir = path.resolve(__dirname, '../../static/css/themes'); + const files = await fs.promises.readdir(themesDir); + if (files) { + files.forEach(file => { + const ext = path.extname(file); + if (ext !== '.css') { + return; + } + let name = path.basename(file, '.css'); + name = name.charAt(0).toUpperCase() + name.slice(1); + themes[name] = `/css/themes/${file}`; + }); + } + return themes; +}; + const updateAvailableForms = async (icons) => { for (const icon of Object.values(icons)) { if (icon.path.startsWith('/')) { diff --git a/src/views/header.mustache b/src/views/header.mustache index 555932fd..584587ff 100644 --- a/src/views/header.mustache +++ b/src/views/header.mustache @@ -19,6 +19,7 @@ + diff --git a/src/views/index.mustache b/src/views/index.mustache index dd7e5d85..0c95bc77 100644 --- a/src/views/index.mustache +++ b/src/views/index.mustache @@ -43,6 +43,7 @@ const availableItems = JSON.parse('{{{available_items_json}}}'); const availableTileservers = JSON.parse(`{{{available_tileservers_json}}}`); const availableIconStyles = JSON.parse('{{{available_icon_styles_json}}}'); + const availableThemes = JSON.parse('{{{available_themes_json}}}'); const availableRaidBosses = JSON.parse('{{{available_raid_bosses_json}}}'); const availableQuestRewards = JSON.parse('{{{available_quest_rewards_json}}}'); const availableNestPokemon = JSON.parse('{{{available_nest_pokemon_json}}}'); @@ -777,6 +778,10 @@ +
+ Theme + +
@@ -844,4 +849,4 @@ -{{> footer}} +{{> footer}} \ No newline at end of file diff --git a/src/views/navbar.mustache b/src/views/navbar.mustache index c3042aea..abf4c8e5 100644 --- a/src/views/navbar.mustache +++ b/src/views/navbar.mustache @@ -1,4 +1,4 @@ -