diff options
| author | DanConwayDev <DanConwayDev@protonmail.com> | 2024-11-27 07:56:34 +0000 |
|---|---|---|
| committer | DanConwayDev <DanConwayDev@protonmail.com> | 2024-11-27 07:56:34 +0000 |
| commit | 242601c972b7186ad380d301b7c12ce9d19aa959 (patch) | |
| tree | 55da0c00700a145ae9018320e15f48698eb08f3d /src | |
| parent | c92e252adc9990fa4d147bad0a8bccafc19dfbb8 (diff) | |
fix: add white border to qr codes
to improve machine readability
Diffstat (limited to 'src')
| -rw-r--r-- | src/lib/login/fresh.rs | 10 |
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 | ||
| 450 | pub fn generate_qr(data: &str) -> Result<Vec<String>> { | 450 | pub 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; |