Private/Tui/Show-HydrationTuiHeader.ps1
|
function Show-HydrationTuiHeader { [CmdletBinding()] param( [Parameter()] [string[]]$Lines = @() ) $palette = Get-HydrationTuiPalette $consoleWidth = try { [Math]::Max(40, [Console]::WindowWidth) } catch { 80 } $centerPad = { param([int]$TextWidth) [Math]::Max(0, [int](($consoleWidth - $TextWidth) / 2)) } $borderWidth = [Math]::Max(1, [Math]::Min(60, $consoleWidth - 4)) $gradientTop = Get-HydrationTuiGradientLine -Character ([char]0x2500) -Width $borderWidth [Console]::WriteLine('') [Console]::WriteLine("$(' ' * (& $centerPad $borderWidth))$gradientTop") $bannerLines = Get-HydrationTuiAsciiArt $bannerWidth = $bannerLines[0].Length $bannerPad = & $centerPad $bannerWidth foreach ($line in $bannerLines) { [Console]::WriteLine("$(' ' * $bannerPad)$(Get-HydrationTuiGradientString -Text $line)") } $tagline = 'Intune Hydration Kit' [Console]::WriteLine("$(' ' * (& $centerPad $tagline.Length))$($palette.Muted)$tagline$($palette.Reset)") $websiteLabel = 'IntuneHydrationKit.com' $websiteUrl = 'https://IntuneHydrationKit.com' $websiteText = $websiteLabel if ($palette.Reset) { $escape = [char]0x1B $bell = [char]0x07 $websiteText = "$escape]8;;$websiteUrl$bell$websiteLabel$escape]8;;$bell" } [Console]::WriteLine("$(' ' * (& $centerPad $websiteLabel.Length))$($palette.Text)$websiteText$($palette.Reset)") $credit = 'Made By Jorgeasaurus' [Console]::WriteLine("$(' ' * (& $centerPad $credit.Length))$($palette.Muted)$credit$($palette.Reset)") foreach ($line in $Lines) { if ([string]::IsNullOrWhiteSpace($line)) { continue } $linePad = & $centerPad $line.Length [Console]::WriteLine("$(' ' * $linePad)$($palette.Muted)$line$($palette.Reset)") } $gradientBottom = Get-HydrationTuiGradientLine -Character ([char]0x2500) -Width $borderWidth [Console]::WriteLine("$(' ' * (& $centerPad $borderWidth))$gradientBottom") [Console]::WriteLine('') } |