-
Notifications
You must be signed in to change notification settings - Fork 74
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
A "Binder Menu" button for all UIs #1462
Comments
Also pinging @yuvipanda @sgibson91 |
Some quick takeaway thoughts:
Also, I originally read this issue as "A binder menu button for all of us" haha |
buttons'r'us :D Thanks for the ideas and comments! I thought about placement of the button for visibility, annoyingness, being in the way, etc. Top right would probably be super visible but also highest chances of being "in the way" (RStudio has UI elements there, jupyter as well, etc). For now I was thinking that putting it in the bottom right, where people are used to finding the "floating action button" (FAB) in UIs that follow material design rules, would be the thing to do. If there is content there you can often scroll to move it. Not as good as not hiding stuff but at least people can self-rescue themselves by scrolling. I tried using the binder logo but switched to text-on-orange because it let me make the button "binder orange". With the logo you have to use a white background. So often you end up with logo on white (button bg) on white (from the original page). Seemed like orange would be more visible and have an "obvious" label ("looks like a button, behaves like a button and the name is "Binder" so this is the "binder button"). I've not seen FABs with logos on them, often they seem to have a "+". Styling and content of the button are at the level of "something that works and isn't extremely ugly". So any and all ideas welcome. It is something I plan to iterate on once we figure out a way to make the button appear and if we want to make the button appear. JS framework: I started with "hand made" HTML + JS, then tried StimulusJS and settled for svelte because it takes care of two things that turn out to be tricky:
|
Makes sense to me 👍
good point 👍
I wonder if we actually could use a "+" or an arrow to signal to the user that "this is a hoverable thing that will expand a menu"?
Sounds good - how difficult do you think it would be for a random Binder team member to want to make a change to the button, figure out Svelte, and then build and demo their change locally? To me that's the main question from a tools standpoint - will this raise a significant barrier to others helping out? |
The technical question of this issue is: how can we add HTML like the following
to every website served by mybinder.org? Keep reading for why I am interested in this
Currently we add a few buttons to the top right hand corner of the classic notebook UI for Binders. They help users share the right link, visit the original repo or join a video room.
For lab, RStudio, voila, streamlit, etc we don't have these buttons. Sometimes people ask if we could add the buttons there as well. For lab we could by making an extension for lab specifically. For the other "arbitrary" UIs it would be harder to do.
One idea I've had and worked on a bit is creating a "Binder Menu" that is a single JS file. This "Binder Menu" would contain all the buttons/links/what not that we want to display.
Right now it looks a bit like this (on some dummy page I made for testing):
The only modification to to the original page's HTML are:
the menu itself is a small svelte app, mostly because it takes care of CSS class name stuff to make them unique.
The questions I have are:
What do you think?
The text was updated successfully, but these errors were encountered: