Skip to content

Commit 6f1b66b

Browse files
authored
[APP-1048] Add tooltip to accessibility statement (#159)
* add: tooltip to accessibility statement * update: hide infotip when statement link is set * update: infotip's text * fix: infotip naming and logic
1 parent 92ca3db commit 6f1b66b

File tree

3 files changed

+61
-0
lines changed

3 files changed

+61
-0
lines changed

modules/settings/assets/js/components/sidebar-menu/index.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,9 @@ const SidebarMenu = () => {
5555
<ListItemIcon>{item.icon}</ListItemIcon>
5656

5757
<ListItemText primary={item.name} hidden={!openSidebar} />
58+
59+
{/* Show infotip */ item?.infotip}
60+
5861
{item?.children && (
5962
<ListItemIcon
6063
sx={{

modules/settings/assets/js/components/sidebar-menu/menu.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { PagesIcon } from '@elementor/icons';
22
import { WidgetIcon } from '@ea11y/icons';
33
import { AccessibilityStatement, Menu, IconSettings } from '@ea11y/pages';
44
import { __ } from '@wordpress/i18n';
5+
import AccessibilityStatementTooltip from './tooltips/accessibility-statement';
56

67
export const MenuItems = {
78
widget: {
@@ -26,5 +27,6 @@ export const MenuItems = {
2627
key: 'accessibility-statement',
2728
page: <AccessibilityStatement />,
2829
icon: <PagesIcon size="small" sx={{ color: 'common.black' }} />,
30+
infotip: <AccessibilityStatementTooltip />,
2931
},
3032
};
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
import { InfoCircleIcon } from '@elementor/icons';
2+
import { CardActions } from '@elementor/ui';
3+
import Button from '@elementor/ui/Button';
4+
import Card from '@elementor/ui/Card';
5+
import CardContent from '@elementor/ui/CardContent';
6+
import CardHeader from '@elementor/ui/CardHeader';
7+
import Infotip from '@elementor/ui/Infotip';
8+
import Typography from '@elementor/ui/Typography';
9+
import { useSettings } from '@ea11y/hooks';
10+
import { __ } from '@wordpress/i18n';
11+
12+
const AccessibilityStatementTooltip = () => {
13+
const { selectedMenu, setSelectedMenu, accessibilityStatementData } =
14+
useSettings();
15+
16+
if (accessibilityStatementData?.link) {
17+
return null;
18+
}
19+
20+
const TooltipCard = (
21+
<Card elevation={0} sx={{ maxWidth: 300 }}>
22+
<CardHeader
23+
title={__('Accessibility statement generator', 'pojo-accessibility')}
24+
/>
25+
<CardContent>
26+
<Typography variant="body2" color="text.secondary">
27+
{__(
28+
'You can now create an accessibility statement and page in seconds—this way visitors know your site is inclusive.',
29+
'pojo-accessibility',
30+
)}
31+
</Typography>
32+
</CardContent>
33+
<CardActions>
34+
<Button
35+
size="small"
36+
variant="contained"
37+
onClick={() => {
38+
if ('accessibility-statement' !== selectedMenu) {
39+
setSelectedMenu('accessibility-statement');
40+
}
41+
}}
42+
>
43+
{__('Take me there', 'pojo-accessibility')}
44+
</Button>
45+
</CardActions>
46+
</Card>
47+
);
48+
49+
return (
50+
<Infotip placement="right" content={TooltipCard}>
51+
<InfoCircleIcon color="info" sx={{ ml: 1 }} />
52+
</Infotip>
53+
);
54+
};
55+
56+
export default AccessibilityStatementTooltip;

0 commit comments

Comments
 (0)