diff --git a/app/assets/images/algolia.svg b/app/assets/images/algolia.svg new file mode 100644 index 000000000..6b06f4b1c --- /dev/null +++ b/app/assets/images/algolia.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/app/javascript/Search/Search.jsx b/app/javascript/Search/Search.jsx index 4505d74bd..b0ef1753a 100644 --- a/app/javascript/Search/Search.jsx +++ b/app/javascript/Search/Search.jsx @@ -110,7 +110,7 @@ export class Search extends Component { searchBox.select(); }; - render({ searchTerm }) { + render({ searchTerm, branding }) { return ( @@ -132,4 +133,5 @@ export class Search extends Component { Search.propTypes = { searchTerm: PropTypes.string.isRequired, setSearchTerm: PropTypes.func.isRequired, + branding: PropTypes.string, }; diff --git a/app/javascript/Search/SearchForm.jsx b/app/javascript/Search/SearchForm.jsx index 9649dba1d..9587a705d 100644 --- a/app/javascript/Search/SearchForm.jsx +++ b/app/javascript/Search/SearchForm.jsx @@ -4,8 +4,9 @@ import { forwardRef } from 'preact/compat'; import { locale } from '../utilities/locale'; import { ButtonNew as Button } from '@crayons'; import SearchIcon from '@images/search.svg'; +import AlgoliaIcon from '@images/algolia.svg' -export const SearchForm = forwardRef(({ searchTerm, onSubmitSearch }, ref) => ( +export const SearchForm = forwardRef(({ searchTerm, onSubmitSearch, branding }, ref) => (
( className="crayons-header--search-input crayons-textfield" type="text" name="q" - placeholder={`${locale('core.search')}...`} + placeholder={`${locale(branding === 'algolia' ? 'core.algolia_search' : 'core.search')}...`} autoComplete="off" aria-label="Search term" value={searchTerm} /> diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 9b856b1ca..c65eda67b 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -61,6 +61,7 @@ data-cookie-banner-platform-context="<%= j(Settings::General.coolie_banner_platform_context) %>" data-algolia-id="<%= j(Settings::General.algolia_application_id) %>" data-algolia-search-key="<%= j(Settings::General.algolia_search_only_api_key) %>" + data-algolia-display="<%= j(Settings::General.display_algolia_branding) %>" data-ga4-tracking-id="<%= j(Settings::General.ga_analytics_4_id) %>"> <%# Repeat of stylesheets in to fix rendering glitch: https://github.com/forem/forem/issues/12377 %> <%= render "layouts/styles", qualifier: "secondary" %> diff --git a/config/locales/en.yml b/config/locales/en.yml index f01e2ef41..3cd68d777 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -18,6 +18,7 @@ en: reaction: Reaction report_abuse: Report abuse search: Search + algolia_search: Search powered by Algolia success_settings: Successfully updated settings. counted_organization: one: "%{count} organization" diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 8e7ff30bb..a38bdbddc 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -18,6 +18,7 @@ fr: reaction: Réaction report_abuse: Signaler un abus search: Recherche + algolia_search: Recherche par Algolia success_settings: Successfully updated settings. counted_organization: one: "%{count} organisation" diff --git a/config/locales/views/misc/en.yml b/config/locales/views/misc/en.yml index d66e646e0..97d656b86 100644 --- a/config/locales/views/misc/en.yml +++ b/config/locales/views/misc/en.yml @@ -77,6 +77,7 @@ en: heading: Search results%{for} for: " for %{query}" placeholder: Search... + algolia_placeholder: Search powered by Algolia... icon: aria_label: Search title: Search diff --git a/config/locales/views/misc/fr.yml b/config/locales/views/misc/fr.yml index 923a3ad58..af2feb07f 100644 --- a/config/locales/views/misc/fr.yml +++ b/config/locales/views/misc/fr.yml @@ -77,6 +77,7 @@ fr: heading: Search results%{for} for: " for %{query}" placeholder: Recherche... + algolia_placeholder: Recherche par Algolia icon: aria_label: Search title: Search