PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.16.0
GiveWP – Donation Plugin and Fundraising Platform v4.16.0
4.18.0.1 4.18.0 4.17.0 4.16.9 4.16.8.1 4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 All 258 releases
give / src / DonorDashboards / resources / js / app / components / tab-menu / index.js

index.js in GiveWP – Donation Plugin and Fundraising Platform 4.16.0, at src/DonorDashboards/resources/js/app/components/tab-menu/index.js

51 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 // Store dependencies
2 import {useState, Fragment} from 'react';
3 import {useSelector} from 'react-redux';
4 import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
5 import {__} from '@wordpress/i18n';
6
7 // Internal dependencies
8 import TabLink from '../tab-link';
9 import LogoutModal from '../logout-modal';
10 import ModalDialog from '@givewp/components/AdminUI/ModalDialog';
11
12 import './style.scss';
13
14 const TabMenu = () => {
15 const [logoutModalOpen, setLogoutModalOpen] = useState(false);
16
17 const tabsSelector = useSelector((state) => state.tabs);
18 const tabLinks = Object.values(tabsSelector).map((tab, index) => {
19 return <TabLink slug={tab.slug} label={tab.label} icon={tab.icon} key={index} />;
20 });
21
22 const toggleModal = () => {
23 setLogoutModalOpen(!logoutModalOpen);
24 };
25
26 return (
27 <Fragment>
28 {logoutModalOpen && (
29 <ModalDialog
30 wrapperClassName={'give-donor-dashboard-logout-modal'}
31 title={__('Are you sure you want to logout?', 'give')}
32 showHeader={true}
33 isOpen={logoutModalOpen}
34 handleClose={toggleModal}
35 >
36 <LogoutModal onRequestClose={toggleModal} />
37 </ModalDialog>
38 )}
39 <div className="give-donor-dashboard-tab-menu">
40 {tabLinks}
41 <div className="give-donor-dashboard-logout">
42 <div className="give-donor-dashboard-tab-link" onClick={toggleModal}>
43 <FontAwesomeIcon icon="sign-out-alt" /> {__('Logout', 'give')}
44 </div>
45 </div>
46 </div>
47 </Fragment>
48 );
49 };
50 export default TabMenu;
51