setup routes
This commit is contained in:
@ -1,23 +1,23 @@
|
||||
use crate::services::Services;
|
||||
use crate::route::{RouteServices, Routes};
|
||||
use crate::widgets::avatar::Avatar;
|
||||
use eframe::emath::Align;
|
||||
use eframe::epaint::Vec2;
|
||||
use egui::{Frame, Image, Layout, Margin, Response, Ui, Widget};
|
||||
use nostr_sdk::PublicKey;
|
||||
use egui::{Frame, Image, Layout, Margin, Response, Sense, Ui, Widget};
|
||||
use nostr_sdk::util::hex;
|
||||
|
||||
pub struct Header<'a> {
|
||||
services: &'a Services,
|
||||
services: &'a RouteServices<'a>,
|
||||
}
|
||||
|
||||
impl<'a> Header<'a> {
|
||||
pub fn new(services: &'a Services) -> Self {
|
||||
pub fn new(services: &'a RouteServices) -> Self {
|
||||
Self { services }
|
||||
}
|
||||
}
|
||||
|
||||
impl Widget for Header<'_> {
|
||||
fn ui(self, ui: &mut Ui) -> Response {
|
||||
let login = PublicKey::from_hex("63fe6318dc58583cfe16810f86dd09e18bfd76aabc24a0081ce2856f330504ed").unwrap();
|
||||
let login: [u8; 32] = hex::decode("63fe6318dc58583cfe16810f86dd09e18bfd76aabc24a0081ce2856f330504ed").unwrap().try_into().unwrap();
|
||||
let logo_bytes = include_bytes!("../logo.svg");
|
||||
Frame::none()
|
||||
.outer_margin(Margin::symmetric(16., 8.))
|
||||
@ -25,9 +25,13 @@ impl Widget for Header<'_> {
|
||||
ui.allocate_ui_with_layout(Vec2::new(ui.available_width(), 32.), Layout::left_to_right(Align::Center), |ui| {
|
||||
ui.style_mut()
|
||||
.spacing.item_spacing.x = 16.;
|
||||
Image::from_bytes("logo.svg", logo_bytes)
|
||||
.max_height(22.62).ui(ui);
|
||||
ui.add(Avatar::public_key(&self.services, &login));
|
||||
if Image::from_bytes("logo.svg", logo_bytes)
|
||||
.max_height(22.62)
|
||||
.sense(Sense::click())
|
||||
.ui(ui).clicked() {
|
||||
self.services.navigate(Routes::HomePage);
|
||||
}
|
||||
ui.add(Avatar::public_key(&self.services.profile, &login));
|
||||
})
|
||||
}).response
|
||||
}
|
||||
|
Reference in New Issue
Block a user