one-click-accessibility/modules/settings/assets/js/components/help-menu/get-started-modal.js
VasylD 9c9536cbeb
[APP-2130] add elementor one (#433)
* [APP-0000] add elementor one

* [APP-0000] add elementor one

* [APP-2207] add dashboard widget

* [APP-2207] add dashboard widget

* [APP-2207] add dashboard widget

* [APP-2207] add dashboard widget

* [APP-0000] Add slug to the connect config

* [APP-0000] Update connect config

* [APP-0000] Update connect config

* [APP-0000] Update connect config

* [APP-0000] Update connect config

* [APP-0000] Update connect config

* Hide sidebar footer if Elementor One is connected

* fix: import errors on opening the scanner

* [APP-0000] Update connect config

* Update modules/settings/module.php

Co-authored-by: Rami Yushuvaev <92088692+rami-elementor@users.noreply.github.com>

* [APP-2270] Top bar implementation (#458)

* [APP-2270] Top bar implementation

* Update top bar title

* Update packages

* fix: env for top bar

* update: ally menu location

* Fix pointer

* Update

* Update

* Update

* Update

* Update

* Fix design saving

* Add missing pro icon to sidebar menu

* Sidebar icons sizes

* Fix link to "Manage subscription"

* fix: header name

* Update logo icon in the sidebar

* Remove logos from modal/dialog headers

* Update button colors

* Make the "Get started" modal dismissible

* Update crown icon

* Update

* Role attribute

* Update logo icon

* Update list item padding

* [APP-0000] Update connect config

* [ACD-7909] Enable Pro features on One

* Update menu order

* [ACD-7909] Enable Pro features on One

* [ACD-7909] Enable Pro features on One

* Hide pointers from Elementor One users

* [ACD-7909] Enable Pro features on One

* fix: don't show notices in some cases (#466)

* [ACD-7794] Fix subitem color and spacing, info and pro icon size (#464)

* fix: subitem color and spacing, info and pro icon size

* chore: update elementor-one-assets package to 0.4.16

* fix: PLG margin and button style issue (#463)

---------

Co-authored-by: Nirbhay Singh <nirbhayr@elementor.com>
Co-authored-by: vasyldinets <vasyld@elementor.red>
Co-authored-by: Nirbhay Singh <121793120+nirbhayel@users.noreply.github.com>

---------

Co-authored-by: Rami Yushuvaev <ramiy@elementor.com>
Co-authored-by: Nirbhay Singh <nirbhayr@elementor.com>
Co-authored-by: Rami Yushuvaev <92088692+rami-elementor@users.noreply.github.com>
Co-authored-by: Nirbhay Singh <121793120+nirbhayel@users.noreply.github.com>
2026-01-12 12:26:38 +01:00

103 lines
3 KiB
JavaScript

import Button from '@elementor/ui/Button';
import Dialog from '@elementor/ui/Dialog';
import DialogActions from '@elementor/ui/DialogActions';
import DialogContent from '@elementor/ui/DialogContent';
import DialogContentText from '@elementor/ui/DialogContentText';
import DialogHeader from '@elementor/ui/DialogHeader';
import DialogTitle from '@elementor/ui/DialogTitle';
import { useSettings, useStorage } from '@ea11y/hooks';
import { mixpanelEvents, mixpanelService } from '@ea11y-apps/global/services';
import { useEffect } from '@wordpress/element';
import { __ } from '@wordpress/i18n';
import { usePluginSettingsContext } from '../../contexts/plugin-settings';
const GetStartedModal = () => {
const { save } = useStorage();
const { isGetStartedModalOpen, setIsGetStartedModalOpen } = useSettings();
const {
isConnected,
closePostConnectModal,
isUrlMismatch,
closeOnboardingModal,
closeGetStartedModal,
} = usePluginSettingsContext();
useEffect(() => {
if (
isConnected &&
closePostConnectModal &&
!isUrlMismatch &&
closeOnboardingModal &&
!closeGetStartedModal &&
!isGetStartedModalOpen
) {
setIsGetStartedModalOpen(true);
}
}, [
isConnected,
closePostConnectModal,
isUrlMismatch,
closeOnboardingModal,
closeGetStartedModal,
]);
const handleClose = () => {
setIsGetStartedModalOpen(false);
save({
ea11y_close_get_started_modal: true,
}).catch((error) => {
console.error('Failed to save get started modal state:', error);
});
mixpanelService
.sendEvent(mixpanelEvents.menuButtonClicked, {
buttonName: 'Get started with Ally - Modal Closed',
})
.catch((error) => {
console.error('Failed to send mixpanel event:', error);
});
};
return (
<Dialog
open={isGetStartedModalOpen}
onClose={handleClose}
aria-labelledby="get-started-dialog-title"
aria-describedby="get-started-dialog-description"
>
<DialogHeader logo={false} onClose={handleClose}>
<DialogTitle>{__('Accessibility', 'pojo-accessibility')}</DialogTitle>
</DialogHeader>
<DialogContent dividers>
<iframe
width="550"
height="309"
src="https://www.youtube.com/embed/1D9UfHJD8cE?si=0txuUSHwaXlu22BZ&amp;controls=0"
title="YouTube video player"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
referrerPolicy="strict-origin-when-cross-origin"
allowfullscreen
></iframe>
<DialogContentText variant="h5" color="text.primary" marginTop={2}>
{__('Getting started with Ally', 'pojo-accessibility')}
</DialogContentText>
<DialogContentText variant="body1">
{__(
'Watch this quick video to see how Ally helps you find, understand, and fix accessibility issues across your site with ease.',
'pojo-accessibility',
)}
</DialogContentText>
</DialogContent>
<DialogActions>
<Button onClick={handleClose} color="primary" variant="contained">
{__('Got it', 'pojo-accessibility')}
</Button>
</DialogActions>
</Dialog>
);
};
export default GetStartedModal;