upleb.uk

Public git repos — served from a NIP-34 GRASP relay at git.upleb.uk

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDanConwayDev <DanConwayDev@protonmail.com>2024-11-27 07:56:34 +0000
committerDanConwayDev <DanConwayDev@protonmail.com>2024-11-27 07:56:34 +0000
commit242601c972b7186ad380d301b7c12ce9d19aa959 (patch)
tree55da0c00700a145ae9018320e15f48698eb08f3d /src
parentc92e252adc9990fa4d147bad0a8bccafc19dfbb8 (diff)
fix: add white border to qr codes
to improve machine readability
Diffstat (limited to 'src')
-rw-r--r--src/lib/login/fresh.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/lib/login/fresh.rs b/src/lib/login/fresh.rs
index 95c86a4..23c4bdc 100644
--- a/src/lib/login/fresh.rs
+++ b/src/lib/login/fresh.rs
@@ -449,16 +449,18 @@ pub async fn listen_for_remote_signer(
449 449
450pub fn generate_qr(data: &str) -> Result<Vec<String>> { 450pub fn generate_qr(data: &str) -> Result<Vec<String>> {
451 let mut lines = vec![]; 451 let mut lines = vec![];
452 let qr = 452 let qr = QrCode::new(data.as_bytes()).context("failed to create QR")?;
453 QrCode::new(data.as_bytes()).context("failed to create QR of nostrconnect login url")?;
454 let colors = qr.to_colors(); 453 let colors = qr.to_colors();
455 let rows: Vec<&[qrcode::Color]> = colors.chunks(qr.width()).collect(); 454 let mut rows: Vec<&[qrcode::Color]> = colors.chunks(qr.width()).collect();
455 let light_row = vec![qrcode::Color::Light; qr.width()];
456 rows.insert(0, &light_row);
457 rows.push(&light_row);
456 for (row, data) in rows.iter().enumerate() { 458 for (row, data) in rows.iter().enumerate() {
457 let odd = row % 2 != 0; 459 let odd = row % 2 != 0;
458 if odd { 460 if odd {
459 continue; 461 continue;
460 } 462 }
461 let mut line = String::new(); 463 let mut line = " ".to_string();
462 for (col, color) in data.iter().enumerate() { 464 for (col, color) in data.iter().enumerate() {
463 let top = color; 465 let top = color;
464 let mut bottom = qrcode::Color::Light; 466 let mut bottom = qrcode::Color::Light;