Commit Graph

11 Commits

Author SHA1 Message Date
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
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
8a1398face clippy fixes
Signed-off-by: William Casarin <jb55@jb55.com>
2025-07-17 13:54:43 -07:00
kernelkind
b2abe495ca implement blurring
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:57:57 -04:00
kernelkind
def9de0dc0 images: make promise payload optional to take easily
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:38 -04:00
kernelkind
d204db4b29 images: make MediaCache hold MediaCacheType
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:34 -04:00
kernelkind
7f01f3623d add TexturesCache
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:29 -04:00
kernelkind
faec75e1b6 images: move fetch to fn
Signed-off-by: kernelkind <kernelkind@gmail.com>
2025-05-04 12:56:26 -04:00
William Casarin
8af80d7d10 ui: move note and profile rendering to notedeck_ui
We want to render notes in other apps like dave, so lets move
our note rendering to notedeck_ui. We rework NoteAction so it doesn't
have anything specific to notedeck_columns

Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-17 12:34:43 -07:00
William Casarin
8472a9b643 log: silence gif log
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-17 07:47:11 -07:00
William Casarin
9c9b4199f5 ui crate and chrome sidebar
Signed-off-by: William Casarin <jb55@jb55.com>
2025-04-14 11:29:01 -07:00