All checks were successful
actionlint check / actionlint check (pull_request) Successful in 5s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 7s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 5s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 10s
hadolint check / hadolint check (pull_request) Successful in 16s
GitLeaks check / GitLeaks check (pull_request) Successful in 10s
htmlhint check / htmlhint check (pull_request) Successful in 35s
Prettier check / Prettier check (pull_request) Successful in 26s
markdownlint check / markdownlint check (pull_request) Successful in 31s
checkov check / checkov check (pull_request) Successful in 1m15s
ShellCheck check / ShellCheck check (pull_request) Successful in 30s
Stylelint check / Stylelint check (pull_request) Successful in 29s
yamllint check / yamllint check (pull_request) Successful in 27s
Rust check / Rust check (pull_request) Successful in 11m44s
48 lines
1.4 KiB
Rust
48 lines
1.4 KiB
Rust
use crate::components::bottom_panel::BottomPanel;
|
|
use crate::components::form_open_button::FormOpenButton;
|
|
use crate::components::sticky_bottom::StickyBottom;
|
|
use crate::models::project::Project;
|
|
use crate::models::task::Task;
|
|
use crate::route::Route;
|
|
use dioxus::core_macro::rsx;
|
|
use dioxus::dioxus_core::Element;
|
|
use dioxus::prelude::*;
|
|
|
|
#[component]
|
|
pub(crate) fn Main() -> Element {
|
|
let mut display_form = use_signal(|| false);
|
|
let project_being_edited =
|
|
use_context_provider::<Signal<Option<Project>>>(|| Signal::new(None));
|
|
let task_being_edited = use_context_provider::<Signal<Option<Task>>>(|| Signal::new(None));
|
|
|
|
use_effect(move || {
|
|
display_form.set(project_being_edited().is_some() || task_being_edited().is_some());
|
|
});
|
|
|
|
rsx! {
|
|
SuspenseBoundary {
|
|
fallback: |_| {
|
|
rsx! {
|
|
div {
|
|
class: "grow flex flex-col justify-center items-center",
|
|
div {
|
|
i {
|
|
class: "text-3xl fa-solid fa-cog fa-spin"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
Outlet::<Route> {}
|
|
}
|
|
StickyBottom {
|
|
FormOpenButton {
|
|
opened: display_form,
|
|
}
|
|
BottomPanel {
|
|
display_form: display_form,
|
|
}
|
|
}
|
|
}
|
|
}
|