mirror of
https://gh.wpcy.net/https://github.com/elementor/one-click-accessibility.git
synced 2026-04-23 20:04:49 +08:00
* add: missing mixpanel events * update: use variable for hardcoded names * update: use variable for hardcoded names
74 lines
2.1 KiB
JavaScript
74 lines
2.1 KiB
JavaScript
import mixpanel from 'mixpanel-browser';
|
|
|
|
const SHARE_USAGE_DATA = 'share_usage_data';
|
|
const MIXPANEL_TOKEN = '150605b3b9f979922f2ac5a52e2dcfe9';
|
|
|
|
const init = async () => {
|
|
const { ea11ySettingsData } = window;
|
|
const plan = ea11ySettingsData?.planData?.plan;
|
|
|
|
if (!ea11ySettingsData?.planData?.scopes?.includes(SHARE_USAGE_DATA)) {
|
|
return;
|
|
}
|
|
|
|
await mixpanel.init(MIXPANEL_TOKEN, {
|
|
debug: ea11ySettingsData.pluginEnv === 'dev',
|
|
track_pageview: false,
|
|
persistence: 'localStorage',
|
|
record_sessions_percent: 50,
|
|
});
|
|
|
|
mixpanel.register({
|
|
productName: 'app_access',
|
|
appType: 'Apps',
|
|
environment: ea11ySettingsData.pluginEnv,
|
|
is_trial: Boolean(plan?.name?.toLowerCase().includes('free')),
|
|
});
|
|
|
|
mixpanel.identify(ea11ySettingsData?.planData?.user?.id);
|
|
|
|
const userData = {
|
|
$email: ea11ySettingsData?.planData?.user?.email,
|
|
$user_id: ea11ySettingsData?.planData?.user?.id,
|
|
$subscription_type: plan?.name,
|
|
$subscription_id: plan?.subscription_id,
|
|
$subscription_status: plan?.status,
|
|
};
|
|
|
|
mixpanel.people?.set_once(userData);
|
|
};
|
|
|
|
const sendEvent = (name, event) => {
|
|
if (mixpanel.__loaded) {
|
|
mixpanel.track(name, event);
|
|
}
|
|
};
|
|
|
|
export const mixpanelService = {
|
|
init,
|
|
sendEvent,
|
|
};
|
|
|
|
export const eventNames = {
|
|
pageView: 'page_view',
|
|
helpButtonClicked: 'help_button_clicked',
|
|
toggleClicked: 'toggle_clicked',
|
|
positionButtonClicked: 'position_button_clicked',
|
|
saveButtonClicked: 'save_button_clicked',
|
|
colorChanged: 'color_changed',
|
|
iconTypeSelected: 'icon_type_selected',
|
|
sizeTypeClicked: 'size_type_clicked',
|
|
menuButtonClicked: 'menu_button_clicked',
|
|
handleUnitChanged: 'handle_unit_changed',
|
|
handleValueChanged: 'handle_value_changed',
|
|
handleDirectionChanged: 'handle_direction_changed',
|
|
connectSuccess: 'connect_success',
|
|
fieldContentUpdated: 'field_content_updated',
|
|
statementPageCreated: 'statement_page_created',
|
|
statementPageSelected: 'statement_page_selected',
|
|
statementFlowSelected: 'statement_flow_selected',
|
|
upgradeButtonClicked: 'upgrade_button_clicked',
|
|
popupButtonClicked: 'popup_button_clicked',
|
|
filterSelected: 'filter_selected',
|
|
upgradeTooltipTriggered: 'upgrade_tooltip_triggered',
|
|
};
|