param(
    $Action,
    [hashtable] $Arguments
)

. "$PSScriptRoot/../../Scripts/AppAssociations.ps1";
. "$PSScriptRoot/../../../Common/Scripts/Software.ps1";

Start-SoftwareInstaller @PSBoundParameters `
    -Installer {
        param(
            [scriptblock] $Installer
        )

        Install-ChocoPackage firefox;
        & $Installer -Action ([InstallerAction]::Configure)
    } `
    -Configurator {
        Write-Host "Making Firefox the default browser…";
        $progIdSuffix = "-308046B0AF4A39CB";
        $appName = "Firefox";

        $extensions = @(
            ".htm",
            ".html",
            ".svg",
            ".xht",
            ".xhtml"
        );

        $schemes = @(
            "http",
            "https"
        );

        foreach ($extension in $extensions) {
            Set-DefaultAppAssociation -Identifier $extensions -ProgId "${appName}HTML$progIdSuffix" -ApplicationName $appName;
        }

        foreach ($scheme in $schemes) {
            Set-DefaultAppAssociation -Identifier $scheme -ProgId "${appName}URL$progIdSuffix" -ApplicationName $appName;
        }

        Remove-TaskbarItem "*Firefox*";
    };