mirror of
https://github.com/cpvalente/ontime.git
synced 2026-08-13 11:23:50 +00:00
27 lines
774 B
TypeScript
27 lines
774 B
TypeScript
import { useCallback, useMemo } from 'react';
|
|
import { useSearchParams } from 'react-router-dom';
|
|
|
|
import { isStringBoolean } from '../../../features/viewers/common/viewUtils';
|
|
|
|
interface EditorVisibilityOptions {
|
|
isLockable?: boolean;
|
|
}
|
|
|
|
export default function useViewEditor({ isLockable }: EditorVisibilityOptions) {
|
|
const [searchParams, setSearchParams] = useSearchParams();
|
|
|
|
const showEditFormDrawer = useCallback(() => {
|
|
searchParams.set('edit', 'true');
|
|
setSearchParams(searchParams);
|
|
}, [searchParams, setSearchParams]);
|
|
|
|
const isViewLocked = useMemo(() => {
|
|
if (!isLockable) {
|
|
return false;
|
|
}
|
|
return isStringBoolean(searchParams.get('locked'));
|
|
}, [isLockable, searchParams]);
|
|
|
|
return { showEditFormDrawer, isViewLocked };
|
|
}
|