S3Ranger - Delete Modal

# S3Ranger Delete Modal

The delete modal allows users to permanently delete files or folders from S3. This action cannot be undone.

## Modal Design

Delete File
This action cannot be undone
Source (S3)
s3://my-bucket/documents/important-file.pdf
This file will be permanently deleted from S3

## For Folders

Delete Folder
This action cannot be undone
Source (S3)
s3://my-bucket/documents/reports/
This folder and all its contents will be permanently deleted from S3

## Features

- Confirmation Required: Shows clear warning that the action cannot be undone
- File/Folder Support: Can delete individual files or entire directories
- S3 Path Display: Shows the exact S3 path that will be deleted
- Red Delete Button: Visually distinct red styling to indicate destructive action
- Keyboard Shortcuts: `Ctrl+Enter` to delete, `Esc` to cancel
- Loading State: Shows loading indicator during deletion
- Error Handling: Displays helpful error messages if deletion fails

## Usage

To use the delete modal in your code:

    from s3ranger.ui.modals import DeleteModal

    # For deleting a file
    def delete_file(self, s3_path: str):
        modal = DeleteModal(s3_path=s3_path, is_folder=False)
        self.app.push_screen(modal, callback=self.on_delete_complete)

    # For deleting a folder
    def delete_folder(self, s3_path: str):
        modal = DeleteModal(s3_path=s3_path, is_folder=True)
        self.app.push_screen(modal, callback=self.on_delete_complete)

    def on_delete_complete(self, success: bool):
        if success:
            # Refresh the file listing
            self.refresh_objects()