Open yuvipanda opened 5 months ago
I've added functionality for the top banner here, and poked around to make sure that the existing banner can display well. It needs to be redone to use bootstrap 5 utility classes, but here it is:
<div class="container-fluid position-relative" >
<div>
Thanks to <a href="https://www.ovh.com/">OVH</a>, <a href="https://notebooks.gesis.org">GESIS Notebooks</a> and <a href="https://curvenote.com">Curvenote</a> for supporting us! 🎉
<br />
mybinder.org has updated the base image to Ubuntu 22.04! See the <a href="https://repo2docker.readthedocs.io/en/latest/howto/breaking_changes.html">upgrade guide</a> for details.
</div>
<div class="top-0 end-0 position-absolute">
<a class="btn" style="width:fit-content;height:fit-content;padding:10px;background-color:#e66581;color:white;font-weight:bold;"
onmouseover="this.style.backgroundColor='#d15b75'" onmouseout="this.style.backgroundColor='#e66581'"
href="https://numfocus.salsalabs.org/donate-to-binder" target="_blank">
🤍 Donate to mybinder.org!
</a>
</div>
</div>
This works well!
Have asked @oliverroick to do a review here since his React eyes are much, much sharper than mine.
Getting closer and closer!
This was the first line I wrote when I started writing the existing frontend, and of course that line is still there.
This PR cleans up and rewrites the entire frontend, to 'start using a framework'. There's no functional change to the UI itself, so it should be treated as a pure upgrade / refactor.
Demo
Main page
https://github.com/jupyterhub/binderhub/assets/30430/4c629efb-2210-4f43-aeb3-3b3a0a4d65b8
Loading page
https://github.com/jupyterhub/binderhub/assets/30430/da6eefbe-8044-42aa-8562-03f7a79520ed
Functional Status
The following functional pieces need to be completed:
Technology changes
_config
endpoint to a refactored/api/repoproviders
. This is with an eye on allowing us to implement #844 eventually, as well as being able to implement the correct frontend bits in other users of the binderhub API (like https://github.com/yuvipanda/jupyterhub-fancy-profiles)extra_footer_scripts
can continue to be used - that's what we use for matomo.Functionality changes
nbgitpuller
, the link generator now prefers outputting onlyurlpath
- both when the user enters a file to open or a URL to open. This prevents the issue we had when we tried to change the default app that was going to open from classic notebook to lab, and broke a lot of people's stuff. By only outputtingurlpath
, URLs will always have this information encoded in them. The olderfilepath
andlabpath
are still accepted as input, because Cool URIs don't breakMaintenance changes
One primary goal here is to make the frontend safer to change, so it's less fragile and brittle.
jsdoc
inline documentation for everythingbinderhub-client
package to make sure it only contains api-client related functionality - all UI stuff should be in a separate package.js/
and thebinderhub/static/js
sources of JS files. Pick up best practices from other Jupyterish projects for what to do here.Timeline
My hope is to slowly but consistently work on this, and get it fully complete before end of June. I have also asked for some frontend review help from @batpad (either directly or via someone else), as he has significant experience in this kinda frontend work (even though he is less experienced in the JupyterHub community itself).
Fixes https://github.com/jupyterhub/binderhub/issues/774