chore: stop "last edited by" badge flickering when editing a note
This commit is contained in:
@@ -1,6 +1,7 @@
|
|||||||
import { useApplication } from '@/Components/ApplicationProvider'
|
import { useApplication } from '@/Components/ApplicationProvider'
|
||||||
import { DecryptedItemInterface, TrustedContactInterface, VaultListingInterface } from '@standardnotes/snjs'
|
import { DecryptedItemInterface, TrustedContactInterface, VaultListingInterface } from '@standardnotes/snjs'
|
||||||
import useItem from './useItem'
|
import useItem from './useItem'
|
||||||
|
import { useRef } from 'react'
|
||||||
|
|
||||||
type ItemVaultInfo = {
|
type ItemVaultInfo = {
|
||||||
vault?: VaultListingInterface
|
vault?: VaultListingInterface
|
||||||
@@ -11,19 +12,21 @@ type ItemVaultInfo = {
|
|||||||
export const useItemVaultInfo = (item: DecryptedItemInterface): ItemVaultInfo => {
|
export const useItemVaultInfo = (item: DecryptedItemInterface): ItemVaultInfo => {
|
||||||
const application = useApplication()
|
const application = useApplication()
|
||||||
|
|
||||||
const info: ItemVaultInfo = {
|
const info = useRef<ItemVaultInfo>({
|
||||||
vault: undefined,
|
vault: undefined,
|
||||||
lastEditedByContact: undefined,
|
lastEditedByContact: undefined,
|
||||||
}
|
sharedByContact: undefined,
|
||||||
|
})
|
||||||
|
|
||||||
info.vault = useItem(application.vaults.getItemVault(item)?.uuid)
|
info.current.vault = useItem(application.vaults.getItemVault(item)?.uuid)
|
||||||
|
|
||||||
|
const lastEditedBy = application.sharedVaults.getItemLastEditedBy(item)
|
||||||
|
info.current.lastEditedByContact = lastEditedBy || info.current.lastEditedByContact
|
||||||
|
info.current.sharedByContact = application.sharedVaults.getItemSharedBy(item)
|
||||||
|
|
||||||
if (!application.featuresController.isEntitledToVaults()) {
|
if (!application.featuresController.isEntitledToVaults()) {
|
||||||
return info
|
return info.current
|
||||||
}
|
}
|
||||||
|
|
||||||
info.lastEditedByContact = application.sharedVaults.getItemLastEditedBy(item)
|
return info.current
|
||||||
info.sharedByContact = application.sharedVaults.getItemSharedBy(item)
|
|
||||||
|
|
||||||
return info
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user