dwindown e369d31974 feat: Implement brand settings and developer page
## Brand Settings Implementation 

### Backend:
1. **StoreSettingsProvider** - Added branding fields
   - store_logo
   - store_icon
   - store_tagline
   - primary_color
   - accent_color
   - error_color

2. **Branding Class** - Complete branding system
   -  Logo display (image or text fallback "WooNooW")
   -  Favicon injection (wp_head, admin_head, login_head)
   -  Brand colors as CSS variables
   -  Login page customization
     - Logo or text
     - Tagline
     - Primary color for buttons/links
   -  Login logo URL → home_url()
   -  Login logo title → store name

### Features:
- **Logo fallback:** No logo → Shows "WooNooW" text
- **Login page:** Fully branded with logo, tagline, colors
- **Favicon:** Applied to frontend, admin, login
- **Colors:** Injected as CSS variables (--woonoow-primary, --accent, --error)

---

## Developer Settings Page 

### Frontend:
Created `/settings/developer` page with:

1. **Debug Mode Section**
   - Enable Debug Mode toggle
   - Show API Logs (when debug enabled)
   - Enable React DevTools (when debug enabled)

2. **System Information Section**
   - WooNooW Version
   - WooCommerce Version
   - WordPress Version
   - PHP Version
   - HPOS Enabled status

3. **Cache Management Section**
   - Clear Navigation Cache
   - Clear Settings Cache
   - Clear All Caches (destructive)
   - Loading states with spinner

### Backend:
1. **DeveloperController** - Settings API
   - GET /woonoow/v1/settings/developer
   - POST /woonoow/v1/settings/developer
   - Stores: debug_mode, show_api_logs, enable_react_devtools

2. **SystemController** - System info & cache
   - GET /woonoow/v1/system/info
   - POST /woonoow/v1/cache/clear
   - Cache types: navigation, settings, all

---

## Settings Structure (Final)

```
Settings (6 tabs)
├── Store Details 
│   ├── Store Overview
│   ├── Store Identity
│   ├── Brand (logo, icon, colors)
│   ├── Store Address
│   ├── Currency & Formatting
│   └── Standards & Formats
├── Payments 
├── Shipping & Delivery 
├── Tax 
├── Notifications 
└── Developer  (NEW)
    ├── Debug Mode
    ├── System Information
    └── Cache Management
```

---

## Implementation Details

### Branding System:
```php
// Logo fallback logic
if (logo exists) → Show image
else → Show "WooNooW" text

// Login page
- Logo or text
- Tagline below logo
- Primary color for buttons/links
- Input focus color
```

### Developer Settings:
```typescript
// API logging
localStorage.setItem('woonoow_api_logs', 'true');

// React DevTools
localStorage.setItem('woonoow_react_devtools', 'true');

// Cache clearing
POST /cache/clear { type: 'navigation' | 'settings' | 'all' }
```

---

## Result

 Brand settings fully functional
 Logo displays on login page (or text fallback)
 Favicon applied everywhere
 Brand colors injected as CSS variables
 Developer page complete
 System info displayed
 Cache management working
 All 6 settings tabs implemented

**Ready to test in browser!**
2025-11-10 22:41:18 +07:00

WooNooW

WooNooW is a modern experience layer for WooCommerce — enhancing UX, speed, and reliability without data migration.
It keeps WooCommerce as the core engine while providing a modern React-powered interface for both the storefront (cart, checkout, myaccount) and the admin (orders, dashboard).

Three Admin Modes:

  • Normal Mode: Traditional wp-admin integration (/wp-admin/admin.php?page=woonoow)
  • Fullscreen Mode: Distraction-free interface (toggle in header)
  • Standalone Mode: Complete standalone app at yoursite.com/admin with custom login

🔍 Background

WooCommerce is the most used ecommerce engine in the world, but its architecture has become heavy and fragmented.
With Reactbased blocks (Checkout, Cart, Product Edit) and HPOS now rolling out, many existing addons are becoming obsolete or unstable.
WooNooW bridges the gap between Woos legacy PHP system and the new modern stack — so users get performance and simplicity without losing compatibility.


🚀 Key Principles

  • No Migration Needed Woo data stays intact.
  • Safe Activate/Deactivate revert to native Woo anytime, no data loss.
  • Hybrid by Default SSR + React islands for Cart/Checkout/MyAccount.
  • Full SPA Toggle optional Reactonly mode for max performance.
  • HPOS Mandatory optimized datastore and async operations.
  • Compat Layer hook mirror + slot rendering for legacy addons.
  • Async Mail & Tasks powered by Action Scheduler.

🧱 Tech Stack

Layer Technology
Backend PHP 8.2+, WordPress, WooCommerce (HPOS), Action Scheduler
Frontend React 18 + TypeScript, Vite, React Query, Tailwind (optional)
Build & Package Composer, NPM, ESM scripts, Zip automation
Architecture Modular PSR4 classes, RESTdriven SPA islands

🧩 Project Structure

woonoow/
├── admin-spa/
│   ├── src/
│   │   ├── components/
│   │   │   ├── filters/
│   │   │   │   ├── DateRange.tsx
│   │   │   │   └── OrderBy.tsx
│   │   │   └── CommandPalette.tsx
│   │   ├── hooks/
│   │   │   └── useShortcuts.tsx
│   │   ├── lib/
│   │   │   ├── api.ts
│   │   │   ├── currency.ts
│   │   │   ├── dates.ts
│   │   │   ├── query-params.ts
│   │   │   ├── useCommandStore.ts
│   │   │   └── utils.ts
│   │   ├── pages/
│   │   │   └── orders/
│   │   │       ├── partials
│   │   │       │   └── OrderForm.tsx
│   │   │       ├── Orders.tsx
│   │   │       ├── OrdersNew.tsx
│   │   │       └── OrderShow.tsx
│   │   ├── routes/
│   │   │   └── Dashboard.tsx
│   │   ├── types/
│   │   │   └── qrcode.d.ts
│   │   ├── App.tsx
│   │   ├── index.css
│   │   └── main.tsx
│   └── vite.config.ts
├── includes/
│   ├── Admin/
│   │   ├── Assets.php
│   │   └── Menu.php
│   ├── Api/
│   │   ├── CheckoutController.php
│   │   ├── OrdersController.php
│   │   ├── Permissions.php
│   │   └── Routes.php
│   ├── Compat/
│   │   ├── HideWooMenus.php
│   │   └── HooksShim.php
│   └── Core/
│       ├── DataStores/
│       │   ├── OrderStore_HPOS.php
│       │   └── OrderStore.php
│       ├── Mail/
│       │   ├── MailQueue.php
│       │   └── WooEmailOverride.php
│       ├── Bootstrap.php
│       └── Features.php
├── woonoow.php
└── docs (project notes, SOP, etc.)

⚙️ Development Workflow

  1. LocalWP / Docker setup with WordPress + WooCommerce.
  2. Activate plugin: WooNooW should appear in the admin menu.
  3. Build SPAs:
    npm run build
    
  4. Package zip:
    npm run pack
    
  5. Upload dist/woonoow.zip into WordPress → Plugins → Add New → Upload.

🧭 Vision

“WooCommerce, reimagined for now.”

WooNooW delivers modern speed and UX while keeping WooCommerces ecosystem alive.
No migration. No lockin. Just Woo, evolved.


Description
No description provided
Readme 1.8 MiB
Languages
TypeScript 62.9%
PHP 34.2%
HTML 2.3%
CSS 0.4%
JavaScript 0.2%