Skip to content

Commit

Permalink
refactored slightly
Browse files Browse the repository at this point in the history
  • Loading branch information
casperstorm committed Jul 6, 2023
1 parent e3bbcee commit 2fae34e
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 14 deletions.
5 changes: 2 additions & 3 deletions data/src/client.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ pub enum State {
#[derive(Debug)]
pub enum Brodcast {
Quit(User, Option<String>),
Nickname(User, String, bool),
Nickname(String, String, bool),
}

#[derive(Debug)]
Expand Down Expand Up @@ -95,10 +95,9 @@ impl Connection {
self.resolved_nick = Some(nick.clone());
}

let user = message.user()?;
return Some(Event::Brodcast(Brodcast::Nickname(
user,
nick.clone(),
old_nick.clone(),
changed_own_nickname,
)));
}
Expand Down
12 changes: 8 additions & 4 deletions data/src/history/manager.rs
Original file line number Diff line number Diff line change
Expand Up @@ -284,17 +284,21 @@ impl Manager {
message::broadcast::quit(user_channels, user_query, &user, &comment)
}
Broadcast::Nickname {
user,
new_nick,
old_nick,
changed_own_nickname,
user_channels,
} => {
let user_query = queries.find(|nick| user.nickname() == *nick);
let user_query = queries.find(|nick| {
let old_nick = NickRef::from(old_nick.as_str());
old_nick == *nick
});

message::broadcast::nickname(
user_channels,
user_query,
&user,
&new_nick,
&old_nick,
changed_own_nickname,
)
}
Expand Down Expand Up @@ -468,8 +472,8 @@ pub enum Broadcast {
user_channels: Vec<String>,
},
Nickname {
user: User,
new_nick: String,
old_nick: String,
changed_own_nickname: bool,
user_channels: Vec<String>,
},
Expand Down
4 changes: 2 additions & 2 deletions data/src/message.rs
Original file line number Diff line number Diff line change
Expand Up @@ -431,14 +431,14 @@ pub(crate) mod broadcast {
pub fn nickname(
channels: impl IntoIterator<Item = String>,
queries: impl IntoIterator<Item = Nick>,
user: &User,
new_nick: &str,
old_nick: &str,
changed_own_nickname: bool,
) -> Vec<Message> {
let text = if changed_own_nickname {
format!(" ∙ You're now known as {new_nick}")
} else {
format!(" ∙ {user} is now known as {new_nick}")
format!(" ∙ {old_nick} is now known as {new_nick}")
};

expand(channels, queries, false, text)
Expand Down
6 changes: 3 additions & 3 deletions src/main.rs
Original file line number Diff line number Diff line change
Expand Up @@ -337,18 +337,18 @@ impl Application for Halloy {
);
}
data::client::Brodcast::Nickname(
user,
new_nick,
old_nick,
changed_own_nickname,
) => {
let user_channels = self
.clients
.get_user_channels(&server, user.nickname());
.get_user_channels(&server, old_nick.as_str().into());

dashboard.broadcast_nickname(
&server,
user,
new_nick,
old_nick,
changed_own_nickname,
user_channels,
);
Expand Down
4 changes: 2 additions & 2 deletions src/screen/dashboard.rs
Original file line number Diff line number Diff line change
Expand Up @@ -516,16 +516,16 @@ impl Dashboard {
pub fn broadcast_nickname(
&mut self,
server: &Server,
user: User,
new_nick: String,
old_nick: String,
changed_own_nickname: bool,
user_channels: Vec<String>,
) {
self.history.broadcast(
server,
Broadcast::Nickname {
user,
new_nick,
old_nick,
changed_own_nickname,
user_channels,
},
Expand Down

0 comments on commit 2fae34e

Please sign in to comment.