selected-grant.ts 565 B

1234567891011121314151617
  1. import { PageGrant } from '@growi/core/dist/interfaces';
  2. import { atom, useAtom } from 'jotai';
  3. import type { IPageSelectedGrant } from '~/interfaces/page';
  4. /**
  5. * Atom for selected grant in page editor
  6. * Stores temporary grant selection before it's applied to the page
  7. */
  8. const selectedGrantAtom = atom<IPageSelectedGrant | null>({
  9. grant: PageGrant.GRANT_PUBLIC,
  10. });
  11. /**
  12. * Hook for managing selected grant in page editor
  13. * Used for temporary grant selection before applying to the page
  14. */
  15. export const useSelectedGrant = () => useAtom(selectedGrantAtom);