headache, buttons, searchbox, figured out how to import functions and pass outputs to different files
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
pub mod search;
|
||||||
|
|||||||
@@ -0,0 +1,3 @@
|
|||||||
|
pub fn perform_search(query: &str) {
|
||||||
|
println!("Performing search for: {}", query);
|
||||||
|
}
|
||||||
|
|||||||
+33
-6
@@ -1,13 +1,15 @@
|
|||||||
|
use crate::api::search::perform_search;
|
||||||
use eframe::egui;
|
use eframe::egui;
|
||||||
|
|
||||||
#[derive(Default)]
|
#[derive(Default)]
|
||||||
pub struct AniShio {}
|
pub struct AniShio {
|
||||||
|
search_query: String,
|
||||||
|
}
|
||||||
|
|
||||||
impl AniShio {
|
impl AniShio {
|
||||||
pub fn new(cc: &eframe::CreationContext<'_>) -> Self {
|
pub fn new(cc: &eframe::CreationContext<'_>) -> Self {
|
||||||
let mut visuals = egui::Visuals::dark(); // or ::light()
|
let mut visuals = egui::Visuals::dark();
|
||||||
visuals.panel_fill = egui::Color32::from_rgba_unmultiplied(163, 136, 219, 80);
|
visuals.panel_fill = egui::Color32::from_rgba_unmultiplied(163, 136, 219, 80);
|
||||||
visuals.override_text_color = Some(egui::Color32::BLACK);
|
|
||||||
cc.egui_ctx.set_visuals(visuals);
|
cc.egui_ctx.set_visuals(visuals);
|
||||||
Self::default()
|
Self::default()
|
||||||
}
|
}
|
||||||
@@ -18,10 +20,35 @@ impl eframe::App for AniShio {
|
|||||||
egui::Panel::left("sidebar")
|
egui::Panel::left("sidebar")
|
||||||
.resizable(false)
|
.resizable(false)
|
||||||
.show_separator_line(false)
|
.show_separator_line(false)
|
||||||
.show_inside(ui, |ui| ui.label(egui::RichText::new("AniShio").size(28.0)));
|
.show_inside(ui, |ui| {
|
||||||
|
ui.label(
|
||||||
|
egui::RichText::new("AniShio")
|
||||||
|
.size(28.0)
|
||||||
|
.color(egui::Color32::BLACK),
|
||||||
|
);
|
||||||
|
// ui.visuals_mut().override_text_color = Some(egui::Color32::BLACK);
|
||||||
|
if ui.button("Home").clicked() {
|
||||||
|
println!("Home button clicked");
|
||||||
|
}
|
||||||
|
if ui.button("Library").clicked() {
|
||||||
|
println!("Library button clicked");
|
||||||
|
}
|
||||||
|
if ui.button("Settings").clicked() {
|
||||||
|
println!("Settings button clicked");
|
||||||
|
}
|
||||||
|
});
|
||||||
egui::CentralPanel::default().show_inside(ui, |ui| {
|
egui::CentralPanel::default().show_inside(ui, |ui| {
|
||||||
ui.group(|ui| {
|
ui.horizontal(|ui| {
|
||||||
ui.label("Title name");
|
let response = egui::TextEdit::singleline(&mut self.search_query)
|
||||||
|
.hint_text("Search...")
|
||||||
|
.show(ui)
|
||||||
|
.response;
|
||||||
|
if (response.lost_focus() && ui.input(|i| i.key_pressed(egui::Key::Enter))) {
|
||||||
|
perform_search(&self.search_query);
|
||||||
|
}
|
||||||
|
if (response.lost_focus() && ui.input(|i| i.key_pressed(egui::Key::Escape))) {
|
||||||
|
self.search_query.clear();
|
||||||
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
|
pub mod api;
|
||||||
mod app;
|
mod app;
|
||||||
|
|
||||||
use app::AniShio;
|
use app::AniShio;
|
||||||
|
|||||||
Reference in New Issue
Block a user