From ef2585e32b546722f2157bd6203701deb495d2e9 Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Fri, 11 Jan 2019 02:40:17 +0300 Subject: Remove all explicit and implicit conversions of statusId to number, changed explicit ones so that they convert them to string --- src/components/conversation-page/conversation-page.js | 4 ++-- src/components/conversation/conversation.js | 6 +++--- src/components/status/status.js | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'src/components') diff --git a/src/components/conversation-page/conversation-page.js b/src/components/conversation-page/conversation-page.js index beffa5bb..bdf84d0c 100644 --- a/src/components/conversation-page/conversation-page.js +++ b/src/components/conversation-page/conversation-page.js @@ -1,5 +1,5 @@ import Conversation from '../conversation/conversation.vue' -import { find, toInteger } from 'lodash' +import { find } from 'lodash' const conversationPage = { components: { @@ -7,7 +7,7 @@ const conversationPage = { }, computed: { statusoid () { - const id = toInteger(this.$route.params.id) + const id = String(this.$route.params.id) const statuses = this.$store.state.statuses.allStatuses const status = find(statuses, {id}) diff --git a/src/components/conversation/conversation.js b/src/components/conversation/conversation.js index 9d9f7bbe..95432248 100644 --- a/src/components/conversation/conversation.js +++ b/src/components/conversation/conversation.js @@ -32,7 +32,7 @@ const conversation = { replies () { let i = 1 return reduce(this.conversation, (result, {id, in_reply_to_status_id}) => { - const irid = Number(in_reply_to_status_id) + const irid = String(in_reply_to_status_id) if (irid) { result[irid] = result[irid] || [] result[irid].push({ @@ -69,7 +69,7 @@ const conversation = { } }, getReplies (id) { - id = Number(id) + id = String(id) return this.replies[id] || [] }, focused (id) { @@ -80,7 +80,7 @@ const conversation = { } }, setHighlight (id) { - this.highlight = Number(id) + this.highlight = String(id) } } } diff --git a/src/components/status/status.js b/src/components/status/status.js index 73d53694..7e1e7dab 100644 --- a/src/components/status/status.js +++ b/src/components/status/status.js @@ -270,7 +270,7 @@ const Status = { }, replyEnter (id, event) { this.showPreview = true - const targetId = Number(id) + const targetId = String(id) const statuses = this.$store.state.statuses.allStatuses if (!this.preview) { @@ -295,7 +295,7 @@ const Status = { }, watch: { 'highlight': function (id) { - id = Number(id) + id = String(id) if (this.status.id === id) { let rect = this.$el.getBoundingClientRect() if (rect.top < 100) { -- cgit v1.2.3-70-g09d2 From 039a4074006fb91ac9031b41b4e9af4a15766dfa Mon Sep 17 00:00:00 2001 From: Henry Jameson Date: Sat, 12 Jan 2019 23:33:45 +0300 Subject: some initial work to make it possible to use "unregistered" timelines, i.e. not reserving a timeline by name, instead just passing timeline object itself. --- src/components/timeline/timeline.js | 17 ++++++------ src/components/user_profile/user_profile.js | 6 +++++ src/components/user_profile/user_profile.vue | 1 + src/modules/api.js | 10 +++---- src/modules/statuses.js | 31 ++++++++++++---------- src/services/api/api.service.js | 5 +++- .../timeline_fetcher/timeline_fetcher.service.js | 4 +-- 7 files changed, 43 insertions(+), 31 deletions(-) (limited to 'src/components') diff --git a/src/components/timeline/timeline.js b/src/components/timeline/timeline.js index 98da8660..23d2c1e8 100644 --- a/src/components/timeline/timeline.js +++ b/src/components/timeline/timeline.js @@ -7,7 +7,6 @@ import { throttle } from 'lodash' const Timeline = { props: [ 'timeline', - 'timelineName', 'title', 'userId', 'tag', @@ -55,7 +54,7 @@ const Timeline = { timelineFetcher.fetchAndUpdate({ store, credentials, - timeline: this.timelineName, + timeline: this.timeline, showImmediately, userId: this.userId, tag: this.tag @@ -70,32 +69,32 @@ const Timeline = { destroyed () { window.removeEventListener('scroll', this.scrollLoad) if (typeof document.hidden !== 'undefined') document.removeEventListener('visibilitychange', this.handleVisibilityChange, false) - this.$store.commit('setLoading', { timeline: this.timelineName, value: false }) + this.$store.commit('setLoading', { timeline: this.timeline, value: false }) }, methods: { showNewStatuses () { if (this.timeline.flushMarker !== 0) { - this.$store.commit('clearTimeline', { timeline: this.timelineName }) - this.$store.commit('queueFlush', { timeline: this.timelineName, id: 0 }) + this.$store.commit('clearTimeline', { timeline: this.timeline }) + this.$store.commit('queueFlush', { timeline: this.timeline, id: 0 }) this.fetchOlderStatuses() } else { - this.$store.commit('showNewStatuses', { timeline: this.timelineName }) + this.$store.commit('showNewStatuses', { timeline: this.timeline }) this.paused = false } }, fetchOlderStatuses: throttle(function () { const store = this.$store const credentials = store.state.users.currentUser.credentials - store.commit('setLoading', { timeline: this.timelineName, value: true }) + store.commit('setLoading', { timeline: this.timeline, value: true }) timelineFetcher.fetchAndUpdate({ store, credentials, - timeline: this.timelineName, + timeline: this.timeline, older: true, showImmediately: true, userId: this.userId, tag: this.tag - }).then(() => store.commit('setLoading', { timeline: this.timelineName, value: false })) + }).then(() => store.commit('setLoading', { timeline: this.timeline, value: false })) }, 1000, this), scrollLoad (e) { const bodyBRect = document.body.getBoundingClientRect() diff --git a/src/components/user_profile/user_profile.js b/src/components/user_profile/user_profile.js index 2ca09817..d6edd25a 100644 --- a/src/components/user_profile/user_profile.js +++ b/src/components/user_profile/user_profile.js @@ -1,6 +1,7 @@ import UserCardContent from '../user_card_content/user_card_content.vue' import UserCard from '../user_card/user_card.vue' import Timeline from '../timeline/timeline.vue' +import { emptyTl } from '../../modules/statuses.js' const UserProfile = { created () { @@ -13,6 +14,11 @@ const UserProfile = { destroyed () { this.$store.dispatch('stopFetching', 'user') }, + data () { + return { + favorites: emptyTl({ type: 'favorites', userId: this.userId }) + } + }, computed: { timeline () { return this.$store.state.statuses.timelines.user diff --git a/src/components/user_profile/user_profile.vue b/src/components/user_profile/user_profile.vue index a46befa5..15f7d44f 100644 --- a/src/components/user_profile/user_profile.vue +++ b/src/components/user_profile/user_profile.vue @@ -20,6 +20,7 @@ + - + - +