import inquirer from 'inquirer';
import chalk from 'chalk';
import { execSync } from 'child_process';

import { PackageManager } from '../types/packageManager';

export async function shadcnPrompt(): Promise<boolean> {
    const useShadcn = await inquirer
        .prompt([
            {
                type: 'confirm',
                name: 'useShadcn',
                message: 'Would you like to use ShadCN?',
                default: true,
            },
        ])
        .then(ans => ans.useShadcn);

    return useShadcn;
}

export function installShadCN(packageManager: PackageManager): void {
    console.log(chalk.blue('Initializing ShadCN...'));
    let shadcnInstall =
        packageManager === 'pnpm'
            ? 'pnpm dlx shadcn@latest init'
            : 'npx shadcn@latest init';
    execSync(shadcnInstall, { stdio: 'inherit' });
}
