- Moved media related logic into notedeck instead of the ui crate, since they pertain to Images/ImageCache based systems - Made RenderableMedia owned to make it less of a nightmware to work with and the perf should be negligible - Added a ImageMetadata cache to Images. This is referenced whenever we encounter an image so we don't have to redo the work all of the time - Relpaced our ad-hoc, hand(vibe?)-coded panning and zoom logic with the Scene widget, which is explicitly designed for this use case - Extracted and detangle fullscreen media rendering from inside of note rendering. We instead let the application decide what action they want to perform when note media is clicked on. - We add an on_view_media action to MediaAction for the application to handle. The Columns app uses this toggle a FullscreenMedia app option bits whenever we get a MediaAction::ViewMedis(urls). Signed-off-by: William Casarin <jb55@jb55.com>
Notedeck Chrome
Notedeck Chrome is the UI framework and container for the Notedeck Nostr browser. It manages multiple applications within a single cohesive interface, providing a consistent navigation experience through a persistent sidebar.
Overview
Notedeck Chrome acts as the container for various applications within the Notedeck ecosystem, primarily:
- Columns - The main Nostr columns interface for viewing timelines and interactions
- Dave - An ai assistant
- Other - Anything else tbd
The Chrome component provides:
- A consistent, unified sidebar for navigation between applications
- Theme management (light/dark mode support)
- Profile picture and account management
- Settings access
- Wallet integration
Features
- Application Switching: Switch between Damus columns view and Dave seamlessly
- Theme Support: Toggle between light and dark modes
- Profile Management: Quick access to account settings
- Responsive Design: Compatible with desktop and mobile interfaces
- Android Support: Native support for Android devices
Future:
- Signer: Apps will be sandboxed from the users key
Development Status
Notedeck is currently in ALPHA. Expect bugs and please report any issues you encounter.
Building from Source
For build instructions, see the DEVELOPER.md file.
License
Licensed under GPLv3 - see the Cargo.toml file for details.
Authors
- William Casarin jb55@jb55.com
- kernelkind kernelkind@gmail.com