diff --git a/app/Filament/Resources/NodeResource.php b/app/Filament/Resources/NodeResource.php
index 371858d18..0bbf9b40d 100644
--- a/app/Filament/Resources/NodeResource.php
+++ b/app/Filament/Resources/NodeResource.php
@@ -88,10 +88,8 @@ class NodeResource extends Resource
->hidden(),
Tables\Columns\IconColumn::make('health')
->alignCenter()
- ->state(fn (Node $node) => $node->systemInformation()['version'] ?? false)
- ->tooltip(fn (Node $node) => $node->systemInformation()['version'] ?? $node->systemInformation()['exception'] ?? 'Not Connected')
- ->trueIcon('heroicon-m-heart')
- ->default(false),
+ ->state(fn (Node $node) => $node)
+ ->view('livewire.columns.version-column'),
Tables\Columns\TextColumn::make('name')
->searchable(),
Tables\Columns\TextColumn::make('fqdn')
diff --git a/app/Livewire/NodeSystemInformation.php b/app/Livewire/NodeSystemInformation.php
new file mode 100644
index 000000000..cefda7f72
--- /dev/null
+++ b/app/Livewire/NodeSystemInformation.php
@@ -0,0 +1,30 @@
+
+
+
+ HTML;
+ }
+}
diff --git a/resources/views/livewire/columns/version-column.blade.php b/resources/views/livewire/columns/version-column.blade.php
new file mode 100644
index 000000000..758cfd7c2
--- /dev/null
+++ b/resources/views/livewire/columns/version-column.blade.php
@@ -0,0 +1,31 @@
+@php
+ use Filament\Tables\Columns\IconColumn\IconColumnSize;
+
+ $node = $getState();
+ $size = $getSize($state) ?? IconColumnSize::Large;
+
+ $sizeClasses = match ($size) {
+ IconColumnSize::ExtraSmall, 'xs' => 'fi-ta-icon-item-size-xs h-3 w-3',
+ IconColumnSize::Small, 'sm' => 'fi-ta-icon-item-size-sm h-4 w-4',
+ IconColumnSize::Medium, 'md' => 'fi-ta-icon-item-size-md h-5 w-5',
+ IconColumnSize::Large, 'lg' => 'fi-ta-icon-item-size-lg h-6 w-6',
+ IconColumnSize::ExtraLarge, 'xl' => 'fi-ta-icon-item-size-xl h-7 w-7',
+ IconColumnSize::TwoExtraLarge, IconColumnSize::ExtraExtraLarge, '2xl' => 'fi-ta-icon-item-size-2xl h-8 w-8',
+ default => $size,
+ }
+@endphp
+
+
merge($getExtraAttributes(), escape: false)
+ ->class([
+ 'fi-ta-icon flex gap-1.5',
+ 'flex-wrap' => $canWrap(),
+ 'px-3 py-4' => ! $isInline(),
+ 'flex-col' => $isListWithLineBreaks(),
+ ])
+ }}
+>
+ @livewire('node-system-information', ['node' => $node, 'lazy' => true, 'sizeClasses' => $sizeClasses])
+
diff --git a/resources/views/livewire/node-system-information.blade.php b/resources/views/livewire/node-system-information.blade.php
new file mode 100644
index 000000000..6c1523356
--- /dev/null
+++ b/resources/views/livewire/node-system-information.blade.php
@@ -0,0 +1,17 @@
+
+ @switch($node->systemInformation()['version'] ?? 'false')
+ @case('false')
+ true])
+ />
+ @break
+ @default
+ true])
+ @style([\Filament\Support\get_color_css_variables('success', shades: [400, 500], alias: 'tables::columns.icon-column.item') => true])
+ />
+ @endswitch
+