=== Revoty - Sales Booster for WooCommerce: Photo Reviews, Free Shipping Bar & More ===
Contributors: cagdasdag, wpcenter
Tags: woocommerce, photo reviews, free shipping bar, sticky add to cart, sales booster
Requires at least: 6.0
Tested up to: 7.0
Stable tag: 1.2.0
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Photo reviews, a free shipping bar, and a sticky add to cart bar for WooCommerce. Modular, so only the features you enable are loaded.

== Description ==

Revoty adds conversion features to your WooCommerce store through independent modules that you can enable, disable, and configure separately. The current version includes three modules: **Photo Reviews**, which lets customers attach photos to their product reviews, **Free Shipping Bar**, a progress bar that shows customers how much more they need to spend to qualify for free shipping, and **Sticky Add to Cart**, an always-visible add to cart bar on product pages. Modules you leave disabled load no code at all, so the plugin stays lightweight no matter how many features it gains over time.

Revoty builds on what WooCommerce already provides. It extends the standard review system, cart, and checkout rather than replacing them, and it supports both the classic shortcodes and the newer Cart, Checkout, and Mini-Cart Blocks.

= Why a modular sales booster? =

Most WooCommerce conversion plugins come in one of two forms. Single-purpose plugins mean a separate install, settings page, and update cycle for every feature you add. All-in-one suites bundle dozens of features you will never turn on and carry that weight on every page load. Revoty takes a middle path: one plugin with focused modules, where only the modules you activate actually run.

= Module: Photo Reviews for WooCommerce =

Customers can attach images to the standard WooCommerce review form. The photos then appear in two places on the product page: a thumbnail grid below each review, and an aggregated customer photo gallery above the review list.

**For your customers**

* **Upload field on every review form**: multiple images per review, selectable from any device
* **Pre-submit validation**: oversized or over-limit files are rejected in the browser with an inline error before the upload starts
* **Required-photo mode**: optionally block review submission unless at least one photo is attached
* **Native attachments**: files are stored as standard WordPress attachments and linked to the parent product

**On the product page**

* **Per-review thumbnail grid**: sized for both mobile and desktop
* **Customer photo gallery**: an aggregated grid of every photo uploaded for the product, with a configurable title and photo count
* **Lightbox (Pro)**: click a photo to open a lightbox with previous/next navigation, keyboard shortcuts, and a toggleable info bar showing the reviewer's name, rating, and comment

**Settings**

* Maximum photos per review (up to 3 in Free, up to 10 in Pro)
* Maximum file size (up to 3 MB in Free, up to 10 MB in Pro)
* Required-photo toggle, gallery visibility, gallery title, gallery photo count
* Pro: show or hide the author, rating, and comment in the lightbox

= Module: Free Shipping Bar for WooCommerce =

A progress bar that reads your WooCommerce free shipping settings and shows customers exactly how much more they need to add to their cart to qualify. It updates automatically as the cart changes.

**Where it appears**

* Cart page (classic shortcode and the WooCommerce Cart Block)
* Checkout page (classic shortcode and the WooCommerce Checkout Block)
* Mini-cart drawer, rendered inside the drawer layout so the checkout button stays visible
* Anywhere on your site via the `[revoty_free_shipping_bar]` shortcode
* Anywhere via the **Free Shipping Bar** Gutenberg block (posts, pages, sidebars, FSE templates)

**Messages**

* Initial message for an empty cart or a cart below the threshold
* Progress message with an `{amount}` placeholder for the remaining amount
* Qualified message once the cart reaches the threshold
* All three messages are editable and translatable

**Styling**

* Bar background, progress fill, and text colors
* Two layouts: animated stripes or a flat fill
* Live preview in the settings panel, so you see the result before saving
* Mobile-responsive and RTL-ready

**Behavior**

* Reads the actual free shipping threshold from your shipping zones, including minimum amount conditions on the free shipping method
* Refreshes when cart contents change
* Can optionally hide itself once the customer qualifies

= Module: Sticky Add to Cart for WooCommerce =

An add to cart bar that stays on screen while customers browse a product page. It slides in once the original add to cart form scrolls out of view, so the buy button is always within reach, especially on long product pages and on mobile.

**Behavior**

* Appears automatically when the product's add to cart form leaves the viewport, and hides again when the form is visible
* For simple products, the bar adds to cart directly and works with AJAX add to cart themes, including a brief "Added" confirmation state on the button
* For variable and grouped products, the bar scrolls the customer back to the product form so they can pick their options
* Quantity in the bar stays in sync with the product form in both directions
* Does not render for out-of-stock or non-purchasable products

**Layout**

* Two styles: a floating rounded card or a flat edge-to-edge bar
* Stick to the top or the bottom of the screen, aligned left, center, or right
* Configurable bar width in pixels or percent (for the flat style, the width constrains the inner content)
* Separate visibility toggles for desktop and mobile

**Content and styling**

* Optional product image, price, and quantity selector in the bar
* Custom button text, or the product's own add to cart label by default
* Bar background, text, button, and button text colors
* Live preview in the settings panel before you save

= Free vs Pro =

The free version includes everything described above with no time limit: both modules, fully configurable. Pro raises the limits to 10 photos per review and 10 MB per file, and adds the photo lightbox with its info bar. Upgrades are handled by Freemius directly from your WordPress dashboard.

= Compatibility =

* WooCommerce 7.0+
* WordPress 6.0+
* PHP 7.4+
* Classic WooCommerce cart and checkout shortcodes
* WooCommerce Cart, Checkout, and Mini-Cart Blocks
* Block themes (FSE) and classic themes
* Multisite (settings are stored per site)
* RTL languages

== Installation ==

**Automatic installation**

1. Go to Plugins → Add New in your WordPress dashboard
2. Search for "Revoty"
3. Click Install Now, then Activate

**Manual installation**

1. Download the plugin ZIP from WordPress.org
2. Go to Plugins → Add New → Upload Plugin
3. Upload the ZIP and click Install Now
4. Activate the plugin

**After activation**

1. Open the Revoty menu in the admin sidebar
2. Enable the modules you want (Photo Reviews, Free Shipping Bar, Sticky Add to Cart)
3. Configure each module from its own settings page

== Frequently Asked Questions ==

= Is Revoty a full WooCommerce sales booster, or just a photo reviews plugin? =

Revoty is a modular sales booster suite for WooCommerce. Photo Reviews, the Free Shipping Bar, and Sticky Add to Cart are the first three modules, with more planned. You run one plugin with one update cycle instead of several, you enable only the modules you want, and disabled modules do not load any code.

= Does it require WooCommerce? =

Yes, WooCommerce 7.0 or later.

= Does it work with the new Cart and Checkout Blocks? =

Yes. The shipping bar renders in the classic shortcodes as well as in the Cart, Checkout, and Mini-Cart Blocks. In the mini-cart drawer it renders inside the layout column, so it never pushes the checkout button off-screen.

= How does the free shipping bar know my threshold? =

It reads the minimum amount from the free shipping method in the shipping zone that applies to the customer's location, the same logic WooCommerce uses. There is no separate threshold to enter or keep in sync.

= How do photo reviews work? =

Customers attach images (JPG, PNG, or WebP) through the standard review form, with photo count and file size limits enforced in the browser and again on the server. Photos appear below each review and in an aggregated gallery above the review list, and they are stored in the media library like any other attachment, so admins can manage them from the Reviews screen or the Media Library.

= How does the sticky add to cart bar work? =

It slides in when the product's add to cart form scrolls out of view and hides when the form is visible again. Simple products add to cart directly from the bar (AJAX themes supported); variable and grouped products scroll back to the form to pick options. Position, alignment, width, and desktop/mobile visibility are configurable.

= Does it slow down my store? =

No. Each module's script and styles only load on the pages where they are used, photos are lazy-loaded, and disabled modules load no code at all.

= Is it compatible with WPML, Polylang, or TranslatePress? =

Yes. All customer-facing messages can be translated, and the plugin is fully text-domain ready.

= Does it use any external services? =

The free version does not. Pro uses Freemius for license activation and updates. There is no analytics or tracking.

= How does the upgrade to Pro work? =

Click any "Upgrade to Pro" button in the WordPress dashboard and complete checkout via Freemius. Pro features activate automatically.

= Where do I report a bug or request a new module? =

Through the WordPress.org support forum or the GitHub repository linked from the plugin homepage.

== Screenshots ==

1. Photo Reviews module: customer photo gallery on a WooCommerce product page
2. Free Shipping Bar module: progress bar on the WooCommerce cart page
3. Sticky Add to Cart module: floating add to cart bar on a WooCommerce product page

== Changelog ==

= 1.2.0 =

* Feature: Sticky Add to Cart module, an always-visible add to cart bar that slides in when the product form scrolls out of view
* Feature: Two bar styles (floating rounded card or flat edge-to-edge bar), top or bottom placement, left/center/right alignment, and configurable width in px or %
* Feature: Optional product image, price, and quantity selector in the bar, custom button text, and full color control with a live preview in the settings panel
* Feature: Direct add to cart for simple products (AJAX themes supported, with an "Added" confirmation state); variable and grouped products scroll back to the product form

= 1.1.0 =

* Feature: Free Shipping Bar module with a Gutenberg block, the `[revoty_free_shipping_bar]` shortcode, and native support for the WooCommerce Cart and Checkout Blocks
* Feature: Live preview in the Free Shipping Bar settings panel
* Enhancement: Photo Reviews client-side validation rejects over-limit and oversized files before upload, with an inline error message
* Enhancement: Photo Reviews "Photos required" mode blocks submission when no photo is attached
* Fix: Photo Reviews numeric settings now persist correctly (a duplicate AJAX handler was short-circuiting saves, and the sanitizer fell back to the Pro default on null input)
* Fix: Photo Reviews no longer silently truncates extra files server-side
* Fix: Photo Reviews Pro lightbox now renders correctly (CSS asset path matched to the webpack output)
* Fix: Free Shipping Bar no longer pushes the mini-cart checkout button below the viewport; it now renders inside the drawer layout
* Fix: Free Shipping Bar live preview stripe animation now plays in the settings panel
* Fix: Mantine dropdowns and color pickers in the admin are now scoped correctly so they render properly inside wp-admin
* Fix: "Upgrade to Pro" buttons in the admin now navigate to the Freemius upgrade URL
* Fix: Dashboard now reads the version from the localized settings object instead of an unset global
* Internal: Refactored to a service-layer module structure to support future modules
* Internal: Built assets removed from the repository (built at deploy time)

= 1.0.0 =

* Feature: Initial release
* Feature: Photo Reviews module with upload, gallery, Pro lightbox, and configurable limits

== Upgrade Notice ==

= 1.2.0 =
Adds the Sticky Add to Cart module: an always-visible, fully customizable add to cart bar for product pages.

= 1.1.0 =
Adds the Free Shipping Bar module and fixes Photo Reviews settings persistence, the Pro lightbox, and the mini-cart layout bug that hid the checkout button.
