diff options
author | sommerfeld <sommerfeld@sommerfeld.dev> | 2024-07-05 15:23:53 +0100 |
---|---|---|
committer | sommerfeld <sommerfeld@sommerfeld.dev> | 2024-07-05 15:30:41 +0100 |
commit | 8c52d1f31ac6066e178de994fec42a11ce018fde (patch) | |
tree | 3081d3bb7e8ce0dccbbef1ffb96f8d56827351a0 | |
parent | db13ee769d674d9fd8b30e79dca974ff93c018c4 (diff) | |
download | viewercount-8c52d1f31ac6066e178de994fec42a11ce018fde.tar.gz viewercount-8c52d1f31ac6066e178de994fec42a11ce018fde.tar.bz2 viewercount-8c52d1f31ac6066e178de994fec42a11ce018fde.zip |
Print QRcode for nostrconnect URI
-rw-r--r-- | Cargo.lock | 7 | ||||
-rw-r--r-- | Cargo.toml | 1 | ||||
-rw-r--r-- | src/main.rs | 8 |
3 files changed, 16 insertions, 0 deletions
@@ -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", @@ -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 } }; |