Merge branch 'virtual-scrolling-2.0' into shigusegubu-themes3
This commit is contained in:
commit
fb09a58023
2 changed files with 15 additions and 4 deletions
|
|
@ -102,6 +102,7 @@ export default {
|
||||||
// # Main things
|
// # Main things
|
||||||
const {
|
const {
|
||||||
focusedId,
|
focusedId,
|
||||||
|
focusedIdRaw,
|
||||||
conversationId,
|
conversationId,
|
||||||
setFocused,
|
setFocused,
|
||||||
currentStatus,
|
currentStatus,
|
||||||
|
|
@ -320,7 +321,7 @@ export default {
|
||||||
}
|
}
|
||||||
const diveIntoStatus = (id) => scrollTo(new Set([id]))
|
const diveIntoStatus = (id) => scrollTo(new Set([id]))
|
||||||
const diveToTopLevel = () => scrollTo(new Set([currentAncestors.value[0].id]))
|
const diveToTopLevel = () => scrollTo(new Set([currentAncestors.value[0].id]))
|
||||||
watch(focusedId, async (neu) => {
|
watch(focusedIdRaw, async (neu) => {
|
||||||
if (!isPage.value) return
|
if (!isPage.value) return
|
||||||
if (neu) scrollTo(new Set([neu]))
|
if (neu) scrollTo(new Set([neu]))
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -88,6 +88,7 @@ export function useConversation(statusId, expanded) {
|
||||||
return idA < idB ? -1 : 1
|
return idA < idB ? -1 : 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
const fullConversation = ref(new Set([currentStatus.value?.id].filter(Boolean)))
|
||||||
const conversationId = computed(
|
const conversationId = computed(
|
||||||
() => mainStatus.value?.statusnet_conversation_id,
|
() => mainStatus.value?.statusnet_conversation_id,
|
||||||
)
|
)
|
||||||
|
|
@ -100,9 +101,7 @@ export function useConversation(statusId, expanded) {
|
||||||
return [currentStatus.value]
|
return [currentStatus.value]
|
||||||
}
|
}
|
||||||
|
|
||||||
const conversation = useStatusesStore().conversations.get(
|
const conversation = fullConversation.value
|
||||||
conversationId.value,
|
|
||||||
)
|
|
||||||
|
|
||||||
return [...conversation.keys()]
|
return [...conversation.keys()]
|
||||||
.map((k) => useStatusesStore().allStatuses.get(k))
|
.map((k) => useStatusesStore().allStatuses.get(k))
|
||||||
|
|
@ -145,6 +144,13 @@ export function useConversation(statusId, expanded) {
|
||||||
statuses: descendants,
|
statuses: descendants,
|
||||||
timestamp,
|
timestamp,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
fullConversation.value = new Set([
|
||||||
|
...ancestors,
|
||||||
|
currentStatus.value,
|
||||||
|
...descendants
|
||||||
|
].map(({ id }) => id))
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
loadError.value = null
|
loadError.value = null
|
||||||
|
|
@ -155,6 +161,9 @@ export function useConversation(statusId, expanded) {
|
||||||
})
|
})
|
||||||
|
|
||||||
useStatusesStore().addNewStatuses({ statuses: [status] })
|
useStatusesStore().addNewStatuses({ statuses: [status] })
|
||||||
|
fullConversation.value = new Set([
|
||||||
|
currentStatus.value,
|
||||||
|
].map(({ id }) => id))
|
||||||
fetchConversation()
|
fetchConversation()
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error(error)
|
console.error(error)
|
||||||
|
|
@ -165,6 +174,7 @@ export function useConversation(statusId, expanded) {
|
||||||
|
|
||||||
return {
|
return {
|
||||||
focusedId,
|
focusedId,
|
||||||
|
focusedIdRaw: focused,
|
||||||
conversationId,
|
conversationId,
|
||||||
setFocused,
|
setFocused,
|
||||||
currentStatus,
|
currentStatus,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue