32 lines
1023 B
Rust
32 lines
1023 B
Rust
use crate::components::project_form::PROJECT_BEING_EDITED;
|
|
use crate::components::{button_primary::ButtonPrimary, task_form::TASK_BEING_EDITED};
|
|
use crate::route::Route;
|
|
use dioxus::prelude::*;
|
|
use dioxus_free_icons::{Icon, icons::fa_solid_icons::FaGavel};
|
|
|
|
#[component]
|
|
pub(crate) fn CreateButton() -> Element {
|
|
let navigator = use_navigator();
|
|
let current_route = use_route();
|
|
rsx! {
|
|
ButtonPrimary {
|
|
class: "pointer-events-auto m-4 self-end *:rounded-full! *:p-4",
|
|
onclick: move |_| {
|
|
*TASK_BEING_EDITED.write() = None;
|
|
*PROJECT_BEING_EDITED.write() = None;
|
|
navigator.push(
|
|
match current_route {
|
|
Route::ProjectsPage => Route::ProjectFormPage,
|
|
_ => Route::TaskFormPage,
|
|
}
|
|
);
|
|
},
|
|
Icon {
|
|
icon: FaGavel,
|
|
height: 24,
|
|
width: 24
|
|
}
|
|
}
|
|
}
|
|
}
|