From 242601c972b7186ad380d301b7c12ce9d19aa959 Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Wed, 27 Nov 2024 07:56:34 +0000 Subject: fix: add white border to qr codes to improve machine readability --- src/lib/login/fresh.rs | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'src/lib') 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( pub fn generate_qr(data: &str) -> Result> { let mut lines = vec![]; - let qr = - QrCode::new(data.as_bytes()).context("failed to create QR of nostrconnect login url")?; + let qr = QrCode::new(data.as_bytes()).context("failed to create QR")?; let colors = qr.to_colors(); - let rows: Vec<&[qrcode::Color]> = colors.chunks(qr.width()).collect(); + let mut rows: Vec<&[qrcode::Color]> = colors.chunks(qr.width()).collect(); + let light_row = vec![qrcode::Color::Light; qr.width()]; + rows.insert(0, &light_row); + rows.push(&light_row); for (row, data) in rows.iter().enumerate() { let odd = row % 2 != 0; if odd { continue; } - let mut line = String::new(); + let mut line = " ".to_string(); for (col, color) in data.iter().enumerate() { let top = color; let mut bottom = qrcode::Color::Light; -- cgit v1.2.3