-
Notifications
You must be signed in to change notification settings - Fork 4
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
feat: Add progress step component #139
Conversation
ac1936b
to
eb7cf8f
Compare
18a5ab4
to
81f794f
Compare
@pepicrft is this ready for review? Any reason for this being a draft? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks amazing 👏
message: String, | ||
successMessage: String?, | ||
errorMessage: String?, | ||
showSpinner: Bool, | ||
action: @escaping (@escaping (String) -> Void) async throws -> Void, | ||
theme: Theme, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd keep the init
for dependency injection and pass the rest of the variables through the run
invocation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can update this one and the others to follow that, but I don't see much value. The public interface is through an instance of Noora
, which then instantiates components and invokes the run. From the testing perspective, there isn't a notable benefit that I can think of.
If you feel strongly about it, I can go ahead with the change.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm fine with the current approach 👍
1e10137
to
35a4bc5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from this unaddressed comment, this is good to go from my side. Great work!
@@ -200,4 +200,25 @@ public struct Noora: Noorable { | |||
theme: theme | |||
).run() | |||
} | |||
|
|||
public func progressStep( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This doesn't seem to have been addressed
… enhance test coverage for both scenarios
…updates; add new progress step documentation and demo GIFs
…nventional PR checks
461ac7b
to
b20f4d6
Compare
TL;DR
Added a new progress step component to display step-by-step execution with timing and status indicators.
What changed?
ProgressStep
component that shows execution progress with optional spinnerHow to test?
Why make this change?
To provide a consistent way to display step-by-step progress during command execution with visual feedback, timing information, and proper error handling. This improves the user experience by giving clear visibility into long-running operations.