snipt/media/js/src/application.js

71 lines
1.7 KiB
JavaScript
Raw Normal View History

'use strict';
var snipt = {
module: function() {
var modules = {};
return function(name) {
if (modules[name]) {
return modules[name];
}
2012-02-24 17:45:00 -08:00
return modules[name] = {};
};
}()
};
jQuery(function($) {
2012-02-24 17:45:00 -08:00
var SiteView = snipt.module('site').SiteView;
2012-01-25 16:39:38 -08:00
window.site = new SiteView();
});
// Angular app init.
(function() {
var root = this;
// App definition.
var app = angular.module('Snipt', [], function($locationProvider) {
$locationProvider.html5Mode(true);
});
// Use non-Django-style interpolation.
app.config(function($interpolateProvider) {
2013-05-08 21:59:28 -07:00
$interpolateProvider.startSymbol('{[{');
$interpolateProvider.endSymbol('}]}');
});
root.app = app;
if (root.user_id) {
root.mixpanel.identify(root.user_id);
root.mixpanel.alias(root.user);
root.mixpanel.people.set({
2013-10-21 13:07:46 -07:00
$name: root.user,
$username: root.user,
$email: root.user_email,
$ip: root.user_ip
});
}
if (root.location.pathname === '/account/stats/') {
root.mixpanel.track('Viewing stats page');
}
if (root.location.pathname === '/pro/') {
root.mixpanel.track('Viewing Pro page');
}
if (root.location.pathname === '/pro/signup/') {
root.mixpanel.track('Viewing Pro signup page');
}
if (root.location.pathname === '/jobs/') {
root.mixpanel.track('Viewing jobs page');
}
root.mixpanel.track_links('#hate-ads', '"Hate ads" link clicked');
root.mixpanel.track_links('#post-job', '"Post a job" link clicked');
2013-10-21 12:40:32 -07:00
root.mixpanel.track_links('a.download', 'Downloading snipt');
}).call(this);