WP Manifestindependent plugin directory
manifest / admin / lumora

Lumora

πŸ”† Lumora β€” A modern, React-based WordPress admin dashboard plugin with dark mode, RTL support, command palette (Ctrl+K), drag-and-drop menu manager, and white-label branding. Built for performance: 26KB initial JS, full Persian (fa_IR) translation, and mobile-first design.

β˜… 9stars

Install

Download source zip No release zip yet

This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.

Install straight from GitHub with WP-CLI:

wp plugin install https://github.com/hordekiller/lumora/archive/refs/heads/main.zip
No built-in updater. New versions won't appear under Dashboard β†’ Updates. Install new releases yourself, or let Git Updater track the repository.

⚠️ ΨͺΩˆΨ¬Ω‡: Ψ§ΫŒΩ† Ψ§ΩΨ²ΩˆΩ†Ω‡ Ω‡Ω†ΩˆΨ² Ψ―Ψ± Ψ­Ψ§Ω„ ΨͺΩˆΨ³ΨΉΩ‡ Ψ§Ψ³Ψͺ و برای Ψ§Ψ³Ψͺفاده Ψ―Ψ± Ω…Ψ­ΫŒΨ· ΨͺΩˆΩ„ΫŒΨ― (Production) Ω…Ω†Ψ§Ψ³Ψ¨ Ω†ΫŒΨ³Ψͺ.

⚠️ NOTICE: This plugin is still under development and is NOT ready for production use.

Lumora β€” Modern WordPress Admin Dashboard

A revolutionary WordPress admin dashboard plugin β€” modern, ultra-responsive, with a unique visual design built on React.


Features

Feature Description
🎨 Modern Interface React-based SPA with code splitting, lazy loading, and fluid animations
πŸ“Š Dashboard Widgets 4 customizable widgets with drag-and-drop layout per user
⌨️ Command Palette Global Ctrl+K (Cmd+K) instant search across posts, pages, media, users
πŸ“‹ Menu Manager Reorder, hide, and customize admin menu with drag-and-drop
🏷️ White Label Rebrand for agencies: custom name, color, footer, hide branding
πŸŒ™ Dark Mode System-aware dark/light toggle with smooth transitions
πŸ”„ RTL Ready Full right-to-left support for Persian, Arabic, Hebrew
πŸ“± Responsive Mobile-first 320px–4K with off-canvas navigation
β™Ώ Accessible Keyboard nav, ARIA, reduced-motion, contrast ratios
🌐 Persian (فارسی) Fully translated Iranian Persian interface
⚑ Performance 26KB initial JS, API caching, debounced search

Screenshots

  1. Dashboard β€” Widget grid with site stats and recent activity
  2. Command Palette β€” Ctrl+K fuzzy search overlay
  3. Menu Manager β€” Drag-and-drop admin menu reordering
  4. White Label β€” Custom branding and color picker
  5. Dark Mode β€” Full dark theme with all components

Requirements

  • PHP 7.4+
  • WordPress 6.0+
  • Node.js 20+ (for development)

Installation

Production (WordPress)

  1. Download the latest release ZIP
  2. Upload to /wp-content/plugins/ and activate
  3. Navigate to the Lumora menu item in your admin sidebar
  4. Press Ctrl+K (Cmd+K) to open the command palette from anywhere

Development

# Clone the repository
git clone https://github.com/Hordekiller/LUMORA.git
cd LUMORA

# Install dependencies
composer install
npm install

# Development (with hot reload)
npm run start

# Production build
npm run build

# Lint checks
npm run lint:js       # ESLint
npm run lint:css      # Stylelint
npm run lint:php      # PHPCS (WordPress standard)

# Tests
vendor/bin/phpunit

Project Structure

lumora/
β”œβ”€β”€ includes/            # PHP backend
β”‚   β”œβ”€β”€ Admin/           # Admin page, assets
β”‚   β”œβ”€β”€ API/             # REST endpoints (8 controllers)
β”‚   β”œβ”€β”€ Core/            # Settings, Security, i18n, Cache
β”‚   └── Modules/         # Widgets, Dashboard, Menu, CommandPalette, WhiteLabel
β”œβ”€β”€ src/                 # JavaScript frontend
β”‚   β”œβ”€β”€ components/      # React components (ui, layout, dashboard, widgets, menu, settings, command-palette)
β”‚   β”œβ”€β”€ hooks/           # Custom hooks (useKeyboard, useMediaQuery, useSettings, useStats)
β”‚   β”œβ”€β”€ store/           # WordPress data stores (settings, widgets)
β”‚   β”œβ”€β”€ styles/          # SCSS (11 partials with design tokens)
β”‚   └── utils/           # API client, classnames, fuzzy search
β”œβ”€β”€ tests/               # PHPUnit tests
β”œβ”€β”€ languages/           # Translation files (POT, PO, MO)
└── build/               # Webpack output (admin.js, palette.js, page chunks)

Architecture

  • Custom Autoloader: Registered before Composer PSR-4. Converts WordPress class-*.php naming to PSR-4 class names automatically.
  • Code Splitting: React.lazy() + dynamic imports split the 50KB bundle into 26KB initial + 4 page-specific chunks.
  • Dual Entry Points: build/admin.js loads only on Lumora admin page; build/palette.js (11KB) loads on ALL admin pages for global Ctrl+K.
  • API Layer: In-memory cache with 30-second TTL, automatic invalidation on writes, 300ms debounced search.

Changelog

See CHANGELOG.md for the full version history.

License

GPL-2.0-or-later β€” see LICENSE for details.