����JFIF���������
__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
import '../css/style.css';
import {
ElementorOneAssetsProvider,
ElementorOneHeader,
} from '@elementor/elementor-one-assets';
import Box from '@elementor/ui/Box';
import DirectionProvider from '@elementor/ui/DirectionProvider';
import Grid from '@elementor/ui/Grid';
import { styled, ThemeProvider } from '@elementor/ui/styles';
import {
useNotificationSettings,
useSavedSettings,
useSettings,
} from '@ea11y/hooks';
import { QuotaNotices, Sidebar } from '@ea11y/layouts';
import Notifications from '@ea11y-apps/global/components/notifications';
import { mixpanelEvents, mixpanelService } from '@ea11y-apps/global/services';
import { lazy, Suspense, useEffect } from '@wordpress/element';
import { __ } from '@wordpress/i18n';
import { MenuItems } from './components/sidebar-menu/menu';
import { usePluginSettingsContext } from './contexts/plugin-settings';
import PageContent from './page-content';
// Lazy load modals - load them only when needed
const ConnectModal = lazy(
() =>
import(
/* webpackChunkName: "chunk-modal-connect" */ './components/connect-modal'
),
);
const PostConnectModal = lazy(
() =>
import(
/* webpackChunkName: "chunk-modal-post-connect" */ './components/post-connect-modal'
),
);
const UrlMismatchModal = lazy(
() =>
import(
/* webpackChunkName: "chunk-modal-url-mismatch" */ './components/url-mismatch-modal'
),
);
const OnboardingModal = lazy(
() =>
import(
/* webpackChunkName: "chunk-modal-onboarding" */ './components/onboarding-modal'
),
);
const GetStartedModal = lazy(
() =>
import(
/* webpackChunkName: "chunk-modal-get-started" */ './components/help-menu/get-started-modal'
),
);
const App = () => {
const { ea11ySettingsData } = window;
const { hasFinishedResolution, loading } = useSavedSettings();
const {
isConnected,
isRTL,
closePostConnectModal,
isUrlMismatch,
refreshPluginSettings,
} = usePluginSettingsContext();
const { notificationMessage, notificationType } = useNotificationSettings();
const { selectedMenu } = useSettings();
useEffect(() => {
if (ea11ySettingsData?.planData?.user?.id) {
mixpanelService.init().then(() => {
mixpanelService.sendEvent(mixpanelEvents.pageView, {
page: 'Button',
});
});
}
}, [ea11ySettingsData?.planData?.user?.id]);
const selectedParent = MenuItems[selectedMenu?.parent];
const selectedChild = selectedMenu?.child
? selectedParent?.children[selectedMenu?.child]
: null;
return (
<DirectionProvider rtl={isRTL}>
<ThemeProvider colorScheme="light">
<ElementorOneAssetsProvider
env={
ea11ySettingsData?.pluginEnv === 'stg' ? 'staging' : 'production'
}
>
<ElementorOneHeader
appSettings={{
slug: 'ally', // Intentionally different than the plugin slug.
version: ea11ySettingsData?.pluginVersion,
}}
isWithinWpAdmin
onDisconnect={refreshPluginSettings}
/>
<Suspense fallback={null}>
{isConnected !== undefined && !isUrlMismatch && !isConnected && (
<ConnectModal />
)}
{isConnected && !closePostConnectModal && <PostConnectModal />}
{isUrlMismatch && <UrlMismatchModal />}
<OnboardingModal />
<GetStartedModal />
</Suspense>
<StyledGrid>
<Sidebar />
<StyledContainer
role="main"
aria-label={__('Main Content', 'pojo-accessibility')}
>
<QuotaNotices />
<PageContent
// Looks the best if we have both checks
isLoading={!hasFinishedResolution || loading}
page={
selectedChild ? selectedChild?.page : selectedParent?.page
}
/>
</StyledContainer>
</StyledGrid>
<Notifications
message={notificationMessage}
type={notificationType}
/>
</ElementorOneAssetsProvider>
</ThemeProvider>
</DirectionProvider>
);
};
export default App;
const StyledContainer = styled(Box)`
width: 100%;
display: flex;
flex-direction: column;
justify-content: start;
`;
const StyledGrid = styled(Grid)`
height: calc(100% - 48px);
display: flex;
flex-direction: row;
`;
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| api | Folder | 0755 |
|
|
| components | Folder | 0755 |
|
|
| constants | Folder | 0755 |
|
|
| contexts | Folder | 0755 |
|
|
| helpers | Folder | 0755 |
|
|
| hooks | Folder | 0755 |
|
|
| icons | Folder | 0755 |
|
|
| layouts | Folder | 0755 |
|
|
| pages | Folder | 0755 |
|
|
| utils | Folder | 0755 |
|
|
| admin.js | File | 1.06 KB | 0644 |
|
| app.js | File | 4.01 KB | 0644 |
|
| page-content-loader.js | File | 1.15 KB | 0644 |
|
| page-content.js | File | 297 B | 0644 |
|