mirror of
https://github.com/damus-io/notedeck.git
synced 2024-09-19 13:16:34 +00:00
allow multiple invocations of --sec
for multi-account Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
parent
b7366351b6
commit
2d10b20ae2
28
src/app.rs
28
src/app.rs
@ -14,7 +14,7 @@ use crate::ui::{self, AccountSelectionWidget, DesktopGlobalPopup};
|
|||||||
use crate::ui::{DesktopSidePanel, RelayView, View};
|
use crate::ui::{DesktopSidePanel, RelayView, View};
|
||||||
use crate::Result;
|
use crate::Result;
|
||||||
use egui_nav::{Nav, NavAction};
|
use egui_nav::{Nav, NavAction};
|
||||||
use enostr::{RelayPool, SecretKey};
|
use enostr::{Keypair, RelayPool, SecretKey};
|
||||||
use std::cell::RefCell;
|
use std::cell::RefCell;
|
||||||
use std::rc::Rc;
|
use std::rc::Rc;
|
||||||
|
|
||||||
@ -643,7 +643,7 @@ fn render_damus(damus: &mut Damus, ctx: &Context) {
|
|||||||
struct Args {
|
struct Args {
|
||||||
timelines: Vec<Timeline>,
|
timelines: Vec<Timeline>,
|
||||||
is_mobile: Option<bool>,
|
is_mobile: Option<bool>,
|
||||||
secret_key: Option<SecretKey>,
|
keys: Vec<Keypair>,
|
||||||
light: bool,
|
light: bool,
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -651,7 +651,7 @@ fn parse_args(args: &[String]) -> Args {
|
|||||||
let mut res = Args {
|
let mut res = Args {
|
||||||
timelines: vec![],
|
timelines: vec![],
|
||||||
is_mobile: None,
|
is_mobile: None,
|
||||||
secret_key: None,
|
keys: vec![],
|
||||||
light: false,
|
light: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -672,7 +672,9 @@ fn parse_args(args: &[String]) -> Args {
|
|||||||
res.light = true;
|
res.light = true;
|
||||||
} else if arg == "--dark" {
|
} else if arg == "--dark" {
|
||||||
res.light = false;
|
res.light = false;
|
||||||
} else if arg == "--sec" {
|
} else if arg == "--pub" || arg == "npub" {
|
||||||
|
// TODO: npub watch-only accounts
|
||||||
|
} else if arg == "--sec" || arg == "--nsec" {
|
||||||
i += 1;
|
i += 1;
|
||||||
let secstr = if let Some(next_arg) = args.get(i) {
|
let secstr = if let Some(next_arg) = args.get(i) {
|
||||||
next_arg
|
next_arg
|
||||||
@ -681,10 +683,13 @@ fn parse_args(args: &[String]) -> Args {
|
|||||||
continue;
|
continue;
|
||||||
};
|
};
|
||||||
|
|
||||||
res.secret_key = SecretKey::parse(secstr).ok();
|
if let Ok(sec) = SecretKey::parse(secstr) {
|
||||||
|
res.keys.push(Keypair::from_secret(sec));
|
||||||
if res.secret_key.is_none() {
|
} else {
|
||||||
error!("failed to parse --sec argument. Make sure to use hex or nsec.");
|
error!(
|
||||||
|
"failed to parse {} argument. Make sure to use hex or nsec.",
|
||||||
|
arg
|
||||||
|
);
|
||||||
}
|
}
|
||||||
} else if arg == "--filter" {
|
} else if arg == "--filter" {
|
||||||
i += 1;
|
i += 1;
|
||||||
@ -756,10 +761,9 @@ impl Damus {
|
|||||||
crate::key_storage::KeyStorage::None,
|
crate::key_storage::KeyStorage::None,
|
||||||
);
|
);
|
||||||
|
|
||||||
if let Some(secret) = parsed_args.secret_key {
|
for key in parsed_args.keys {
|
||||||
let keypair = enostr::Keypair::from_secret(secret);
|
info!("adding account: {}", key.pubkey);
|
||||||
info!("adding account: {}", keypair.pubkey);
|
account_manager.add_account(key);
|
||||||
account_manager.add_account(keypair);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Self {
|
Self {
|
||||||
|
Loading…
Reference in New Issue
Block a user