William Casarin
0087fe7dff
media/viewer: slower animation
...
so you can actually see whats going on
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-28 16:37:53 -07:00
William Casarin
51f7744149
media/viewer: fullscreen transition animations
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-28 16:12:29 -07:00
William Casarin
6d393c9c37
media/viewer: provide image-click provenance
...
We will be using this for transitions
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-28 14:19:03 -07:00
William Casarin
590ffa0680
media/viewer: click anywhere to close
...
this should help mobile ...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-28 12:10:00 -07:00
William Casarin
3d18db8fd2
Fullscreen MediaViewer refactor
...
- 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 >
2025-07-28 08:57:57 -07:00
William Casarin
96ab4ee681
ui/note: fix another reply_desc wrapping issue
...
CI / Rustfmt + Clippy (push) Has been cancelled
CI / Check (android) (push) Has been cancelled
CI / Test (Linux) (push) Has been cancelled
CI / Test (macOS) (push) Has been cancelled
CI / Test (Windows) (push) Has been cancelled
CI / rpm/deb (aarch64) (push) Has been cancelled
CI / rpm/deb (x86_64) (push) Has been cancelled
CI / macOS dmg (aarch64) (push) Has been cancelled
CI / macOS dmg (x86_64) (push) Has been cancelled
CI / Windows Installer (aarch64) (push) Has been cancelled
CI / Windows Installer (x86_64) (push) Has been cancelled
CI / Upload Artifacts to Server (push) Has been cancelled
Fixes: https://github.com/damus-io/notedeck/issues/892
Changelog-Fixed: Fix another wrapping issue
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-25 12:12:25 -07:00
William Casarin
009b4cf6b0
images: always resize large images
...
Fixes: https://github.com/damus-io/notedeck/issues/451
Fixes: https://linear.app/damus/issue/DECK-556/resize-images-to-device-screen-size
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-25 10:52:27 -07:00
William Casarin
8f63546524
ui: wrap reply description
...
This is similar to our fix in:
- Fixes: ee85b754dd ("Fix text wrapping issues")
Where removing the ui.horizontal call fixes subsequent main wrap layout
issues. It's still not clear to me where wrap state is getting mutated
where it would affect subsequent ui calls...
Fixes: https://github.com/damus-io/notedeck/issues/892
Changelog-Fixed: Fixed wrapping issues in Notes & Replies timeslines
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-24 09:11:12 -07:00
William Casarin
90975180f5
ui/replydesc: quick TextSegment cleanup/optimize
...
most a micro-optimize + cleanup
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-24 09:03:47 -07:00
William Casarin
f9f8b3fe1b
Merge remote-tracking branch 'github/pr/1023'
2025-07-23 12:31:51 -07:00
William Casarin
fe30704496
Merge remote-tracking branch 'fernando/feat/settings-view'
2025-07-23 12:00:29 -07:00
William Casarin
e997f1bf68
ui/note: make buttons larger
...
Changelog-Changed: Make buttons larger
Fixes: https://github.com/damus-io/notedeck/issues/879
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-23 11:49:06 -07:00
William Casarin
ff0428550b
fix missing zap button
...
Changelog-Fixed: Fix missing zap button
Fixes: 397bfce817 ("add `Accounts` to `NoteContext`")
Fixes: https://github.com/damus-io/notedeck/issues/1021
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-23 11:49:03 -07:00
Fernando López Guevara
da6ede5f69
feat(settings): add settings view
2025-07-23 15:33:17 -03:00
William Casarin
56cbf68ea5
ui/note: small refactor to use returns instead of break
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-23 09:39:05 -07:00
William Casarin
f722a58d66
Merge new Accounts button to chrome sidebar by kernel #994
...
kernelkind (3):
use saturating sub
add new Accounts button to chrome sidebar
add ChromePanelAction::Profile & use for pfp
2025-07-23 09:13:49 -07:00
William Casarin
088704a768
Merge media swipe nav from fernando #1010
...
Fernando López Guevara (1):
feat(full-screen-media): add swipe navigation
2025-07-23 09:09:04 -07:00
William Casarin
3d4db820b4
i18n: make localization context non-global
...
- Simplify Localization{Context,Manager} to just Localization
- Fixed a bunch of lifetime issueo
- Removed all Arcs and Locks
- Removed globals
* widgets now need access to &mut Localization for i18n
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-22 09:49:32 -07:00
3f5036bd32
Internationalize user-facing strings and export them for translations
...
Changelog-Added: Internationalized user-facing strings and exported them for translations
Signed-off-by: Terry Yiu <git@tyiu.xyz >
2025-07-21 12:45:29 -07:00
William Casarin
c94a418474
media/trust: always show if its yourself
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-20 16:54:34 -07:00
Fernando López Guevara
ed38c75193
feat(full-screen-media): add swipe navigation
2025-07-18 13:46:25 -03:00
William Casarin
8a1398face
clippy fixes
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-17 13:54:43 -07:00
William Casarin
a4c1b38116
introduce HybridFilter
...
This introduces a new filter construct called HybridFilter. This allows
filters to have different remote filter than local ones. For example,
adding kind0 to the remote for keeping profiles up to date on your
timeline, but only subscribing to kind1 locally.
Only home/contact filters use this feature for now.
Fixes: https://github.com/damus-io/notedeck/issues/995
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-17 13:54:43 -07:00
kernelkind
45490c918d
add new Accounts button to chrome sidebar
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-17 15:23:32 -04:00
William Casarin
99646f8ff5
ui/mention: fix weird mention text size
...
Fixes: https://github.com/damus-io/notedeck/issues/975
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-16 17:36:35 -07:00
Fernando López Guevara
4bf75c95de
feat(note-view): show note client
2025-07-16 17:09:59 -03:00
William Casarin
953848ff9a
anim: reduce gif fps
...
it's brrrring my cpu on my 240hz monitor. we don't need 240hz gifs...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-16 10:07:37 -07:00
William Casarin
461665f599
ui: remove show_pointer
...
This can just be achieved by on_hover_cursor
Didn't realize this.
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-16 09:17:27 -07:00
William Casarin
a517bc69bc
Merge is_following fixes from kernel
...
kernelkind (4):
add `Accounts` to `NoteContext`
remove `MuteFun` prop
make `Contacts::is_following` use bytes instead of `Pubkey`
migrate to check following through `Contacts::is_following`
2025-07-16 08:50:58 -07:00
William Casarin
e2d79af632
Merge remote-tracking branch 'fernando/feat/full-screen-media-dots'
2025-07-16 08:31:57 -07:00
Fernando López Guevara
44da10dc88
fix(profile): split always
2025-07-16 11:01:13 -03:00
Fernando López Guevara
8e218a1eb1
feat(full-screen-media): add image URL in top bar and navigation dots in bottom bar
2025-07-16 09:30:58 -03:00
Fernando López Guevara
ac85bdc21d
feat(profile-view): split nip05 when is_narrow
2025-07-15 14:42:43 -07:00
William Casarin
23d02a9dd2
note/options: remove redundant has function
...
there is a contains function generated by the bitflags macro
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 14:35:14 -07:00
William Casarin
fa545bc077
ui/note: fix weird ... placement regression
...
Fixes: c402320ad3 ("ui: fix broken note previews")
Fixes: https://github.com/damus-io/notedeck/issues/974
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 14:33:46 -07:00
William Casarin
4e3fcad709
ui/note: show full link type in unhandled mentions
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-15 08:28:33 -07:00
kernelkind
efae62024e
migrate to check following through Contacts::is_following
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-14 21:34:33 -04:00
kernelkind
397bfce817
add Accounts to NoteContext
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-14 21:34:02 -04:00
William Casarin
c4084c4117
note_follows: remove unneeded derefence
...
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-14 14:16:05 -07:00
William Casarin
e4ca67127e
Merge unknown profile improvements by kernel #955
...
kernelkind (1):
allow body on unknown profile
2025-07-14 14:10:18 -07:00
William Casarin
c402320ad3
ui: fix broken note previews
...
Also made the options more clear
Fixes: https://github.com/damus-io/notedeck/issues/959
Fixes: b6348b1507 ("note/options: simplify flag logic")
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-14 14:05:41 -07:00
kernelkind
8c71e154f4
allow body on unknown profile
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-14 15:26:07 -04:00
William Casarin
96cb5e26ce
Merge follow/unfollow from kernel
...
Jakub Gladysz (1):
ui: add follow button
kernelkind (14):
bump nostrdb
move polling responsibility to `AccountData`
`AccountData`: decouple query from constructor
add constructor for `AccountData`
add `Contacts`
use `Contacts` in `AccountData`
expose `AccountSubs`
Unify sub for contacts in accounts & timeline
move `styled_button_toggleable` to notedeck_ui
construct NoteBuilder from existing note
send kind 3 event
add actions for follow/unfollow
add UI for (un)follow
send contact list event on account creation
2025-07-11 13:06:24 -07:00
William Casarin
26d027f03e
nav: nav to accounts view for actions that require key
...
Fixes: https://github.com/damus-io/notedeck/issues/936
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 16:17:08 -07:00
William Casarin
605f6f4711
android: hide new post button when navigating
...
Fixes: https://github.com/damus-io/notedeck/issues/898
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 15:45:33 -07:00
William Casarin
b6348b1507
note/options: simplify flag logic
...
simpler, less macro magic
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 14:29:56 -07:00
William Casarin
41053dd5a5
ui/carousel: refactor to use indices
...
This refactors our carousel control a bit, it was getting
messy
Signed-off-by: William Casarin <jb55@jb55.com >
2025-07-10 12:09:30 -07:00
Jakub Gladysz
cc541cd4ff
ui: add follow button
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
Co-authored-by: Jakub Gladysz <jakub.gladysz@protonmail.com >
Co-authored-by: William Casarin <jb55@jb55.com >
2025-07-10 13:47:21 -04:00
kernelkind
8a77ba5f8f
move styled_button_toggleable to notedeck_ui
...
Signed-off-by: kernelkind <kernelkind@gmail.com >
2025-07-10 13:47:19 -04:00
William Casarin
e97574fcdc
Merge remote-tracking branch 'github/pr/916'
2025-07-10 09:16:17 -07:00