=== Giftvo - Tiered Gifts for WooCommerce ===
Contributors: serdarkeskin
Tags: free gift, gift, cart, promotion, threshold
Requires at least: 5.6
Tested up to: 7.1
Requires PHP: 7.2
WC requires at least: 6.0
WC tested up to: 9.3
Stable tag: 1.1.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Automatically add free gifts to the cart when customers reach spend thresholds. Unlimited tiers, customer-chosen gifts and a live progress bar.

== Description ==

Reward customers with a free gift as their cart grows. Set one or more spend thresholds and pick the product(s) that unlock at each level. The gift is added to the cart as a real line item priced at 0.00, so it works with every payment gateway (no fake coupons, no negative‑fee tricks).

**Features**

* **Unlimited tiers** — different gift(s) at each spend level.
* **Give all or let the customer pick** — a tier can hand over every listed product, or offer several and let the shopper choose one in the cart (with product thumbnails).
* **Colour / variation choice** — offer a variable product as a gift and the customer selects the variation right in the cart.
* **Threshold basis** — count the subtotal incl. or excl. tax, before or after discounts.
* **Cumulative or highest‑only** — stack the gifts of every reached tier, or give just the top one.
* **Live progress bar** — “Spend €X more to unlock a free gift!” with a gift marker for every threshold, on the cart, mini‑cart and via the `[gift_progress]` shortcode.
* **Free‑shipping milestone** — add an optional 🚚 goal to the progress bar so shoppers see how close they are to free shipping (uses the same threshold basis as gifts).
* **Discount milestone** — add an optional % goal marker to the progress bar.
* **Crossed‑out value** — show the gift’s normal price struck through next to “Free”.
* **Celebration** — an optional confetti burst when a new gift is unlocked.
* **Stock aware** — automatically skips a gift that is out of stock.
* **Gateway safe** — the gift is a genuine 0.00 line item; the basket total always matches the amount charged.
* **White‑label ready** — set the menu title, badge text, “Free” label and accent colour; import/export the whole configuration as JSON.
* **Translation ready** — ships with English, German and Turkish; text domain `giftvo`.
* **HPOS compatible** — declares compatibility with WooCommerce High‑Performance Order Storage.

== Installation ==

1. Upload the `giftvo` folder to `/wp-content/plugins/`, or install the ZIP via Plugins → Add New → Upload.
2. Activate the plugin.
3. Go to **WooCommerce → Gift Products** and add your tiers.

== Frequently Asked Questions ==

= Is it safe with PAYONE / Klarna / PayPal? =
Yes. The gift is a real product line priced at 0.00, so the basket sum equals the amount charged. There are no coupon or fee lines that could cause a mismatch.

= Does it work with the block‑based Cart & Checkout? =
The gift is still added correctly, but the on‑page display (badge, crossed‑out price, colour switcher, progress bar) is built for the classic **shortcode** Cart & Checkout. If your store uses the newer WooCommerce Cart/Checkout **blocks**, switch those pages to the `[woocommerce_cart]` / `[woocommerce_checkout]` shortcodes to see the full experience.

= What currency do thresholds use? =
Thresholds are plain numbers in your store’s base currency (e.g. `1500` = 1,500 in the shop currency). If you run a multi‑currency plugin, note that thresholds are **not** auto‑converted between currencies.

= Can the customer choose the gift? =
Yes. Set a tier’s mode to “Customer picks one”, add several products, and the shopper chooses one in the cart. Variable gifts also let them pick the colour/variation.

= Does the threshold include tax? =
Your choice. Under Settings you can base it on the subtotal incl. or excl. tax, before or after discounts.

== Screenshots ==

1. Cart with two unlocked gifts, crossed‑out prices and the colour switcher.
2. Progress bar with a gift marker at every threshold.
3. The settings screen: tiers, modes and options.

== Changelog ==

= 1.1.0 =
* New: optional free‑shipping milestone (🚚) on the progress bar, using the same threshold basis as gifts.
* New: optional discount milestone (%) on the progress bar.
* Minor UI and stability improvements.

= 1.0.0 =
* Initial release.
* Unlimited gift tiers with a real 0.00 line item (safe for every payment gateway).
* “Give all” or “customer picks one” gift modes with product thumbnails.
* Colour/variation choice for variable gifts, selectable in the cart.
* Configurable threshold basis (tax in/out, before/after discounts) and cumulative vs highest‑only stacking.
* Live progress bar with a marker and amount label per threshold (toggleable) (cart, mini‑cart, `[gift_progress]` shortcode).
* Crossed‑out original price, optional confetti celebration, stock‑awareness.
* White‑label options (menu title, badge, label, accent), JSON import/export, uninstall cleanup.
* English, German and Turkish translations. HPOS compatible.

== Upgrade Notice ==

= 1.1.0 =
Adds optional free‑shipping (🚚) and discount (%) milestones to the progress bar.
