Files
notedeck/crates/notedeck_chrome
William Casarin ccc188c0ae chrome: greatly improve soft-keyboard visibility & layout handling
This reworks how we detect and respond to the on-screen keyboard so inputs
don’t get buried and the UI doesn’t “jump”.

- Add SoftKeyboardAnim + AnimState FSM for smooth IME open/close animation
- Centralize logic in keyboard_visibility() with clear edge states
- Animate keyboard height via animate_value_with_time instead of layer
  transforms
- Add ChromeOptions::KeyboardVisibility flag when focused input would be
  occluded
- Add SidebarOptions::Compact to collapse sidebar while typing
- Hide mobile toolbar when keyboard is open (columns app)
- Use .stick_to_bottom(true) in reply + profile editors; remove old spacer hack
- Virtual keyboard toggle moved to F1 in Debug builds
- Introduce SoftKeyboardContext::platform(ctx) helper
- Cleanup dead/commented code and wire up soft_kb_anim_state in Chrome

Result: inputs stay visible, open/close is smooth, and UI adjusts gracefully
when typing.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-08-20 15:28:28 -07:00
..
2025-08-08 13:19:39 -07:00
2025-04-21 13:31:47 -07:00
2025-07-17 14:52:26 -07:00

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