mirror of
https://github.com/HabitRPG/habitica.git
synced 2025-12-19 15:48:04 +01:00
Remove loading of a bunch of external javascript files if usign mobile device
This commit is contained in:
@@ -59,10 +59,6 @@ get('/:uidParam?', function(page, model, _arg) {
|
|||||||
|
|
||||||
getHabits = function(page, model, userId) {
|
getHabits = function(page, model, userId) {
|
||||||
return model.subscribe("users." + userId, function(err, user) {
|
return model.subscribe("users." + userId, function(err, user) {
|
||||||
console.log({
|
|
||||||
userId: userId,
|
|
||||||
err: err
|
|
||||||
}, "app/index.coffee: model.subscribe");
|
|
||||||
model.ref('_user', user);
|
model.ref('_user', user);
|
||||||
model.set('_items', {
|
model.set('_items', {
|
||||||
armor: content.items.armor[parseInt(user.get('items.armor')) + 1],
|
armor: content.items.armor[parseInt(user.get('items.armor')) + 1],
|
||||||
@@ -89,6 +85,7 @@ ready(function(model) {
|
|||||||
model.on('set', '*', function() {
|
model.on('set', '*', function() {
|
||||||
return $('[rel=popover]').popover();
|
return $('[rel=popover]').popover();
|
||||||
});
|
});
|
||||||
|
if (!(model.get('_mobileDevice') === true)) {
|
||||||
setupSortable = function(type) {
|
setupSortable = function(type) {
|
||||||
return $("ul." + type + "s").sortable({
|
return $("ul." + type + "s").sortable({
|
||||||
dropOnEmpty: false,
|
dropOnEmpty: false,
|
||||||
@@ -116,6 +113,7 @@ ready(function(model) {
|
|||||||
type = _ref1[_i];
|
type = _ref1[_i];
|
||||||
setupSortable(type);
|
setupSortable(type);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
tour = new Tour();
|
tour = new Tour();
|
||||||
_ref2 = content.tourSteps;
|
_ref2 = content.tourSteps;
|
||||||
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
|
for (_j = 0, _len1 = _ref2.length; _j < _len1; _j++) {
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
// Generated by CoffeeScript 1.3.3
|
// Generated by CoffeeScript 1.3.3
|
||||||
var ONE_YEAR, app, derby, express, expressApp, gzippo, http, path, publicPath, racer, root, server, serverError, store;
|
var ONE_YEAR, app, derby, express, expressApp, gzippo, http, mobileMiddleware, path, publicPath, racer, root, server, serverError, store;
|
||||||
|
|
||||||
http = require('http');
|
http = require('http');
|
||||||
|
|
||||||
@@ -17,8 +17,6 @@ serverError = require('./serverError');
|
|||||||
|
|
||||||
racer = require('derby/node_modules/racer');
|
racer = require('derby/node_modules/racer');
|
||||||
|
|
||||||
racer.use(racer.logPlugin);
|
|
||||||
|
|
||||||
racer.set('transports', ['xhr-polling']);
|
racer.set('transports', ['xhr-polling']);
|
||||||
|
|
||||||
expressApp = express();
|
expressApp = express();
|
||||||
@@ -47,6 +45,13 @@ root = path.dirname(path.dirname(__dirname));
|
|||||||
|
|
||||||
publicPath = path.join(root, 'public');
|
publicPath = path.join(root, 'public');
|
||||||
|
|
||||||
|
mobileMiddleware = function(req, res, next) {
|
||||||
|
var model;
|
||||||
|
model = req.getModel();
|
||||||
|
model.set('_mobileDevice', /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(req.header('User-Agent')));
|
||||||
|
return next();
|
||||||
|
};
|
||||||
|
|
||||||
expressApp.use(express.favicon()).use(gzippo.staticGzip(publicPath, {
|
expressApp.use(express.favicon()).use(gzippo.staticGzip(publicPath, {
|
||||||
maxAge: ONE_YEAR
|
maxAge: ONE_YEAR
|
||||||
})).use(express.compress()).use(express.cookieParser()).use(store.sessionMiddleware({
|
})).use(express.compress()).use(express.cookieParser()).use(store.sessionMiddleware({
|
||||||
@@ -54,7 +59,7 @@ expressApp.use(express.favicon()).use(gzippo.staticGzip(publicPath, {
|
|||||||
cookie: {
|
cookie: {
|
||||||
maxAge: ONE_YEAR
|
maxAge: ONE_YEAR
|
||||||
}
|
}
|
||||||
})).use(store.modelMiddleware()).use(app.router()).use(expressApp.router).use(serverError(root));
|
})).use(store.modelMiddleware()).use(mobileMiddleware).use(app.router()).use(expressApp.router).use(serverError(root));
|
||||||
|
|
||||||
expressApp.all('*', function(req) {
|
expressApp.all('*', function(req) {
|
||||||
throw "404: " + req.url;
|
throw "404: " + req.url;
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ get '/:uidParam?', (page, model, {uidParam}) ->
|
|||||||
getHabits = (page, model, userId) ->
|
getHabits = (page, model, userId) ->
|
||||||
|
|
||||||
model.subscribe "users.#{userId}", (err, user) ->
|
model.subscribe "users.#{userId}", (err, user) ->
|
||||||
console.log {userId:userId, err:err}, "app/index.coffee: model.subscribe"
|
# console.log {userId:userId, err:err}, "app/index.coffee: model.subscribe"
|
||||||
# => {userId: 26c48325-2fea-4e2e-a60f-a5fa28d7b410, err: Unauthorized: No access control declared for path users.26c48325-2fea-4e2e-a60f-a5fa28d7b410 }
|
# => {userId: 26c48325-2fea-4e2e-a60f-a5fa28d7b410, err: Unauthorized: No access control declared for path users.26c48325-2fea-4e2e-a60f-a5fa28d7b410 }
|
||||||
model.ref '_user', user
|
model.ref '_user', user
|
||||||
|
|
||||||
@@ -87,6 +87,7 @@ ready (model) ->
|
|||||||
model.on 'set', '*', ->
|
model.on 'set', '*', ->
|
||||||
$('[rel=popover]').popover()
|
$('[rel=popover]').popover()
|
||||||
|
|
||||||
|
unless (model.get('_mobileDevice') == true) #don't do sortable on mobile
|
||||||
# Make the lists draggable using jQuery UI
|
# Make the lists draggable using jQuery UI
|
||||||
# Note, have to setup helper function here and call it for each type later
|
# Note, have to setup helper function here and call it for each type later
|
||||||
# due to variable binding of "type"
|
# due to variable binding of "type"
|
||||||
|
|||||||
@@ -9,7 +9,7 @@ serverError = require './serverError'
|
|||||||
## RACER CONFIGURATION ##
|
## RACER CONFIGURATION ##
|
||||||
|
|
||||||
racer = require 'derby/node_modules/racer'
|
racer = require 'derby/node_modules/racer'
|
||||||
racer.use(racer.logPlugin)
|
# racer.use(racer.logPlugin)
|
||||||
racer.set('transports', ['xhr-polling'])
|
racer.set('transports', ['xhr-polling'])
|
||||||
# racer.set('bundle timeout', 10000)
|
# racer.set('bundle timeout', 10000)
|
||||||
|
|
||||||
@@ -30,6 +30,12 @@ ONE_YEAR = 1000 * 60 * 60 * 24 * 365
|
|||||||
root = path.dirname path.dirname __dirname
|
root = path.dirname path.dirname __dirname
|
||||||
publicPath = path.join root, 'public'
|
publicPath = path.join root, 'public'
|
||||||
|
|
||||||
|
# Custom request object middleware
|
||||||
|
mobileMiddleware = (req, res, next) ->
|
||||||
|
model = req.getModel()
|
||||||
|
model.set '_mobileDevice', /Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(req.header 'User-Agent')
|
||||||
|
next()
|
||||||
|
|
||||||
expressApp
|
expressApp
|
||||||
.use(express.favicon())
|
.use(express.favicon())
|
||||||
# Gzip static files and serve from memory
|
# Gzip static files and serve from memory
|
||||||
@@ -51,6 +57,9 @@ expressApp
|
|||||||
|
|
||||||
# Adds req.getModel method
|
# Adds req.getModel method
|
||||||
.use(store.modelMiddleware())
|
.use(store.modelMiddleware())
|
||||||
|
# Middelware can be inserted after the modelMiddleware and before
|
||||||
|
# the app router to pass server accessible data to a model
|
||||||
|
.use(mobileMiddleware)
|
||||||
# Creates an express middleware from the app's routes
|
# Creates an express middleware from the app's routes
|
||||||
.use(app.router())
|
.use(app.router())
|
||||||
.use(expressApp.router)
|
.use(expressApp.router)
|
||||||
|
|||||||
@@ -158,6 +158,7 @@
|
|||||||
Copyright © 2012 Tyler Renelle
|
Copyright © 2012 Tyler Renelle
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
{#unless _mobileDevice}
|
||||||
<td>
|
<td>
|
||||||
<!-- Github -->
|
<!-- Github -->
|
||||||
<iframe src="http://markdotto.github.com/github-buttons/github-btn.html?user=lefnire&repo=habitrpg&type=watch&count=true"
|
<iframe src="http://markdotto.github.com/github-buttons/github-btn.html?user=lefnire&repo=habitrpg&type=watch&count=true"
|
||||||
@@ -178,6 +179,7 @@
|
|||||||
<!-- AddThis Button END -->
|
<!-- AddThis Button END -->
|
||||||
<a href="https://twitter.com/share" class="twitter-share-button" data-via="lefnire">Tweet</a>
|
<a href="https://twitter.com/share" class="twitter-share-button" data-via="lefnire">Tweet</a>
|
||||||
</td>
|
</td>
|
||||||
|
{/}
|
||||||
|
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@@ -287,7 +289,7 @@
|
|||||||
<!-- Required scripts, needed by ready() -->
|
<!-- Required scripts, needed by ready() -->
|
||||||
<Scripts:>
|
<Scripts:>
|
||||||
<script src=/js/jquery.min.js></script><!-- http://code.jquery.com/jquery-1.7.2.min.js -->
|
<script src=/js/jquery.min.js></script><!-- http://code.jquery.com/jquery-1.7.2.min.js -->
|
||||||
<script src=/js/jquery-ui.min.js></script>
|
{#unless _mobileDevice}<script src=/js/jquery-ui.min.js></script>{/}
|
||||||
<script src=/js/underscore-min.js></script><!-- http://underscorejs.org/underscore-min.js -->
|
<script src=/js/underscore-min.js></script><!-- http://underscorejs.org/underscore-min.js -->
|
||||||
<script src=/js/bootstrap.min.js></script><!-- http://twitter.github.com/bootstrap/assets/js/bootstrap.min.js -->
|
<script src=/js/bootstrap.min.js></script><!-- http://twitter.github.com/bootstrap/assets/js/bootstrap.min.js -->
|
||||||
<script src=/js/jquery.cookie.js></script><!-- https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js -->
|
<script src=/js/jquery.cookie.js></script><!-- https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js -->
|
||||||
@@ -295,11 +297,13 @@
|
|||||||
|
|
||||||
<!-- Scripts not needed right away (google charts) or entirely optional (analytics) -->
|
<!-- Scripts not needed right away (google charts) or entirely optional (analytics) -->
|
||||||
<Tail:>
|
<Tail:>
|
||||||
|
{#unless _mobileDevice}
|
||||||
<script src=/js/google-jsapi.js></script><!-- https://www.google.com/jsapi -->
|
<script src=/js/google-jsapi.js></script><!-- https://www.google.com/jsapi -->
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
google.load("visualization", "1", {packages:["corechart"]});
|
google.load("visualization", "1", {packages:["corechart"]});
|
||||||
google.setOnLoadCallback(function(){});
|
google.setOnLoadCallback(function(){});
|
||||||
</script>
|
</script>
|
||||||
|
{/}
|
||||||
|
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var _gaq = _gaq || [];
|
var _gaq = _gaq || [];
|
||||||
@@ -317,5 +321,5 @@
|
|||||||
<!--<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=lefnire"></script>-->
|
<!--<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=lefnire"></script>-->
|
||||||
|
|
||||||
<!-- Twitter -->
|
<!-- Twitter -->
|
||||||
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
|
{#unless _mobileDevice}<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src="//platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>{/}
|
||||||
|
|
||||||
Reference in New Issue
Block a user