import { c as _c } from "react/compiler-runtime";
import { useEffect } from 'react';
import { useNotifications } from 'src/context/notifications.js';
import { useAppState, useSetAppState } from 'src/state/AppState.js';
import { type CooldownReason, isFastModeEnabled, onCooldownExpired, onCooldownTriggered, onFastModeOverageRejection, onOrgFastModeChanged } from 'src/utils/fastMode.js';
import { formatDuration } from 'src/utils/format.js';
import { getIsRemoteMode } from '../../bootstrap/state.js';
const COOLDOWN_STARTED_KEY = 'fast-mode-cooldown-started';
const COOLDOWN_EXPIRED_KEY = 'fast-mode-cooldown-expired';
const ORG_CHANGED_KEY = 'fast-mode-org-changed';
const OVERAGE_REJECTED_KEY = 'fast-mode-overage-rejected';
export function useFastModeNotification() {
  const $ = _c(13);
  const {
    addNotification
  } = useNotifications();
  const isFastMode = useAppState(_temp);
  const setAppState = useSetAppState();
  let t0;
  let t1;
  if ($[0] !== addNotification || $[1] !== isFastMode || $[2] !== setAppState) {
    t0 = () => {
      if (getIsRemoteMode()) {
        return;
      }
      if (!isFastModeEnabled()) {
        return;
      }
      return onOrgFastModeChanged(orgEnabled => {
        if (orgEnabled) {
          addNotification({
            key: ORG_CHANGED_KEY,
            color: "fastMode",
            priority: "immediate",
            text: "Fast mode is now available \xB7 /fast to turn on"
          });
        } else {
          if (isFastMode) {
            setAppState(_temp2);
            addNotification({
              key: ORG_CHANGED_KEY,
              color: "warning",
              priority: "immediate",
              text: "Fast mode has been disabled by your organization"
            });
          }
        }
      });
    };
    t1 = [addNotification, isFastMode, setAppState];
    $[0] = addNotification;
    $[1] = isFastMode;
    $[2] = setAppState;
    $[3] = t0;
    $[4] = t1;
  } else {
    t0 = $[3];
    t1 = $[4];
  }
  useEffect(t0, t1);
  let t2;
  let t3;
  if ($[5] !== addNotification || $[6] !== setAppState) {
    t2 = () => {
      if (getIsRemoteMode()) {
        return;
      }
      if (!isFastModeEnabled()) {
        return;
      }
      return onFastModeOverageRejection(message => {
        setAppState(_temp3);
        addNotification({
          key: OVERAGE_REJECTED_KEY,
          color: "warning",
          priority: "immediate",
          text: message
        });
      });
    };
    t3 = [addNotification, setAppState];
    $[5] = addNotification;
    $[6] = setAppState;
    $[7] = t2;
    $[8] = t3;
  } else {
    t2 = $[7];
    t3 = $[8];
  }
  useEffect(t2, t3);
  let t4;
  let t5;
  if ($[9] !== addNotification || $[10] !== isFastMode) {
    t4 = () => {
      if (getIsRemoteMode()) {
        return;
      }
      if (!isFastMode) {
        return;
      }
      const unsubTriggered = onCooldownTriggered((resetAt, reason) => {
        const resetIn = formatDuration(resetAt - Date.now(), {
          hideTrailingZeros: true
        });
        const message_0 = getCooldownMessage(reason, resetIn);
        addNotification({
          key: COOLDOWN_STARTED_KEY,
          invalidates: [COOLDOWN_EXPIRED_KEY],
          text: message_0,
          color: "warning",
          priority: "immediate"
        });
      });
      const unsubExpired = onCooldownExpired(() => {
        addNotification({
          key: COOLDOWN_EXPIRED_KEY,
          invalidates: [COOLDOWN_STARTED_KEY],
          color: "fastMode",
          text: "Fast limit reset \xB7 now using fast mode",
          priority: "immediate"
        });
      });
      return () => {
        unsubTriggered();
        unsubExpired();
      };
    };
    t5 = [addNotification, isFastMode];
    $[9] = addNotification;
    $[10] = isFastMode;
    $[11] = t4;
    $[12] = t5;
  } else {
    t4 = $[11];
    t5 = $[12];
  }
  useEffect(t4, t5);
}
function _temp3(prev_0) {
  return {
    ...prev_0,
    fastMode: false
  };
}
function _temp2(prev) {
  return {
    ...prev,
    fastMode: false
  };
}
function _temp(s) {
  return s.fastMode;
}
function getCooldownMessage(reason: CooldownReason, resetIn: string): string {
  switch (reason) {
    case 'overloaded':
      return `Fast mode overloaded and is temporarily unavailable · resets in ${resetIn}`;
    case 'rate_limit':
      return `Fast limit reached and temporarily disabled · resets in ${resetIn}`;
  }
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VOb3RpZmljYXRpb25zIiwidXNlQXBwU3RhdGUiLCJ1c2VTZXRBcHBTdGF0ZSIsIkNvb2xkb3duUmVhc29uIiwiaXNGYXN0TW9kZUVuYWJsZWQiLCJvbkNvb2xkb3duRXhwaXJlZCIsIm9uQ29vbGRvd25UcmlnZ2VyZWQiLCJvbkZhc3RNb2RlT3ZlcmFnZVJlamVjdGlvbiIsIm9uT3JnRmFzdE1vZGVDaGFuZ2VkIiwiZm9ybWF0RHVyYXRpb24iLCJnZXRJc1JlbW90ZU1vZGUiLCJDT09MRE9XTl9TVEFSVEVEX0tFWSIsIkNPT0xET1dOX0VYUElSRURfS0VZIiwiT1JHX0NIQU5HRURfS0VZIiwiT1ZFUkFHRV9SRUpFQ1RFRF9LRVkiLCJ1c2VGYXN0TW9kZU5vdGlmaWNhdGlvbiIsIiQiLCJfYyIsImFkZE5vdGlmaWNhdGlvbiIsImlzRmFzdE1vZGUiLCJfdGVtcCIsInNldEFwcFN0YXRlIiwidDAiLCJ0MSIsIm9yZ0VuYWJsZWQiLCJrZXkiLCJjb2xvciIsInByaW9yaXR5IiwidGV4dCIsIl90ZW1wMiIsInQyIiwidDMiLCJtZXNzYWdlIiwiX3RlbXAzIiwidDQiLCJ0NSIsInVuc3ViVHJpZ2dlcmVkIiwicmVzZXRBdCIsInJlYXNvbiIsInJlc2V0SW4iLCJEYXRlIiwibm93IiwiaGlkZVRyYWlsaW5nWmVyb3MiLCJtZXNzYWdlXzAiLCJnZXRDb29sZG93bk1lc3NhZ2UiLCJpbnZhbGlkYXRlcyIsInVuc3ViRXhwaXJlZCIsInByZXZfMCIsInByZXYiLCJmYXN0TW9kZSIsInMiXSwic291cmNlcyI6WyJ1c2VGYXN0TW9kZU5vdGlmaWNhdGlvbi50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VOb3RpZmljYXRpb25zIH0gZnJvbSAnc3JjL2NvbnRleHQvbm90aWZpY2F0aW9ucy5qcydcbmltcG9ydCB7IHVzZUFwcFN0YXRlLCB1c2VTZXRBcHBTdGF0ZSB9IGZyb20gJ3NyYy9zdGF0ZS9BcHBTdGF0ZS5qcydcbmltcG9ydCB7XG4gIHR5cGUgQ29vbGRvd25SZWFzb24sXG4gIGlzRmFzdE1vZGVFbmFibGVkLFxuICBvbkNvb2xkb3duRXhwaXJlZCxcbiAgb25Db29sZG93blRyaWdnZXJlZCxcbiAgb25GYXN0TW9kZU92ZXJhZ2VSZWplY3Rpb24sXG4gIG9uT3JnRmFzdE1vZGVDaGFuZ2VkLFxufSBmcm9tICdzcmMvdXRpbHMvZmFzdE1vZGUuanMnXG5pbXBvcnQgeyBmb3JtYXREdXJhdGlvbiB9IGZyb20gJ3NyYy91dGlscy9mb3JtYXQuanMnXG5pbXBvcnQgeyBnZXRJc1JlbW90ZU1vZGUgfSBmcm9tICcuLi8uLi9ib290c3RyYXAvc3RhdGUuanMnXG5cbmNvbnN0IENPT0xET1dOX1NUQVJURURfS0VZID0gJ2Zhc3QtbW9kZS1jb29sZG93bi1zdGFydGVkJ1xuY29uc3QgQ09PTERPV05fRVhQSVJFRF9LRVkgPSAnZmFzdC1tb2RlLWNvb2xkb3duLWV4cGlyZWQnXG5jb25zdCBPUkdfQ0hBTkdFRF9LRVkgPSAnZmFzdC1tb2RlLW9yZy1jaGFuZ2VkJ1xuY29uc3QgT1ZFUkFHRV9SRUpFQ1RFRF9LRVkgPSAnZmFzdC1tb2RlLW92ZXJhZ2UtcmVqZWN0ZWQnXG5cbmV4cG9ydCBmdW5jdGlvbiB1c2VGYXN0TW9kZU5vdGlmaWNhdGlvbigpOiB2b2lkIHtcbiAgY29uc3QgeyBhZGROb3RpZmljYXRpb24gfSA9IHVzZU5vdGlmaWNhdGlvbnMoKVxuICBjb25zdCBpc0Zhc3RNb2RlID0gdXNlQXBwU3RhdGUocyA9PiBzLmZhc3RNb2RlKVxuICBjb25zdCBzZXRBcHBTdGF0ZSA9IHVzZVNldEFwcFN0YXRlKClcblxuICAvLyBOb3RpZnkgd2hlbiBvcmcgZmFzdCBtb2RlIHN0YXR1cyBjaGFuZ2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdldElzUmVtb3RlTW9kZSgpKSByZXR1cm5cbiAgICBpZiAoIWlzRmFzdE1vZGVFbmFibGVkKCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIHJldHVybiBvbk9yZ0Zhc3RNb2RlQ2hhbmdlZChvcmdFbmFibGVkID0+IHtcbiAgICAgIGlmIChvcmdFbmFibGVkKSB7XG4gICAgICAgIGFkZE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAga2V5OiBPUkdfQ0hBTkdFRF9LRVksXG4gICAgICAgICAgY29sb3I6ICdmYXN0TW9kZScsXG4gICAgICAgICAgcHJpb3JpdHk6ICdpbW1lZGlhdGUnLFxuICAgICAgICAgIHRleHQ6ICdGYXN0IG1vZGUgaXMgbm93IGF2YWlsYWJsZSDCtyAvZmFzdCB0byB0dXJuIG9uJyxcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAoaXNGYXN0TW9kZSkge1xuICAgICAgICAvLyBPcmcgZGlzYWJsZWQgZmFzdCBtb2RlIOKAlCBwZXJtYW5lbnRseSB0dXJuIG9mZiBmYXN0IG1vZGVcbiAgICAgICAgc2V0QXBwU3RhdGUocHJldiA9PiAoeyAuLi5wcmV2LCBmYXN0TW9kZTogZmFsc2UgfSkpXG4gICAgICAgIGFkZE5vdGlmaWNhdGlvbih7XG4gICAgICAgICAga2V5OiBPUkdfQ0hBTkdFRF9LRVksXG4gICAgICAgICAgY29sb3I6ICd3YXJuaW5nJyxcbiAgICAgICAgICBwcmlvcml0eTogJ2ltbWVkaWF0ZScsXG4gICAgICAgICAgdGV4dDogJ0Zhc3QgbW9kZSBoYXMgYmVlbiBkaXNhYmxlZCBieSB5b3VyIG9yZ2FuaXphdGlvbicsXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgfSlcbiAgfSwgW2FkZE5vdGlmaWNhdGlvbiwgaXNGYXN0TW9kZSwgc2V0QXBwU3RhdGVdKVxuXG4gIC8vIE5vdGlmeSB3aGVuIGZhc3QgbW9kZSBpcyByZWplY3RlZCBkdWUgdG8gb3ZlcmFnZS9leHRyYSB1c2FnZSBpc3N1ZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZ2V0SXNSZW1vdGVNb2RlKCkpIHJldHVyblxuICAgIGlmICghaXNGYXN0TW9kZUVuYWJsZWQoKSkgcmV0dXJuXG5cbiAgICByZXR1cm4gb25GYXN0TW9kZU92ZXJhZ2VSZWplY3Rpb24obWVzc2FnZSA9PiB7XG4gICAgICBzZXRBcHBTdGF0ZShwcmV2ID0+ICh7IC4uLnByZXYsIGZhc3RNb2RlOiBmYWxzZSB9KSlcbiAgICAgIGFkZE5vdGlmaWNhdGlvbih7XG4gICAgICAgIGtleTogT1ZFUkFHRV9SRUpFQ1RFRF9LRVksXG4gICAgICAgIGNvbG9yOiAnd2FybmluZycsXG4gICAgICAgIHByaW9yaXR5OiAnaW1tZWRpYXRlJyxcbiAgICAgICAgdGV4dDogbWVzc2FnZSxcbiAgICAgIH0pXG4gICAgfSlcbiAgfSwgW2FkZE5vdGlmaWNhdGlvbiwgc2V0QXBwU3RhdGVdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGdldElzUmVtb3RlTW9kZSgpKSByZXR1cm5cbiAgICBpZiAoIWlzRmFzdE1vZGUpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHVuc3ViVHJpZ2dlcmVkID0gb25Db29sZG93blRyaWdnZXJlZCgocmVzZXRBdCwgcmVhc29uKSA9PiB7XG4gICAgICBjb25zdCByZXNldEluID0gZm9ybWF0RHVyYXRpb24ocmVzZXRBdCAtIERhdGUubm93KCksIHtcbiAgICAgICAgaGlkZVRyYWlsaW5nWmVyb3M6IHRydWUsXG4gICAgICB9KVxuICAgICAgY29uc3QgbWVzc2FnZSA9IGdldENvb2xkb3duTWVzc2FnZShyZWFzb24sIHJlc2V0SW4pXG4gICAgICBhZGROb3RpZmljYXRpb24oe1xuICAgICAgICBrZXk6IENPT0xET1dOX1NUQVJURURfS0VZLFxuICAgICAgICBpbnZhbGlkYXRlczogW0NPT0xET1dOX0VYUElSRURfS0VZXSxcbiAgICAgICAgdGV4dDogbWVzc2FnZSxcbiAgICAgICAgY29sb3I6ICd3YXJuaW5nJyxcbiAgICAgICAgcHJpb3JpdHk6ICdpbW1lZGlhdGUnLFxuICAgICAgfSlcbiAgICB9KVxuICAgIGNvbnN0IHVuc3ViRXhwaXJlZCA9IG9uQ29vbGRvd25FeHBpcmVkKCgpID0+IHtcbiAgICAgIGFkZE5vdGlmaWNhdGlvbih7XG4gICAgICAgIGtleTogQ09PTERPV05fRVhQSVJFRF9LRVksXG4gICAgICAgIGludmFsaWRhdGVzOiBbQ09PTERPV05fU1RBUlRFRF9LRVldLFxuICAgICAgICBjb2xvcjogJ2Zhc3RNb2RlJyxcbiAgICAgICAgdGV4dDogYEZhc3QgbGltaXQgcmVzZXQgwrcgbm93IHVzaW5nIGZhc3QgbW9kZWAsXG4gICAgICAgIHByaW9yaXR5OiAnaW1tZWRpYXRlJyxcbiAgICAgIH0pXG4gICAgfSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgdW5zdWJUcmlnZ2VyZWQoKVxuICAgICAgdW5zdWJFeHBpcmVkKClcbiAgICB9XG4gIH0sIFthZGROb3RpZmljYXRpb24sIGlzRmFzdE1vZGVdKVxufVxuXG5mdW5jdGlvbiBnZXRDb29sZG93bk1lc3NhZ2UocmVhc29uOiBDb29sZG93blJlYXNvbiwgcmVzZXRJbjogc3RyaW5nKTogc3RyaW5nIHtcbiAgc3dpdGNoIChyZWFzb24pIHtcbiAgICBjYXNlICdvdmVybG9hZGVkJzpcbiAgICAgIHJldHVybiBgRmFzdCBtb2RlIG92ZXJsb2FkZWQgYW5kIGlzIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlIMK3IHJlc2V0cyBpbiAke3Jlc2V0SW59YFxuICAgIGNhc2UgJ3JhdGVfbGltaXQnOlxuICAgICAgcmV0dXJuIGBGYXN0IGxpbWl0IHJlYWNoZWQgYW5kIHRlbXBvcmFyaWx5IGRpc2FibGVkIMK3IHJlc2V0cyBpbiAke3Jlc2V0SW59YFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxTQUFTQSxTQUFTLFFBQVEsT0FBTztBQUNqQyxTQUFTQyxnQkFBZ0IsUUFBUSw4QkFBOEI7QUFDL0QsU0FBU0MsV0FBVyxFQUFFQyxjQUFjLFFBQVEsdUJBQXVCO0FBQ25FLFNBQ0UsS0FBS0MsY0FBYyxFQUNuQkMsaUJBQWlCLEVBQ2pCQyxpQkFBaUIsRUFDakJDLG1CQUFtQixFQUNuQkMsMEJBQTBCLEVBQzFC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