Skip to content

feat(pricing): implement pricing page with woocommerce integration#429

Closed
vitormattos wants to merge 2 commits into
mainfrom
feat/pricing-page-implementation
Closed

feat(pricing): implement pricing page with woocommerce integration#429
vitormattos wants to merge 2 commits into
mainfrom
feat/pricing-page-implementation

Conversation

@vitormattos

Copy link
Copy Markdown
Member

Problem

The pricing page implementation needs to be kept separate from infrastructure changes to allow independent deployment timelines.

Solution

This PR contains only the pricing page implementation built on top of the infrastructure changes from PR #428. Can be merged after infrastructure PR is approved and deployed.

Changes Included

New Pricing Page:

  • Complete pricing page template with product comparison
  • Sticky comparison table header
  • Mobile-responsive comparison cells
  • Locale-aware pricing display

WooCommerce Integration:

  • WooCommerceProductTransformer: Transforms WooCommerce products to pricing format
  • WooCommerceProductCollection: Fetches and manages product collections from WooCommerce
  • WooCommerceAuthHeadersBuilder: Builds authenticated headers for API requests

Page Building:

  • PricingPageBuilder: Orchestrates the complete pricing page construction
  • PricingStyleBuilder: Manages dynamic styling based on product data

Styling:

  • New pricing-specific SCSS with responsive design
  • Mobile-first approach with comparison table optimizations
  • Sticky header implementation

Testing:

  • Comprehensive unit tests for all pricing components
  • Tests for product transformation, authentication, and page building
  • Style builder tests for dynamic styling logic

Updates:

  • Link pricing page from home page (index.blade.php)

Deployment Strategy

  1. ✅ Merge PR refactor: extract infrastructure and config changes for pricing page #428 (infrastructure changes) first
  2. ⏳ Deploy infrastructure to production
  3. ✅ Merge this PR after infrastructure is live
  4. ✅ Deploy pricing page

This approach allows for:

  • Safe infrastructure rollout without UI changes
  • Focused review of pricing implementation
  • Independent testing in production environment

@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://libresign.github.io/site-preview/pr-preview/pr-429/

Built to branch main at 2026-07-08 15:08 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@vitormattos
vitormattos force-pushed the refactor/extract-pricing-infrastructure branch from b01124e to 477d8ef Compare July 7, 2026 19:57
@vitormattos
vitormattos force-pushed the feat/pricing-page-implementation branch from 704bc8c to d7dfcb9 Compare July 7, 2026 19:57
@vitormattos
vitormattos force-pushed the refactor/extract-pricing-infrastructure branch from 477d8ef to 461b27b Compare July 7, 2026 19:59
@vitormattos
vitormattos force-pushed the feat/pricing-page-implementation branch from d7dfcb9 to 5829a3b Compare July 7, 2026 20:00
@vitormattos
vitormattos force-pushed the refactor/extract-pricing-infrastructure branch from 461b27b to 5f8da66 Compare July 7, 2026 20:02
@vitormattos
vitormattos force-pushed the feat/pricing-page-implementation branch from 5829a3b to 0bff99d Compare July 7, 2026 20:03
@vitormattos
vitormattos force-pushed the refactor/extract-pricing-infrastructure branch from 5f8da66 to c69f5c6 Compare July 7, 2026 20:04
@vitormattos
vitormattos force-pushed the feat/pricing-page-implementation branch from 0bff99d to d036a9a Compare July 7, 2026 20:04
@vitormattos
vitormattos force-pushed the refactor/extract-pricing-infrastructure branch from c69f5c6 to 9b01e4f Compare July 7, 2026 20:06
@vitormattos
vitormattos force-pushed the feat/pricing-page-implementation branch from d036a9a to 964bc00 Compare July 7, 2026 20:06
Base automatically changed from refactor/extract-pricing-infrastructure to main July 7, 2026 20:07
Add infrastructure for pricing page feature without deploying the page itself:

New Classes & Tests:
- support/Pricing/WooCommerceAuthHeadersBuilder: Build authenticated API headers
- support/Pricing/WooCommerceProductCollection: Fetch product collections
- support/Pricing/WooCommerceProductTransformer: Transform WC product data
- support/Pricing/PricingPageBuilder: Orchestrate data preparation
- support/Pricing/PricingStyleBuilder: Build dynamic styles
- Comprehensive unit tests for all pricing classes

Configuration Updates:
- config.php: Wire pricing services and WooCommerce integration
- vite.config.js: Add fragment JS/CSS entries for header and footer
- source/_layouts/main.blade.php: Update layout for fragments support
- source/_assets/js/main.js: Update main JS bundle

This commit provides the infrastructure foundation for the pricing page
but does NOT include the pricing page template, styles, or page-specific JS.

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
Add the pricing page user interface:

- source/pricing.blade.php: Pricing page with product comparison table and sticky header
- source/_assets/scss/_pricing.scss: Responsive pricing page styles
- source/_assets/js/pages/pricing.js: Pricing page interactions and logic
- vite.config.js: Register pricing page JS entry point

Depends on: refactor/pricing-infrastructure

Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
@vitormattos
vitormattos force-pushed the feat/pricing-page-implementation branch from 964bc00 to 7cd2149 Compare July 8, 2026 15:07
@vitormattos

Copy link
Copy Markdown
Member Author

@vitormattos vitormattos closed this Jul 8, 2026
@vitormattos
vitormattos deleted the feat/pricing-page-implementation branch July 10, 2026 15:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant