=== DreamFast Commerce Float – Store Action Buttons for WooCommerce ===
Contributors: yosisah
Tags: woocommerce, sticky add to cart, floating button, contact button, click to chat
Requires at least: 6.0
Tested up to: 7.0
Requires PHP: 7.4
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Quick contact and sticky add-to-cart buttons for WooCommerce stores.

== Description ==

DreamFast Commerce Float is a lightweight WooCommerce plugin that adds a sticky add-to-cart product bar and a floating contact button.

The free version keeps the most important product actions visible when shoppers need them. The sticky add-to-cart bar appears on WooCommerce single product pages only after the original add-to-cart area scrolls out of view, so shoppers always have a clear next step without seeing duplicate purchase buttons. The floating contact button can appear across your site so visitors can reach you before they buy.

It is especially useful on mobile, where visitors often scroll past the main purchase area on long product pages.

= Free features =

* Sticky add-to-cart bar for WooCommerce single product pages.
* Product image, product name, price, and an action button inside the sticky add-to-cart bar.
* Smart visibility trigger — the bar appears only after the original add-to-cart button leaves the viewport.
* Works with simple products by triggering the original WooCommerce add-to-cart button.
* Works with variable products by scrolling shoppers back to the variation form.
* Floating contact button (chat/messaging link) for quick customer questions.
* Optional contact tooltip text.
* Custom preset message.
* Sticky add-to-cart bar position controls: auto, top, or bottom.
* Contact button position controls: bottom right or bottom left.
* Design presets for the add-to-cart bar and the contact button.
* Button icon, animation, and style options.
* Live preview in the admin settings.
* RTL and LTR support.
* Conditional asset loading for better performance.
* WooCommerce HPOS compatibility.

= Why use a sticky add-to-cart bar? =

Many shoppers scroll through images, descriptions, reviews, and product details before deciding. On long product pages, the original add-to-cart button can disappear from view. DreamFast Commerce Float keeps the purchase action nearby without replacing your theme's existing WooCommerce behavior.

= Floating contact button =

The floating contact button gives shoppers a simple way to message you before buying. Add your number, set a default message, and choose the position and style that fits your store.

= Built for real WooCommerce stores =

DreamFast Commerce Float is designed to stay lightweight and respectful of your existing WooCommerce setup. For simple products, it triggers the original add-to-cart button. For variable products, it guides shoppers back to the variation form instead of bypassing required product choices.

= Pro features =

DreamFast Commerce Float Pro is an optional upgrade that adds more floating tools and advanced customization, including:

* Floating coupon bar.
* Exit-intent coupon reveal.
* More contact channels, including phone, email, and Waze.
* Device and product-category display rules.
* Out-of-stock actions.
* Industry presets and custom colors.
* Click counters.

The Pro version is optional. The free version works on its own and includes the sticky add-to-cart bar and the floating contact button.

== Installation ==

1. Install and activate DreamFast Commerce Float.
2. Make sure WooCommerce is active for the sticky add-to-cart bar.
3. Open **DreamFast Commerce Float > Sticky Cart Bar**.
4. Choose the position, style, preset, and button icon.
5. Open **DreamFast Commerce Float > Contact Widget**.
6. Enter your contact number in international format and save.
7. Test the widgets on a WooCommerce product page.

== Frequently Asked Questions ==

= Does this plugin require WooCommerce? =

The sticky add-to-cart bar requires WooCommerce and appears on single product pages. The floating contact button can work across the site when enabled and configured.

= Where does the sticky add-to-cart bar appear? =

It appears on WooCommerce single product pages after the original add-to-cart button scrolls out of view.

= Does it replace my theme's add-to-cart button? =

No. For simple products, the sticky add-to-cart bar triggers the original WooCommerce add-to-cart button. This helps preserve your theme and WooCommerce behavior.

= Does it work with variable products? =

Yes. For variable products, the button scrolls shoppers back to the variation form so they can choose the required options before adding the product to the cart.

= Does the free version include coupons? =

No. The coupon bar and exit-intent coupon are part of DreamFast Commerce Float Pro.

= Which contact channels are included in the free version? =

The free version includes a floating contact button that opens a chat/messaging link. Additional contact channels such as phone, email, and Waze are part of the Pro version.

= Can I customize the design? =

Yes. The free version includes style presets, color presets, icons, animation options, position controls, and live previews. Custom colors and additional options are part of the Pro version.

= Does it support RTL sites? =

Yes. DreamFast Commerce Float supports both RTL and LTR layouts.

= Is it compatible with WooCommerce HPOS? =

Yes. The plugin declares compatibility with WooCommerce High-Performance Order Storage.

= Can I use the free and Pro versions together? =

No. DreamFast Commerce Float Pro replaces the free version when installed.

= Can developers customize the output with code? =

Yes. Since version 1.1.0 the plugin ships a documented hook API, so you can customize everything from a child theme or a code snippets plugin without editing the plugin itself. Your changes then survive updates.

Show or hide each widget with your own rules:

`add_filter( 'dreamfast_cf_show_sticky_cart', function ( $show ) {
    return $show && ! is_user_logged_in();
} );`

Change the call-to-action text:

`add_filter( 'dreamfast_cf_sticky_cart_button_text', function ( $text, $product ) {
    return __( 'Buy now', 'my-theme' );
}, 10, 2 );`

Wrap or replace the markup:

`add_filter( 'dreamfast_cf_sticky_cart_html', function ( $html, $args, $product ) {
    return '<div class="my-wrapper">' . $html . '</div>';
}, 10, 3 );`

Available hooks include `dreamfast_cf_show_sticky_cart`, `dreamfast_cf_show_contact`, `dreamfast_cf_sticky_cart_args`, `dreamfast_cf_contact_args`, `dreamfast_cf_sticky_cart_button_text`, `dreamfast_cf_contact_tooltip_text`, `dreamfast_cf_sticky_cart_html`, `dreamfast_cf_contact_html`, `dreamfast_cf_frontend_config`, `dreamfast_cf_cart_button_selectors`, plus `dreamfast_cf_before_*` and `dreamfast_cf_after_*` actions around each widget. Pro adds the matching coupon bar hooks.

== Try it on your store ==

It takes about a minute to set up:

1. Install and activate the plugin (WooCommerce should be active for the sticky bar).
2. Open **DreamFast Commerce Float > Sticky Cart Bar** and enable the sticky add-to-cart bar.
3. Open **DreamFast Commerce Float > Contact Widget**, add your contact number, and enable the floating contact button.
4. Visit any product page — both widgets work out of the box, and you can preview changes live before you save.

== External services ==

This plugin uses two external services. Neither is contacted until it is actually used, and nothing is sent automatically in the background.

Freemius (account, licensing, and updates):
The plugin bundles the Freemius SDK for optional account connection, the Pro upgrade checkout, license management, and plugin updates. The free plugin works without opting in to optional diagnostic data sharing. If an administrator connects an account or starts an upgrade, Freemius may receive site, plugin, user, license, and diagnostic data.

* Freemius Terms: https://freemius.com/terms/
* Freemius Privacy Policy: https://freemius.com/privacy/

WhatsApp / wa.me (floating contact button):
When you set a WhatsApp number, the floating contact button links to a https://wa.me/ URL. The plugin itself sends no request to WhatsApp — the link only opens in the visitor's browser or app after the visitor clicks the button, and the conversation is then handled by WhatsApp (Meta) under its own policies.

* WhatsApp Terms of Service: https://www.whatsapp.com/legal/terms-of-service
* WhatsApp Privacy Policy: https://www.whatsapp.com/legal/privacy-policy

Store administrators are responsible for their own messaging privacy disclosures.

== Screenshots ==

1. Sticky add-to-cart bar on a WooCommerce product page, shown after the original add-to-cart button scrolls out of view.
2. Floating contact button on a WooCommerce product page with the optional help tooltip.
3. Sticky Cart Bar admin settings with the live preview.
4. Contact Widget admin settings with the live preview.

== Changelog ==

= 1.1.0 =
* Added a documented developer hook API so themes and snippets can customize the widgets without editing the plugin.
* Added visibility filters for the sticky cart bar and contact button, for custom display rules.
* Added filters for the widget data, button and tooltip texts, and the final markup of each widget.
* Added before/after actions around every widget, plus a filter for the frontend script configuration.
* No changes to default behavior or appearance.

= 1.0.24 =
* Refreshed admin wording (Contact Widget / floating contact button) and the WordPress.org listing (clearer external-services disclosure and a short setup call-to-action). No functional changes.

= 1.0.23 =
* Updated the WordPress.org listing title for trademark compliance. The product name remains DreamFast Commerce Float. No functional changes.

= 1.0.22 =
* Initial public release on WordPress.org.
* Sticky add-to-cart bar for WooCommerce single product pages.
* Floating contact button.
* Live preview controls for the add-to-cart bar and the contact button.
* RTL/LTR support, conditional asset loading, and WooCommerce HPOS compatibility.
