2021-07-07 13:58:47 +01:00
|
|
|
const debug = require('@tryghost/debug')('themes');
|
|
|
|
const bridge = require('../../../bridge');
|
2021-09-23 12:44:39 +01:00
|
|
|
const customThemeSettings = require('../custom-theme-settings');
|
2021-07-07 13:58:47 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* These helper methods mean that the bridge is only required in one place
|
|
|
|
* And also adds a little debug statement, which is very handy when debugging theme logic
|
|
|
|
*/
|
|
|
|
module.exports = {
|
2021-10-21 15:02:42 +01:00
|
|
|
activateFromBoot: async (themeName, theme, checkedTheme) => {
|
2021-07-07 13:58:47 +01:00
|
|
|
debug('Activating theme (method A on boot)', themeName);
|
2021-09-23 12:44:39 +01:00
|
|
|
// TODO: probably a better place for this to happen - after successful activation / when reloading site?
|
2022-01-03 17:45:16 +00:00
|
|
|
await customThemeSettings.api.activateTheme(themeName, checkedTheme);
|
2021-11-23 17:02:09 +00:00
|
|
|
await bridge.activateTheme(theme, checkedTheme);
|
2021-07-07 13:58:47 +01:00
|
|
|
},
|
2021-10-21 15:02:42 +01:00
|
|
|
activateFromAPI: async (themeName, theme, checkedTheme) => {
|
2021-07-07 13:58:47 +01:00
|
|
|
debug('Activating theme (method B on API "activate")', themeName);
|
2021-09-23 12:44:39 +01:00
|
|
|
// TODO: probably a better place for this to happen - after successful activation / when reloading site?
|
2022-01-03 17:45:16 +00:00
|
|
|
await customThemeSettings.api.activateTheme(themeName, checkedTheme);
|
2021-11-23 17:02:09 +00:00
|
|
|
await bridge.activateTheme(theme, checkedTheme);
|
2021-07-07 13:58:47 +01:00
|
|
|
},
|
2021-10-21 15:02:42 +01:00
|
|
|
activateFromAPIOverride: async (themeName, theme, checkedTheme) => {
|
2021-07-07 13:58:47 +01:00
|
|
|
debug('Activating theme (method C on API "override")', themeName);
|
2021-09-23 12:44:39 +01:00
|
|
|
// TODO: probably a better place for this to happen - after successful activation / when reloading site?
|
2022-01-03 17:45:16 +00:00
|
|
|
await customThemeSettings.api.activateTheme(themeName, checkedTheme);
|
2021-11-23 17:02:09 +00:00
|
|
|
await bridge.activateTheme(theme, checkedTheme);
|
2021-07-07 13:58:47 +01:00
|
|
|
}
|
|
|
|
};
|