kitchensink.ps1

Import-Module ./pwsh-handy-helpers.psm1

$Space = " "
$Indent = 4
$Color = "Green"

Write-Title " Kitchen Sink " -SubText "#allthethings" -Yellow
$Space
$Fullname = Invoke-Input "Full Name?" -Indent $Indent
$Username = Invoke-Input "Username?" -MaxLength 10 -Indent $Indent
$Age = Invoke-Input "Age?" -Number -Indent $Indent
$Pass = Invoke-Input "Password?" -Secret -Indent $Indent
$FavoriteSaiyajin = Invoke-Input "Favorite Saiya-jin?" -Autocomplete -Indent $Indent -Choices `
@(
    'Goku'
    'Gohan'
    'Goten'
    'Vegeta'
    'Trunks'
)

'Favorite number?' | Write-Label -Indent $Indent -NewLine
$choice = ,("one","two","three") | Invoke-Menu -SingleSelect -Indent $Indent

'Known mathematicians?' | Write-Label -Indent $Indent -NewLine
$choice = ,("Godel","Gauss","Cantor") | Invoke-Menu -MultiSelect -Indent $Indent

"{{#red Red}}, {{#white White}}, or {{#blue Blue}}?" | Write-Label -Indent $Indent -NewLine
$FavoriteColor = ,("red","white","blue") | Invoke-Menu -Indent $Indent

$Space

"Results" | Write-Title -Magenta -TextColor White
$Fullname | Write-Label -Indent $Indent -Color $Color -NewLine
$Username | Write-Label -Indent $Indent -Color $Color -NewLine
$Age | Write-Label -Indent $Indent -Color $Color -NewLine
$Pass | Write-Label -Indent $Indent -Color $Color -NewLine
$FavoriteSaiyajin | Write-Label -Indent $Indent -Color $Color -NewLine
(Join-StringsWithGrammar $choice) | Write-Label -Indent $Indent -Color $Color -NewLine
$FavoriteColor | Write-Label -Indent $Indent -Color $Color -NewLine

$Space

"Show bar charts?" | Write-Label -NewLine
$Choice = ,("yes","no") | menu
if ($Choice -eq "yes") {
    "Bar Charts" | Write-Title -Blue
    Get-ChildItem -File | Invoke-Reduce -FileInfo | Show-BarChart
    Get-ChildItem -File | Invoke-Reduce -FileInfo | Show-BarChart -Alternate
    Get-ChildItem -File | Invoke-Reduce -FileInfo | Show-BarChart -ShowValues
    Get-ChildItem -File | Invoke-Reduce -FileInfo | Show-BarChart -ShowValues -Alternate
    Get-ChildItem -File | Invoke-Reduce -FileInfo | Show-BarChart -ShowValues -WithColor
    Get-ChildItem -File | Invoke-Reduce -FileInfo | Show-BarChart -ShowValues -WithColor -Alternate
}