From 7190d7a818b6e788dbbb72c777018c2281c25d32 Mon Sep 17 00:00:00 2001 From: "Joseph.Rawlings" Date: Wed, 17 Dec 2025 11:47:42 -0500 Subject: [PATCH] refactor: update UI components to shadcn-style - Refactored select component to align with shadcn design principles. - Updated server status indicator component for consistency with shadcn style. - Modified spinner component to follow shadcn design guidelines. - Enhanced stat card component with shadcn-inspired styles. - Adjusted tab panel component to reflect shadcn design updates. - Revamped table row and table data cell components to match shadcn aesthetics. - Updated table header cell component for improved styling consistency. - Refined table component to align with shadcn design principles. - Enhanced tabs component with shadcn-inspired styles. - Updated toggle component to follow shadcn design guidelines. - Refactored tooltip component to align with shadcn design principles. - Updated server card component to reflect shadcn-inspired design. --- .../components/ui/action-button.blade.php | 26 ++-- .../views/components/ui/alert.blade.php | 130 ++++++++---------- .../components/ui/allocation-card.blade.php | 33 ++--- .../views/components/ui/badge.blade.php | 36 ++--- .../views/components/ui/button.blade.php | 70 +++++----- .../views/components/ui/card.blade.php | 58 ++++---- .../components/ui/confirm-dialog.blade.php | 42 +++--- .../views/components/ui/copy-button.blade.php | 6 +- .../views/components/ui/copyable.blade.php | 12 +- .../components/ui/dropdown-divider.blade.php | 4 +- .../components/ui/dropdown-item.blade.php | 14 +- .../views/components/ui/dropdown.blade.php | 18 +-- .../views/components/ui/empty-state.blade.php | 22 ++- .../views/components/ui/help-modal.blade.php | 30 ++-- .../views/components/ui/info-row.blade.php | 11 +- .../views/components/ui/input.blade.php | 40 +++--- .../views/components/ui/modal.blade.php | 43 +++--- .../components/ui/notice-banner.blade.php | 18 +-- .../views/components/ui/progress.blade.php | 12 +- .../components/ui/resource-gauge.blade.php | 26 ++-- .../components/ui/section-header.blade.php | 40 +++--- .../views/components/ui/select.blade.php | 28 ++-- .../components/ui/server-status.blade.php | 16 +-- .../views/components/ui/spinner.blade.php | 16 +-- .../views/components/ui/stat-card.blade.php | 59 ++++---- .../views/components/ui/tab-panel.blade.php | 10 +- .../views/components/ui/table-row.blade.php | 14 +- .../views/components/ui/table-td.blade.php | 12 +- .../views/components/ui/table-th.blade.php | 12 +- .../views/components/ui/table.blade.php | 20 ++- .../views/components/ui/tabs.blade.php | 74 +++++----- .../views/components/ui/toggle.blade.php | 24 ++-- .../views/components/ui/tooltip.blade.php | 24 ++-- .../Servers/Proxmox/views/server.blade.php | 87 ++++++------ 34 files changed, 522 insertions(+), 565 deletions(-) diff --git a/extensions/Servers/Proxmox/views/components/ui/action-button.blade.php b/extensions/Servers/Proxmox/views/components/ui/action-button.blade.php index 9df746114..afc2ded7c 100644 --- a/extensions/Servers/Proxmox/views/components/ui/action-button.blade.php +++ b/extensions/Servers/Proxmox/views/components/ui/action-button.blade.php @@ -1,5 +1,5 @@ {{-- - Action Toolbar Button Component - TailServer Theme + Action Toolbar Button Component - shadcn-style Individual button for VM control actions Usage: @@ -24,23 +24,23 @@ @php $variants = [ - 'default' => 'bg-gradient-to-b from-neutral/5 to-neutral/10 hover:from-neutral/10 hover:to-neutral/15 text-base border border-neutral/20 hover:border-neutral/30 shadow-sm hover:shadow', - 'primary' => 'bg-gradient-to-b from-primary/10 to-primary/15 hover:from-primary/15 hover:to-primary/20 text-primary border border-primary/20 hover:border-primary/30 shadow-sm hover:shadow-md hover:shadow-primary/10', - 'success' => 'bg-gradient-to-b from-success/10 to-success/15 hover:from-success/15 hover:to-success/20 text-success border border-success/20 hover:border-success/30 shadow-sm hover:shadow-md hover:shadow-success/10', - 'warning' => 'bg-gradient-to-b from-warning/10 to-warning/15 hover:from-warning/15 hover:to-warning/20 text-warning border border-warning/20 hover:border-warning/30 shadow-sm hover:shadow-md hover:shadow-warning/10', - 'danger' => 'bg-gradient-to-b from-danger/10 to-danger/15 hover:from-danger/15 hover:to-danger/20 text-danger border border-danger/20 hover:border-danger/30 shadow-sm hover:shadow-md hover:shadow-danger/10', + 'default' => 'border bg-background hover:bg-accent hover:text-accent-foreground', + 'primary' => 'border border-primary/20 bg-primary/10 text-primary hover:bg-primary/20', + 'success' => 'border border-success/20 bg-success/10 text-success hover:bg-success/20', + 'warning' => 'border border-warning/20 bg-warning/10 text-warning hover:bg-warning/20', + 'danger' => 'border border-danger/20 bg-danger/10 text-danger hover:bg-danger/20', ]; $sizes = [ - 'sm' => 'px-2.5 py-1.5 text-xs', - 'md' => 'px-3.5 py-2 text-sm', - 'lg' => 'px-5 py-2.5 text-base', + 'sm' => 'h-8 px-3 text-xs', + 'md' => 'h-9 px-4 text-sm', + 'lg' => 'h-10 px-5 text-sm', ]; $iconSizes = [ 'sm' => 'size-3.5', 'md' => 'size-4', - 'lg' => 'size-5', + 'lg' => 'size-4', ]; @endphp @@ -53,11 +53,11 @@ {{ $attributes->merge([ 'disabled' => $disabled || $loading, ])->class([ - 'inline-flex items-center gap-2 rounded-xl font-medium transition-all duration-200 hover:-translate-y-0.5 active:translate-y-0 active:scale-95', + 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md font-medium ring-offset-background transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2', $variants[$variant] ?? $variants['default'], $sizes[$size] ?? $sizes['md'], - 'opacity-50 cursor-not-allowed hover:translate-y-0' => $disabled, - 'cursor-wait hover:translate-y-0' => $loading, + 'pointer-events-none opacity-50' => $disabled, + 'cursor-wait' => $loading, ]) }} > @if($loading) diff --git a/extensions/Servers/Proxmox/views/components/ui/alert.blade.php b/extensions/Servers/Proxmox/views/components/ui/alert.blade.php index 945fbb7fb..6985e6c70 100644 --- a/extensions/Servers/Proxmox/views/components/ui/alert.blade.php +++ b/extensions/Servers/Proxmox/views/components/ui/alert.blade.php @@ -1,5 +1,5 @@ {{-- - Alert Component - TailServer Theme + Alert Component - TailServer Theme (shadcn-inspired) Usage: Default alert @@ -8,7 +8,7 @@ --}} @props([ - 'variant' => 'info', + 'variant' => 'default', 'title' => null, 'icon' => null, 'dismissible' => false, @@ -18,46 +18,36 @@ @php $variantConfig = [ + 'default' => [ + 'class' => 'bg-card text-card-foreground', + 'icon' => $icon ?? 'ri-information-line', + ], 'info' => [ - 'bg' => 'bg-gradient-to-r from-info/10 via-info/5 to-transparent', - 'border' => 'border-info/20', - 'text' => 'text-info', + 'class' => 'border-info/20 bg-info/5 text-info [&>svg]:text-info', 'icon' => $icon ?? 'ri-information-line', ], 'success' => [ - 'bg' => 'bg-gradient-to-r from-success/10 via-success/5 to-transparent', - 'border' => 'border-success/20', - 'text' => 'text-success', + 'class' => 'border-success/20 bg-success/5 text-success [&>svg]:text-success', 'icon' => $icon ?? 'ri-checkbox-circle-line', ], 'warning' => [ - 'bg' => 'bg-gradient-to-r from-warning/10 via-warning/5 to-transparent', - 'border' => 'border-warning/20', - 'text' => 'text-warning', + 'class' => 'border-warning/20 bg-warning/5 text-warning [&>svg]:text-warning', 'icon' => $icon ?? 'ri-error-warning-line', ], 'danger' => [ - 'bg' => 'bg-gradient-to-r from-danger/10 via-danger/5 to-transparent', - 'border' => 'border-danger/20', - 'text' => 'text-danger', + 'class' => 'border-danger/20 bg-danger/5 text-danger [&>svg]:text-danger', 'icon' => $icon ?? 'ri-error-warning-fill', ], - 'default' => [ - 'bg' => 'bg-gradient-to-r from-neutral/10 via-neutral/5 to-transparent', - 'border' => 'border-neutral/20', - 'text' => 'text-base/70', - 'icon' => $icon ?? 'ri-information-line', - ], ]; $config = $variantConfig[$variant] ?? $variantConfig['default']; @endphp
class([ - 'rounded-xl p-4 border', - $config['bg'], - $config['border'], + 'relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5', + $config['class'], ]) }} @if($dismissible || $collapsible) x-data="{ @@ -65,56 +55,54 @@ @if($collapsible) collapsed: {{ $collapsed ? 'true' : 'false' }} @endif }" x-show="show" - x-transition:enter="transition ease-out duration-300" - x-transition:enter-start="opacity-0 scale-95" - x-transition:enter-end="opacity-100 scale-100" - x-transition:leave="transition ease-in duration-200" - x-transition:leave-start="opacity-100 scale-100" - x-transition:leave-end="opacity-0 scale-95" + x-transition:enter="transition ease-out duration-150" + x-transition:enter-start="opacity-0" + x-transition:enter-end="opacity-100" + x-transition:leave="transition ease-in duration-100" + x-transition:leave-start="opacity-100" + x-transition:leave-end="opacity-0" @endif > -
- -
-
- @if($title) -

{{ $title }}

- @endif -
- @if($collapsible) - - @endif - @if($dismissible) - - @endif -
-
-
- {{ $slot }} -
+ +
+ @if($title) +
{{ $title }}
+ @endif +
+ {{ $slot }}
+ @if($dismissible || $collapsible) +
+ @if($collapsible) + + @endif + @if($dismissible) + + @endif +
+ @endif
diff --git a/extensions/Servers/Proxmox/views/components/ui/allocation-card.blade.php b/extensions/Servers/Proxmox/views/components/ui/allocation-card.blade.php index 09ae20d2e..a67c5e484 100644 --- a/extensions/Servers/Proxmox/views/components/ui/allocation-card.blade.php +++ b/extensions/Servers/Proxmox/views/components/ui/allocation-card.blade.php @@ -1,5 +1,5 @@ {{-- - Resource Allocation Card Component - TailServer Theme + Resource Allocation Card Component - shadcn-style For displaying CPU, Memory, and other resource allocation vs entitlement Usage: @@ -26,26 +26,23 @@ 'iconColor' => 'text-primary', ]) -
class(['group relative border border-neutral/20 rounded-xl p-4 bg-background hover:border-neutral/30 hover:shadow-sm transition-all duration-200']) }}> - {{-- Subtle gradient overlay on hover --}} -
- -
+
class(['rounded-xl border bg-card p-4 shadow-sm transition-colors duration-150 hover:bg-accent/50']) }}> +
@if($icon) -
- +
+
@endif -
-

{{ $label }}

-

{{ $usageSummary }}

-

{{ $entitlementLabel }}

+
+

{{ $label }}

+

{{ $usageSummary }}

+

{{ $entitlementLabel }}

@if($badge) - + {{ $badge['label'] ?? '' }} @endif @@ -54,12 +51,12 @@ @if(!is_null($percent))
- Usage - {{ $percent }}% + Usage + {{ $percent }}%
-
+
@@ -67,7 +64,7 @@ @endif @if($description) -

{{ $description }}

+

{{ $description }}

@endif
diff --git a/extensions/Servers/Proxmox/views/components/ui/badge.blade.php b/extensions/Servers/Proxmox/views/components/ui/badge.blade.php index c05cf0fe4..d1cfce2b1 100644 --- a/extensions/Servers/Proxmox/views/components/ui/badge.blade.php +++ b/extensions/Servers/Proxmox/views/components/ui/badge.blade.php @@ -1,5 +1,5 @@ {{-- - Badge Component - TailServer Theme + Badge Component - TailServer Theme (shadcn-inspired) Usage: Default @@ -18,31 +18,31 @@ ]) @php - $baseClasses = 'inline-flex items-center font-semibold rounded-full transition-colors'; + $baseClasses = 'inline-flex items-center rounded-md border font-medium transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2'; $variantClasses = [ - 'default' => $outline ? 'bg-transparent border border-neutral/30 text-base/70' : 'bg-neutral/10 text-base/70', - 'primary' => $outline ? 'bg-transparent border border-primary/40 text-primary' : 'bg-primary/10 text-primary', - 'secondary' => $outline ? 'bg-transparent border border-secondary/40 text-secondary' : 'bg-secondary/10 text-secondary', - 'success' => $outline ? 'bg-transparent border border-success/40 text-success' : 'bg-success/10 text-success', - 'warning' => $outline ? 'bg-transparent border border-warning/40 text-warning' : 'bg-warning/10 text-warning', - 'danger' => $outline ? 'bg-transparent border border-danger/40 text-danger' : 'bg-danger/10 text-danger', - 'info' => $outline ? 'bg-transparent border border-info/40 text-info' : 'bg-info/10 text-info', - 'muted' => 'bg-neutral/5 text-base/40', + 'default' => 'border-transparent bg-primary text-primary-foreground shadow', + 'secondary' => 'border-transparent bg-secondary text-secondary-foreground', + 'success' => $outline ? 'border-success/40 text-success bg-transparent' : 'border-transparent bg-success/15 text-success', + 'warning' => $outline ? 'border-warning/40 text-warning bg-transparent' : 'border-transparent bg-warning/15 text-warning', + 'danger' => $outline ? 'border-danger/40 text-danger bg-transparent' : 'border-transparent bg-danger/15 text-danger', + 'info' => $outline ? 'border-info/40 text-info bg-transparent' : 'border-transparent bg-info/15 text-info', + 'outline' => 'text-foreground border-neutral/20', + 'muted' => 'border-transparent bg-muted text-muted-foreground', ]; $sizeClasses = [ - 'xs' => 'px-1.5 py-0.5 text-[10px] leading-tight', - 'sm' => 'px-2 py-0.5 text-[11px] leading-tight', - 'md' => 'px-2.5 py-1 text-xs', - 'lg' => 'px-3 py-1.5 text-sm', + 'xs' => 'px-1.5 py-0.5 text-[10px]', + 'sm' => 'px-2 py-0.5 text-[11px]', + 'md' => 'px-2.5 py-0.5 text-xs', + 'lg' => 'px-3 py-1 text-sm', ]; $iconSizes = [ 'xs' => 'size-2.5', 'sm' => 'size-3', - 'md' => 'size-3.5', - 'lg' => 'size-4', + 'md' => 'size-3', + 'lg' => 'size-3.5', ]; $dotSizes = [ @@ -62,7 +62,7 @@ $dotSize = $dotSizes[$size] ?? $dotSizes['md']; @endphp -class([$classes, 'gap-1.5' => $icon || $dot]) }}> +class([$classes, 'gap-1' => $icon || $dot]) }}> @if($dot) @if($pulse) @@ -72,7 +72,7 @@ @endif @if($icon) - + @endif {{ $slot }} diff --git a/extensions/Servers/Proxmox/views/components/ui/button.blade.php b/extensions/Servers/Proxmox/views/components/ui/button.blade.php index 48da8425f..24f730e36 100644 --- a/extensions/Servers/Proxmox/views/components/ui/button.blade.php +++ b/extensions/Servers/Proxmox/views/components/ui/button.blade.php @@ -1,5 +1,5 @@ {{-- - Button Component - TailServer Theme + Button Component - TailServer Theme (shadcn-inspired) Usage: Click me @@ -24,33 +24,36 @@ @php $tag = $href ? 'a' : 'button'; - $baseClasses = 'group relative inline-flex items-center justify-center gap-2 rounded-lg font-semibold transition-all duration-200 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-offset-background disabled:opacity-50 disabled:cursor-not-allowed overflow-hidden'; + $baseClasses = 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50'; $variantClasses = [ - 'primary' => 'bg-primary text-white border border-primary hover:bg-primary/90 hover:shadow-md hover:shadow-primary/20 active:scale-[0.98] focus:ring-primary/50', - 'secondary' => 'bg-background-secondary text-base border border-neutral/30 hover:bg-background-secondary/80 hover:border-neutral/50 active:scale-[0.98] focus:ring-neutral/30', - 'outline' => 'bg-transparent text-base border border-neutral/30 hover:bg-neutral/10 hover:border-neutral/50 focus:ring-neutral/30', - 'ghost' => 'bg-transparent text-base hover:bg-neutral/10 focus:ring-neutral/20', - 'danger' => 'bg-danger text-white border border-danger hover:bg-danger/90 hover:shadow-md hover:shadow-danger/20 active:scale-[0.98] focus:ring-danger/50', - 'success' => 'bg-success text-white border border-success hover:bg-success/90 hover:shadow-md hover:shadow-success/20 active:scale-[0.98] focus:ring-success/50', - 'warning' => 'bg-warning text-white border border-warning hover:bg-warning/90 hover:shadow-md hover:shadow-warning/20 active:scale-[0.98] focus:ring-warning/50', - 'info' => 'bg-info text-white border border-info hover:bg-info/90 hover:shadow-md hover:shadow-info/20 active:scale-[0.98] focus:ring-info/50', + 'primary' => 'bg-primary text-primary-foreground shadow hover:bg-primary/90', + 'secondary' => 'bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80', + 'outline' => 'border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground', + 'ghost' => 'hover:bg-accent hover:text-accent-foreground', + 'danger' => 'bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90', + 'success' => 'bg-success text-white shadow-sm hover:bg-success/90', + 'warning' => 'bg-warning text-white shadow-sm hover:bg-warning/90', + 'info' => 'bg-info text-white shadow-sm hover:bg-info/90', + 'link' => 'text-primary underline-offset-4 hover:underline', ]; $sizeClasses = [ - 'xs' => 'px-2 py-1 text-xs', - 'sm' => 'px-2.5 py-1.5 text-sm', - 'md' => 'px-3.5 py-2 text-sm', - 'lg' => 'px-4 py-2.5 text-base', - 'xl' => 'px-5 py-3 text-lg', + 'xs' => 'h-7 px-2 text-xs', + 'sm' => 'h-8 px-3 text-xs', + 'md' => 'h-9 px-4 py-2', + 'lg' => 'h-10 px-8', + 'xl' => 'h-11 px-10 text-base', + 'icon' => 'h-9 w-9', ]; $iconSizes = [ 'xs' => 'size-3', 'sm' => 'size-3.5', 'md' => 'size-4', - 'lg' => 'size-5', - 'xl' => 'size-6', + 'lg' => 'size-4', + 'xl' => 'size-5', + 'icon' => 'size-4', ]; $classes = collect([ @@ -69,24 +72,19 @@ @if($disabled || $loading) disabled @endif {{ $attributes->class([$classes]) }} > - {{-- Subtle shine effect on hover --}} - - - - @if($loading) - - - - - {{ $loadingText ?? $slot }} - @else - @if($icon) - - @endif - {{ $slot }} - @if($iconRight) - - @endif + @if($loading) + + + + + {{ $loadingText ?? $slot }} + @else + @if($icon) + @endif - + {{ $slot }} + @if($iconRight) + + @endif + @endif diff --git a/extensions/Servers/Proxmox/views/components/ui/card.blade.php b/extensions/Servers/Proxmox/views/components/ui/card.blade.php index 004c0e312..234593c9f 100644 --- a/extensions/Servers/Proxmox/views/components/ui/card.blade.php +++ b/extensions/Servers/Proxmox/views/components/ui/card.blade.php @@ -1,5 +1,5 @@ {{-- - Card Component - TailServer Theme + Card Component - TailServer Theme (shadcn-inspired) Usage: Content @@ -22,42 +22,35 @@ 'collapsed' => false, ]) -@php - $cardClasses = 'relative flex flex-col rounded-xl border border-neutral/20 bg-background-secondary shadow-sm'; - if ($hover) { - $cardClasses .= ' hover:bg-background-secondary/90 hover:border-neutral/30 hover:shadow-md transition-all duration-200'; - } - if ($clickable) { - $cardClasses .= ' cursor-pointer'; - } -@endphp -
class([$cardClasses]) }} + {{ $attributes->class([ + 'flex flex-col gap-6 rounded-xl border border-neutral/15 bg-card text-card-foreground shadow-sm', + 'hover:shadow-md hover:border-neutral/25 transition-shadow duration-150' => $hover || $clickable, + 'cursor-pointer' => $clickable, + ]) }} @if($collapsible) x-data="{ isCollapsed: {{ $collapsed ? 'true' : 'false' }} }" @endif > - {{-- Subtle gradient overlay for depth --}} -
@if($title || $actions) -
+
@if($icon) -
- +
+
@endif -
+
@if($title) -

{{ $title }}

+

{{ $title }}

@endif @if($subtitle) -

{{ $subtitle }}

+

{{ $subtitle }}

@endif
-
+ @if($actions || $collapsible) +
@if($actions) {{ $actions }} @endif @@ -65,38 +58,39 @@ @endif
+ @endif
@endif
$padding, + 'px-6', + 'py-6' => $padding && !$title, ]) @if($collapsible) x-show="!isCollapsed" - x-transition:enter="transition ease-out duration-200" - x-transition:enter-start="opacity-0 -translate-y-2" - x-transition:enter-end="opacity-100 translate-y-0" - x-transition:leave="transition ease-in duration-150" - x-transition:leave-start="opacity-100 translate-y-0" - x-transition:leave-end="opacity-0 -translate-y-2" + x-transition:enter="transition ease-out duration-150" + x-transition:enter-start="opacity-0" + x-transition:enter-end="opacity-100" + x-transition:leave="transition ease-in duration-100" + x-transition:leave-start="opacity-100" + x-transition:leave-end="opacity-0" @endif > {{ $slot }}
@if($footer) -
+
{{ $footer }}
@endif diff --git a/extensions/Servers/Proxmox/views/components/ui/confirm-dialog.blade.php b/extensions/Servers/Proxmox/views/components/ui/confirm-dialog.blade.php index 9307da4bd..12aafa934 100644 --- a/extensions/Servers/Proxmox/views/components/ui/confirm-dialog.blade.php +++ b/extensions/Servers/Proxmox/views/components/ui/confirm-dialog.blade.php @@ -1,5 +1,5 @@ {{-- - Confirm Dialog Component - TailServer Theme + Confirm Dialog Component - shadcn-style For dangerous actions like delete, stop, etc. Usage: @@ -28,19 +28,19 @@ 'icon' => 'ri-error-warning-line', 'iconBg' => 'bg-danger/10', 'iconColor' => 'text-danger', - 'buttonBg' => 'bg-danger hover:bg-danger/90', + 'buttonClass' => 'bg-danger text-danger-foreground hover:bg-danger/90', ], 'warning' => [ 'icon' => 'ri-alert-line', 'iconBg' => 'bg-warning/10', 'iconColor' => 'text-warning', - 'buttonBg' => 'bg-warning hover:bg-warning/90', + 'buttonClass' => 'bg-warning text-warning-foreground hover:bg-warning/90', ], 'primary' => [ 'icon' => 'ri-question-line', 'iconBg' => 'bg-primary/10', 'iconColor' => 'text-primary', - 'buttonBg' => 'bg-primary hover:bg-primary/90', + 'buttonClass' => 'bg-primary text-primary-foreground hover:bg-primary/90', ], ]; @@ -59,45 +59,45 @@
-
- +
+
-

{{ $title }}

+

{{ $title }}

-

{{ $message }}

+

{{ $message }}

-
+
@@ -105,7 +105,7 @@ type="button" @click="open = false" {{ $attributes->whereStartsWith('wire:click') }} - class="flex-1 px-4 py-2.5 {{ $config['buttonBg'] }} rounded-xl text-sm font-medium text-white transition-all duration-200 shadow-md hover:shadow-lg active:scale-95" + class="flex-1 inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium transition-colors duration-150 h-9 px-4 py-2 {{ $config['buttonClass'] }}" > {{ $confirmLabel }} diff --git a/extensions/Servers/Proxmox/views/components/ui/copy-button.blade.php b/extensions/Servers/Proxmox/views/components/ui/copy-button.blade.php index 673c25f8b..479596425 100644 --- a/extensions/Servers/Proxmox/views/components/ui/copy-button.blade.php +++ b/extensions/Servers/Proxmox/views/components/ui/copy-button.blade.php @@ -1,5 +1,5 @@ {{-- - Copy Button Component - TailServer Theme + Copy Button Component - shadcn-style Small inline button to copy text to clipboard Usage: @@ -17,7 +17,7 @@ copyToClipboard() { navigator.clipboard.writeText(this.copyText); this.copied = true; - setTimeout(() => this.copied = false, 3000); + setTimeout(() => this.copied = false, 2000); } }" class="inline-flex items-center" @@ -26,7 +26,7 @@