one-click-accessibility/modules/scanner/assets/js/context/tabs-context.js
VasylD f0dce2793e
[APP-1923][APP-1924] manage remediations, global remediations (#424)
* [APP-1923] change remediation management (#411)

* [APP-1988] Add tabs

* [APP-1988][APP-1989] add tabs, remove menu item

* [APP-1988][APP-1989] add tabs, remove menu item

* [APP-1992] add empty state and tab navigation

* [APP-1993][APP-1994] Change view for manage AI fixes, change delete confirmation modal

* [APP-1996] add view for alt text fixes

* [APP-1996] add edit for alt text fixes

* [APP-1996] add edit for alt text fixes

* [APP-1996] add edit for alt text fixes

* [APP-1996] add edit for alt text fixes

* [APP-1996] add edit for alt text fixes

* [APP-1995] Color contrast form

* [APP-2001] add global remediation logic (#415)

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2001] add global remediation logic

* [APP-2003] add disable across scans (#418)

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* [APP-2003] add disable across scans

* add logs

* add logs

* add logs

* remove logs

* remove logs

* remove logs

* remove logs

* remove logs

* remove logs

* remove logs

* remove logs

* remove logs

* remove logs

* change to theme value

* change to theme value

* change to theme value

* change to theme value

* add edit mode

* add edit mode

* add edit mode
2025-11-10 16:25:45 +07:00

49 lines
1.3 KiB
JavaScript

import useTabs from '@elementor/ui/useTabs';
import PropTypes from 'prop-types';
import { mixpanelEvents, mixpanelService } from '@ea11y-apps/global/services';
import { BLOCKS } from '@ea11y-apps/scanner/constants';
import { useScannerWizardContext } from '@ea11y-apps/scanner/context/scanner-wizard-context';
import { getInitialTab } from '@ea11y-apps/scanner/utils/get-initial-tab';
import { createContext, useContext } from '@wordpress/element';
export const TabsContext = createContext({});
export const TabsContextProvider = ({ children }) => {
const { setOpenedBlock, setIsManage } = useScannerWizardContext();
const { getTabsProps, getTabProps, getTabPanelProps } =
useTabs(getInitialTab());
const tabsProps = getTabsProps();
const changeTab = (event, newValue) => {
setOpenedBlock(newValue);
setIsManage(newValue === BLOCKS.management);
tabsProps.onChange(event, newValue);
mixpanelService.sendEvent(mixpanelEvents.tabSelected, {
tab_name: newValue,
});
};
return (
<TabsContext.Provider
value={{
tabsProps: {
value: tabsProps.value,
onChange: changeTab,
},
getTabProps,
getTabPanelProps,
}}
>
{children}
</TabsContext.Provider>
);
};
TabsContextProvider.propTypes = {
children: PropTypes.node,
};
export const useTabsContext = () => {
return useContext(TabsContext);
};