fix: app dirs

This commit is contained in:
Kieran 2024-11-21 15:38:10 +00:00
parent e4cceef0cf
commit 0470f47460
No known key found for this signature in database
GPG Key ID: DE71CEB3925BE941
4 changed files with 69 additions and 6 deletions

48
Cargo.lock generated
View File

@ -1281,6 +1281,27 @@ dependencies = [
"subtle", "subtle",
] ]
[[package]]
name = "directories"
version = "5.0.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9a49173b84e034382284f27f1af4dcbbd231ffa358c0fe316541a7337f376a35"
dependencies = [
"dirs-sys",
]
[[package]]
name = "dirs-sys"
version = "0.4.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "520f05a5cbd335fae5a99ff7a6ab8627577660ee5cfd6a94a6a929b52ff0321c"
dependencies = [
"libc",
"option-ext",
"redox_users",
"windows-sys 0.48.0",
]
[[package]] [[package]]
name = "dispatch" name = "dispatch"
version = "0.2.0" version = "0.2.0"
@ -3177,6 +3198,12 @@ version = "0.1.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
[[package]]
name = "option-ext"
version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04744f49eae99ab78e0d5c0b603ab218f515ea8cfe5a456d7629ad883a3b6e7d"
[[package]] [[package]]
name = "orbclient" name = "orbclient"
version = "0.3.48" version = "0.3.48"
@ -3562,6 +3589,17 @@ dependencies = [
"bitflags 2.6.0", "bitflags 2.6.0",
] ]
[[package]]
name = "redox_users"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba009ff324d1fc1b900bd1fdb31564febe58a8ccc8a6fdbb93b543d33b13ca43"
dependencies = [
"getrandom",
"libredox",
"thiserror",
]
[[package]] [[package]]
name = "regex" name = "regex"
version = "1.11.0" version = "1.11.0"
@ -5227,6 +5265,15 @@ dependencies = [
"windows-targets 0.42.2", "windows-targets 0.42.2",
] ]
[[package]]
name = "windows-sys"
version = "0.48.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "677d2418bec65e3338edb076e806bc1ec15693c5d0104683f2efe857f61056a9"
dependencies = [
"windows-targets 0.48.5",
]
[[package]] [[package]]
name = "windows-sys" name = "windows-sys"
version = "0.52.0" version = "0.52.0"
@ -5574,6 +5621,7 @@ dependencies = [
"async-trait", "async-trait",
"bech32", "bech32",
"chrono", "chrono",
"directories",
"eframe", "eframe",
"egui", "egui",
"egui-video", "egui-video",

View File

@ -29,6 +29,7 @@ serde = { version = "1.0.214", features = ["derive"] }
serde_with = { version = "3.11.0", features = ["hex"] } serde_with = { version = "3.11.0", features = ["hex"] }
egui-video = { git = "https://github.com/v0l/egui-video.git", rev = "d2ea3b4db21eb870a207db19e4cd21c7d1d24836" } egui-video = { git = "https://github.com/v0l/egui-video.git", rev = "d2ea3b4db21eb870a207db19e4cd21c7d1d24836" }
directories = "5.0.1"
#egui-video = { path = "../egui-video" } #egui-video = { path = "../egui-video" }
[target.'cfg(not(target_os = "android"))'.dependencies] [target.'cfg(not(target_os = "android"))'.dependencies]

View File

@ -1,4 +1,7 @@
use anyhow::Result;
use directories::ProjectDirs;
use egui::{Margin, Vec2, ViewportBuilder}; use egui::{Margin, Vec2, ViewportBuilder};
use log::error;
use nostr_sdk::serde_json; use nostr_sdk::serde_json;
use serde::de::DeserializeOwned; use serde::de::DeserializeOwned;
use serde::Serialize; use serde::Serialize;
@ -10,19 +13,26 @@ use std::sync::{Arc, RwLock};
use zap_stream_app::app::{NativeLayerOps, ZapStreamApp}; use zap_stream_app::app::{NativeLayerOps, ZapStreamApp};
#[tokio::main] #[tokio::main]
async fn main() { async fn main() -> Result<()> {
pretty_env_logger::init(); pretty_env_logger::init();
let mut options = eframe::NativeOptions::default(); let mut options = eframe::NativeOptions::default();
options.viewport = ViewportBuilder::default().with_inner_size(Vec2::new(1300., 900.)); options.viewport = ViewportBuilder::default().with_inner_size(Vec2::new(1300., 900.));
let data_path = PathBuf::from("./.data"); let data_path = ProjectDirs::from("stream", "zap", "app")
.unwrap()
.config_dir()
.to_path_buf();
let config = DesktopApp::new(data_path.clone()); let config = DesktopApp::new(data_path.clone());
let _res = eframe::run_native( if let Err(e) = eframe::run_native(
"zap.stream", "zap.stream",
options, options,
Box::new(move |cc| Ok(Box::new(ZapStreamApp::new(cc, data_path, config)))), Box::new(move |cc| Ok(Box::new(ZapStreamApp::new(cc, data_path, config)))),
); ) {
error!("{}", e);
}
Ok(())
} }
#[derive(Clone)] #[derive(Clone)]

View File

@ -35,9 +35,13 @@ impl NostrWidget for WriteChat {
.load_bytes("send-03.svg", logo_bytes) .load_bytes("send-03.svg", logo_bytes)
.sense(Sense::click()) .sense(Sense::click())
.ui(ui) .ui(ui)
.clicked() || self.msg.ends_with('\n') .clicked()
|| self.msg.ends_with('\n')
{ {
if let Ok(ev) = services.login.write_live_chat_msg(&self.link, &self.msg.trim()) { if let Ok(ev) = services
.login
.write_live_chat_msg(&self.link, &self.msg.trim())
{
info!("Sending: {:?}", ev); info!("Sending: {:?}", ev);
services.broadcast_event(ev); services.broadcast_event(ev);
} }