Currently we maintain a cache of all database offers which can be stale since we have moved to lazy loading the offers. Instead of reading the offer from the cache, we should just find the selected database and get the offer directly by calling `database.offer()`.
* minro code edits
* Added support for acknowledging code of conduct
- Added CodeOfConduct component that shows links and a checkbox that must be acknwledged before seeing the public galley
- Added verbose message for notebook publish error (when another notebook with the same name exists in the gallery)
- Added a feature flag for enabling code of conduct acknowledgement
* Added Info Component
* minor edit
* fixed failign tests
* publish tab displayed only when code of conduct accepted
* added code of conduct fetch during publish
* fixed bug
* added test and addressed PR comments
* changed line endings
* added comment
* addressed PR comments
* Added support for taking screenshot
- Screenshot is taken using html2canvas package
- Converted to base 64 and uploaded to metadata
- For Using first display output
- Notebok object is passed instead of string, to publish pane
- The first cell with output present is parsed out
- The dom is also parsed to get corresponding div element to take screenshot of the first output
* fixed bug
* Addressed PR comments
- FIxed bug that didn't capture screenshot when mutiple notebook tabs are opened
* removed unnecessary dependencies
* fixed compile issues
* more edits
* Added support for custom image upload
- Dropdown gives an option for URL or image upload
- Preview shows how the card will be displayed in the gallery
- base64 converted image stored in metadata document
- Max limit is 1.5MiB for the image
* fixed lint errors
* addressed PR comments
- Added test
* added snapshot
* fixed failing test
* Initial commit
* Address PR comments
* Move notebook related stuff to NotebookManager and dynamically load it
* Add New gallery callout and other UI tweaks
* Update test snapshot
* Create GenericPaneComponent and use it to migrate UploadItemsPane to React
* Add helper functions for building each panel section
* Address comments and some styling changes
* Unsubscribe to isNotificationConsoleExpanded when component unmounts