mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-01-11 19:58:28 +01:00
Like button tweaks (closes #15)
This commit is contained in:
parent
9c229d2d4e
commit
436cdfb15e
@ -45,6 +45,9 @@ getPackageR pn = do
|
||||
return (packages, downloads, recentDownloads, nLikes, liked, metadata)
|
||||
|
||||
let likedClass = if liked then "fa-thumbs-up" else "fa-thumbs-o-up" :: Text
|
||||
likeTitle = if liked
|
||||
then "You liked this!"
|
||||
else "I like this!" :: Text
|
||||
|
||||
let deps = enumerate (metadataDeps metadata)
|
||||
authors = enumerate (parseIdentitiesLiberally (metadataAuthor metadata))
|
||||
|
||||
@ -34,9 +34,7 @@ $newline never
|
||||
<span #likes>
|
||||
#{nLikes}
|
||||
\ likes #
|
||||
$if isJust muid
|
||||
<i .fa.#{likedClass}
|
||||
onclick="toggleLike(this)"></i>
|
||||
<i .fa .#{likedClass} #like title="#{likeTitle}">
|
||||
$if downloads /= 0
|
||||
<span .downloads>
|
||||
$if downloads /= recentDownloads
|
||||
|
||||
@ -8,26 +8,34 @@ $(function(){
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
$('#like').click(function(){
|
||||
var loggedIn = $('.user-handle').length > 0;
|
||||
|
||||
function toggleLike(el) {
|
||||
var $this = $(el);
|
||||
var action = 'like';
|
||||
if ($this.hasClass('fa-thumbs-up')) {
|
||||
var $this = $(this);
|
||||
|
||||
if (loggedIn) {
|
||||
var action = 'like';
|
||||
if ($this.hasClass('fa-thumbs-up')) {
|
||||
action = 'unlike';
|
||||
}
|
||||
}
|
||||
|
||||
$this.toggleClass('fa-thumbs-up');
|
||||
$this.toggleClass('fa-thumbs-o-up');
|
||||
$this.toggleClass('fa-thumbs-up');
|
||||
$this.toggleClass('fa-thumbs-o-up');
|
||||
|
||||
$likes = $('#likes');
|
||||
nLikes = parseInt($likes.text(), 10);
|
||||
$likes = $('#likes');
|
||||
nLikes = parseInt($likes.text(), 10);
|
||||
|
||||
if (action == 'like') {
|
||||
if (action == 'like') {
|
||||
$this.attr('title','You liked this!');
|
||||
$likes.text(nLikes + 1);
|
||||
$.post("@{PackageLikeR pn}");
|
||||
} else {
|
||||
} else {
|
||||
$this.attr('title','You disliked this.');
|
||||
$likes.text(nLikes - 1);
|
||||
$.post("@{PackageUnlikeR pn}");
|
||||
}
|
||||
} else {
|
||||
window.location.href = '@{AuthR LoginR}';
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user