aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2024-07-05 15:23:53 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2024-07-05 15:30:41 +0100
commit8c52d1f31ac6066e178de994fec42a11ce018fde (patch)
tree3081d3bb7e8ce0dccbbef1ffb96f8d56827351a0
parentdb13ee769d674d9fd8b30e79dca974ff93c018c4 (diff)
downloadviewercount-8c52d1f31ac6066e178de994fec42a11ce018fde.tar.gz
viewercount-8c52d1f31ac6066e178de994fec42a11ce018fde.tar.bz2
viewercount-8c52d1f31ac6066e178de994fec42a11ce018fde.zip
Print QRcode for nostrconnect URI
-rw-r--r--Cargo.lock7
-rw-r--r--Cargo.toml1
-rw-r--r--src/main.rs8
3 files changed, 16 insertions, 0 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 810b693..4438918 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1135,6 +1135,12 @@ dependencies = [
]
[[package]]
+name = "qrcode"
+version = "0.14.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23e719ca51966ff9f5a8436edb00d6115b3c606a0bb27c8f8ca74a38ff2b036d"
+
+[[package]]
name = "quote"
version = "1.0.36"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1760,6 +1766,7 @@ dependencies = [
"nostr-signer",
"pretty_env_logger",
"procfs",
+ "qrcode",
"serde",
"serde_json",
"tokio",
diff --git a/Cargo.toml b/Cargo.toml
index 3ecd886..8b9e8df 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -20,6 +20,7 @@ nostr-relay-pool = "0.32.0"
nostr-sdk = { version = "0.32.0", default-features = false }
nostr-signer = { version = "0.32.1", default-features = false, features = ["nip46"] }
pretty_env_logger = "0.5.0"
+qrcode = { version = "0.14.0", default-features = false }
serde = { version = "1.0.203", features = ["derive"] }
serde_json = "1.0.118"
tokio = { version = "1.38.0", features = ["rt-multi-thread", "signal", "time"] }
diff --git a/src/main.rs b/src/main.rs
index dcd28e6..dfbbc25 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -26,6 +26,7 @@ use nostr_sdk::{
use nostr_signer::{Nip46Signer, NostrSigner};
#[cfg(any(target_os = "linux", target_os = "android"))]
use procfs::net::TcpState;
+use qrcode::{render::unicode, QrCode};
use serde::{Deserialize, Serialize};
use serde_json::{from_reader, to_string};
#[cfg(unix)]
@@ -94,6 +95,13 @@ impl ClientData {
println!(
"Use your NIP46 signer app (e.g. Amber) to connect by using this URI:\n{uri}"
);
+ let code = QrCode::new(uri.clone()).unwrap();
+ let image = code
+ .render::<unicode::Dense1x2>()
+ .dark_color(unicode::Dense1x2::Light)
+ .light_color(unicode::Dense1x2::Dark)
+ .build();
+ println!("{}", image);
uri
}
};