mirror of
https://github.com/zadam/trilium.git
synced 2025-12-11 18:04:24 +01:00
feat(breadcrumb_badges): display badge when editing is unlocked
This commit is contained in:
parent
f8b292dfa3
commit
a810db3641
@ -2133,6 +2133,7 @@
|
||||
"breadcrumb_badges": {
|
||||
"read_only_explicit": "Read-only",
|
||||
"read_only_auto": "Auto read-only",
|
||||
"read_only_temporarily_disabled": "Temporarily editable",
|
||||
"shared_publicly": "Shared publicly",
|
||||
"shared_locally": "Shared locally"
|
||||
}
|
||||
|
||||
@ -20,14 +20,22 @@ function ReadOnlyBadge() {
|
||||
const { note, noteContext } = useNoteContext();
|
||||
const { isReadOnly, enableEditing } = useIsNoteReadOnly(note, noteContext);
|
||||
const isExplicitReadOnly = note?.isLabelTruthy("readOnly");
|
||||
const isTemporarilyEditable = noteContext?.viewScope?.readOnlyTemporarilyDisabled;
|
||||
|
||||
return (isReadOnly &&
|
||||
<Badge
|
||||
icon="bx bx-lock"
|
||||
if (isTemporarilyEditable) {
|
||||
return <Badge
|
||||
icon="bx bx-lock-open-alt"
|
||||
onClick={() => enableEditing(false)}
|
||||
>
|
||||
{t("breadcrumb_badges.read_only_temporarily_disabled")}
|
||||
</Badge>;
|
||||
} else if (isReadOnly) {
|
||||
return <Badge
|
||||
icon="bx bx-lock-alt"
|
||||
onClick={() => enableEditing()}>
|
||||
{isExplicitReadOnly ? t("breadcrumb_badges.read_only_explicit") : t("breadcrumb_badges.read_only_auto")}
|
||||
</Badge>
|
||||
);
|
||||
</Badge>;
|
||||
}
|
||||
}
|
||||
|
||||
function ShareBadge() {
|
||||
|
||||
@ -845,9 +845,9 @@ export function useGlobalShortcut(keyboardShortcut: string | null | undefined, h
|
||||
export function useIsNoteReadOnly(note: FNote | null | undefined, noteContext: NoteContext | undefined) {
|
||||
const [ isReadOnly, setIsReadOnly ] = useState<boolean | undefined>(undefined);
|
||||
|
||||
const enableEditing = useCallback(() => {
|
||||
const enableEditing = useCallback((enabled = true) => {
|
||||
if (noteContext?.viewScope) {
|
||||
noteContext.viewScope.readOnlyTemporarilyDisabled = true;
|
||||
noteContext.viewScope.readOnlyTemporarilyDisabled = enabled;
|
||||
appContext.triggerEvent("readOnlyTemporarilyDisabled", {noteContext});
|
||||
}
|
||||
}, [noteContext]);
|
||||
@ -862,7 +862,7 @@ export function useIsNoteReadOnly(note: FNote | null | undefined, noteContext: N
|
||||
|
||||
useTriliumEvent("readOnlyTemporarilyDisabled", ({noteContext: eventNoteContext}) => {
|
||||
if (noteContext?.ntxId === eventNoteContext.ntxId) {
|
||||
setIsReadOnly(false);
|
||||
setIsReadOnly(!noteContext.viewScope?.readOnlyTemporarilyDisabled);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user