This commit is contained in:
Tiago Batista Cardoso
2026-01-25 03:17:47 +01:00
parent 54cd6ebc41
commit c0708fc4b9

View File

@@ -5,7 +5,7 @@ use client_network::{
use crossbeam_channel::{Receiver, Sender};
use egui::{
Align, CentralPanel, CollapsingHeader, Color32, Context, CornerRadius, Frame, Id, Layout,
ProgressBar, Response, ScrollArea, SidePanel, Stroke, TopBottomPanel, Ui, ViewportCommand,
ProgressBar, ScrollArea, SidePanel, Stroke, TopBottomPanel, Ui, ViewportCommand,
};
use std::collections::HashMap;
use std::collections::HashSet;
@@ -278,6 +278,7 @@ impl eframe::App for P2PClientApp {
}
if self.remaining_chunks.is_empty() {
self.current_total_chunks = None;
self.current_received_chunks = 0;
println!("bigfile téléchargé");
}
@@ -431,12 +432,17 @@ impl eframe::App for P2PClientApp {
if ui.button("Connect").clicked() {
let addr = self.connect_address_input.clone();
let name = self.connect_name_input.clone();
let _ = self
.network_cmd_tx
.send(NetworkCommand::ConnectToServerPut(addr, name));
let _ = self.network_cmd_tx.send(
NetworkCommand::ConnectToServerPut(
addr,
name.to_string(),
),
);
self.server_status = ServerStatus::Loading;
ui.close();
self.show_network_window = false;
self.loaded_fs
.insert(name.to_string(), self.shared_tree.clone());
}
});
}
@@ -520,7 +526,19 @@ impl eframe::App for P2PClientApp {
for peer in &self.known_peers {
let is_active =
self.active_peer.as_ref().map_or(false, |id| id == &peer.0); // if peer.id == self.active_peer_id
//
if peer.0.eq(&self.connect_name_input) {
ui.horizontal(|ui| {
let resp = ui.selectable_label(
is_active,
format!("{} (you)", peer.0),
);
if resp.clicked() {
self.active_peer = Some(peer.0.clone());
}
});
} else {
// place spinner to the right of the label
ui.horizontal(|ui| {
let resp = if &self.active_server == &peer.0 {
@@ -561,12 +579,13 @@ impl eframe::App for P2PClientApp {
.contains_key(self.active_peer.as_ref().unwrap())
{
//todo!();
let _ =
self.network_cmd_tx.send(NetworkCommand::Discover(
let _ = self.network_cmd_tx.send(
NetworkCommand::Discover(
peer.0.clone(),
"root".to_string(),
self.connected_address.clone(),
));
),
);
}
}
resp.context_menu(|ui| {
@@ -625,74 +644,7 @@ impl eframe::App for P2PClientApp {
// ... autres boutons
});
});
// if self.loading_peers.contains(&peer.0) {
// ui.spinner();
// }
//if selectable.clicked() {
// switch to displaying this peer's tree
//self.active_peer = Some(peer.0.clone());
//// Request root content if not loaded
//if !self
// .loaded_fs
// .contains_key(self.active_peer.as_ref().unwrap())
//{
// //todo!();
// let _ = self.network_cmd_tx.send(NetworkCommand::Discover(
// peer.0.clone(),
// "root".to_string(),
// self.connected_address.clone(),
// ));
//}
//}
//selectable.context_menu(|ui| {
// // ... action
// match self.server_status {
// ServerStatus::Connected => {
// if ui
// .button("Utiliser le peer en tant que serveur")
// .clicked()
// {
// self.active_server = peer.0.to_string();
// let res = self.network_cmd_tx.send(
// NetworkCommand::ServerHandshake(
// peer.0.to_string(),
// self.connected_address.clone(),
// ),
// );
// }
// }
// _ => {}
// }
// if ui.button("Send Ping").clicked() {
// let res = self.network_cmd_tx.send(NetworkCommand::Ping(
// peer.0.to_string(),
// self.connected_address.clone(),
// ));
// self.loading_peers.push(peer.0.to_owned());
// }
// if ui.button("Send Nat Traversal Request").clicked() {
// match self.network_cmd_tx.send(NetworkCommand::NatTraversal(
// peer.0.to_string(),
// self.connected_address.clone(),
// )) {
// Ok(_) => {
// print!("[+] successfully sent nat traversal request")
// }
// Err(_) => {
// print!("[-] failed to send nat traversal request")
// }
// }
// }
// if ui.button("Infos").clicked() {
// // action 3
// ui.close();
// }
// // ... autres boutons
//});
}
}
}
});