freeCodeCamp/views/stories/news-nav.jade

122 lines
6.7 KiB
Plaintext
Raw Normal View History

2015-05-01 00:18:08 +00:00
.row
.col-xs-12.col-sm-9
.input-group
input#searchArea.big-text-field.field-responsive.form-control(type='text', placeholder='Search our links')
span.input-group-btn
button#searchbutton.btn.btn-big.btn-primary.btn-responsive(type='button') Search
.visible-xs
.button-spacer
.col-xs-12.col-sm-3
span
a.btn.btn-primary.btn-big.btn-block.btn-responsive(href='/stories/submit' class="#{ page === 'hot' ? '' : 'hidden' }") Submit
span
a.btn.btn-success.btn-big.btn-block.btn-responsive(href='/news/' class="#{ (page !== 'hot') ? '' : 'hidden' }") All
2015-04-29 05:29:59 +00:00
.spacer
2015-05-22 06:55:47 +00:00
.row
.col-xs-12.col-sm-8.col-sm-offset-2.well
h4.text-center Submit your favorite  
a(href='http://imgs.xkcd.com/comics/wisdom_of_the_ancients.png') profound comic about coding
|   to Camper News.
p.text-center Start the headline with: "Deep Code Comic:" then add a clever description that doesn't ruin the punchline. We'll publish the top 25 comics (and the campers who submitted them) in Wednesday's blog post. You'll also get 1 point for every upvote.
2015-05-02 06:05:37 +00:00
.spacer
2015-05-22 06:55:47 +00:00
2015-04-29 05:29:59 +00:00
#search-results
2015-05-02 06:05:37 +00:00
2015-04-29 05:29:59 +00:00
.spacer
#story-list
ul#stories
script.
$('#searchArea').keypress(function (event) {
if (event.keyCode === 13 || event.which === 13) {
executeSearch();
$('#searchArea').focus();
event.preventDefault();
}
});
$('#searchbutton').on('click', function () {
executeSearch();
});
function executeSearch() {
$('#stories').empty();
var searchTerm = $('#searchArea').val();
var getLinkedName = function getLinkedName(name) {
return name.toLowerCase().replace(/\s/g, '-');
}
$.post('/stories/search',
{
data: {
searchValue: searchTerm
}
})
.fail(function (xhr, textStatus, errorThrown) {
2015-05-02 06:05:37 +00:00
$('#search-results').empty();
var div = document.createElement("div");
$(div).html("<h3 class='negative-35 text-center text-warning dotted-underline'><em>No Results Found</em></h3>");
$(div).appendTo($('#search-results'));
2015-04-29 05:29:59 +00:00
})
.done(function (data, textStatus, xhr) {
2015-05-02 06:05:37 +00:00
$('#search-results').empty();
2015-04-29 05:29:59 +00:00
for (var i = 0; i < data.length; i++) {
var div = document.createElement('div');
var linkedName = getLinkedName(data[i].storyLink);
var rank = data[i].rank;
$(div).html(
2015-05-02 06:05:37 +00:00
"<div class='visible-xs row'>" +
"<div class='visible-xs col-sm-1 col-md-1'>" +
"<a href='" + data[i].link + "'>" +
"<img class='mobile-story-image img-responsive' src='" + (!!data[i].image ? data[i].image : data[i].author.picture) + "'/>" +
"</a>" +
"</div>" +
2015-05-03 00:08:07 +00:00
"<div class='col-xs-12 mobile-story-headline text-center'>" +
"<a href='" + data[i].link + "' target='_blank'>" +
data[i].headline +
"</a>" +
"</div>" +
2015-05-02 06:05:37 +00:00
"<div class='visible-xs'>" +
"<div class='col-xs-12 text-center'>" +
rank + (rank > 1 ? " points" : " point") + " · posted " +
moment(data[i].timePosted).fromNow() +
" by " +
"<a href='/" + data[i].author.username + "'>@" + data[i].author.username +
"</a> " +
"</div>" +
"<div class='col-xs-12'>" +
"<br>" +
"<a class='btn btn-no-shadow btn-primary btn-block btn-primary-ghost' href='/news/" + linkedName + "'>discuss</a>" +
"</div>" +
2015-04-29 05:29:59 +00:00
"</div>" +
2015-05-02 06:05:37 +00:00
"</div>" +
"<div class='hidden-xs row media-stories'>" +
"<div class='media'>" +
"<div class='media-left'>" +
"<a href='/'" + data[i].author.username + "'>" +
"<img class='img-news' src='" + data[i].author.picture + "'/>" +
"</a>" +
2015-04-29 05:29:59 +00:00
"</div>" +
2015-05-02 06:05:37 +00:00
"<h2 class='media-body'>" +
"<div class='media-body-wrapper'>" +
"<div class='story-headline'>" +
"<a href='" + data[i].link + "' target='_blank'>" +
data[i].headline +
"</a>" +
"</div>" +
"<div class='story-byline col-xs-12 wrappable'>" +
"<a class='btn btn-no-shadow btn-primary btn-xs btn-primary-ghost' href='/news/" + linkedName + "'>discuss</a> · " +
rank + (rank > 1 ? " points" : " point") + " · posted " +
moment(data[i].timePosted).fromNow() +
" by <a href='/" + data[i].author.username + "'>@" + data[i].author.username +
"</a> " +
"</div>" +
"</div>" +
"</h2>" +
2015-04-29 05:29:59 +00:00
"</div>" +
"</div>")
2015-05-02 06:05:37 +00:00
$(div).addClass('story-list news-box-search')
2015-04-29 05:29:59 +00:00
$(div).appendTo($('#search-results'));
}
2015-05-02 06:05:37 +00:00
var hr = document.createElement("div");
$(hr).html("<h3 class='negative-35 text-center text-success dotted-underline'><em>End search results</em></h3>")
$(hr).appendTo($('#search-results'));
2015-04-29 05:29:59 +00:00
});
}