send contact list event on account creation
Signed-off-by: kernelkind <kernelkind@gmail.com>
This commit is contained in:
@@ -1,10 +1,11 @@
|
|||||||
use enostr::{FullKeypair, Pubkey};
|
use enostr::{FullKeypair, Pubkey, RelayPool};
|
||||||
use nostrdb::{Ndb, Transaction};
|
use nostrdb::{Ndb, Transaction};
|
||||||
|
|
||||||
use notedeck::{Accounts, Images, SingleUnkIdAction, UnknownIds};
|
use notedeck::{Accounts, Images, SingleUnkIdAction, UnknownIds};
|
||||||
|
|
||||||
use crate::app::get_active_columns_mut;
|
use crate::app::get_active_columns_mut;
|
||||||
use crate::decks::DecksCache;
|
use crate::decks::DecksCache;
|
||||||
|
use crate::profile::send_new_contact_list;
|
||||||
use crate::{
|
use crate::{
|
||||||
login_manager::AcquireKeyState,
|
login_manager::AcquireKeyState,
|
||||||
route::Route,
|
route::Route,
|
||||||
@@ -70,6 +71,7 @@ pub fn render_accounts_route(
|
|||||||
decks: &mut DecksCache,
|
decks: &mut DecksCache,
|
||||||
login_state: &mut AcquireKeyState,
|
login_state: &mut AcquireKeyState,
|
||||||
clipboard: &mut Clipboard,
|
clipboard: &mut Clipboard,
|
||||||
|
pool: &mut RelayPool,
|
||||||
route: AccountsRoute,
|
route: AccountsRoute,
|
||||||
) -> AddAccountAction {
|
) -> AddAccountAction {
|
||||||
let resp = match route {
|
let resp = match route {
|
||||||
@@ -94,7 +96,7 @@ pub fn render_accounts_route(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
AccountsRouteResponse::AddAccount(response) => {
|
AccountsRouteResponse::AddAccount(response) => {
|
||||||
let action = process_login_view_response(accounts, decks, col, response);
|
let action = process_login_view_response(accounts, decks, col, ndb, pool, response);
|
||||||
*login_state = Default::default();
|
*login_state = Default::default();
|
||||||
let router = get_active_columns_mut(accounts, decks)
|
let router = get_active_columns_mut(accounts, decks)
|
||||||
.column_mut(col)
|
.column_mut(col)
|
||||||
@@ -143,13 +145,16 @@ pub fn process_login_view_response(
|
|||||||
manager: &mut Accounts,
|
manager: &mut Accounts,
|
||||||
decks: &mut DecksCache,
|
decks: &mut DecksCache,
|
||||||
col: usize,
|
col: usize,
|
||||||
|
ndb: &Ndb,
|
||||||
|
pool: &mut RelayPool,
|
||||||
response: AccountLoginResponse,
|
response: AccountLoginResponse,
|
||||||
) -> AddAccountAction {
|
) -> AddAccountAction {
|
||||||
let (r, pubkey) = match response {
|
let (r, pubkey) = match response {
|
||||||
AccountLoginResponse::CreateNew => {
|
AccountLoginResponse::CreateNew => {
|
||||||
let kp = FullKeypair::generate().to_keypair();
|
let kp = FullKeypair::generate();
|
||||||
let pubkey = kp.pubkey;
|
let pubkey = kp.pubkey;
|
||||||
(manager.add_account(kp), pubkey)
|
send_new_contact_list(kp.to_filled(), ndb, pool);
|
||||||
|
(manager.add_account(kp.to_keypair()), pubkey)
|
||||||
}
|
}
|
||||||
AccountLoginResponse::LoginWith(keypair) => {
|
AccountLoginResponse::LoginWith(keypair) => {
|
||||||
let pubkey = keypair.pubkey;
|
let pubkey = keypair.pubkey;
|
||||||
|
|||||||
@@ -480,6 +480,7 @@ fn render_nav_body(
|
|||||||
&mut app.decks_cache,
|
&mut app.decks_cache,
|
||||||
&mut app.view_state.login,
|
&mut app.view_state.login,
|
||||||
ctx.clipboard,
|
ctx.clipboard,
|
||||||
|
ctx.pool,
|
||||||
*amr,
|
*amr,
|
||||||
);
|
);
|
||||||
let txn = Transaction::new(ctx.ndb).expect("txn");
|
let txn = Transaction::new(ctx.ndb).expect("txn");
|
||||||
|
|||||||
@@ -205,6 +205,12 @@ fn send_note_builder(builder: NoteBuilder, ndb: &Ndb, pool: &mut RelayPool, kp:
|
|||||||
pool.send(&enostr::ClientMessage::raw(raw_msg));
|
pool.send(&enostr::ClientMessage::raw(raw_msg));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn send_new_contact_list(kp: FilledKeypair, ndb: &Ndb, pool: &mut RelayPool) {
|
||||||
|
let builder = construct_new_contact_list(kp.pubkey);
|
||||||
|
|
||||||
|
send_note_builder(builder, ndb, pool, kp);
|
||||||
|
}
|
||||||
|
|
||||||
fn construct_new_contact_list<'a>(pk: &'a Pubkey) -> NoteBuilder<'a> {
|
fn construct_new_contact_list<'a>(pk: &'a Pubkey) -> NoteBuilder<'a> {
|
||||||
NoteBuilder::new()
|
NoteBuilder::new()
|
||||||
.content("")
|
.content("")
|
||||||
|
|||||||
Reference in New Issue
Block a user