-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
Update bring extension #14838
Update bring extension #14838
Conversation
- Update bring extension - Initial commit
Thank you for your contribution! 🎉 🔔 @amuelli @maximilianzuern you might want to have a look. You can use this guide to learn how to check out the Pull Request locally in order to test it. You can expect an initial review within five business days. |
It looks good to me 🔥 @amuelli do you want to check this? |
@xilopaint Thanks for your PR! I really like the improvements you've made. One minor thing: what was the reason for removing the colored dot in |
Hey, thanks for asking! There are a few reasons for the choice. The Bring! app UI does not use colored dots but rather grids with red and green backgrounds for added and non-added items. The reason it uses different colors is that both added and non-added items are presented together. That's not the case here, as in the current implementation, added and non-added items are displayed separately. We only need to highlight the difference between the actions for adding and removing items, and for this matter, a circle with a plus sign and a circle with a minus sign are much more effective and universally recognizable for adding and removing actions than green and red solid dots with no signs. Some might argue we could still use colors for |
@xilopaint First of all, many thanks for your continuing contributions. It's very nice to see others also taking an interest in this little extension.
I can see how this makes it a bit cleaner when looking at already added items. I somehow liked the discoverability of the whole cataloge without any search term. This might be subjective and I'm generally fine with that change overall.
In the mobile app, this is configurable in the list order menu. I personally prefer it ungrouped as it displays more items in a condensed way, and I don't get much value from the section names. It would actually be nice to have both options and make it configurable in the extension, or possibly even better, base it on the setting from the app. The setting is actually exposed through the API with
I share the same concerns as @maximilianzuern. My initial implementation aimed to stay as close as possible to the design language of the Bring! app itself, with the assumption that any user of the extension is probably already familiar with the app and should immediately understand the meaning of the colors. I would have actually recreated the tiles with colored backgrounds if that had been possible in a reasonable manner. The colored circles were a compromise.
Thanks for sharing your motivation behind it. However, I don't fully agree with the statement above. When searching for items, the results might also contain already added items. Here, I think it's important to easily distinguish them from non-added items, and I believe the color-coded circles make it much easier than the plain plus and minus icons that look almost the same at a glance. The alternative of excluding already added items from the results could potentially also be quite confusing as it diverges from how the Bring! app behaves. |
Does it mean we can go with the new rendering logic?
I have implemented this suggestion.
In my implementation you won't see already added items if you type anything in the search bar.
I'm convinced that the plus and minus signs are an improvement. They are universally recognized symbols for adding and removing actions and the primary color is consistent with the overall design. Additionally, the primary action titles, "Add to List" and "Remove from List," are always visible in the lower bar, so I don't see any room for confusion. I agree that using colored tiles would be ideal, but as you mentioned, it's not feasible with the current Raycast API. Using colors only for these icons would draw too much attention to a secondary UI element and distract from the main elements, which are the item icons. It would also break design consistency. That said, I find it odd to introduce an option with different styles for this icons. There's a troubling trend in the extension ecosystem of adding options simply because people disagree. However, if you prefer, I can color the plus and minus icons green and red or revert to the original solid-colored circles. Just let me know your decision. |
This pull request has been automatically marked as stale because it did not have any recent activity. It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊 |
What's the status here, can we continue @amuelli |
This pull request has been automatically marked as stale because it did not have any recent activity. It will be closed if no further activity occurs in the next 7 days to keep our backlog clean 😊 |
@amuelli can we continue? |
@amuelli are you still here? |
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.
@pernielsentikaer sorry for the radio silence. I only now found the time to do a proper review.
or possibly even better, base it on the setting from the app. The setting is actually exposed through the API with userSettings.purchaseStyle.
I have implemented this suggestion.
Thank you @xilopaint, great job! It seems to work fine; however, I've noticed that with that change, the caching behavior seems to be broken. I've pointed out the possible cause below.
When searching for items, the results might also contain already added items.
In my implementation you won't see already added items if you type anything in the search bar.
I'm not fine with that change, as it diverges from the behavior in the Bring! app. I would argue that it's important to understand whether the item I'm searching for was already added to the list.
Regarding the design language for adding/removing items. As I said I prefer the solid-colored circles. And still stand by this:
If you are still convinced that the plus/minus icons are generally an improvement, I'm totally fine with introducing this as a configuration option for the extension.
extensions/bring/src/index.tsx
Outdated
return addNewItemToSectionBasedOnSearch(sections, search, translations); | ||
}, [catalog, listDetail, customItems, translations, search]); | ||
|
||
if (!selectedList) { | ||
if (!selectedList || purchaseStyle === null) { |
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 change breaks the previous caching behaviour. You notice it when you run the command. Before it would immediately display the list based on the cached state from the previous run and then update it as soon as we get a response from the API. Now it will just stay empty during that period.
Thanks for taking your time @amuelli 🙏 |
The suggestions have been implemented. |
Published to the Raycast Store: |
🎉 🎉 🎉 We've rewarded your Raycast account with some credits. You will soon be able to exchange them for some swag. |
Description
Screenshot
Checklist
npm run build
and tested this distribution build in Raycastassets
folder are used by the extension itselfREADME
are placed outside of themetadata
folder