import { UserConfig } from "../../imports/api/userConfig"; Template.userConfig.onCreated(function() { }); Template.userConfig.onRendered(function() { const getConfig = async() => { // console.log("tried to get switch config.") let myConfig = await UserConfig.findOneAsync({ user: Meteor.userId() }); try { // console.dir(myConfig); if (!myConfig) { // console.log("config not found, setting to light mode."); $("#darkMode").prop('checked', false); } else { // console.log("My Pref: " + myConfig.darkMode); if (myConfig.darkMode == 'light') { $("#darkMode").prop('checked', false); } else { // console.log("should be checked.") $("#darkMode").prop('checked', true); } } } catch(error) { console.log(" ERROR getting dark theme for setting swtich: " + error); } } getConfig(); }); Template.userConfig.helpers({ }); Template.userConfig.events({ 'click #darkMode' (event) { let darkModePref = $("#darkMode").prop('checked') if (darkModePref == true) { let mode = 'dark'; setDarkMode(mode); } else { let mode = 'light'; setDarkMode(mode); } }, }); const setDarkMode = async(mode) => { let result = await Meteor.callAsync('update.darkModePref', mode); if (!result) { console.log(" - Did not receive back a 'result' from the update."); } else { showSnackbar("Dark Mode Preference Set to " + mode, "green"); } }