Skip to content

Instantly share code, notes, and snippets.

View neverything's full-sized avatar
🍀
Good vibes for you

Silvan Hagen neverything

🍀
Good vibes for you
View GitHub Profile
@neverything
neverything / custom-tenant-menu.blade.php
Last active September 4, 2025 07:08
Laravel Cloud Navigation in Filament v4: Full tutorial and code https://silvanhagen.com/writing/laravel-cloud-navigation-in-filament/
@php
use Filament\Actions\Action;
use Filament\Models\Contracts\HasCurrentTenantLabel;
use Filament\Support\Facades\FilamentView;
use Filament\Support\Icons\Heroicon;
use Filament\View\PanelsIconAlias;
use Filament\View\PanelsRenderHook;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Support\Arr;
use Illuminate\View\ComponentAttributeBag;
@neverything
neverything / AdminPanelProvider.php
Last active September 4, 2025 07:09
Laravel Cloud Navigation in Filament v4: Full tutorial and code https://silvanhagen.com/writing/laravel-cloud-navigation-in-filament/
<?php
namespace App\Providers\Filament;
// Other imports
use function Filament\Support\original_request;
class AdminPanelProvider extends PanelProvider
{
@neverything
neverything / custom-topbar.blade.php
Last active September 4, 2025 07:09
Laravel Cloud Navigation in Filament v4: Full tutorial and code https://silvanhagen.com/writing/laravel-cloud-navigation-in-filament/
<div class="fi-topbar-ctn">
@php
use App\Filament\Resources\Catalogs\CatalogResource;
use Filament\Facades\Filament;
use Filament\Livewire\DatabaseNotifications;
use Filament\Livewire\GlobalSearch;
use Filament\Support\Facades\FilamentView;
use Filament\Support\Icons\Heroicon;
use Filament\View\PanelsIconAlias;
use Filament\View\PanelsRenderHook;
@neverything
neverything / CustomTopbar.php
Last active September 4, 2025 07:09
Laravel Cloud Navigation in Filament v4: Full tutorial and code https://silvanhagen.com/writing/laravel-cloud-navigation-in-filament/
<?php
namespace App\Livewire;
use Filament\Actions\Concerns\InteractsWithActions;
use Filament\Actions\Contracts\HasActions;
use Filament\Livewire\Concerns\HasTenantMenu;
use Filament\Livewire\Concerns\HasUserMenu;
use Filament\Schemas\Concerns\InteractsWithSchemas;
use Filament\Schemas\Contracts\HasSchemas;
@neverything
neverything / AdminPanelProvider.php
Last active September 4, 2025 07:09
Laravel Cloud Navigation in Filament v4: Full tutorial and code https://silvanhagen.com/writing/laravel-cloud-navigation-in-filament/
<?php
namespace App\Providers\Filament;
class AdminPanelProvider extends PanelProvider
{
public function panel(Panel $panel): Panel
{
return $panel
// your other panel config
<?php
namespace OllieChild;
function enqueue_custom_child_block_styles() {
// Scan our styles folder to locate block styles.
$files = glob( get_stylesheet_directory() . '/assets/blocks/*.css' );
foreach ( $files as $file ) {
@neverything
neverything / HasTenantAwareSessionKeys.php
Last active March 17, 2025 06:03
Filament persist table filters, sort and search per tenant: https://silvanhagen.com/writing/filament-persist-filters-tenant/
<?php
namespace App\Filament\Traits;
use Filament\Facades\Filament;
trait HasTenantAwareSessionKeys
{
public function getTableFiltersSessionKey(): string
{
@neverything
neverything / CopyToS3Command.php
Created February 25, 2025 10:35
A Laravel artisan command to migrate files from one disk to another for example to move to S3-compatible object storage and back. See https://silvanhagen.com/talks/meetup-laravel-cloud/
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Facades\Storage;
class CopyToS3Command extends Command
{
protected $signature = 'storage:mirror
@neverything
neverything / MigrateDatabaseCommand.php
Created February 25, 2025 06:13
A Laravel artisan command to migrate database tables from MySQL to Postgres and back. See https://silvanhagen.com/talks/meetup-laravel-cloud/
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Str;
use Symfony\Component\Console\Helper\ProgressBar;
@neverything
neverything / UpdateMediaInfoCommand.php
Created October 18, 2024 09:02
Set Image and Video dimension for the Spatie Laravel Media Library as custom properties: https://silvanhagen.com/writing/image-and-video-dimensions-laravel-media-library
<?php
namespace App\Console\Commands;
use App\Actions\Media\UpdateMediaInfoAction;
use Illuminate\Console\Command;
use Spatie\MediaLibrary\MediaCollections\Models\Media;
class UpdateMediaInfoCommand extends Command
{