Commit Graph

56 Commits

Author SHA1 Message Date
William Casarin
51457a0260 android: update to latest winit/egui/android-activity
so we can start fixing this shit

Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-11 10:51:56 -07:00
kernelkind
a9f473e3c9 introduce NoteContext
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-08 14:57:32 -05:00
kernelkind
8e0e42a1f3 fix note content rects
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-07 18:04:12 -05:00
kernelkind
e7113b17a8 fix note context menu placement inside rect
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-07 18:04:12 -05:00
kernelkind
e2be2ddd58 fix context selection responses
closes: https://github.com/damus-io/notedeck/issues/574

Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-07 18:04:12 -05:00
William Casarin
e72a3f11fe Merge Cmd-Enter binding 2025-03-07 14:01:36 -08:00
William Casarin
23285e7d76 nevernest some note posting code
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 12:58:42 -08:00
William Casarin
4365839242 Revert driller
This reverts commit cec49c83bd.

Revert "update NoteContentsDriller to NoteContext"

This reverts commit 65bd6a65f9.

Revert "introduce the driller"

This reverts commit 95d618e7fe.
2025-03-07 12:53:34 -08:00
William Casarin
cec49c83bd fix formatting
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 12:36:26 -08:00
William Casarin
65bd6a65f9 update NoteContentsDriller to NoteContext
Signed-off-by: William Casarin <jb55@jb55.com>
2025-03-07 12:30:53 -08:00
kernelkind
95d618e7fe introduce the driller
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-07 12:07:24 -05:00
kernelkind
035aa20790 remove redudant arg
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-07 11:58:39 -05:00
Ethan Tuttle
0d251bda9f support Cmd+Enter for posting on macOS
Add support for Command key (macOS) in addition to Ctrl key for submitting posts via keyboard shortcut
2025-03-06 21:56:44 -05:00
kernelkind
e3eab0dfa8 user can explicitly close mention hints
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-03-02 15:05:48 -05:00
William Casarin
95affa2245 ui: fix bounciness when loading pfps
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-27 10:37:07 -08:00
kernelkind
7ca7dd156b fix video links not showing
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-26 16:09:39 -05:00
kernelkind
9d88ba1415 render gif in PostView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-25 16:49:00 -05:00
kernelkind
490dedfaf1 integrate gifs
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-25 16:49:00 -05:00
kernelkind
9592452757 URL mime hosted completeness
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-25 16:49:00 -05:00
kernelkind
33fdf647e3 migrate to using Images instead of MediaCache directly
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-25 16:49:00 -05:00
kernelkind
7c2b4775f1 move MediaCache rendering to render_media_cache call
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-25 16:49:00 -05:00
kernelkind
594ea0b42d Use TexturedImage in MediaCache
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-25 16:49:00 -05:00
kernelkind
4f4a0feb8c rename ImageCache -> MediaCache
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-25 16:49:00 -05:00
William Casarin
bd352f76d4 feat: add scramble flag for development text scrambling
This commit introduces a new scramble option to help reduce distractions
during development by scrambling text using rot13. When enabled via the
new `--scramble` flag, text displayed in various views is transformed,
making it easier to focus on layout and behavior without reading the
actual content.

App & Args Updates

  - Added a `scramble: bool` field to the main application state (in `app.rs`).

  - Extended argument parsing (in `args.rs`) to recognize the `--scramble` flag.

NoteOptions Enhancement

  - Introduced a new bit flag `scramble_text` in `NoteOptions` with
    corresponding setter/getter methods.

UI Adjustments

  - Propagated the scramble flag through note rendering functions across
    navigation, timeline, and note view modules.

  - Updated several UI components (e.g., in `nav.rs`, `route.rs`, and
    `contents.rs`) to accept and apply the new note options.

Rot13 Implementation

  - Implemented a helper function (`rot13`) to scramble text
    conditionally when the scramble option is enabled.

This feature is intended for development builds only, offering a way to
obscure text content during UI tweaks and testing.

Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-22 14:30:38 -08:00
William Casarin
c4b56a48af Merge ctrl-enter to post
Ethan Tuttle (1):
      feat: ctrl+enter when creating a new note, sends the note, the same way clicking the "Post Now" button.
2025-02-10 16:46:24 -08:00
Ethan Tuttle
8aaaa336e2 feat: ctrl+enter when creating a new note, sends the note, the same way clicking the "Post Now" button.
This button combination is common enough in "power user" apps for multiline input that I think this is a good default and could likely be configurable in the future.
2025-02-08 21:48:00 -05:00
kernelkind
0e21611645 cache LayoutJob
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
bc8ed2c642 color mentions in PostView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
c0662798a2 add PostView mentions UI
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
c1c4c1cc7a supply inner_rect for PostView
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-07 15:58:57 -05:00
kernelkind
7efb31c145 allow multiple media uploads per selection
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-02-06 15:55:53 -05:00
William Casarin
ac10c7e5b2 hashtags: click hashtags to open them
Fixes: https://github.com/damus-io/notedeck/issues/695
Fixes: https://github.com/damus-io/notedeck/issues/713
Changelog-Added: Add ability to click hashtags
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-05 18:43:09 -08:00
William Casarin
96481a47f3 pfp: remove border except for profile
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-03 19:45:32 -08:00
William Casarin
635c9770de Merge 'add border behind pfp' #597
Hello new contributor!

jglad (4):
      #597 add border behind pfp
      replace with full circle border
      make optional
      fix formatting
2025-02-03 19:34:10 -08:00
William Casarin
f8f3676450 clippy fixes
Signed-off-by: William Casarin <jb55@jb55.com>
2025-02-03 11:38:55 -08:00
jglad
cd72cc36e8 fix formatting 2025-01-31 08:41:25 +01:00
jglad
803f427f77 make optional 2025-01-30 19:14:02 +01:00
kernelkind
7abf1c9c15 ui: user can upload images
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-24 15:43:48 -05:00
kernelkind
1a0e232176 upload media button
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-24 15:43:48 -05:00
William Casarin
8fbe954cf3 adjust context menu/grip circle sizes
also adjust grip position so that it is more right
2025-01-15 13:48:53 -08:00
William Casarin
16b20568da Merge relay debug view
Fix a few conflicts
2025-01-04 13:54:29 -08:00
William Casarin
e1187c372f Merge profiling editing #625
Changelog-Added: Added profile editing
2025-01-04 13:18:31 -08:00
William Casarin
fe6206c546 Note multicasting
This is an initial implementation of note multicast, which sends posted
notes to other notedecks on the same network.

This came about after I nerd sniped myself thinking about p2p nostr on
local networks[1]

You can test this exclusively without joining any other relays by
passing -r multicast on the command line.

[1] https://damus.io/note1j50pseqwma38g3aqrsnhvld0m0ysdgppw6fjnvvcj0haeulgswgq80lpca

Signed-off-by: William Casarin <jb55@jb55.com>
2025-01-04 10:37:11 -08:00
kernelkind
a7cfe9bd37 refactor DisplayName -> NostrName
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-03 18:39:35 -05:00
kernelkind
2dde3034a1 refactor profile
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-01-03 18:39:35 -05:00
William Casarin
fcac49a0a5 previews: run previews as notedeck apps
This allows ./preview to be a notedeck app runner. I am currently
using it for the ProfilePic app (which will because notedeck_viz)

Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-20 15:39:26 -08:00
William Casarin
cb2330abac refactor: move reply_desc into its own file
it's grown up enough now to deserve that at least
2024-12-19 07:58:43 -08:00
William Casarin
5449d6ceb5 note: options: streamline bit macro
Include has method in the bit note options macro
2024-12-19 07:49:56 -08:00
William Casarin
09d6568ef9 ui: make reply description mentions clickable
Small oversight from previous changes
2024-12-18 14:55:11 -08:00
William Casarin
4967f64bb6 ui: show note previews when hovering reply descriptions
Preview: https://cdn.jb55.com/s/bef26a2caf09e952.png
Demo: https://cdn.jb55.com/s/hover-preview-2.mp4

Changelog-Added: Show note previews when hovering reply descriptions
Signed-off-by: William Casarin <jb55@jb55.com>
2024-12-17 14:43:46 -08:00