Skip to content

Commit 5f11445

Browse files
committed
chore: remote config of survey show times
1 parent ba05737 commit 5f11445

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

src/extensionsIntegrated/Phoenix/guided-tour.js

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ define(function (require, exports, module) {
214214
}
215215
}
216216

217-
function _showGeneralSurvey(surveyURL) {
217+
function _showGeneralSurvey(surveyURL, delayOverride) {
218218
let surveyVersion = 6; // increment this if you want to show this again
219219
if(userAlreadyDidAction.generalSurveyShownVersion === surveyVersion) {
220220
return;
@@ -237,7 +237,7 @@ define(function (require, exports, module) {
237237
}, 200);
238238
userAlreadyDidAction.generalSurveyShownVersion = surveyVersion;
239239
PhStore.setItem(GUIDED_TOUR_LOCAL_STORAGE_KEY, JSON.stringify(userAlreadyDidAction));
240-
}, GENERAL_SURVEY_TIME);
240+
}, delayOverride || GENERAL_SURVEY_TIME);
241241
}
242242

243243
// a power user is someone who has used Phoenix at least 3 days or 8 hours in the last two weeks
@@ -295,12 +295,13 @@ define(function (require, exports, module) {
295295
return resizeObserver;
296296
}
297297

298-
function _showPowerUserSurvey(surveyURL) {
298+
function _showPowerUserSurvey(surveyURL, intervalOverride) {
299299
if(_isPowerUser()) {
300+
const intervalDays = intervalOverride || POWER_USER_SURVEY_INTERVAL_DAYS;
300301
Metrics.countEvent(Metrics.EVENT_TYPE.USER, "power", "user", 1);
301302
let lastShownDate = userAlreadyDidAction.lastShownPowerSurveyDate;
302303
let nextShowDate = new Date(lastShownDate);
303-
nextShowDate.setUTCDate(nextShowDate.getUTCDate() + POWER_USER_SURVEY_INTERVAL_DAYS);
304+
nextShowDate.setUTCDate(nextShowDate.getUTCDate() + intervalDays);
304305
let currentDate = new Date();
305306
if(currentDate < nextShowDate){
306307
return;
@@ -338,11 +339,14 @@ define(function (require, exports, module) {
338339
if(!Phoenix.isNativeApp && surveyJSON.browser) {
339340
surveyJSON = {
340341
newUser: surveyJSON.browser.newUser || surveyJSON.newUser,
341-
powerUser: surveyJSON.browser.powerUser || surveyJSON.powerUser
342+
newUserShowDelayMS: surveyJSON.browser.newUserShowDelayMS || surveyJSON.newUserShowDelayMS,
343+
powerUser: surveyJSON.browser.powerUser || surveyJSON.powerUser,
344+
powerUserShowIntervalDays: surveyJSON.browser.powerUserShowIntervalDays
345+
|| surveyJSON.powerUserShowIntervalDays
342346
};
343347
}
344-
surveyJSON.newUser && _showGeneralSurvey(surveyJSON.newUser);
345-
surveyJSON.powerUser && _showPowerUserSurvey(surveyJSON.powerUser);
348+
surveyJSON.newUser && _showGeneralSurvey(surveyJSON.newUser, surveyJSON.newUserShowDelayMS);
349+
surveyJSON.powerUser && _showPowerUserSurvey(surveyJSON.powerUser, surveyJSON.powerUserShowIntervalDays);
346350
} catch (e) {
347351
console.error("Error fetching survey link", surveyLinksURL, e);
348352
Metrics.countEvent(Metrics.EVENT_TYPE.USER, "survey", "fetchError", 1);

0 commit comments

Comments
 (0)