Improved TUI for a better UX
This commit is contained in:
+30
-32
@@ -8,21 +8,26 @@ namespace TBDel.Commands
|
||||
public static async Task DeleteEntry(string[] args)
|
||||
{
|
||||
var dbService = new DbService();
|
||||
|
||||
|
||||
if (args.Length > 1 && uint.TryParse(args[1], out uint id))
|
||||
{
|
||||
var filePath = await dbService.GetEntryPath(id);
|
||||
|
||||
Console.ForegroundColor = ConsoleColor.Yellow;
|
||||
Console.Write($"Are you sure you want to permanently delete entry with ID {id}? (y/N) ");
|
||||
Console.ResetColor();
|
||||
var input = Console.ReadLine();
|
||||
|
||||
if (input != "y")
|
||||
if (string.IsNullOrEmpty(filePath))
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.WriteLine("Operation cancelled.");
|
||||
Console.ResetColor();
|
||||
TuiHelper.DisplayError($"No entry found with ID {id}.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Display entry details before confirmation
|
||||
TuiHelper.DisplayHeader("TBDel - Delete Entry");
|
||||
Console.WriteLine($"Entry ID: {id}");
|
||||
Console.WriteLine($"Path: {filePath}");
|
||||
Console.WriteLine();
|
||||
|
||||
if (!TuiHelper.GetConfirmation($"Permanently delete this entry?"))
|
||||
{
|
||||
TuiHelper.DisplayInfo("Operation cancelled.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -31,15 +36,11 @@ namespace TBDel.Commands
|
||||
File.Delete(filePath);
|
||||
if (await dbService.RemoveFileEntryAsync(id))
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
Console.WriteLine("File deleted successfully.");
|
||||
Console.ResetColor();
|
||||
TuiHelper.DisplaySuccess("File deleted successfully.");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.WriteLine("Something went wrong while deleting the file.");
|
||||
Console.ResetColor();
|
||||
TuiHelper.DisplayError("Something went wrong while deleting the file.");
|
||||
}
|
||||
}
|
||||
else if (Directory.Exists(filePath))
|
||||
@@ -50,34 +51,31 @@ namespace TBDel.Commands
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
if (e.Message.Contains("Directory not empty"))
|
||||
{
|
||||
Console.WriteLine("Directory is not empty. It must be empty before it can be deleted or deleted manually.");
|
||||
|
||||
TuiHelper.DisplayError("Directory is not empty. It must be empty before it can be deleted or deleted manually.");
|
||||
}
|
||||
else
|
||||
{
|
||||
TuiHelper.DisplayError("Something went wrong while deleting the directory.");
|
||||
Console.WriteLine(e.Message);
|
||||
}
|
||||
|
||||
Console.WriteLine("Something went wrong while deleting the directory.");
|
||||
Console.ResetColor();
|
||||
Console.WriteLine(e.Message);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if (await dbService.RemoveFolderEntryAsync(id))
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
Console.WriteLine("Directory deleted successfully.");
|
||||
Console.ResetColor();
|
||||
TuiHelper.DisplaySuccess("Directory deleted successfully.");
|
||||
}
|
||||
else
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Red;
|
||||
Console.WriteLine("Something went wrong while deleting the directory.");
|
||||
Console.ResetColor();
|
||||
TuiHelper.DisplayError("Something went wrong while deleting the directory.");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
TuiHelper.DisplayError("Invalid ID provided. Please provide a valid numeric ID.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user