mirror of
https://github.com/aljazceru/notedeck.git
synced 2026-01-14 05:44:20 +01:00
Updated navigation to use a custom title renderer for more flexible rendering of navigation titles. This change decouples the rendering logic from predefined formats, enabling dynamic title compositions based on application context and data. This includes: - Refactoring `NavResponse` to introduce `NotedeckNavResponse` for handling unified navigation response data. - Adding `NavTitle` in `ui/column/header.rs` to handle rendering of navigation titles and profile images dynamically. - Updating route and timeline logic to support new rendering pipeline. - Replacing hardcoded title rendering with data-driven approaches. Benefits: - Simplifies navigation handling by consolidating title and action management. - Improves scalability for new navigation features without modifying core logic. - Enhances visual customization capabilities. Signed-off-by: William Casarin <jb55@jb55.com>
150 lines
5.1 KiB
TOML
150 lines
5.1 KiB
TOML
[package]
|
|
name = "notedeck"
|
|
version = "0.2.0"
|
|
authors = ["William Casarin <jb55@jb55.com>"]
|
|
edition = "2021"
|
|
default-run = "notedeck"
|
|
#rust-version = "1.60"
|
|
license = "GPLv3"
|
|
description = "A multiplatform nostr client"
|
|
|
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
|
|
|
[lib]
|
|
crate-type = ["lib", "cdylib"]
|
|
|
|
[workspace.dependencies]
|
|
egui = { git = "https://github.com/emilk/egui", rev = "fcb7764e48ce00f8f8e58da10f937410d65b0bfb", features = ["serde"] }
|
|
eframe = { git = "https://github.com/emilk/egui", rev = "fcb7764e48ce00f8f8e58da10f937410d65b0bfb", package = "eframe", default-features = false, features = [ "wgpu", "wayland", "x11", "android-native-activity" ] }
|
|
egui_extras = { git = "https://github.com/emilk/egui", rev = "fcb7764e48ce00f8f8e58da10f937410d65b0bfb", package = "egui_extras", features = ["all_loaders"] }
|
|
nostrdb = { git = "https://github.com/damus-io/nostrdb-rs", rev = "71154e4100775f6932ee517da4350c433ba14ec7" }
|
|
|
|
[dependencies]
|
|
#egui-android = { git = "https://github.com/jb55/egui-android.git" }
|
|
egui = { workspace = true }
|
|
eframe = { workspace = true }
|
|
egui_extras = { workspace = true }
|
|
ehttp = "0.2.0"
|
|
egui_tabs = { git = "https://github.com/damus-io/egui-tabs", branch = "egui-0.28" }
|
|
egui_nav = { git = "https://github.com/damus-io/egui-nav", rev = "867fb6e057a4cc0a13716d59d6d332a4c90607ea" }
|
|
egui_virtual_list = { git = "https://github.com/jb55/hello_egui", branch = "egui-0.28", package = "egui_virtual_list" }
|
|
reqwest = { version = "0.12.4", default-features = false, features = [ "rustls-tls-native-roots" ] }
|
|
image = { version = "0.25", features = ["jpeg", "png", "webp"] }
|
|
log = "0.4.17"
|
|
poll-promise = { version = "0.3.0", features = ["tokio"] }
|
|
serde_derive = "1"
|
|
serde = { version = "1", features = ["derive"] } # You only need this if you want app persistence
|
|
tracing = "0.1.40"
|
|
#wasm-bindgen = "0.2.83"
|
|
nostrdb = { workspace = true }
|
|
#nostrdb = { path = "/Users/jb55/dev/github/damus-io/nostrdb-rs" }
|
|
#nostrdb = "0.3.4"
|
|
enostr = { path = "enostr" }
|
|
serde_json = "1.0.89"
|
|
env_logger = "0.10.0"
|
|
puffin_egui = { version = "0.27.0", optional = true }
|
|
puffin = { version = "0.19.0", optional = true }
|
|
hex = "0.4.3"
|
|
base32 = "0.4.0"
|
|
strum = "0.26"
|
|
strum_macros = "0.26"
|
|
bitflags = "2.5.0"
|
|
uuid = { version = "1.10.0", features = ["v4"] }
|
|
indexmap = "2.6.0"
|
|
dirs = "5.0.1"
|
|
tracing-appender = "0.2.3"
|
|
urlencoding = "2.1.3"
|
|
open = "5.3.0"
|
|
url = "2.5"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.13.0"
|
|
|
|
[target.'cfg(target_os = "macos")'.dependencies]
|
|
security-framework = "2.11.0"
|
|
|
|
|
|
[features]
|
|
default = []
|
|
profiling = ["puffin", "puffin_egui", "eframe/puffin"]
|
|
debug-widget-callstack = ["egui/callstack"]
|
|
debug-interactive-widgets = []
|
|
|
|
[profile.small]
|
|
inherits = 'release'
|
|
opt-level = 'z' # Optimize for size
|
|
lto = true # Enable link-time optimization
|
|
codegen-units = 1 # Reduce number of codegen units to increase optimizations
|
|
panic = 'abort' # Abort on panic
|
|
strip = true # Strip symbols from binary*
|
|
|
|
# web:
|
|
[target.'cfg(target_arch = "wasm32")'.dependencies]
|
|
console_error_panic_hook = "0.1.6"
|
|
tracing-wasm = "0.2"
|
|
wasm-bindgen-futures = "0.4"
|
|
|
|
# native:
|
|
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
|
tokio = { version = "1.16", features = ["macros", "rt-multi-thread", "fs"] }
|
|
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
|
|
|
|
|
|
[target.'cfg(target_os = "android")'.dependencies]
|
|
android_logger = "0.11.1"
|
|
android-activity = { version = "0.4", features = [ "native-activity" ] }
|
|
#winit = "0.28.6"
|
|
winit = { version = "0.29", features = [ "android-native-activity" ] }
|
|
#winit = { git="https://github.com/rust-windowing/winit.git", rev = "2a58b785fed2a3746f7c7eebce95bce67ddfd27c", features = ["android-native-activity"] }
|
|
|
|
[package.metadata.bundle]
|
|
identifier = "com.damus.notedeck"
|
|
icon = ["assets/app_icon.icns"]
|
|
|
|
[package.metadata.android]
|
|
package = "com.damus.app"
|
|
apk_name = "damus"
|
|
#assets = "assets"
|
|
|
|
[[package.metadata.android.uses_feature]]
|
|
name = "android.hardware.vulkan.level"
|
|
required = true
|
|
version = 1
|
|
|
|
[[package.metadata.android.uses_permission]]
|
|
name = "android.permission.WRITE_EXTERNAL_STORAGE"
|
|
max_sdk_version = 18
|
|
|
|
[[package.metadata.android.uses_permission]]
|
|
name = "android.permission.READ_EXTERNAL_STORAGE"
|
|
max_sdk_version = 18
|
|
|
|
[package.metadata.android.signing.release]
|
|
path = "damus.keystore"
|
|
keystore_password = "damuskeystore"
|
|
|
|
[[package.metadata.android.uses_permission]]
|
|
name = "android.permission.INTERNET"
|
|
|
|
[package.metadata.android.application]
|
|
label = "Damus"
|
|
|
|
[package.metadata.generate-rpm]
|
|
assets = [
|
|
{ source = "target/release/notedeck", dest = "/usr/bin/notedeck", mode = "755" },
|
|
]
|
|
|
|
[[bin]]
|
|
name = "notedeck"
|
|
path = "src/bin/notedeck.rs"
|
|
|
|
[[bin]]
|
|
name = "ui_preview"
|
|
path = "src/ui_preview/main.rs"
|
|
|
|
[patch.crates-io]
|
|
egui = { git = "https://github.com/emilk/egui", rev = "fcb7764e48ce00f8f8e58da10f937410d65b0bfb" }
|
|
eframe = { git = "https://github.com/emilk/egui", rev = "fcb7764e48ce00f8f8e58da10f937410d65b0bfb", package = "eframe" }
|
|
emath = { git = "https://github.com/emilk/egui", rev = "fcb7764e48ce00f8f8e58da10f937410d65b0bfb", package = "emath" }
|
|
egui_extras = { git = "https://github.com/emilk/egui", rev = "fcb7764e48ce00f8f8e58da10f937410d65b0bfb", package = "egui_extras" }
|