From 1ecd13d65f638977ea61633998eae2230ec587ce Mon Sep 17 00:00:00 2001 From: dannyzou18 Date: Tue, 21 May 2024 12:41:44 -0400 Subject: [PATCH] dropdown component complete --- src/app.rs | 14 +++++++++++--- src/components.rs | 3 ++- src/components/sidebar.rs | 4 ++-- src/components/upload.rs | 7 ++----- src/components/upload_dropdown.rs | 7 +++++-- style/sidebar.scss | 14 +++++++++++++- 6 files changed, 35 insertions(+), 14 deletions(-) diff --git a/src/app.rs b/src/app.rs index 67a6c7a..d625d1d 100644 --- a/src/app.rs +++ b/src/app.rs @@ -17,6 +17,8 @@ pub fn App() -> impl IntoView { let play_status = PlayStatus::default(); let play_status = create_rw_signal(play_status); let upload_open = create_rw_signal(false); + let add_artist_open = create_rw_signal(false); + let add_album_open = create_rw_signal(false); view! { // injects a stylesheet into the document @@ -37,7 +39,13 @@ pub fn App() -> impl IntoView { }>
- }> + + }> @@ -58,11 +66,11 @@ use crate::components::upload::*; /// Renders the home page of your application. #[component] -fn HomePage(play_status: RwSignal, upload_open: RwSignal) -> impl IntoView { +fn HomePage(play_status: RwSignal, upload_open: RwSignal, add_artist_open: RwSignal, add_album_open: RwSignal) -> impl IntoView { view! {
- + // This will render the child route components diff --git a/src/components.rs b/src/components.rs index e3fc931..e6757c3 100644 --- a/src/components.rs +++ b/src/components.rs @@ -3,4 +3,5 @@ pub mod dashboard; pub mod search; pub mod personal; pub mod upload; -pub mod upload_dropdown; \ No newline at end of file +pub mod upload_dropdown; +pub mod add_artist; \ No newline at end of file diff --git a/src/components/sidebar.rs b/src/components/sidebar.rs index 6c73b76..a2307a9 100644 --- a/src/components/sidebar.rs +++ b/src/components/sidebar.rs @@ -4,7 +4,7 @@ use leptos_icons::*; use crate::components::upload_dropdown::*; #[component] -pub fn Sidebar(upload_open: RwSignal) -> impl IntoView { +pub fn Sidebar(upload_open: RwSignal, add_artist_open: RwSignal, add_album_open: RwSignal) -> impl IntoView { use leptos_router::use_location; let location = use_location(); @@ -28,7 +28,7 @@ pub fn Sidebar(upload_open: RwSignal) -> impl IntoView { when= move || dropdown_open() fallback=move || view! {} > - +
diff --git a/src/components/upload.rs b/src/components/upload.rs index e94d901..b62e66c 100644 --- a/src/components/upload.rs +++ b/src/components/upload.rs @@ -16,11 +16,8 @@ pub fn UploadBtn(dialog_open: RwSignal) -> impl IntoView { }; view! { - } } diff --git a/src/components/upload_dropdown.rs b/src/components/upload_dropdown.rs index 9062d1c..fc16176 100644 --- a/src/components/upload_dropdown.rs +++ b/src/components/upload_dropdown.rs @@ -1,6 +1,8 @@ use leptos::*; use leptos_icons::*; use leptos::leptos_dom::*; +use crate::components::upload::*; +use crate::components::add_artist::*; #[component] pub fn UploadDropdownBtn(dropdown_open: RwSignal) -> impl IntoView { @@ -17,10 +19,11 @@ pub fn UploadDropdownBtn(dropdown_open: RwSignal) -> impl IntoView { } #[component] -pub fn UploadDropdown() -> impl IntoView { +pub fn UploadDropdown(upload_open: RwSignal, add_artist_open: RwSignal, add_album_open: RwSignal) -> impl IntoView { view! {
- hello + +
} } \ No newline at end of file diff --git a/style/sidebar.scss b/style/sidebar.scss index 25e8622..5a62d4d 100644 --- a/style/sidebar.scss +++ b/style/sidebar.scss @@ -29,7 +29,7 @@ padding-right: 1rem; padding-left: 1rem; cursor: pointer; - transition: background-color 0.3s ease; + transition: all 0.3s ease; .add-sign { font-size: 1.5rem; margin-top: auto; @@ -40,10 +40,22 @@ } .upload-dropdown-btn-active { border-radius: 12.5px 12.5px 0 0; + width: 110px; } .upload-dropdown { background-color: #f0ecec; color: black; + width: 110px; + .add-btns { + border: none; + border-bottom: 1px solid black; + width: 100%; + padding: 0.25rem; + cursor: pointer; + } + .add-btns:first-child { + border-top: 1px solid black; + } } }