chore: allow viewing note history as readonly member
This commit is contained in:
@@ -230,7 +230,7 @@ const NotesOptions = ({ notes, closeMenu }: NotesOptionsProps) => {
|
||||
<>
|
||||
{notes.length === 1 && (
|
||||
<>
|
||||
<MenuItem onClick={openRevisionHistoryModal} disabled={areSomeNotesInReadonlySharedVault}>
|
||||
<MenuItem onClick={openRevisionHistoryModal}>
|
||||
<Icon type="history" className={iconClass} />
|
||||
Note history
|
||||
{historyShortcut && <KeyboardShortcutIndicator className="ml-auto" shortcut={historyShortcut} />}
|
||||
|
||||
@@ -12,6 +12,7 @@ import MobileModalAction from '../Modal/MobileModalAction'
|
||||
import Popover from '../Popover/Popover'
|
||||
import MobileModalHeader from '../Modal/MobileModalHeader'
|
||||
import { useApplication } from '../ApplicationProvider'
|
||||
import { useItemVaultInfo } from '@/Hooks/useItemVaultInfo'
|
||||
|
||||
const HistoryModalDialogContent = ({ dismissModal, note }: RevisionHistoryModalContentProps) => {
|
||||
const application = useApplication()
|
||||
@@ -40,6 +41,9 @@ const HistoryModalDialogContent = ({ dismissModal, note }: RevisionHistoryModalC
|
||||
const [showTabMenu, setShowTabMenu] = useState(false)
|
||||
const toggleTabMenu = () => setShowTabMenu((show) => !show)
|
||||
|
||||
const { vault } = useItemVaultInfo(note)
|
||||
const isReadonly = vault ? application.vaultUsers.isCurrentUserReadonlyVaultMember(vault) : false
|
||||
|
||||
return (
|
||||
<>
|
||||
<MobileModalHeader className="items-center border-b border-border px-2 py-1 md:hidden">
|
||||
@@ -104,7 +108,11 @@ const HistoryModalDialogContent = ({ dismissModal, note }: RevisionHistoryModalC
|
||||
<HistoryModalContentPane noteHistoryController={noteHistoryController} note={note} />
|
||||
</div>
|
||||
</div>
|
||||
<HistoryModalFooter dismissModal={dismissModal} noteHistoryController={noteHistoryController} />
|
||||
<HistoryModalFooter
|
||||
dismissModal={dismissModal}
|
||||
noteHistoryController={noteHistoryController}
|
||||
readonly={isReadonly}
|
||||
/>
|
||||
</>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -8,9 +8,10 @@ import Spinner from '@/Components/Spinner/Spinner'
|
||||
type Props = {
|
||||
dismissModal: () => void
|
||||
noteHistoryController: NoteHistoryController
|
||||
readonly?: boolean
|
||||
}
|
||||
|
||||
const HistoryModalFooter = ({ dismissModal, noteHistoryController }: Props) => {
|
||||
const HistoryModalFooter = ({ dismissModal, noteHistoryController, readonly = false }: Props) => {
|
||||
const { selectedRevision, restoreRevision, restoreRevisionAsCopy, selectedEntry, deleteRemoteRevision } =
|
||||
noteHistoryController
|
||||
|
||||
@@ -43,7 +44,7 @@ const HistoryModalFooter = ({ dismissModal, noteHistoryController }: Props) => {
|
||||
return (
|
||||
<div className="min-h-6 flex flex-shrink-0 flex-wrap items-center gap-2.5 border-t border-solid border-border px-2.5 py-2 md:justify-between">
|
||||
<Button className="py-1.35" label="Close" onClick={dismissModal} />
|
||||
{selectedRevision && selectedEntry && (
|
||||
{selectedRevision && selectedEntry && !readonly && (
|
||||
<>
|
||||
{(selectedEntry as RevisionMetadata).uuid && (
|
||||
<Button className="md:ml-auto" onClick={deleteSelectedRevision}>
|
||||
|
||||
Reference in New Issue
Block a user