From 80be174f411d4ee43891f4e02e3343204734e7f4 Mon Sep 17 00:00:00 2001 From: kernelkind Date: Thu, 26 Sep 2024 19:50:54 -0400 Subject: [PATCH] add more add column options Signed-off-by: kernelkind --- assets/icons/home_icon_dark_4x.png | Bin 0 -> 2847 bytes assets/icons/notifications_icon_dark_4x.png | Bin 0 -> 3403 bytes assets/icons/universe_icon_dark_4x.png | Bin 0 -> 3323 bytes src/ui/add_column.rs | 182 ++++++++++++++++++-- src/ui_preview/main.rs | 2 + 5 files changed, 167 insertions(+), 17 deletions(-) create mode 100644 assets/icons/home_icon_dark_4x.png create mode 100644 assets/icons/notifications_icon_dark_4x.png create mode 100644 assets/icons/universe_icon_dark_4x.png diff --git a/assets/icons/home_icon_dark_4x.png b/assets/icons/home_icon_dark_4x.png new file mode 100644 index 0000000000000000000000000000000000000000..56cf957806620f7e1e4342918edc8faca5cb7ffb GIT binary patch literal 2847 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 literal 0 HcmV?d00001 diff --git a/assets/icons/notifications_icon_dark_4x.png b/assets/icons/notifications_icon_dark_4x.png new file mode 100644 index 0000000000000000000000000000000000000000..cef65b7964835e831361958dbbc878e8d9e2515d GIT binary patch literal 3403 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 FV1i*03GDy? literal 0 HcmV?d00001 diff --git a/src/ui/add_column.rs b/src/ui/add_column.rs index dcfd9c4..3dde0ea 100644 --- a/src/ui/add_column.rs +++ b/src/ui/add_column.rs @@ -1,16 +1,40 @@ -use egui::{RichText, Ui}; +use egui::{vec2, ImageSource, Label, Layout, Margin, RichText, Sense, Ui}; use nostrdb::Ndb; use crate::{ app_style::NotedeckTextStyle, - timeline::{Timeline, TimelineKind}, + timeline::{PubkeySource, Timeline, TimelineKind}, user_account::UserAccount, }; +use super::padding; + pub enum AddColumnResponse { Timeline(Timeline), } +enum AddColumnOption { + Universe, + Notification(PubkeySource), + Home(PubkeySource), +} + +impl AddColumnOption { + pub fn take_as_response(self, ndb: &Ndb) -> Option { + match self { + AddColumnOption::Universe => TimelineKind::Universe + .into_timeline(ndb, None) + .map(AddColumnResponse::Timeline), + AddColumnOption::Notification(pubkey) => TimelineKind::Notifications(pubkey) + .into_timeline(ndb, None) + .map(AddColumnResponse::Timeline), + AddColumnOption::Home(pubkey) => TimelineKind::contact_list(pubkey) + .into_timeline(ndb, None) + .map(AddColumnResponse::Timeline), + } + } +} + pub struct AddColumnView<'a> { ndb: &'a Ndb, cur_account: Option<&'a UserAccount>, @@ -22,23 +46,147 @@ impl<'a> AddColumnView<'a> { } pub fn ui(&mut self, ui: &mut Ui) -> Option { - ui.label(RichText::new("Add column").text_style(NotedeckTextStyle::Heading.text_style())); + egui::Frame::none() + .outer_margin(Margin::symmetric(16.0, 20.0)) + .show(ui, |ui| { + ui.label( + RichText::new("Add column").text_style(NotedeckTextStyle::Body.text_style()), + ); + }); + ui.separator(); - if ui.button("create global timeline").clicked() { - Some(AddColumnResponse::Timeline( - TimelineKind::Universe - .into_timeline(self.ndb, None) - .expect("universe timeline"), - )) - } else { - None + let width_padding = 8.0; + let button_height = 69.0; + let icon_width = 32.0; + let mut selected_option: Option = None; + for column_option_data in self.get_column_options() { + let width = ui.available_width() - 2.0 * width_padding; + let (rect, resp) = ui.allocate_exact_size(vec2(width, button_height), Sense::click()); + ui.allocate_ui_at_rect(rect, |ui| { + padding(Margin::symmetric(width_padding, 0.0), ui, |ui| { + ui.allocate_ui_with_layout( + vec2(width, button_height), + Layout::left_to_right(egui::Align::Center), + |ui| { + self.column_option_ui( + ui, + icon_width, + column_option_data.icon, + column_option_data.title, + column_option_data.description, + ); + }, + ) + .response + }) + }); + ui.separator(); + + if resp.clicked() { + if let Some(resp) = column_option_data.option.take_as_response(self.ndb) { + selected_option = Some(resp); + } + } } + + selected_option + } + + fn column_option_ui( + &mut self, + ui: &mut Ui, + icon_width: f32, + icon: ImageSource<'_>, + title: &str, + description: &str, + ) { + ui.add(egui::Image::new(icon).fit_to_exact_size(vec2(icon_width, icon_width))); + + ui.vertical(|ui| { + ui.add_space(16.0); + ui.add( + Label::new(RichText::new(title).text_style(NotedeckTextStyle::Body.text_style())) + .selectable(false), + ); + + ui.add( + Label::new( + RichText::new(description).text_style(NotedeckTextStyle::Button.text_style()), + ) + .selectable(false), + ); + }); + } + + fn get_column_options(&self) -> Vec { + let mut vec = Vec::new(); + vec.push(ColumnOptionData { + title: "Universe", + description: "See the whole nostr universe", + icon: egui::include_image!("../../assets/icons/universe_icon_dark_4x.png"), + option: AddColumnOption::Universe, + }); + + if let Some(acc) = self.cur_account { + let source = PubkeySource::Explicit(acc.pubkey); + + vec.push(ColumnOptionData { + title: "Home timeline", + description: "See recommended notes first", + icon: egui::include_image!("../../assets/icons/home_icon_dark_4x.png"), + option: AddColumnOption::Home(source.clone()), + }); + vec.push(ColumnOptionData { + title: "Notifications", + description: "Stay up to date with notifications and mentions", + icon: egui::include_image!("../../assets/icons/notifications_icon_dark_4x.png"), + option: AddColumnOption::Notification(source), + }); + } + + vec } } -// struct ColumnOption { -// title: &'static str, -// description: &'static str, -// icon: Box::, -// route: Route, -// } +struct ColumnOptionData { + title: &'static str, + description: &'static str, + icon: ImageSource<'static>, + option: AddColumnOption, +} + +mod preview { + use crate::{ + test_data, + ui::{Preview, PreviewConfig, View}, + Damus, + }; + + use super::AddColumnView; + + pub struct AddColumnPreview { + app: Damus, + } + + impl AddColumnPreview { + fn new() -> Self { + let app = test_data::test_app(); + + AddColumnPreview { app } + } + } + + impl View for AddColumnPreview { + fn ui(&mut self, ui: &mut egui::Ui) { + AddColumnView::new(&self.app.ndb, self.app.accounts.get_selected_account()).ui(ui); + } + } + + impl<'a> Preview for AddColumnView<'a> { + type Prev = AddColumnPreview; + + fn preview(_cfg: PreviewConfig) -> Self::Prev { + AddColumnPreview::new() + } + } +} diff --git a/src/ui_preview/main.rs b/src/ui_preview/main.rs index a9804a6..9a0d6f9 100644 --- a/src/ui_preview/main.rs +++ b/src/ui_preview/main.rs @@ -1,6 +1,7 @@ use notedeck::app_creation::{ generate_mobile_emulator_native_options, generate_native_options, setup_cc, }; +use notedeck::ui::add_column::AddColumnView; use notedeck::ui::{ account_login_view::AccountLoginView, account_management::AccountsView, DesktopSidePanel, PostView, Preview, PreviewApp, PreviewConfig, ProfilePic, ProfilePreview, RelayView, @@ -102,5 +103,6 @@ async fn main() { AccountsView, DesktopSidePanel, PostView, + AddColumnView, ); }