You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							48 lines
						
					
					
						
							1.3 KiB
						
					
					
				
			
		
		
	
	
							48 lines
						
					
					
						
							1.3 KiB
						
					
					
				"use strict";
 | 
						|
 | 
						|
Object.defineProperty(exports, "__esModule", {
 | 
						|
  value: true
 | 
						|
});
 | 
						|
exports.default = exports.useCurrentAdmin = useCurrentAdmin;
 | 
						|
 | 
						|
var _reactRedux = require("react-redux");
 | 
						|
 | 
						|
var _setCurrentAdmin = require("../store/actions/set-current-admin");
 | 
						|
 | 
						|
/**
 | 
						|
 * @classdesc
 | 
						|
 * Hook which allows you to get and set currentAdmin
 | 
						|
 *
 | 
						|
 * ### Usage
 | 
						|
 *
 | 
						|
 * ```javascript
 | 
						|
 * import { useCurrentAdmin } from 'adminjs'
 | 
						|
 *
 | 
						|
 * const myComponent = () => {
 | 
						|
 *   const [currentAdmin, setCurrentAdmin] = useCurrentAdmin()
 | 
						|
 *   // ...
 | 
						|
 * }
 | 
						|
 * ```
 | 
						|
 *
 | 
						|
 * @class
 | 
						|
 * @subcategory Hooks
 | 
						|
 * @bundle
 | 
						|
 * @returns {UseCurrentAdminResponse}
 | 
						|
 * @hideconstructor
 | 
						|
 */
 | 
						|
function useCurrentAdmin() {
 | 
						|
  const currentAdmin = (0, _reactRedux.useSelector)(state => state.session);
 | 
						|
  const dispatch = (0, _reactRedux.useDispatch)();
 | 
						|
  return [currentAdmin, admin => dispatch((0, _setCurrentAdmin.setCurrentAdmin)(admin))];
 | 
						|
}
 | 
						|
/**
 | 
						|
 * Result of the {@link useCurrentAdmin}.
 | 
						|
 * It is a tuple containing value and the setter
 | 
						|
 *
 | 
						|
 * @typedef {Array} UseCurrentAdminResponse
 | 
						|
 * @memberof useCurrentAdmin
 | 
						|
 * @alias UseCurrentAdminResponse
 | 
						|
 * @property {CurrentAdmin | null} [0]    current admin
 | 
						|
 * @property {React.Dispatch<React.SetStateAction<CurrentAdmin>>} [1]    value setter compatible
 | 
						|
 *                                                                       with react useState
 | 
						|
 */ |