From b999fc86ea108076238775aab0fbaa8352c38bf1 Mon Sep 17 00:00:00 2001 From: Albert Yi Date: Mon, 22 Oct 2018 16:54:38 -0700 Subject: [PATCH] mixpanel fixes --- app/controllers/users_controller.rb | 1 + app/javascript/packs/application.js | 2 +- app/javascript/src/javascripts/mixpanel.js | 26 +++++++++++++--------- app/views/layouts/default.html.erb | 19 +++++++--------- app/views/user_feedbacks/show.html.erb | 10 +++++++++ 5 files changed, 35 insertions(+), 23 deletions(-) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 3e51a5936..696006c23 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -50,6 +50,7 @@ class UsersController < ApplicationController @user.save if @user.errors.empty? session[:user_id] = @user.id + flash[:alias_mixpanel] = true else flash[:notice] = "Sign up failed: #{@user.errors.full_messages.join("; ")}" end diff --git a/app/javascript/packs/application.js b/app/javascript/packs/application.js index 092cb13b2..dd267c07f 100644 --- a/app/javascript/packs/application.js +++ b/app/javascript/packs/application.js @@ -43,4 +43,4 @@ export { default as Shortcuts } from '../src/javascripts/shortcuts.js'; export { default as Upload } from '../src/javascripts/uploads.js'; export { default as Utility } from '../src/javascripts/utility.js'; export { default as Ugoira } from '../src/javascripts/ugoira.js'; -export { mixpanelInit, mixpanelEvent } from '../src/javascripts/mixpanel.js'; +export { mixpanelInit, mixpanelEvent, mixpanelAlias } from '../src/javascripts/mixpanel.js'; diff --git a/app/javascript/src/javascripts/mixpanel.js b/app/javascript/src/javascripts/mixpanel.js index 98122ac03..0e726094e 100644 --- a/app/javascript/src/javascripts/mixpanel.js +++ b/app/javascript/src/javascripts/mixpanel.js @@ -1,18 +1,14 @@ -const mixpanelInit = (user_id, session_id, opt_out, user_data) => { +const mixpanelInit = (user_id, opt_out, user_data) => { if (typeof window.mixpanel !== "object") { return; } - if (user_id) { - window.mixpanel.identify(user_id); + window.mixpanel.identify(user_id); - if (opt_out) { - window.mixpanel.opt_out_tracking(); - } else { - window.mixpanel.people.set(user_data); - } - } else if (session_id) { - window.mixpanel.identify("anon:" + session_id); + if (opt_out) { + window.mixpanel.opt_out_tracking(); + } else { + window.mixpanel.people.set(user_data); } } @@ -24,4 +20,12 @@ const mixpanelEvent = (title, props) => { window.mixpanel.track(title, props); } -export { mixpanelInit, mixpanelEvent }; +const mixpanelAlias = (user_id) => { + if (typeof window.mixpanel !== "object") { + return; + } + + window.mixpanel.alias(user_id); +} + +export { mixpanelInit, mixpanelEvent, mixpanelAlias }; diff --git a/app/views/layouts/default.html.erb b/app/views/layouts/default.html.erb index 21f0d625e..23eb01844 100644 --- a/app/views/layouts/default.html.erb +++ b/app/views/layouts/default.html.erb @@ -84,18 +84,15 @@ $(window).trigger("danbooru:error", msg); } - + ); + + <% end %> <%= tag.body **body_attributes(CurrentUser.user) do %> diff --git a/app/views/user_feedbacks/show.html.erb b/app/views/user_feedbacks/show.html.erb index 34efbfb57..54d0c5be4 100644 --- a/app/views/user_feedbacks/show.html.erb +++ b/app/views/user_feedbacks/show.html.erb @@ -20,3 +20,13 @@ <% content_for(:page_title) do %> Feedback - <%= @user_feedback.user_name %> - <%= Danbooru.config.app_name %> <% end %> + +<% if flash[:alias_mixpanel] %> + <% content_for(:html_header) do %> + + <% end %> +<% end %> \ No newline at end of file