Matt was right about being able to reuse the FileUpload functionality, but the details were just different enough that it was easier to copy/paste/change into a new component than refactor well. So CustomNodeUpload is mostly duplicated code from FileUpload.
Upon successful upload, the app hits the endpoint for the list of available nodes to show the new one. This GIF shows the functionality, but it failed to capture the file dialog. So the random click in the middle of the screen is actually selecting the file.
Also in this PR are tooltips to show either the node docstring when hovering over a node menu item, or the missing packages error. I went with @reelmatt's suggestion in #71 and used a warning icon for these failed custom nodes.
Also made some slight style changes to the node menu items to better match the wireframes, just let me know if we want to go back.
Matt was right about being able to reuse the FileUpload functionality, but the details were just different enough that it was easier to copy/paste/change into a new component than refactor well. So CustomNodeUpload is mostly duplicated code from FileUpload.
Upon successful upload, the app hits the endpoint for the list of available nodes to show the new one. This GIF shows the functionality, but it failed to capture the file dialog. So the random click in the middle of the screen is actually selecting the file.
Also in this PR are tooltips to show either the node docstring when hovering over a node menu item, or the missing packages error. I went with @reelmatt's suggestion in #71 and used a warning icon for these failed custom nodes.
Also made some slight style changes to the node menu items to better match the wireframes, just let me know if we want to go back.