diff --git a/webapp/components/SearchInput/SearchUser.vue b/webapp/components/SearchInput/SearchUser.vue deleted file mode 100644 index e50d447e5..000000000 --- a/webapp/components/SearchInput/SearchUser.vue +++ /dev/null @@ -1,50 +0,0 @@ - - - - - - {{ option.name | truncate(70) }} - - - @{{ option.slug | truncate(70) }} - - - - diff --git a/webapp/components/SearchInput/SearchInput.spec.js b/webapp/components/features/SearchResources/SearchResources.spec.js similarity index 90% rename from webapp/components/SearchInput/SearchInput.spec.js rename to webapp/components/features/SearchResources/SearchResources.spec.js index 8cc8b9459..cc4d230c2 100644 --- a/webapp/components/SearchInput/SearchInput.spec.js +++ b/webapp/components/features/SearchResources/SearchResources.spec.js @@ -1,12 +1,12 @@ import { mount } from '@vue/test-utils' -import SearchInput from './SearchInput.vue' +import SearchResources from './SearchResources.vue' const localVue = global.localVue localVue.filter('truncate', () => 'truncated string') localVue.filter('dateTime', () => Date.now) -describe('SearchInput.vue', () => { +describe('SearchResources.vue', () => { let mocks let propsData @@ -19,7 +19,7 @@ describe('SearchInput.vue', () => { mocks = { $t: () => {}, } - return mount(SearchInput, { mocks, localVue, propsData }) + return mount(SearchResources, { mocks, localVue, propsData }) } it('renders', () => { @@ -27,7 +27,7 @@ describe('SearchInput.vue', () => { }) it('has id "nav-search"', () => { - expect(Wrapper().contains('#nav-search')).toBe(true) + expect(Wrapper().contains('[data-test="search-resources"]')).toBe(true) }) it('defaults to an empty value', () => { @@ -82,9 +82,9 @@ describe('SearchInput.vue', () => { expect(wrapper.emitted().clear.length).toBe(1) }) - it('changes the unprocessedSearchInput as the value changes', () => { + it('changes the unprocessedSearchResources as the value changes', () => { select.trigger('input') - expect(wrapper.vm.unprocessedSearchInput).toBe('abcd') + expect(wrapper.vm.unprocessedSearchResources).toBe('abcd') }) it('searches for the term when enter is pressed', async () => { diff --git a/webapp/components/SearchInput/SearchInput.story.js b/webapp/components/features/SearchResources/SearchResources.story.js similarity index 97% rename from webapp/components/SearchInput/SearchInput.story.js rename to webapp/components/features/SearchResources/SearchResources.story.js index 0ae47e24f..328259917 100644 --- a/webapp/components/SearchInput/SearchInput.story.js +++ b/webapp/components/features/SearchResources/SearchResources.story.js @@ -1,6 +1,6 @@ import { storiesOf } from '@storybook/vue' import { withA11y } from '@storybook/addon-a11y' -import SearchInput from './SearchInput.vue' +import SearchResources from './SearchResources.vue' import helpers from '~/storybook/helpers' helpers.init() @@ -104,7 +104,7 @@ storiesOf('Search Input', module) .addDecorator(withA11y) .addDecorator(helpers.layout) .add('test', () => ({ - components: { SearchInput }, + components: { SearchResources }, store: helpers.store, data: () => ({ results: results, diff --git a/webapp/components/features/SearchResources/SearchResources.vue b/webapp/components/features/SearchResources/SearchResources.vue new file mode 100644 index 000000000..d0be17569 --- /dev/null +++ b/webapp/components/features/SearchResources/SearchResources.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/webapp/components/SearchInput/SearchHeading.vue b/webapp/components/generic/SearchHeading/SearchHeading.vue similarity index 94% rename from webapp/components/SearchInput/SearchHeading.vue rename to webapp/components/generic/SearchHeading/SearchHeading.vue index e9d5aa662..9a4602980 100644 --- a/webapp/components/SearchInput/SearchHeading.vue +++ b/webapp/components/generic/SearchHeading/SearchHeading.vue @@ -13,4 +13,3 @@ export default { }, } - diff --git a/webapp/components/SearchInput/SearchPost.vue b/webapp/components/generic/SearchPost/SearchPost.vue similarity index 75% rename from webapp/components/SearchInput/SearchPost.vue rename to webapp/components/generic/SearchPost/SearchPost.vue index 6ebbd5084..97108afe8 100644 --- a/webapp/components/SearchInput/SearchPost.vue +++ b/webapp/components/generic/SearchPost/SearchPost.vue @@ -1,5 +1,5 @@ - + {{ option.title | truncate(70) }} @@ -35,8 +35,27 @@ export default { }, } - diff --git a/webapp/components/SearchInput/SearchInput.vue b/webapp/components/generic/SearchableInput/SearchableInput.vue similarity index 62% rename from webapp/components/SearchInput/SearchInput.vue rename to webapp/components/generic/SearchableInput/SearchableInput.vue index acddf4791..0163ed393 100644 --- a/webapp/components/SearchInput/SearchInput.vue +++ b/webapp/components/generic/SearchableInput/SearchableInput.vue @@ -1,6 +1,6 @@ - + - - + - - - + + - + - - diff --git a/webapp/layouts/default.vue b/webapp/layouts/default.vue index 8b6b78900..08cf93530 100644 --- a/webapp/layouts/default.vue +++ b/webapp/layouts/default.vue @@ -21,7 +21,7 @@ :class="{ 'hide-mobile-menu': !toggleMobileMenu }" > - + import { mapGetters } from 'vuex' import LocaleSwitch from '~/components/LocaleSwitch/LocaleSwitch' -import SearchInput from '~/components/SearchInput/SearchInput.vue' +import SearchResources from '~/components/features/SearchResources/SearchResources.vue' import Modal from '~/components/Modal' import NotificationMenu from '~/components/NotificationMenu/NotificationMenu' import seo from '~/mixins/seo' @@ -96,7 +96,7 @@ import AvatarMenu from '~/components/AvatarMenu/AvatarMenu' export default { components: { LocaleSwitch, - SearchInput, + SearchResources, Modal, NotificationMenu, AvatarMenu, @@ -126,26 +126,6 @@ export default { }, }, methods: { - goToResource(item) { - this.$nextTick(() => { - switch (item.__typename) { - case 'Post': - this.$router.push({ - name: 'post-id-slug', - params: { id: item.id, slug: item.slug }, - }) - break - case 'User': - this.$router.push({ - name: 'profile-id-slug', - params: { id: item.id, slug: item.slug }, - }) - break - default: - break - } - }) - }, toggleMobileMenuView() { this.toggleMobileMenu = !this.toggleMobileMenu },