andresouza7/halloween-theme-filament

A spooky Halloween theme plugin for Filament with animated ghosts, jumpscares, and festive effects.

Maintainers

Package info

github.com/andresouza7/halloween-theme-filament

Language:JavaScript

pkg:composer/andresouza7/halloween-theme-filament

Statistics

Installs: 0

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

v1.0.1 2026-01-18 14:55 UTC

This package is auto-updated.

Last update: 2026-04-18 15:35:47 UTC


README

A spooky Halloween theme plugin for Filament that adds animated ghosts, jumpscares, and a festive pumpkin button to your admin panel.

Features

  • 👻 Animated Ghosts: Floating ghosts that spawn when dark mode is enabled
  • 😱 Jumpscares: Random jumpscare videos for a spooky surprise
  • 🎃 Pumpkin Button: Interactive pumpkin that encourages users to enable dark mode
  • 🌙 Theme-Aware: Automatically enables/disables effects based on the theme switcher

Installation

1. Add the package to your project

If using as a local package:

{
    "repositories": [
        {
            "type": "path",
            "url": "./packages/halloween-theme"
        }
    ],
    "require": {
        "ueap/halloween-theme": "@dev"
    }
}

Then run:

composer update ueap/halloween-theme

2. Publish Assets

Publish the JavaScript files, images, and videos to your public directory:

php artisan vendor:publish --tag=halloween-theme-js
php artisan vendor:publish --tag=halloween-theme-images
php artisan vendor:publish --tag=halloween-theme-videos

Or publish all at once:

php artisan vendor:publish --tag=halloween-theme-js --tag=halloween-theme-images --tag=halloween-theme-videos

3. Register the Plugin

The plugin is automatically registered via Laravel's package discovery. The service provider will:

  • Register JavaScript assets (jumpscare, phantom, watchtheme)
  • Configure navigation items to remove icons
  • Only load assets for authenticated users (skips login page)

Usage

The plugin works automatically once installed. When users switch to dark mode, the Halloween effects will activate:

  • Ghosts will spawn every 3 seconds
  • The pumpkin button appears in light mode to encourage switching to dark mode
  • Clicking the pumpkin in dark mode triggers a jumpscare

Customization

Adjusting Ghost Behavior

Edit resources/js/phantom.js:

const maxGhosts = 3  // Maximum number of ghosts on screen
const chaseCooldown = 30 * 1000  // Time between ghost chases

Adjusting Jumpscare Timing

Edit resources/js/jumpscare.js:

const delay = 40000 + Math.random() * 50000;  // Random delay between jumpscares

Route Name Configuration

If your Filament panel uses a different ID than app, update the route check in HalloweenThemeServiceProvider.php:

if ($user && !request()->routeIs('filament.YOUR_PANEL_ID.auth.login')) {
    // ...
}

Assets

The plugin includes:

  • JavaScript: jumpscare.js, phantom.js, watchtheme.js
  • Images: fantasma.png, bats.png, pumpkin.png
  • Videos: jumpscare1.mp4, jumpscare2.mp4, jumpscare3.mp4, jumpscare4.mp4

Requirements

  • PHP ^8.1
  • Filament ^3.0 or ^4.0
  • Laravel package with theme switcher

License

MIT