diff --git a/app/assets/javascripts/discourse/components/google-search.js.es6 b/app/assets/javascripts/discourse/components/google-search.js.es6 new file mode 100644 index 00000000000..97036b01175 --- /dev/null +++ b/app/assets/javascripts/discourse/components/google-search.js.es6 @@ -0,0 +1,13 @@ +import computed from "ember-addons/ember-computed-decorators"; + +export default Ember.Component.extend({ + classNames: ['google-search-form'], + classNameBindings: ['hidden:hidden'], + + hidden: Ember.computed.alias('siteSettings.login_required'), + + @computed + siteUrl() { + return `${location.protocol}//${location.host}${Discourse.getURL('/')}`; + } +}); diff --git a/app/assets/javascripts/discourse/controllers/full-page-search.js.es6 b/app/assets/javascripts/discourse/controllers/full-page-search.js.es6 index de70b3701f8..ef661f19289 100644 --- a/app/assets/javascripts/discourse/controllers/full-page-search.js.es6 +++ b/app/assets/javascripts/discourse/controllers/full-page-search.js.es6 @@ -87,6 +87,11 @@ export default Ember.Controller.extend({ return escapeExpression(q); }, + @computed('canCreateTopic', 'siteSettings.login_required') + showSuggestion(canCreateTopic, loginRequired) { + return canCreateTopic || !loginRequired; + }, + _searchOnSortChange: true, setSearchTerm(term) { diff --git a/app/assets/javascripts/discourse/templates/components/google-search.hbs b/app/assets/javascripts/discourse/templates/components/google-search.hbs new file mode 100644 index 00000000000..766bf3a9082 --- /dev/null +++ b/app/assets/javascripts/discourse/templates/components/google-search.hbs @@ -0,0 +1,7 @@ +
diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 14830dcea30..c017b1c892c 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -1353,6 +1353,12 @@ en: post_format: "#{{post_number}} by {{username}}" results_page: "Search Results" more_results: "There are more results. Please narrow your search criteria." + cant_find: "Can't find what you're looking for?" + start_new_topic: "Why not create a topic?" + or_search_google: "Or use Google to search instead:" + search_google: "Try searching with Google instead:" + search_google_button: "Google" + search_google_title: "Search this site" context: user: "Search posts by @{{username}}" diff --git a/test/javascripts/acceptance/search-full-test.js.es6 b/test/javascripts/acceptance/search-full-test.js.es6 index 782d234adc5..a7f480df9c2 100644 --- a/test/javascripts/acceptance/search-full-test.js.es6 +++ b/test/javascripts/acceptance/search-full-test.js.es6 @@ -53,7 +53,10 @@ QUnit.test("perform various searches", assert => { fillIn('.search input.full-page-search', 'none'); click('.search .btn-primary'); - andThen(() => assert.ok(find('.fps-topic').length === 0), 'has no results'); + andThen(() => { + assert.ok(find('.fps-topic').length === 0, 'has no results'); + assert.ok(find('.no-results-suggestion .google-search-form')); + }); fillIn('.search input.full-page-search', 'posts'); click('.search .btn-primary');