one-click-accessibility/modules/settings/assets/js/layouts/quota-bar.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

87 lines
2.2 KiB
JavaScript

import CalendarDollarIcon from '@elementor/icons/CalendarDollarIcon';
import Box from '@elementor/ui/Box';
import IconButton from '@elementor/ui/IconButton';
import Skeleton from '@elementor/ui/Skeleton';
import Tooltip from '@elementor/ui/Tooltip';
import { styled } from '@elementor/ui/styles';
import {
bindMenu,
bindTrigger,
usePopupState,
} from '@elementor/ui/usePopupState';
import { PopupMenu, QuotaBarGroup, QuotaIndicator } from '@ea11y/components';
import { useSavedSettings, useSettings } from '@ea11y/hooks';
import { __ } from '@wordpress/i18n';
const QuotaBar = () => {
const { openSidebar } = useSettings();
const { loading, isElementorOne } = useSavedSettings();
const quotaPopupMenuState = usePopupState({
variant: 'popover',
popupId: 'popupMenuExpandedSidebar',
});
if (loading && !isElementorOne) {
return (
<StyledBox>
<Skeleton width="100%" height={91} />
</StyledBox>
);
}
if (!openSidebar) {
return (
<StyledBox>
<Tooltip title={__('My account', 'site-mailer')} placement="right">
<StyledIconButton {...bindTrigger(quotaPopupMenuState)}>
<CalendarDollarIcon sx={{ color: 'common.black' }} />
<QuotaIndicator />
</StyledIconButton>
</Tooltip>
<PopupMenu
{...bindMenu(quotaPopupMenuState)}
closeAction={quotaPopupMenuState.close}
anchorOrigin={{
vertical: 'bottom',
horizontal: 'right',
}}
transformOrigin={{
vertical: 'top',
horizontal: 'left',
}}
/>
</StyledBox>
);
}
return <QuotaBarGroup />;
};
export default QuotaBar;
const StyledBox = styled(Box)`
display: flex;
flex-direction: row;
align-items: start;
justify-content: center;
margin: ${({ theme }) => theme.spacing(2)};
padding: 0;
border-radius: ${({ theme }) => theme.shape.borderRadius}px;
`;
const StyledIconButton = styled(IconButton)`
padding: ${({ theme }) => theme.spacing(1)};
background-color: ${({ theme }) => theme.palette.background.paper};
border-radius: ${({ theme }) => theme.shape.borderRadius}px;
&:hover {
background-color: ${({ theme }) => theme.palette.action.hover};
}
&:focus {
background-color: ${({ theme }) => theme.palette.action.focus};
}
`;