Pass URL parameter from Page to Widget

I have a page that calls a widget
<?php

namespace App\Filament\Pages;

use App\Filament\Resources\VesselLocationResource\Widgets\VesselLocationGoogleMapWidget;
use Filament\Pages\Page;
use Illuminate\Http\Request;

class VesselFinder extends Page
{
    public $fleet;

    protected static ?string $navigationIcon = 'icon-map';

    protected static ?string $navigationGroup = 'Maritime Overview';

    protected static ?int $navigationSort = 5;

    protected static string $view = 'filament.pages.vessel-finder';

    public function mount(Request $request)
    {
        $this->fleet = $request->query('fleet');
    }

    protected function getHeaderWidgets(): array
    {
        return [
            VesselLocationGoogleMapWidget::class,
        ];
    }

    protected function getHeaderWidgetsData(): array
    {
        return [
            'fleet' => $this->fleet,
        ];
    }
}


I want to pass a variable via the URL to the widget so I can filter the widget data - http://mysite.com/admin/vessel-finder?fleet=north

How can I collect "fleet" in the VesselLocationGoogleMapWidget?

Cheers
Was this page helpful?