From 82c872ef1803d762219fdbf6cbe78e6d822294ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dani=C3=ABl=20van=20Noord?= <13665637+DanielNoord@users.noreply.github.com> Date: Tue, 20 Jul 2021 18:08:32 +0200 Subject: [PATCH] Use framework for Options menu --- src/Config/ToggleSetting.js | 43 +--------- src/Disp/MenuSections/AddMenus.js | 6 +- src/Disp/MenuSections/createMenuOptions.js | 96 ++++++++++++++++++++++ src/Main/Initialization.js | 4 +- 4 files changed, 101 insertions(+), 48 deletions(-) create mode 100644 src/Disp/MenuSections/createMenuOptions.js diff --git a/src/Config/ToggleSetting.js b/src/Config/ToggleSetting.js index 56a7152..dee9c3d 100644 --- a/src/Config/ToggleSetting.js +++ b/src/Config/ToggleSetting.js @@ -1,49 +1,10 @@ -import saveFramework from '@cookiemonsterteam/cookiemonsterframework/src/saveDataFunctions/saveFramework'; -import settings from '../Data/settings'; +import { saveAndLoadingFunctions } from '@cookiemonsterteam/cookiemonsterframework/src/index'; /** Functions related to toggling or changing an individual setting */ /** Used to name certain DOM or outside facing elements and refer to them */ export const ConfigPrefix = 'CMConfig'; -/** - * This function toggles options by incrementing them with 1 and handling changes - * It is called by the onclick event of options of the "bool" type - * @param {string} config The name of the option - */ -export function ToggleConfig(config) { - Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.settings[config] += 1; - - if ( - Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.settings[config] === - settings[config].label.length - ) { - Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.settings[config] = 0; - if (settings[config].toggle) l(ConfigPrefix + config).className = 'option off'; - } else l(ConfigPrefix + config).className = 'option'; - - if (typeof settings[config].func !== 'undefined') { - settings[config].func(); - } - - saveFramework(); -} - -/** - * This function sets the value of the specified volume-option and updates the display in the options menu - * It is called by the oninput and onchange event of "vol" type options - * @param {string} config The name of the option - */ -export function ToggleConfigVolume(config) { - if (l(`slider${config}`) !== null) { - l(`slider${config}right`).innerHTML = `${l(`slider${config}`).value}%`; - Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.settings[config] = Math.round( - l(`slider${config}`).value, - ); - } - saveFramework(); -} - /** * This function toggles header options by incrementing them with 1 and handling changes * It is called by the onclick event of the +/- next to headers @@ -53,5 +14,5 @@ export function ToggleHeader(config) { Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.headers[config] += 1; if (Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.headers[config] > 1) Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.headers[config] = 0; - saveFramework(); + saveAndLoadingFunctions.saveFramework(); } diff --git a/src/Disp/MenuSections/AddMenus.js b/src/Disp/MenuSections/AddMenus.js index f0c6659..2d610f5 100644 --- a/src/Disp/MenuSections/AddMenus.js +++ b/src/Disp/MenuSections/AddMenus.js @@ -1,5 +1,4 @@ import AddMenuStats from './Statistics/AddStatsPage'; -import AddMenuPref from './Settings/SettingsPage'; /** * This function adds the calll the functions to add extra info to the stats and options pages @@ -8,10 +7,7 @@ export default function AddMenu() { const title = document.createElement('div'); title.className = 'title'; - if (Game.onMenu === 'prefs') { - title.textContent = 'Cookie Monster Settings'; - AddMenuPref(title); - } else if (Game.onMenu === 'stats') { + if (Game.onMenu === 'stats') { if (Game.mods.cookieMonsterFramework.saveData.cookieMonsterMod.settings.Stats) { title.textContent = 'Cookie Monster Statistics'; AddMenuStats(title); diff --git a/src/Disp/MenuSections/createMenuOptions.js b/src/Disp/MenuSections/createMenuOptions.js new file mode 100644 index 0000000..0e8668a --- /dev/null +++ b/src/Disp/MenuSections/createMenuOptions.js @@ -0,0 +1,96 @@ +import { menuFunctions as mF } from '@cookiemonsterteam/cookiemonsterframework'; +import { ConfigGroups, ConfigGroupsNotification } from '../../Data/Sectionheaders.ts'; +import settings from '../../Data/settings'; +import UpdateColours from '../HelperFunctions/UpdateColours'; +import RefreshScale from '../HelperFunctions/RefreshScale'; + +/** + * Creates the