mirror of
https://github.com/commercialhaskell/stackage-server.git
synced 2026-02-23 16:07:52 +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)
|
return (packages, downloads, recentDownloads, nLikes, liked, metadata)
|
||||||
|
|
||||||
let likedClass = if liked then "fa-thumbs-up" else "fa-thumbs-o-up" :: Text
|
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)
|
let deps = enumerate (metadataDeps metadata)
|
||||||
authors = enumerate (parseIdentitiesLiberally (metadataAuthor metadata))
|
authors = enumerate (parseIdentitiesLiberally (metadataAuthor metadata))
|
||||||
|
|||||||
@ -34,9 +34,7 @@ $newline never
|
|||||||
<span #likes>
|
<span #likes>
|
||||||
#{nLikes}
|
#{nLikes}
|
||||||
\ likes #
|
\ likes #
|
||||||
$if isJust muid
|
<i .fa .#{likedClass} #like title="#{likeTitle}">
|
||||||
<i .fa.#{likedClass}
|
|
||||||
onclick="toggleLike(this)"></i>
|
|
||||||
$if downloads /= 0
|
$if downloads /= 0
|
||||||
<span .downloads>
|
<span .downloads>
|
||||||
$if downloads /= recentDownloads
|
$if downloads /= recentDownloads
|
||||||
|
|||||||
@ -8,26 +8,34 @@ $(function(){
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
$('#like').click(function(){
|
||||||
|
var loggedIn = $('.user-handle').length > 0;
|
||||||
|
|
||||||
function toggleLike(el) {
|
var $this = $(this);
|
||||||
var $this = $(el);
|
|
||||||
var action = 'like';
|
if (loggedIn) {
|
||||||
if ($this.hasClass('fa-thumbs-up')) {
|
var action = 'like';
|
||||||
|
if ($this.hasClass('fa-thumbs-up')) {
|
||||||
action = 'unlike';
|
action = 'unlike';
|
||||||
}
|
}
|
||||||
|
|
||||||
$this.toggleClass('fa-thumbs-up');
|
$this.toggleClass('fa-thumbs-up');
|
||||||
$this.toggleClass('fa-thumbs-o-up');
|
$this.toggleClass('fa-thumbs-o-up');
|
||||||
|
|
||||||
$likes = $('#likes');
|
$likes = $('#likes');
|
||||||
nLikes = parseInt($likes.text(), 10);
|
nLikes = parseInt($likes.text(), 10);
|
||||||
|
|
||||||
if (action == 'like') {
|
if (action == 'like') {
|
||||||
|
$this.attr('title','You liked this!');
|
||||||
$likes.text(nLikes + 1);
|
$likes.text(nLikes + 1);
|
||||||
$.post("@{PackageLikeR pn}");
|
$.post("@{PackageLikeR pn}");
|
||||||
} else {
|
} else {
|
||||||
|
$this.attr('title','You disliked this.');
|
||||||
$likes.text(nLikes - 1);
|
$likes.text(nLikes - 1);
|
||||||
$.post("@{PackageUnlikeR pn}");
|
$.post("@{PackageUnlikeR pn}");
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
window.location.href = '@{AuthR LoginR}';
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
|
});
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user