Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add brand new UI for restore functionality (Bubble Tea integration) #44

Merged
merged 65 commits into from
Jan 27, 2025

Conversation

babarot
Copy link
Owner

@babarot babarot commented Jan 27, 2025

What

This pull request introduces a big update to the restore functionality of the gomi CLI tool. Specifically, it replaces the previous UI interface used for file restoration with a new one built using the Bubble Tea framework, a modern Go-based framework for building terminal applications with rich UIs.

The key changes include:

  • New UI: Replaced the previous promptui based interface with the more flexible and feature-rich Bubble Tea framework for restoring deleted files.
  • Improved Interaction: The new interface makes file restoration more intuitive and visually appealing, improving the overall user experience.
  • Bubble Tea Integration: The restore process now uses Bubble Tea’s built-in support for state management and rendering, providing smoother transitions and better control over UI components.

The basic functionality of the tool (moving files to the trash instead of deleting them) remains unchanged. This update only impacts the UI/UX during file restoration.

Why

The reason for this update is to provide a more intuitive and user-friendly experience when restoring files in the command line. The original UI based on promptui was functional but limited in terms of interactivity and visual appeal. By switching to Bubble Tea, we are:

  • Enhancing usability: The new UI improves the user's ability to navigate through the list of deleted files, making it easier to select and restore files.
  • Modernizing the tool: Bubble Tea provides a more modern and flexible way to build terminal applications, enabling smoother and more visually engaging interactions.
  • Improving extensibility: With Bubble Tea’s component-based architecture, future updates to the restore UI (such as adding more complex features or customizations) will be easier to implement.

This change does not alter any core functionality of the tool, such as the way files are moved to the trash or restored. It only changes the user interface for these actions, making the experience more visually appealing and easier to use.

Additional Information

  • This update also maintains full compatibility with the existing rm command flags and behaviors.
  • The tool still uses a YAML configuration file for customization, allowing users to tailor the tool to their needs (e.g., file filtering, color schemes, etc.).

Demos

demo


We believe this update will greatly improve the user experience of the tool, especially for users who frequently rely on the restore functionality.

@babarot babarot added the release/minor Indicates minor version to bump up next when creating release PR. label Jan 27, 2025
@babarot babarot merged commit 9b84962 into main Jan 27, 2025
5 checks passed
@babarot babarot deleted the babarot/ui branch January 27, 2025 11:00
@github-actions github-actions bot mentioned this pull request Jan 23, 2025
@babarot babarot added the kind/feature A feature request; new or enhanced behavior label Jan 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature A feature request; new or enhanced behavior release/minor Indicates minor version to bump up next when creating release PR.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant