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.

Maintainers

Package info

github.com/yezzmedia/laravel-account

pkg:composer/yezzmedia/laravel-account

Statistics

Installs: 2

Dependents: 2

Suggesters: 1

Stars: 0

Open Issues: 0

0.1.0 2026-06-18 10:37 UTC

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:

  • AccountServiceProvider extends Spatie\LaravelPackageTools\PackageServiceProvider
  • AccountPlatformPackage registers with YezzMedia\Foundation\Support\PlatformPackageRegistrar and declares permissions, features, audit events, rate limiters, and ops modules
  • AccountPanelProvider mounts 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 AccountPage and exposes a pageData() contract that delegates to a dedicated manager under Support

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