get_my/client/UserConfig/userConfig.js
2025-06-21 07:28:59 -05:00

57 lines
No EOL
1.7 KiB
JavaScript

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");
}
}