loadNetwork(); } protected function loadNetwork(): void { try { $agent = new AgentClient(); $network = $agent->metricsNetwork()['data'] ?? []; $interfaces = []; foreach (($network['interfaces'] ?? []) as $name => $data) { $interfaces[] = [ 'name' => $name, 'ip' => $data['ip'] ?? '-', 'rx' => $data['rx_human'] ?? '0', 'tx' => $data['tx_human'] ?? '0', ]; } $this->interfaces = $interfaces; } catch (\Exception $e) { $this->interfaces = []; } } public function makeFilamentTranslatableContentDriver(): ?\Filament\Support\Contracts\TranslatableContentDriver { return null; } public function table(Table $table): Table { return $table ->records(fn () => $this->interfaces) ->columns([ TextColumn::make('name') ->label(__('Interface')) ->weight('medium'), TextColumn::make('ip') ->label(__('IP Address')) ->fontFamily('mono') ->color('gray'), TextColumn::make('rx') ->label(__('Download')) ->icon('heroicon-o-arrow-down') ->badge() ->color('success'), TextColumn::make('tx') ->label(__('Upload')) ->icon('heroicon-o-arrow-up') ->badge() ->color('info'), ]) ->paginated(false) ->striped(); } public function render() { return $this->getTable()->render(); } }