- 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>
61 lines
1.7 KiB
TOML
61 lines
1.7 KiB
TOML
[package]
|
|
name = "notedeck"
|
|
version = { workspace = true }
|
|
edition = "2021"
|
|
description = "The APIs and data structures used by notedeck apps"
|
|
|
|
[dependencies]
|
|
nostrdb = { workspace = true }
|
|
jni = { workspace = true }
|
|
url = { workspace = true }
|
|
strum = { workspace = true }
|
|
blurhash = { workspace = true }
|
|
strum_macros = { workspace = true }
|
|
dirs = { workspace = true }
|
|
enostr = { workspace = true }
|
|
nostr = { workspace = true }
|
|
egui = { workspace = true }
|
|
egui_extras = { workspace = true }
|
|
eframe = { workspace = true }
|
|
image = { workspace = true }
|
|
base32 = { workspace = true }
|
|
poll-promise = { workspace = true }
|
|
tracing = { workspace = true }
|
|
uuid = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
serde = { workspace = true }
|
|
hex = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
puffin = { workspace = true, optional = true }
|
|
puffin_egui = { workspace = true, optional = true }
|
|
sha2 = { workspace = true }
|
|
bincode = { workspace = true }
|
|
ehttp = {workspace = true }
|
|
mime_guess = { workspace = true }
|
|
egui-winit = { workspace = true }
|
|
tokenator = { workspace = true }
|
|
profiling = { workspace = true }
|
|
nwc = { workspace = true }
|
|
tokio = { workspace = true }
|
|
bech32 = { workspace = true }
|
|
lightning-invoice = { workspace = true }
|
|
secp256k1 = { workspace = true }
|
|
hashbrown = { workspace = true }
|
|
fluent = { workspace = true }
|
|
fluent-resmgr = { workspace = true }
|
|
fluent-langneg = { workspace = true }
|
|
unic-langid = { workspace = true }
|
|
once_cell = { workspace = true }
|
|
md5 = { workspace = true }
|
|
regex = "1"
|
|
|
|
[dev-dependencies]
|
|
tempfile = { workspace = true }
|
|
tokio = { workspace = true }
|
|
|
|
[target.'cfg(target_os = "android")'.dependencies]
|
|
jni = { workspace = true }
|
|
|
|
[features]
|
|
puffin = ["puffin_egui", "dep:puffin"]
|