UNPKG

vtex

Version:

The platform for e-commerce apps

53 lines (52 loc) 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.checkAndOpenNPSLink = void 0; const tslib_1 = require("tslib"); const enquirer_1 = tslib_1.__importDefault(require("enquirer")); const moment_1 = tslib_1.__importDefault(require("moment")); const featureFlagDecider_1 = require("./modules/featureFlag/featureFlagDecider"); const conf_1 = require("./api/conf"); const prompts_1 = require("./api/modules/prompts"); const NPSFormURL = 'https://forms.gle/CRRHn6P3x9AeaWTQ8'; const choices = { 'In 1 day': [1, 'days'], 'In 1 week': [1, 'weeks'], 'In 1 month': [1, 'months'], Never: [3, 'months'], }; async function checkAndOpenNPSLink() { const nextFeedbackDateString = (0, conf_1.getNextFeedbackDate)(); if (!nextFeedbackDateString) { // If the user is starting to use the tool, wait 1 week to ask for feedback. (0, conf_1.saveNextFeedbackDate)((0, moment_1.default)() .add(1, 'weeks') .toISOString()); return; } const nextFeedbackDate = (0, moment_1.default)(nextFeedbackDateString); if ((0, moment_1.default)() > nextFeedbackDate) { const shouldOpenFeedbackForm = await (0, prompts_1.promptConfirm)(`Help us evolve VTEX IO! Can you fill in our feedback form?`, true); if (shouldOpenFeedbackForm) { // Ask for feedback again in 3 months. (0, conf_1.saveNextFeedbackDate)((0, moment_1.default)() .add(3, 'months') .toISOString()); (0, featureFlagDecider_1.switchOpen)(NPSFormURL, { wait: false }); } else { // @ts-ignore let { remindChoice } = await enquirer_1.default.prompt({ name: 'remindChoice', message: 'When would you like to be reminded?', type: 'select', choices: Object.keys(choices), }); const [n, unit] = choices[remindChoice]; remindChoice = (0, moment_1.default)() .add(n, unit) .toISOString(); (0, conf_1.saveNextFeedbackDate)(remindChoice); } } } exports.checkAndOpenNPSLink = checkAndOpenNPSLink;