Skip to content

Commit

Permalink
Enhance back button for each post to redirect to the last known page
Browse files Browse the repository at this point in the history
  • Loading branch information
kelyvin committed May 2, 2016
1 parent 408b6e2 commit 6c75375
Show file tree
Hide file tree
Showing 7 changed files with 45 additions and 6 deletions.
2 changes: 1 addition & 1 deletion assets/css/caffeine-theme.css

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions assets/js/caffeine-theme.js

Large diffs are not rendered by default.

23 changes: 23 additions & 0 deletions assets/js/src/__init.js
Expand Up @@ -34,6 +34,17 @@ $(function() {
}

},
redirect: function (pageNum) {
var redirectUrl = "";

if (pageNum > 1) {
redirectUrl += "/page/" + pageNum + "/#open";
} else {
redirectUrl += "/#open";
}

window.location.href = redirectUrl;
},
isOpen: function () {
return location.hash === openHash;
},
Expand All @@ -46,6 +57,18 @@ $(function() {
close: function() {
window.history.replaceState(null, null, "#");
},
getLastPageNum: function() {
var pageNum = window.store.get("pageNum") || "";

return pageNum;
},
setLastPageNum: function() {
var pageNum = $("#pageNum").text() || "";

if (pageNum.length > 0) {
window.store.set("pageNum", pageNum);
}
},
readTime: function() {
var DateInDays;
DateInDays = function(selector) {
Expand Down
17 changes: 16 additions & 1 deletion assets/js/src/main.js
Expand Up @@ -45,17 +45,30 @@ $(function() {
$(".subscribe-button").removeClass("hide");
}

// "Home" page setup
if (CaffeineTheme.is("page", "home")) {
if (!CaffeineTheme.isOpen()) {
CaffeineTheme.hideIndexPage();
}
}

// "Post" page setup
if (CaffeineTheme.is("page", "post")) {
$("main").readingTime({
readingTimeTarget: ".reading-time > span"
});
$(".content").fitVids();

$("#back-button").on("click", function (event) {
var lastPageNum = CaffeineTheme.getLastPageNum();
event.preventDefault();

if (lastPageNum.length > 0) {
CaffeineTheme.redirect(lastPageNum);
} else {
window.history.back();
}
});
}

// Sets up masonry effects
Expand All @@ -79,7 +92,7 @@ $(function() {
}

// Check if local store is enabled. This is required.
if (!store.enabled) {
if (!window.store.enabled) {
return;
}

Expand All @@ -106,5 +119,7 @@ $(function() {
} else {
$posts.css("visibility", "visible");
}

CaffeineTheme.setLastPageNum();
});
});
1 change: 1 addition & 0 deletions assets/scss/components/_pagination.scss
Expand Up @@ -37,5 +37,6 @@
margin-left: 16px;
font-size: 12px;
color: $gray-dark;
display: inline;
}
}
2 changes: 1 addition & 1 deletion partials/pagination.hbs
Expand Up @@ -2,7 +2,7 @@
{{#if prev}}
<a rel="next" class="newer btn small hvr-grow" href="{{page_url prev}}#open"><i class="fa fa-arrow-left"></i> Newer Posts</a>
{{/if}}
<span class="index">Page {{page}} of {{pages}}</span>
<div class="index">Page <span id="pageNum">{{page}}</span> of {{pages}}</div>
{{#if next}}
<a rel="prev" class="older btn small hvr-grow" href="{{page_url next}}#open">Older Posts <i class="fa fa-arrow-right"></i></a>
{{/if}}
Expand Down
2 changes: 1 addition & 1 deletion post.hbs
Expand Up @@ -5,7 +5,7 @@
<article class="{{post_class}}">
{{> material-cover}}
<div class="post-card animated fade-in">
<a href="javascript:window.history.back()" title="Go back" class="hvr-grow">
<a id="back-button" href="#open" title="Go back" class="hvr-grow">
<div class="back-button">
<i class="fa fa-arrow-left"></i>
</div>
Expand Down

0 comments on commit 6c75375

Please sign in to comment.