Skip to content

wp-staging/edd-sl-account

 
 

Repository files navigation

EDD SL Account

Tanstack Router Webpack React 18 WordPress Data NodeJS

A modern, React-based customer account dashboard for Easy Digital Downloads that provides a comprehensive interface for managing products, licenses, orders, and subscriptions.

This product was coded primarily by AI, so please use at your own risk.

vibe-coded-edd-account.mp4

Description

EDD SL Account is a customer-facing account management plugin that integrates seamlessly with Easy Digital Downloads, Software Licensing, and Recurring. It provides a clean, modern interface built with React and Tailwind CSS, allowing customers to view and manage their digital products, software licenses, order history, and subscription details all in one place.

Requirements

This plugin requires the following plugins to be installed and activated:

  1. Easy Digital Downloads Pro (for invoice functionality)

    • Provides the core ecommerce functionality
    • Invoice viewing is part of EDD Pro
  2. EDD Software Licensing

    • Required for license management features
    • Enables license key viewing, site activation management, and license upgrades
  3. EDD Recurring

    • Required for subscription management features
    • Enables subscription viewing, cancellation, and renewal date tracking

Features

Products Screen

  • View all purchased products
  • Download products directly from the dashboard
  • View and manage software licenses for each product
  • See product versions and purchase dates
  • Responsive design with container queries for optimal display

Licenses Screen

  • View all software licenses in one place
  • Copy license keys to clipboard
  • Manage site activations
  • View license status, activation limits, and expiration dates
  • Upgrade licenses (if available)
  • Deactivate sites from the dashboard

Orders Screen

  • Complete order history
  • View order details and invoices
  • Filter by order status
  • See order totals and dates

Subscriptions Screen

  • View active and inactive subscriptions
  • See subscription details including renewal dates
  • View pricing with discount information (for active subscriptions)
  • Cancel subscriptions with confirmation dialog
  • Secure cancellation flow with redirect back to dashboard

Installation

  1. Upload the plugin files to the /wp-content/plugins/edd-sl-account directory, or install the plugin through the WordPress plugins screen directly.
  2. Activate the plugin through the 'Plugins' screen in WordPress.
  3. Ensure all required plugins (EDD Pro, EDD Software Licensing, EDD Recurring) are installed and activated.
  4. Use the [edd_sl_account] shortcode on any page where you want the account dashboard to appear.

Usage

Shortcode

Add the account dashboard to any page using the shortcode:

[edd_sl_account]

Change the primary color:

[edd_sl_account primary_color="#2685f0"]

Features Overview

  • Products: Customers can view their purchased products, download files, and access license keys
  • Licenses: Manage software license activations, view license details, and upgrade licenses
  • Orders: View complete order history with links to order details and invoices
  • Subscriptions: Manage active subscriptions, view renewal dates, and cancel subscriptions

Technical Details

  • Built with React and Tanstack Router
  • Uses WordPress Data (Gutenberg data store) for state management
  • REST API endpoints for secure data fetching
  • Responsive design with Tailwind CSS
  • Container queries for adaptive layouts
  • Modern UI components using shadcn/ui

Security

  • All API endpoints require user authentication
  • Nonces are used for all REST API requests
  • Subscription cancellation uses secure EDD nonce validation
  • User permissions are checked for all data access
  • Passes Plugin Check.
  • Uses native EDD functionality data-sensitive operations.

Developer Documentation

Requirements

  • Node.js: Version 18.x or higher
  • NPM: Version 9.x or higher
  • Composer: Required for PHP dependencies (if applicable)

Development Setup

  1. Clone or navigate to the plugin directory:

    cd wp-content/plugins/edd-sl-account
  2. Install NPM dependencies:

    npm install
  3. Start development mode with watch:

    npm run start

    This will watch for file changes and automatically rebuild assets.

Build Commands

  • Development build (with watch):

    npm run start
    # or
    npm run watch
  • Production build:

    npm run build

    This creates optimized, minified assets in assets/build/.

Project Structure

edd-sl-account/
├── assets/
│   ├── build/          # Compiled assets (generated)
│   └── src/
│       └── js/         # Source JavaScript/React files
│           ├── app/
│           │   ├── components/  # React components
│           │   ├── routes/      # Route components
│           │   ├── lib/         # Utility functions
│           │   └── store/       # State management
│           ├── index.css        # Tailwind CSS
│           └── main.jsx         # Entry point
├── includes/           # PHP classes and functions
│   ├── API.php        # REST API endpoints
│   └── Functions.php  # Helper functions
├── package.json       # NPM dependencies and scripts
├── webpack.config.js  # Webpack configuration
├── tailwind.config.js # Tailwind CSS configuration
├── Gruntfile.js       # Grunt tasks (for packaging)
└── edd-sl-account.php # Main plugin file

Technologies

  • Frontend: React 18, Tanstack Router, Tailwind CSS
  • Build Tools: Webpack 5, Babel, PostCSS
  • State Management: WordPress Data (Gutenberg data store)
  • UI Components: Radix UI primitives, shadcn/ui patterns
  • Styling: Tailwind CSS with container queries plugin

Development Workflow

  1. Make changes to React components in assets/src/js/
  2. Update styles in assets/src/js/index.css (Tailwind CSS)
  3. The development server will automatically rebuild on file changes
  4. Test changes in your WordPress environment
  5. Run production build before committing: npm run build

Packaging

To create a distribution zip file:

grunt

This creates edd-sl-account.zip with only the necessary files for distribution.

Customization

The plugin uses CSS custom properties for theming. You can customize colors via the shortcode:

  • primary_color: Sets the primary accent color (default: #2F4C84)
  • CSS variable: --edd-sl-primary-color

All components that use the primary color will automatically inherit the custom value.

To see the original context files, please see: /.cursor.

Support

For issues, feature requests, or questions, please contact the plugin developer.

Changelog

1.0.0

  • Initial release
  • Products screen with download and license management
  • Licenses screen with activation management
  • Orders screen with order history
  • Subscriptions screen with cancellation flow
  • Responsive design with container queries
  • REST API integration for secure data fetching

About

EDD Software Licensing Account Section

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 47.9%
  • PHP 37.7%
  • CSS 14.4%