+ {{ item.account_info }} +
diff --git a/src/components/TimelineList.vue b/src/components/TimelineList.vue new file mode 100644 index 00000000..458ec3af --- /dev/null +++ b/src/components/TimelineList.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/src/store/timeline.js b/src/store/timeline.js index cadbd990..c31fb245 100644 --- a/src/store/timeline.js +++ b/src/store/timeline.js @@ -26,7 +26,8 @@ import Vue from 'vue' const state = { timeline: {}, since: Math.floor(Date.now() / 1000) + 1, - type: 'home' + type: 'home', + account: '' } const mutations = { addToTimeline(state, data) { @@ -41,6 +42,9 @@ const mutations = { }, setTimelineType(state, type) { state.type = type + }, + setAccount(state, account) { + state.account = account } } const getters = { @@ -54,6 +58,12 @@ const actions = { changeTimelineType(context, type) { context.commit('resetTimeline') context.commit('setTimelineType', type) + context.commit('setAccount', '') + }, + changeTimelineTypeAccount(context, account) { + context.commit('resetTimeline') + context.commit('setTimelineType', 'account') + context.commit('setAccount', account) }, post(context, post) { return axios.post(OC.generateUrl('apps/social/api/v1/post'), { data: post }).then((response) => { @@ -64,14 +74,20 @@ const actions = { console.error('Failed to create a post', error) }) }, - refreshTimeline(context, account) { - return this.dispatch('fetchTimeline', { account: account, sinceTimestamp: Math.floor(Date.now() / 1000) + 1 }) + refreshTimeline(context) { + return this.dispatch('fetchTimeline', { sinceTimestamp: Math.floor(Date.now() / 1000) + 1 }) }, - fetchTimeline(context, { account, sinceTimestamp }) { + fetchTimeline(context, { sinceTimestamp }) { if (typeof sinceTimestamp === 'undefined') { sinceTimestamp = state.since - 1 } - return axios.get(OC.generateUrl(`apps/social/api/v1/stream/${state.type}?limit=5&since=` + sinceTimestamp)).then((response) => { + let url + if (state.type === 'account') { + url = OC.generateUrl(`apps/social/api/v1/account/${state.account}/stream?limit=25&since=` + sinceTimestamp) + } else { + url = OC.generateUrl(`apps/social/api/v1/stream/${state.type}?limit=25&since=` + sinceTimestamp) + } + return axios.get(url).then((response) => { if (response.status === -1) { throw response.message } diff --git a/src/views/ProfileTimeline.vue b/src/views/ProfileTimeline.vue index eb50a136..043dda4a 100644 --- a/src/views/ProfileTimeline.vue +++ b/src/views/ProfileTimeline.vue @@ -21,30 +21,26 @@ --> diff --git a/src/views/Timeline.vue b/src/views/Timeline.vue index 81b9fdea..4a6e986f 100644 --- a/src/views/Timeline.vue +++ b/src/views/Timeline.vue @@ -10,17 +10,8 @@