diff --git a/Model/Resolver/SalesPop.php b/Model/Resolver/RecentSalesNotification.php similarity index 88% rename from Model/Resolver/SalesPop.php rename to Model/Resolver/RecentSalesNotification.php index 5cae587..c76b0d2 100644 --- a/Model/Resolver/SalesPop.php +++ b/Model/Resolver/RecentSalesNotification.php @@ -14,27 +14,27 @@ * version in the future. * * @category Mageplaza - * @package Mageplaza_SalesPopGraphQl + * @package Mageplaza_RecentSalesNotificationGraphQl * @copyright Copyright (c) Mageplaza (https://www.mageplaza.com/) * @license https://www.mageplaza.com/LICENSE.txt */ declare(strict_types=1); -namespace Mageplaza\SalesPopGraphQl\Model\Resolver; +namespace Mageplaza\RecentSalesNotificationGraphQl\Model\Resolver; use Magento\Framework\GraphQl\Config\Element\Field; use Magento\Framework\GraphQl\Exception\GraphQlInputException; use Magento\Framework\GraphQl\Query\Resolver\Argument\SearchCriteria\Builder as SearchCriteriaBuilder; use Magento\Framework\GraphQl\Query\ResolverInterface; use Magento\Framework\GraphQl\Schema\Type\ResolveInfo; -use Mageplaza\SalesPop\Helper\Data; -use Mageplaza\SalesPopGraphQl\Model\Resolver\SalesPop\DataProvider; +use Mageplaza\RecentSalesNotification\Helper\Data; +use Mageplaza\RecentSalesNotificationGraphQl\Model\Resolver\RecentSalesNotification\DataProvider; /** - * Class SalesPop - * @package Mageplaza\SalesPopGraphQl\Model\Resolver + * Class RecentSalesNotification + * @package Mageplaza\RecentSalesNotificationGraphQl\Model\Resolver */ -class SalesPop implements ResolverInterface +class RecentSalesNotification implements ResolverInterface { /** * @var DataProvider @@ -52,7 +52,7 @@ class SalesPop implements ResolverInterface protected $searchCriteriaBuilder; /** - * SalesPop constructor. + * RecentSalesNotificationGraphQl constructor. * * @param SearchCriteriaBuilder $searchCriteriaBuilder * @param DataProvider $dataProvider diff --git a/Model/Resolver/SalesPop/DataProvider.php b/Model/Resolver/RecentSalesNotification/DataProvider.php similarity index 79% rename from Model/Resolver/SalesPop/DataProvider.php rename to Model/Resolver/RecentSalesNotification/DataProvider.php index 0ad3435..587401f 100644 --- a/Model/Resolver/SalesPop/DataProvider.php +++ b/Model/Resolver/RecentSalesNotification/DataProvider.php @@ -14,22 +14,22 @@ * version in the future. * * @category Mageplaza - * @package Mageplaza_SalesPopGraphQl + * @package Mageplaza_RecentSalesNotificationGraphQl * @copyright Copyright (c) Mageplaza (https://www.mageplaza.com/) * @license https://www.mageplaza.com/LICENSE.txt */ declare(strict_types=1); -namespace Mageplaza\SalesPopGraphQl\Model\Resolver\SalesPop; +namespace Mageplaza\RecentSalesNotificationGraphQl\Model\Resolver\RecentSalesNotification; use Magento\Framework\Api\SearchCriteria\CollectionProcessorInterface; use Magento\Framework\Api\SearchCriteriaInterface; -use Mageplaza\SalesPop\Model\ResourceModel\SalesPop\Collection; -use Mageplaza\SalesPop\Model\ResourceModel\SalesPop\CollectionFactory; +use Mageplaza\RecentSalesNotification\Model\ResourceModel\RecentSalesNotification\Collection; +use Mageplaza\RecentSalesNotification\Model\ResourceModel\RecentSalesNotification\CollectionFactory; /** * Class DataProvider - * @package Mageplaza\SalesPopGraphQl\Model\Resolver\SalesPop + * @package Mageplaza\RecentSalesNotificationGraphQl\Model\Resolver\RecentSalesNotification */ class DataProvider { diff --git a/Model/Resolver/SalesPop/FilterArgument/EntityAttributesForAst.php b/Model/Resolver/RecentSalesNotification/FilterArgument/EntityAttributesForAst.php similarity index 66% rename from Model/Resolver/SalesPop/FilterArgument/EntityAttributesForAst.php rename to Model/Resolver/RecentSalesNotification/FilterArgument/EntityAttributesForAst.php index 3b857a5..ab17dc2 100644 --- a/Model/Resolver/SalesPop/FilterArgument/EntityAttributesForAst.php +++ b/Model/Resolver/RecentSalesNotification/FilterArgument/EntityAttributesForAst.php @@ -14,19 +14,20 @@ * version in the future. * * @category Mageplaza - * @package Mageplaza_SalesPopGraphQl + * @package Mageplaza_RecentSalesNotificationGraphQl * @copyright Copyright (c) Mageplaza (https://www.mageplaza.com/) * @license https://www.mageplaza.com/LICENSE.txt */ declare(strict_types=1); -namespace Mageplaza\SalesPopGraphQl\Model\Resolver\SalesPop\FilterArgument; +namespace Mageplaza\RecentSalesNotificationGraphQl\Model\Resolver\RecentSalesNotification\FilterArgument; use Magento\Framework\GraphQl\Query\Resolver\Argument\FieldEntityAttributesInterface; +use Mageplaza\RecentSalesNotification\Helper\Data; /** * Class EntityAttributesForAst - * @package Mageplaza\SalesPopGraphQl\Model\Resolver\SalesPop\FilterArgument + * @package Mageplaza\RecentSalesNotificationGraphQl\Model\Resolver\RecentSalesNotification\FilterArgument */ class EntityAttributesForAst implements FieldEntityAttributesInterface { @@ -35,13 +36,22 @@ class EntityAttributesForAst implements FieldEntityAttributesInterface */ protected $additionalAttributes = ['pop_id', 'name', 'status', 'pop_type', 'position']; + /** + * @var Data + */ + protected $helperData; + /** * EntityAttributesForAst constructor. * + * @param Data $helperData * @param array $additionalAttributes */ - public function __construct(array $additionalAttributes = []) - { + public function __construct( + Data $helperData, + array $additionalAttributes = [] + ) { + $this->helperData = $helperData; $this->additionalAttributes = array_merge($this->additionalAttributes, $additionalAttributes); } @@ -55,6 +65,6 @@ public function getEntityAttributes(): array $fields[$attribute] = 'String'; } - return array_keys($fields); + return $this->helperData->versionCompare('2.3.4') ? $fields : array_keys($fields); } } diff --git a/Model/Resolver/SalesPop/Identity.php b/Model/Resolver/RecentSalesNotification/Identity.php similarity index 77% rename from Model/Resolver/SalesPop/Identity.php rename to Model/Resolver/RecentSalesNotification/Identity.php index 3699397..168ae98 100644 --- a/Model/Resolver/SalesPop/Identity.php +++ b/Model/Resolver/RecentSalesNotification/Identity.php @@ -14,24 +14,24 @@ * version in the future. * * @category Mageplaza - * @package Mageplaza_SalesPopGraphQl + * @package Mageplaza_RecentSalesNotificationGraphQl * @copyright Copyright (c) Mageplaza (https://www.mageplaza.com/) * @license https://www.mageplaza.com/LICENSE.txt */ declare(strict_types=1); -namespace Mageplaza\SalesPopGraphQl\Model\Resolver\SalesPop; +namespace Mageplaza\RecentSalesNotificationGraphQl\Model\Resolver\RecentSalesNotification; use Magento\Framework\GraphQl\Query\Resolver\IdentityInterface; /** * Class Identity - * @package Mageplaza\SalesPopGraphQl\Model\Resolver\SalesPop + * @package Mageplaza\RecentSalesNotificationGraphQl\Model\Resolver\RecentSalesNotification */ class Identity implements IdentityInterface { /** @var string */ - private $cacheTag = 'salespop_'; + private $cacheTag = 'recentsalesnotification_'; /** * Get page ID from resolved data diff --git a/README.md b/README.md index 0eda03c..48e5634 100644 --- a/README.md +++ b/README.md @@ -1,72 +1,71 @@ -# Magento 2 Sales Pop GraphQL / PWA (FREE) - -**Magento 2 Sales Pop GraphQL is a part of Mageplaza Sales Pop extension that adds GraphQL features.** This highly supports PWA compatibility. - -[Mageplaza Sales Pop for Magento 2](https://www.mageplaza.com/magento-2-sales-pop/) enables online stores to show customers' real-time purchases as an effective way to market the products and stimulate customers' purchasing decisions. - -Customers will consider a lot of factors before purchasing a product from an online store. That sales pop shows the stores' continuous purchases will somehow eliminate the doubt in customers' minds about the store and make them feel safer to make payment. The real-time number of sales displays is an effective and cost-saving way to market the products. - -Mageplaza Sales Pop extension supports multiple types of pop-up that enables you to diversify the display of sales pops on your store. They appear friendly and automatically in the store and draw customers' attention without bombarding them countless times. In particular, there are three proven types that help increase sales incredibly, they are: - -- Notifications of recent orders: It shows the recent products bought in the store. -- Checkout pop-ups: It shows the current total checkouts. -- Upsell pop-ups: It shows the products that are bought together. - -The store admin can set up the rules to display pop-ups. The products or orders that match the rule will be displayed at the frontend. There are three types of conditions: - -- Follow cart price rules: The store admin sets the rules based on cart attributes, product attributes, etc. -- Restrict the number of recent orders displaying at the frontend. -- Set the amount of time to check recent orders - -The data will be extracted, updated automatically, and displayed correspondingly at the frontend. - -Mageplaza Sales Pop supports sales pop-ups on multiple pages, including CMS page, category pages, product pages, shopping cart page, and checkout page. You can configure sales pops to display on the pages corresponding to the customers’ journey from end to end. This will build up customers’ trust gradually and boost their purchase decision effectively. - -You can customize the sales pop design and content easily with an HTML-supported and friendly message formula from the admin backend. You can change the background image of the popup, the border, text, link and hover link color easily to match your store theme. - -The extension supports A/B testing. One child popup will be created and run along with the parent popup so that you can continue to keep track of both and measure which one is more effective. In addition, another comprehensive report will let you know how your sales popups are performing, the good, the bad, and the uly of all sales pops will be revealed through the number of views, clicks, and closes to make the comparison more accurately. - -## 1. How to install -Run the following command in Magento 2 root folder: - -``` -composer require mageplaza/module-sales-pop-graphql -php bin/magento setup:upgrade -php bin/magento setup:static-content:deploy -``` -**Note:** -Magento Sales Pop GraphQL requires installing [Mageplaza Sales Pop](https://www.mageplaza.com/magento-2-sales-pop/) in your Magento installation. - -## 2. How to use - -To start working with Sales Pop GraphQl in Magento, please do the following requirements: - -- Use Magento 2.3.x. Reture your site to developer mode. -- Install chrome extension (currently does not support other browsers) -- Set GraphQL endpoint as `http:///graphql` in url box, click **Set endpoint**. -(e.g. http://develop.mageplaza.com/graphql/ce232/graphql) -- Mageplaza-supported queries are fully written in the **Description** section of `Query.SalesPop.items` -- To get the popup information by id, enter the id of the necessary popup in the array ids [] - -![](https://i.imgur.com/DVq9oky.png) - -- To get the information of all popups quickly, leave the ids[ array empty. - -![](https://i.imgur.com/33cnSY6.png) - -## 3. Devdocs -- [Magento 2 Sales Pop API & examples](https://documenter.getpostman.com/view/5977924/SWE2A1Dd?version=latest) - -Click on Run in Postman to add these collections to your workspace quickly. - -![Magento 2 blog graphql pwa](https://i.imgur.com/lhsXlUR.gif) - -## 4. Contribute to this module -Feel free to **Fork** and contribute to this module. - -You can create a pull request, and we will consider to merge your proposed changes in the main branch. - -## 5. Get support -- Contact us if you have any question. We're please to hear from you. -- If you find this post helpful, please give us a **Star** ![star](https://i.imgur.com/S8e0ctO.png) - + +# Recent Sales Notification GraphQl (FREE) + +**Recent Sales Notification GraphQl is a part of Recent Sales Notification extension that adds GraphQL features.** This highly supports PWA compatibility. + +[Recent Sales Notification for Magento 2](https://www.mageplaza.com/magento-2-recent-sales-notification/) enables online stores to show customers' real-time purchases as an effective way to market the products and stimulate customers' purchasing decisions. + +Customers will consider a lot of factors before purchasing a product from an online store. That Recent Sales Notification shows the stores' continuous purchases will somehow eliminate the doubt in customers' minds about the store and make them feel safer to make payment. The real-time number of sales displays is an effective and cost-saving way to market the products. + +Recent Sales Notification extension supports multiple types of pop-up that enables you to diversify the display of sales pops on your store. They appear friendly and automatically in the store and draw customers' attention without bombarding them countless times. In particular, there are three proven types that help increase sales incredibly, they are: + +- Notifications of recent orders: It shows the recent products bought in the store. +- Checkout pop-ups: It shows the current total checkouts. +- Upsell pop-ups: It shows the products that are bought together. + +The store admin can set up the rules to display pop-ups. The products or orders that match the rule will be displayed at the frontend. There are three types of conditions: + +- Follow cart price rules: The store admin sets the rules based on cart attributes, product attributes, etc. +- Restrict the number of recent orders displaying at the frontend. +- Set the amount of time to check recent orders + +The data will be extracted, updated automatically, and displayed correspondingly at the frontend. + +Mageplaza Recent Sales Notification supports sales pop-ups on multiple pages, including CMS page, category pages, product pages, shopping cart page, and checkout page. You can configure sales pops to display on the pages corresponding to the customers’ journey from end to end. This will build up customers’ trust gradually and boost their purchase decision effectively. + +You can customize the recent sales notification design and content easily with an HTML-supported and friendly message formula from the admin backend. You can change the background image of the popup, the border, text, link and hover link color easily to match your store theme. + +The extension supports A/B testing. One child popup will be created and run along with the parent popup so that you can continue to keep track of both and measure which one is more effective. In addition, another comprehensive report will let you know how your sales popups are performing, the good, the bad, and the uly of all sales pops will be revealed through the number of views, clicks, and closes to make the comparison more accurately. + +## 1. How to install +Run the following command in Magento 2 root folder: + +``` +composer require mageplaza/module-recent-sales-notification-graphql +php bin/magento setup:upgrade +php bin/magento setup:static-content:deploy +``` +**Note:** +Recent Sales Notification GraphQl requires installing [Recent Sales Notification](https://www.mageplaza.com/magento-2-recent-sales-notification/) in your Magento installation. + +## 2. How to use + +To start working with Recent Sales Notification GraphQl in Magento, please do the following requirements: + +- Use Magento 2.3.x. Retire your site to developer mode. +- Install chrome extension (currently does not support other browsers) +- Set GraphQL endpoint as `http:///graphql` in url box, click **Set endpoint**. + (e.g. http://develop.mageplaza.com/graphql/ce232/graphql) +- Mageplaza-supported queries are fully written in the **Description** section of `Query.SalesPop.items` +- To get the popup information by id, enter the id of the necessary popup in the array ids [] + +![](https://i.imgur.com/DVq9oky.png) + +- To get the information of all popups quickly, leave the ids[ array empty. + +![](https://i.imgur.com/33cnSY6.png) + +## 3. Devdocs +- [Magento 2 Recent Sales Notification GraphQl & examples](https://documenter.getpostman.com/view/10589000/UUy37kXJ#5c48f6ab-ff85-41f0-8623-c8e0f73e21f9) + Click on Run in Postman to add these collections to your workspace quickly. + +![Magento 2 blog graphql pwa](https://i.imgur.com/lhsXlUR.gif) + +## 4. Contribute to this module +Feel free to **Fork** and contribute to this module. + +You can create a pull request, and we will consider to merge your proposed changes in the main branch. + +## 5. Get support +- Contact us if you have any question. We're please to hear from you. +- If you find this post helpful, please give us a **Star** ![star](https://i.imgur.com/S8e0ctO.png) diff --git a/composer.json b/composer.json index bbffb99..ec4511f 100644 --- a/composer.json +++ b/composer.json @@ -1,23 +1,23 @@ -{ - "name": "mageplaza/module-sales-pop-graphql", - "description": "Magento 2 Sales Pop GraphQL Extension", - "type": "magento2-module", - "version": "1.0.0", - "license": "proprietary", - "authors": [ - { - "name": "Mageplaza", - "email": "support@mageplaza.com", - "homepage": "https://www.mageplaza.com", - "role": "Technical Support" - } - ], - "autoload": { - "files": [ - "registration.php" - ], - "psr-4": { - "Mageplaza\\SalesPopGraphQl\\": "" - } - } -} +{ + "name": "mageplaza/module-recent-sales-notification-graphql", + "description": "Magento 2 Recent Sales Notification GraphQL Extension", + "type": "magento2-module", + "version": "1.1.0", + "license": "proprietary", + "authors": [ + { + "name": "Mageplaza", + "email": "support@mageplaza.com", + "homepage": "https://www.mageplaza.com", + "role": "Technical Support" + } + ], + "autoload": { + "files": [ + "registration.php" + ], + "psr-4": { + "Mageplaza\\RecentSalesNotificationGraphQl\\": "" + } + } +} diff --git a/etc/di.xml b/etc/di.xml index 7edf9df..81d3226 100644 --- a/etc/di.xml +++ b/etc/di.xml @@ -1,32 +1,32 @@ - - - - - - - Mageplaza\SalesPopGraphQl\Model\Resolver\SalesPop\FilterArgument\EntityAttributesForAst - - - - \ No newline at end of file + + + + + + + Mageplaza\RecentSalesNotificationGraphQl\Model\Resolver\RecentSalesNotification\FilterArgument\EntityAttributesForAst + + + + diff --git a/etc/module.xml b/etc/module.xml index 6e4dfd0..b8e8773 100644 --- a/etc/module.xml +++ b/etc/module.xml @@ -1,30 +1,30 @@ - - - - - - - - - - \ No newline at end of file + + + + + + + + + + diff --git a/etc/schema.graphqls b/etc/schema.graphqls index e3df03e..36d31d3 100644 --- a/etc/schema.graphqls +++ b/etc/schema.graphqls @@ -1,52 +1,52 @@ - -type Query { - mpsalespop ( - filter: SalesPopFilterInput @doc(description: "Identifies which popup attributes to search for and return."), - pageSize: Int = 20 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional."), - currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1.") - ): SalesPops - @resolver(class: "Mageplaza\\SalesPopGraphQl\\Model\\Resolver\\SalesPop") @doc(description: "The sales pop query returns information about popups") @cache(cacheIdentity: "Mageplaza\\SalesPopGraphQl\\Model\\Resolver\\SalesPop\\Identity") -} - -type SalesPops @doc(description: "Salespop information") { - items: [SalesPop] @doc(description: "An array of popups") - total_count: Int @doc(description: "The number of salespop returned") - page_info: SearchResultPageInfo @doc(description: "An object that includes the page_info and currentPage values specified in the query") -} - -type SalesPop @doc(description: "Salespop defines all Salespop information") { - pop_id: Int @doc(description: "Popup ID") - name: String @doc(description: "Salespop name") - status: Int @doc(description: "Popup status") - store_ids: String @doc(description: "Store Views") - customer_group_ids: String @doc(description: "Customer Groups") - content: String @doc(description: "Popup content") - pop_type: String @doc(description: "Popup type") - device: Int @doc(description: "Popup show on device") - position: String @doc(description: "Popup position") - page: Int @doc(description: "Popup display on page") - page_type: String @doc(description: "Popup display on page type") - cms_page_id: String @doc(description: "Popup display on cms page ID") - category_ids: String @doc(description: "Popup display on category IDs") - show_product_page: Int @doc(description: "Popup display on product page") - number_recent_order: Int @doc(description: "The limitation number of orders are selected to show the purchased products on live popups") - check_order_time: Int @doc(description: "Specify the time amount to check order data") - background_image: String @doc(description: "Popup background image") - checkout_image: String @doc(description: "Checkout image") - border_color: String @doc(description: "Popup border color") - text_color: String @doc(description: "Popup text color") - hover_link_color: String @doc(description: "Popup hover link color") - view: Int @doc(description: "Number of popup views") - click: Int @doc(description: "Number of popup clicks") - close: Int @doc(description: "Number of popup closes") - parent_id: Int @doc(description: "Popup parent ID") -} - -input SalesPopFilterInput @doc(description: "SalesPopFilterInput defines the filters to be used in the search. A filter contains at least one attribute, a comparison operator, and the value that is being searched for.") { - pop_id: FilterTypeInput @doc(description: "The salespop id") - name: FilterTypeInput @doc(description: "The salespop name") - status: FilterTypeInput @doc(description: "The salespop status") - pop_type: FilterTypeInput @doc(description: "The salespop type") - position: FilterTypeInput @doc(description: "The salespop position") - or: SalesPopFilterInput @doc(description: "The keyword required to perform a logical OR comparison") -} \ No newline at end of file + +type Query { + mpRecentSalesNotification ( + filter: RecentSalesNotificationFilterInput @doc(description: "Identifies which popup attributes to search for and return."), + pageSize: Int = 20 @doc(description: "Specifies the maximum number of results to return at once. This attribute is optional."), + currentPage: Int = 1 @doc(description: "Specifies which page of results to return. The default value is 1.") + ): RecentSalesNotifications + @resolver(class: "Mageplaza\\RecentSalesNotificationGraphQl\\Model\\Resolver\\RecentSalesNotification") @doc(description: "The recent sales notification query returns information about popups") @cache(cacheIdentity: "Mageplaza\\RecentSalesNotificationGraphQl\\Model\\Resolver\\RecentSalesNotification\\Identity") +} + +type RecentSalesNotifications @doc(description: "RecentSalesNotification information") { + items: [RecentSalesNotification] @doc(description: "An array of popups") + total_count: Int @doc(description: "The number of recent sales notification returned") + page_info: SearchResultPageInfo @doc(description: "An object that includes the page_info and currentPage values specified in the query") +} + +type RecentSalesNotification @doc(description: "RecentSalesNotification defines all RecentSalesNotification information") { + pop_id: Int @doc(description: "Popup ID") + name: String @doc(description: "RecentSalesNotification name") + status: Int @doc(description: "Popup status") + store_ids: String @doc(description: "Store Views") + customer_group_ids: String @doc(description: "Customer Groups") + content: String @doc(description: "Popup content") + pop_type: String @doc(description: "Popup type") + device: Int @doc(description: "Popup show on device") + position: String @doc(description: "Popup position") + page: Int @doc(description: "Popup display on page") + page_type: String @doc(description: "Popup display on page type") + cms_page_id: String @doc(description: "Popup display on cms page ID") + category_ids: String @doc(description: "Popup display on category IDs") + show_product_page: Int @doc(description: "Popup display on product page") + number_recent_order: Int @doc(description: "The limitation number of orders are selected to show the purchased products on live popups") + check_order_time: Int @doc(description: "Specify the time amount to check order data") + background_image: String @doc(description: "Popup background image") + checkout_image: String @doc(description: "Checkout image") + border_color: String @doc(description: "Popup border color") + text_color: String @doc(description: "Popup text color") + hover_link_color: String @doc(description: "Popup hover link color") + view: Int @doc(description: "Number of popup views") + click: Int @doc(description: "Number of popup clicks") + close: Int @doc(description: "Number of popup closes") + parent_id: Int @doc(description: "Popup parent ID") +} + +input RecentSalesNotificationFilterInput @doc(description: "RecentSalesNotificationFilterInput defines the filters to be used in the search. A filter contains at least one attribute, a comparison operator, and the value that is being searched for.") { + pop_id: FilterTypeInput @doc(description: "The RecentSalesNotification id") + name: FilterTypeInput @doc(description: "The RecentSalesNotification name") + status: FilterTypeInput @doc(description: "The RecentSalesNotification status") + pop_type: FilterTypeInput @doc(description: "The RecentSalesNotification type") + position: FilterTypeInput @doc(description: "The RecentSalesNotification position") + or: RecentSalesNotificationFilterInput @doc(description: "The keyword required to perform a logical OR comparison") +} diff --git a/registration.php b/registration.php index fe1575b..35131b1 100644 --- a/registration.php +++ b/registration.php @@ -14,7 +14,7 @@ * version in the future. * * @category Mageplaza - * @package Mageplaza_SalesPopGraphQl + * @package Mageplaza_RecentSalesNotificationGraphQl * @copyright Copyright (c) Mageplaza (https://www.mageplaza.com/) * @license https://www.mageplaza.com/LICENSE.txt */ @@ -23,6 +23,6 @@ ComponentRegistrar::register( ComponentRegistrar::MODULE, - 'Mageplaza_SalesPopGraphQl', + 'Mageplaza_RecentSalesNotificationGraphQl', __DIR__ );