From 5a00548f6f2f2127e13f12c8964928a007754b0d Mon Sep 17 00:00:00 2001 From: 7000pctAUTO Date: Thu, 5 Feb 2026 19:31:42 +0000 Subject: [PATCH] Initial upload with CI/CD workflow --- src/commands/delete.ts | 48 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 src/commands/delete.ts diff --git a/src/commands/delete.ts b/src/commands/delete.ts new file mode 100644 index 0000000..59a741a --- /dev/null +++ b/src/commands/delete.ts @@ -0,0 +1,48 @@ +import inquirer from 'inquirer'; +import { fileUtils } from '../utils/fileUtils'; + +interface DeleteOptions { + name: string; + force?: boolean; +} + +export async function deleteLayout(options: DeleteOptions): Promise { + await fileUtils.initialize(); + + let layoutName = options.name; + if (!layoutName) { + const layouts = await fileUtils.listLayouts(); + if (layouts.length === 0) { + throw new Error('No layouts found.'); + } + + const { selectedLayout } = await inquirer.prompt([ + { + type: 'list', + name: 'selectedLayout', + message: 'Select a layout to delete:', + choices: layouts, + }, + ]); + layoutName = selectedLayout; + } + + if (!options.force) { + const { confirm } = await inquirer.prompt([ + { + type: 'confirm', + name: 'confirm', + message: `Delete layout "${layoutName}"?`, + default: false, + }, + ]); + + if (!confirm) { + console.log('Deletion cancelled.'); + return; + } + } + + await fileUtils.deleteLayout(layoutName); + console.log(`Layout deleted: ${layoutName}`); +}