chore: allow viewing note history as readonly member

This commit is contained in:
Aman Harwara
2023-09-22 19:48:49 +05:30
parent ab1699c114
commit e357a7820c
3 changed files with 13 additions and 4 deletions

View File

@@ -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} />}

View File

@@ -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}
/>
</>
)
}

View File

@@ -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}>