yezzmedia / laravel-account
Modern account dashboard for the Yezz Media Laravel website platform. Linear-Style design with collapsible sidebar, dark mode, and 11 full-featured pages.
Requires
- php: ^8.5
- filament/filament: ^5.0
- illuminate/contracts: ^13.0
- illuminate/support: ^13.0
- intervention/image: ^3.0
- spatie/laravel-package-tools: ^1.93
- yezzmedia/laravel-foundation: ^0.1
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.29
- livewire/livewire: ^4.1
- mockery/mockery: ^1.6
- orchestra/testbench: ^11.0
- pestphp/pest: ^4.0
- pestphp/pest-plugin-laravel: ^4.0
Suggests
- laravel/fortify: Optional security integration for password, email verification, and two-factor flows.
- laravel/sanctum: Optional personal access token integration for the API tokens page.
- spatie/laravel-activitylog: Optional persisted account activity backend.
- spatie/laravel-permission: Optional role and permission integration.
This package is auto-updated.
Last update: 2026-06-30 08:20:46 UTC
README
yezzmedia/laravel-account is the modern account dashboard for the Yezz Media Laravel website platform.
It provides a fully styled, dark-mode aware, mobile-friendly self-service surface with 11 Filament v5 pages, persistent account preferences, and foundation-aligned runtime integration.
Requirements
- PHP
^8.5 - Laravel
^13.0 - Filament
^5.0 yezzmedia/laravel-foundation^0.1
Installation
composer require yezzmedia/laravel-account
The service provider is auto-discovered. The package ships with five idempotent migrations that can be published and migrated:
php artisan vendor:publish --provider="YezzMedia\Account\AccountServiceProvider" --tag="migrations" php artisan migrate
The package config can be published as well:
php artisan vendor:publish --provider="YezzMedia\Account\AccountServiceProvider" --tag="config"
The account panel is mounted at /account by default.
Configuration
| Key | Default | Purpose |
|---|---|---|
account.panel.id |
account |
Filament panel id |
account.panel.path |
account |
URL path prefix |
account.panel.guard |
web |
Auth guard |
account.activity.driver |
activitylog |
Activity backend |
account.activity.limit |
10 |
Recent activity cap |
account.privacy.exports_enabled |
true |
Allow data export |
account.privacy.account_deletion_enabled |
true |
Allow account deletion |
Pages
| Page | Route |
|---|---|
| Overview | /account |
| Profile | /account/profile |
| Security | /account/security |
| Devices | /account/devices |
| Activity | /account/activity |
| Privacy | /account/privacy |
| Notifications | /account/notifications |
| Connected Accounts | /account/connected-accounts |
| API Tokens | /account/api-tokens |
| Appearance | /account/appearance |
| Support | /account/support |
Architecture
The package follows the Yezz Media foundation-aligned pattern:
AccountServiceProviderextendsSpatie\LaravelPackageTools\PackageServiceProviderAccountPlatformPackageregisters withYezzMedia\Foundation\Support\PlatformPackageRegistrarand declares permissions, features, audit events, rate limiters, and ops modulesAccountPanelProvidermounts the Filament panel- The surface layout (
account::pages.surface) is a custom layout that owns the sidebar, top bar, and main content slot — no Filament default chrome - Every page extends
AccountPageand exposes apageData()contract that delegates to a dedicated manager underSupport
Reusable Components
| Component | Purpose |
|---|---|
x-account::hero |
Large hero with gradient and slots for avatar, badges, actions |
x-account::page-header |
Compact page header with color-coded icon and meta slots |
x-account::section-header |
Section title and description |
x-account::account-card |
Generic card wrapper |
x-account::stat-card |
Stat label and value with color |
x-account::badge |
Inline status pill |
x-account::empty-state |
Dashed-border empty placeholder |
x-account::icon |
Inline SVG icon set |
Optional Dependencies
The package degrades gracefully when optional dependencies are not installed.
| Package | Purpose | Behavior when missing |
|---|---|---|
laravel/fortify |
Password, email verification, 2FA | Pages still render with null-safe data |
laravel/sanctum |
Personal access tokens | API tokens page hides the create action |
spatie/laravel-activitylog |
Persisted activity | Activity page falls back to an empty feed |
spatie/laravel-permission |
Role and permission integration | Pages render without permission checks |
Foundation Declarations
| Type | Count |
|---|---|
| Permissions | 3 |
| Features | 11 |
| Audit events | 19 |
| Rate limiters | 12 |
| Ops modules | 11 |
Testing
composer test
The package testbench baseline (AccountTestCase) extends YezzMedia\Foundation\Testing\FoundationTestCase, runs all package migrations through defineDatabaseMigrations(), and provides a TestUser fixture for Filament-aware auth tests.
License
MIT