diff --git a/src/l10n.json b/src/l10n.json
index 843aa5d32..d9d86ba66 100644
--- a/src/l10n.json
+++ b/src/l10n.json
@@ -62,6 +62,7 @@
"general.scratchJr": "ScratchJr",
"general.scratchStore": "Scratch Store",
"general.search": "Search",
+ "general.searchEmpty": "Nothing found",
"general.signIn": "Sign in",
"general.statistics": "Statistics",
"general.studios": "Studios",
diff --git a/src/views/search/search.jsx b/src/views/search/search.jsx
index be30ee8ab..bd738b6a1 100644
--- a/src/views/search/search.jsx
+++ b/src/views/search/search.jsx
@@ -33,7 +33,8 @@ var Search = injectIntl(React.createClass({
getInitialState: function () {
return {
loaded: [],
- offset: 0
+ offset: 0,
+ loadMore: false
};
},
componentDidMount: function () {
@@ -70,9 +71,9 @@ var Search = injectIntl(React.createClass({
}, function (err, body) {
var loadedSoFar = this.state.loaded;
Array.prototype.push.apply(loadedSoFar, body);
- this.setState({loaded: loadedSoFar});
var currentOffset = this.state.offset + this.props.loadNumber;
- this.setState({offset: currentOffset});
+ var willLoadMore = body.length === this.props.loadNumber;
+ this.setState({loaded: loadedSoFar, offset: currentOffset, loadMore: willLoadMore});
}.bind(this));
},
onSearchSubmit: function (formData) {
@@ -96,6 +97,31 @@ var Search = injectIntl(React.createClass({
}
return allTab;
},
+ getProjectBox: function () {
+ var results =