<script type="text/javascript">
<% amplitudeEnabled = APP_CONFIG.amplitude_api_key.present? && (user.nil? || !user.is_admin?) %>
<% if amplitudeEnabled %>
 (function(e,t){var n=e.amplitude||{_q:[],_iq:{}};var r=t.createElement("script");r.type="text/javascript";
   r.async=true;r.src="https://d24n15hnbwhuhn.cloudfront.net/libs/amplitude-3.0.1-min.gz.js";
   r.onload=function(){e.amplitude.runQueuedFunctions()};var i=t.getElementsByTagName("script")[0];
   i.parentNode.insertBefore(r,i);function s(e,t){e.prototype[t]=function(){this._q.push([t].concat(Array.prototype.slice.call(arguments,0)));
     return this}}var o=function(){this._q=[];return this};var a=["add","append","clearAll","prepend","set","setOnce","unset"];
   for(var u=0;u<a.length;u++){s(o,a[u])}n.Identify=o;var c=function(){this._q=[];return this;
   };var p=["setProductId","setQuantity","setPrice","setRevenueType","setEventProperties"];
   for(var l=0;l<p.length;l++){s(c,p[l])}n.Revenue=c;var d=["init","logEvent","logRevenue","setUserId","setUserProperties","setOptOut","setVersionName","setDomain","setDeviceId","setGlobalUserProperties","identify","clearUserProperties","setGroup","logRevenueV2","regenerateDeviceId"];
   function v(e){function t(t){e[t]=function(){e._q.push([t].concat(Array.prototype.slice.call(arguments,0)));
   }}for(var n=0;n<d.length;n++){t(d[n])}}v(n);n.getInstance=function(e){e=(!e||e.length===0?"$default_instance":e).toLowerCase();
     if(!n._iq.hasOwnProperty(e)){n._iq[e]={_q:[]};v(n._iq[e])}return n._iq[e]};e.amplitude=n;
 })(window,document);

 (function() {
   var ampClient = amplitude.getInstance();
   ampClient.init('<%= APP_CONFIG.amplitude_api_key %>');

   var userInfo = new amplitude.Identify()
                               .set('community_id', <%= community.id %>)
                               .set('marketplace_uuid', '<%= community.uuid_object.to_s %>')
                               .set('admin', <%= (user&.is_marketplace_admin? || false).to_json %>);

   <% if plan %>
     userInfo.set('plan_status', '<%= plan[:status] %>');
   <% end %>

   <% if user %>
     ampClient.setUserId('<%= user.uuid_object.to_s %>');
   <% end %>

   ampClient.identify(userInfo);

   <% if flash[:_analytics_events].present? %>
     <% flash[:_analytics_events].each do |ev| %>
       ampClient.logEvent(<%= ev[:event]&.to_json&.html_safe %>,
                          <%= ev[:props]&.to_json&.html_safe %>);
     <% end %>
   <% end %>

   <% if flash[:_analytics_logout] %>
     ampClient.setUserId(null);
     ampClient.regenerateDeviceid();
   <% end %>
 })();
<% end %>

 (function(exports) {
   exports.ampClient = {
     logEvent: function(eventType, eventProperties, opt_callback) {
       <% if amplitudeEnabled %>
         amplitude.getInstance().logEvent(eventType, eventProperties, opt_callback);
       <% else %>
         // No-op
         opt_callback();
       <% end %>
     }
   }
 })(window);

</script>
