From 3813184096ebe7435e711122a02936dcd4097747 Mon Sep 17 00:00:00 2001 From: AkiraFukushima Date: Thu, 22 Nov 2018 23:48:26 +0900 Subject: [PATCH 1/3] refs #714 Add tag as search target and show results of search tags --- src/config/locales/en/translation.json | 1 + .../TimelineSpace/Contents/Search.vue | 19 ++++++++- .../TimelineSpace/Contents/Search/Tag.vue | 25 +++++++++++ src/renderer/components/molecules/Tag.vue | 42 +++++++++++++++++++ .../store/TimelineSpace/Contents/Search.js | 3 +- .../TimelineSpace/Contents/Search/Account.js | 4 +- .../TimelineSpace/Contents/Search/Tag.js | 30 +++++++++++++ 7 files changed, 118 insertions(+), 6 deletions(-) create mode 100644 src/renderer/components/TimelineSpace/Contents/Search/Tag.vue create mode 100644 src/renderer/components/molecules/Tag.vue create mode 100644 src/renderer/store/TimelineSpace/Contents/Search/Tag.js diff --git a/src/config/locales/en/translation.json b/src/config/locales/en/translation.json index b89bcd93..7ddb211b 100644 --- a/src/config/locales/en/translation.json +++ b/src/config/locales/en/translation.json @@ -289,6 +289,7 @@ "search": { "search": "Search", "account": "Account", + "tag": "Hashtag", "keyword": "keyword" }, "lists": { diff --git a/src/renderer/components/TimelineSpace/Contents/Search.vue b/src/renderer/components/TimelineSpace/Contents/Search.vue index 1e0c1f2c..0e2e4321 100644 --- a/src/renderer/components/TimelineSpace/Contents/Search.vue +++ b/src/renderer/components/TimelineSpace/Contents/Search.vue @@ -15,7 +15,8 @@
- + +
@@ -23,10 +24,11 @@ diff --git a/src/renderer/components/molecules/Tag.vue b/src/renderer/components/molecules/Tag.vue new file mode 100644 index 00000000..261cfba1 --- /dev/null +++ b/src/renderer/components/molecules/Tag.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/src/renderer/store/TimelineSpace/Contents/Search.js b/src/renderer/store/TimelineSpace/Contents/Search.js index bba46dc8..c6d2a03e 100644 --- a/src/renderer/store/TimelineSpace/Contents/Search.js +++ b/src/renderer/store/TimelineSpace/Contents/Search.js @@ -1,8 +1,9 @@ import Account from './Search/Account' +import Tag from './Search/Tag' const Search = { namespaced: true, - modules: { Account }, + modules: { Account, Tag }, state: { loading: false }, diff --git a/src/renderer/store/TimelineSpace/Contents/Search/Account.js b/src/renderer/store/TimelineSpace/Contents/Search/Account.js index 1be853ce..a63d1750 100644 --- a/src/renderer/store/TimelineSpace/Contents/Search/Account.js +++ b/src/renderer/store/TimelineSpace/Contents/Search/Account.js @@ -20,12 +20,10 @@ const Account = { return client.get('/search', { q: query, resolve: true }) .then(res => { commit('updateResults', res.data.accounts) - commit('TimelineSpace/Contents/Search/changeLoading', false, { root: true }) return res.data }) - .catch(err => { + .finally(() => { commit('TimelineSpace/Contents/Search/changeLoading', false, { root: true }) - throw err }) } } diff --git a/src/renderer/store/TimelineSpace/Contents/Search/Tag.js b/src/renderer/store/TimelineSpace/Contents/Search/Tag.js new file mode 100644 index 00000000..17de64fb --- /dev/null +++ b/src/renderer/store/TimelineSpace/Contents/Search/Tag.js @@ -0,0 +1,30 @@ +import Mastodon from 'megalodon' + +export default { + namespaced: true, + state: { + results: [] + }, + mutations: { + updateResults (state, results) { + state.results = results + } + }, + actions: { + search ({ state, commit, rootState }, query) { + commit('TimelineSpace/Contents/Search/changeLoading', true, { root: true }) + const client = new Mastodon( + rootState.TimelineSpace.account.accessToken, + rootState.TimelineSpace.account.baseURL + '/api/v2' + ) + return client.get('/search', { q: query, resolve: true }) + .then(res => { + commit('updateResults', res.data.hashtags) + return res.data + }) + .finally(() => { + commit('TimelineSpace/Contents/Search/changeLoading', false, { root: true }) + }) + } + } +} From 3bdfa22ff8896865e2280149554d5af1352d9235 Mon Sep 17 00:00:00 2001 From: AkiraFukushima Date: Thu, 22 Nov 2018 23:54:18 +0900 Subject: [PATCH 2/3] refs #714 Jump to hashtag timeline when click a result of searching --- src/renderer/components/molecules/Tag.vue | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/renderer/components/molecules/Tag.vue b/src/renderer/components/molecules/Tag.vue index 261cfba1..5b6570e0 100644 --- a/src/renderer/components/molecules/Tag.vue +++ b/src/renderer/components/molecules/Tag.vue @@ -1,5 +1,5 @@