actionToggleZenMode.tsx 758 B

123456789101112131415161718192021222324252627
  1. import { CODES, KEYS } from "../keys";
  2. import { register } from "./register";
  3. export const actionToggleZenMode = register({
  4. name: "zenMode",
  5. viewMode: true,
  6. trackEvent: {
  7. category: "canvas",
  8. predicate: (appState) => !appState.zenModeEnabled,
  9. },
  10. perform(elements, appState) {
  11. return {
  12. appState: {
  13. ...appState,
  14. zenModeEnabled: !this.checked!(appState),
  15. },
  16. commitToHistory: false,
  17. };
  18. },
  19. checked: (appState) => appState.zenModeEnabled,
  20. contextItemPredicate: (elements, appState, appProps) => {
  21. return typeof appProps.zenModeEnabled === "undefined";
  22. },
  23. contextItemLabel: "buttons.zenMode",
  24. keyTest: (event) =>
  25. !event[KEYS.CTRL_OR_CMD] && event.altKey && event.code === CODES.Z,
  26. });