chrome: fix settings view

restore some chrome panel actions

Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
William Casarin
2025-04-07 16:36:23 -04:00
parent 6dc68436e9
commit 72312179d4
3 changed files with 64 additions and 2 deletions

View File

@@ -36,6 +36,17 @@ impl Default for DecksCache {
}
impl DecksCache {
/// Gets the first column in the currently active user's active deck
pub fn first_column_mut(&mut self, accounts: &notedeck::Accounts) -> Option<&mut Column> {
let Some(account) = accounts.get_selected_account() else {
return None;
};
self.decks_mut(&account.key.pubkey)
.active_deck_mut()
.and_then(|ad| ad.columns_mut().columns_mut().first_mut())
}
pub fn new(mut account_to_decks: HashMap<Pubkey, Decks>) -> Self {
let fallback_pubkey = FALLBACK_PUBKEY();
account_to_decks.entry(fallback_pubkey).or_default();
@@ -179,6 +190,19 @@ impl Decks {
&self.decks
}
pub fn active_deck_mut(&mut self) -> Option<&mut Deck> {
if self.decks.is_empty() {
return None;
}
let active = self.active_index();
if active > (self.decks.len() - 1) {
return None;
}
Some(&mut self.decks[active])
}
pub fn decks_mut(&mut self) -> &mut Vec<Deck> {
&mut self.decks
}

View File

@@ -41,5 +41,6 @@ pub mod storage;
pub use app::Damus;
pub use error::Error;
pub use profile::NostrName;
pub use route::Route;
pub type Result<T> = std::result::Result<T, error::Error>;