/** * External dependencies */ import { find } from 'lodash'; /** * External dependencies */ import type { AutoShareEndModeId, AutoShareEndMode, Dict, } from '@nelio-content/types'; /** * Internal dependencies */ import type { State } from '../types'; export function isClassicEditor( state: State ): boolean { return state.settings.isClassicEditor; } export function isElementorEditor( state: State ): boolean { return state.settings.isElementorEditor; } export function getPanelStatuses( state: State ): Dict< boolean > { return state.settings.panels; } export function isPanelOpen( state: State, panelName: string ): boolean { const isOpen = state.settings.panels[ panelName ]; return undefined === isOpen ? true : isOpen; } export function shouldAuthorBeFollower( state: State ): boolean { return state.settings.shouldAuthorBeFollower; } export function getAutoShareEndModes( state: State ): ReadonlyArray< AutoShareEndMode > { return state.settings.autoShareEndModes; } export function getAutoShareEndModeDuration( state: State, endMode: AutoShareEndModeId ): number { const mode = find( state.settings.autoShareEndModes, { value: endMode } ); return mode?.months || 0; }