style: fix the rustfmt linted files
Some checks failed
actionlint check / actionlint check (pull_request) Successful in 5s
checkov check / checkov check (pull_request) Successful in 52s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 4s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 2s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 5s
GitLeaks check / GitLeaks check (pull_request) Successful in 6s
hadolint check / hadolint check (pull_request) Successful in 7s
htmlhint check / htmlhint check (pull_request) Successful in 9s
markdownlint check / markdownlint check (pull_request) Successful in 9s
Prettier check / Prettier check (pull_request) Successful in 10s
Rust check / Rust check (pull_request) Failing after 6m20s
ShellCheck check / ShellCheck check (pull_request) Successful in 12s
Stylelint check / Stylelint check (pull_request) Successful in 11s
yamllint check / yamllint check (pull_request) Successful in 13s

This commit is contained in:
2024-12-29 19:30:35 +01:00
parent 149451cc77
commit 3646aa91c4
47 changed files with 393 additions and 296 deletions

View File

@ -25,7 +25,7 @@ pub(crate) fn BottomPanel(display_form: Signal<bool>) -> Element {
// Necessary for a smooth not instant height transition.
async_std::task::sleep(std::time::Duration::from_millis(500)).await;
/* The check is necessary for the situation when the user expands the panel while
it is being closed. */
it is being closed. */
if !display_form() {
expanded.set(false);
}

View File

@ -4,7 +4,10 @@ use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
#[component]
pub(crate) fn CategoryInput(selected_category: Signal<Category>, class: Option<&'static str>) -> Element {
pub(crate) fn CategoryInput(
selected_category: Signal<Category>,
class: Option<&'static str>,
) -> Element {
rsx! {
div {
class: format!("flex flex-row gap-2 {}", class.unwrap_or("")),

View File

@ -4,6 +4,5 @@ use dioxus::prelude::*;
#[component]
pub(crate) fn Home() -> Element {
rsx! {
}
rsx! {}
}

View File

@ -11,17 +11,14 @@ use dioxus::prelude::*;
#[component]
pub(crate) fn Layout() -> 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)
);
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! {
Outlet::<Route> {}
StickyBottom {

View File

@ -1,16 +1,16 @@
pub(crate) mod app;
pub(crate) mod bottom_panel;
pub(crate) mod category_input;
pub(crate) mod form_open_button;
pub(crate) mod home;
pub(crate) mod layout;
pub(crate) mod navigation;
pub(crate) mod navigation_item;
pub(crate) mod pages;
pub(crate) mod project_form;
pub(crate) mod reoccurrence_input;
pub(crate) mod sticky_bottom;
pub(crate) mod subtasks_form;
pub(crate) mod task_form;
pub(crate) mod task_list;
pub(crate) mod pages;
pub(crate) mod navigation;
pub(crate) mod form_open_button;
pub(crate) mod bottom_panel;
pub(crate) mod sticky_bottom;
pub(crate) mod category_input;
pub(crate) mod reoccurrence_input;
pub(crate) mod layout;
pub(crate) mod navigation_item;
pub(crate) mod subtasks_form;
pub(crate) mod task_list_item;

View File

@ -1,5 +1,5 @@
use dioxus::prelude::*;
use crate::route::Route;
use dioxus::prelude::*;
#[component]
pub(crate) fn NavigationItem(route: Route, children: Element) -> Element {

View File

@ -1,8 +1,8 @@
use crate::components::pages::category_page::CategoryPage;
use crate::models::category::Category;
use dioxus::core_macro::rsx;
use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
use crate::components::pages::category_page::CategoryPage;
#[component]
pub(crate) fn CategoryDonePage() -> Element {

View File

@ -1,8 +1,8 @@
use crate::components::pages::category_page::CategoryPage;
use crate::models::category::Category;
use dioxus::core_macro::rsx;
use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
use crate::components::pages::category_page::CategoryPage;
#[component]
pub(crate) fn CategoryInboxPage() -> Element {

View File

@ -1,8 +1,8 @@
use crate::components::pages::category_page::CategoryPage;
use crate::models::category::Category;
use dioxus::core_macro::rsx;
use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
use crate::components::pages::category_page::CategoryPage;
#[component]
pub(crate) fn CategoryLongTermPage() -> Element {

View File

@ -1,8 +1,8 @@
use crate::components::pages::category_page::CategoryPage;
use crate::models::category::Category;
use dioxus::core_macro::rsx;
use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
use crate::components::pages::category_page::CategoryPage;
#[component]
pub(crate) fn CategoryNextStepsPage() -> Element {

View File

@ -28,6 +28,6 @@ pub(crate) fn CategoryPage(category: Category) -> Element {
"Errors occurred: {errors:?}"
}
},
value => panic!("Unexpected query result: {value:?}")
value => panic!("Unexpected query result: {value:?}"),
}
}

View File

@ -1,8 +1,8 @@
use crate::components::pages::category_page::CategoryPage;
use crate::models::category::Category;
use dioxus::core_macro::rsx;
use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
use crate::components::pages::category_page::CategoryPage;
#[component]
pub(crate) fn CategorySomedayMaybePage() -> Element {

View File

@ -25,7 +25,7 @@ pub(crate) fn CategoryTodayPage() -> Element {
let long_term_tasks_query = use_tasks_with_subtasks_in_category_query(Category::LongTerm);
let long_term_tasks_query_result = long_term_tasks_query.result();
rsx! {
div {
class: "pt-4 flex flex-col gap-8",

View File

@ -1,8 +1,8 @@
use crate::components::pages::category_page::CategoryPage;
use crate::models::category::Category;
use dioxus::core_macro::rsx;
use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
use crate::components::pages::category_page::CategoryPage;
#[component]
pub(crate) fn CategoryTrashPage() -> Element {

View File

@ -1,8 +1,8 @@
use crate::components::pages::category_page::CategoryPage;
use crate::models::category::Category;
use dioxus::core_macro::rsx;
use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
use crate::components::pages::category_page::CategoryPage;
#[component]
pub(crate) fn CategoryWaitingForPage() -> Element {

View File

@ -1,12 +1,12 @@
pub(crate) mod category_inbox_page;
pub(crate) mod category_calendar_page;
pub(crate) mod category_today_page;
pub(crate) mod category_waiting_for_page;
pub(crate) mod category_done_page;
pub(crate) mod category_inbox_page;
pub(crate) mod category_long_term_page;
pub(crate) mod category_next_steps_page;
pub(crate) mod category_page;
pub(crate) mod category_someday_maybe_page;
pub(crate) mod category_done_page;
pub(crate) mod category_today_page;
pub(crate) mod category_trash_page;
pub(crate) mod category_waiting_for_page;
pub(crate) mod not_found_page;
pub(crate) mod projects_page;
pub(crate) mod category_page;

View File

@ -1,8 +1,8 @@
use dioxus::prelude::*;
use dioxus_query::prelude::QueryResult;
use crate::models::project::Project;
use crate::query::projects::use_projects_query;
use crate::query::QueryValue;
use dioxus::prelude::*;
use dioxus_query::prelude::QueryResult;
#[component]
pub(crate) fn ProjectsPage() -> Element {

View File

@ -7,8 +7,10 @@ use dioxus::prelude::*;
use dioxus_query::prelude::use_query_client;
#[component]
pub(crate) fn ProjectForm(project: Option<Project>, on_successful_submit: EventHandler<()>)
-> Element {
pub(crate) fn ProjectForm(
project: Option<Project>,
on_successful_submit: EventHandler<()>,
) -> Element {
let query_client = use_query_client::<QueryValue, QueryErrors, QueryKey>();
let project_for_submit = project.clone();

View File

@ -6,7 +6,7 @@ use dioxus::prelude::*;
#[component]
pub(crate) fn ReoccurrenceIntervalInput(
reoccurrence_interval: Signal<Option<ReoccurrenceInterval>>,
class_buttons: Option<&'static str>
class_buttons: Option<&'static str>,
) -> Element {
rsx! {
button {

View File

@ -4,6 +4,7 @@ use crate::components::subtasks_form::SubtasksForm;
use crate::models::category::{CalendarTime, Category, Reoccurrence};
use crate::models::task::NewTask;
use crate::models::task::Task;
use crate::query::projects::use_projects_query;
use crate::query::{QueryErrors, QueryKey, QueryValue};
use crate::route::Route;
use crate::server::tasks::{create_task, delete_task, edit_task};
@ -13,7 +14,6 @@ use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
use dioxus_i18n::t;
use dioxus_query::prelude::{use_query_client, QueryResult};
use crate::query::projects::use_projects_query;
const REMINDER_OFFSETS: [Option<Duration>; 17] = [
None,
@ -40,7 +40,8 @@ pub(crate) fn TaskForm(task: Option<Task>, on_successful_submit: EventHandler<()
let projects_query = use_projects_query();
let route = use_route::<Route>();
let selected_category = use_signal(|| if let Some(task) = &task {
let selected_category = use_signal(|| {
if let Some(task) = &task {
task.category().clone()
} else {
match route {
@ -56,26 +57,41 @@ pub(crate) fn TaskForm(task: Option<Task>, on_successful_submit: EventHandler<()
_ => Category::Inbox,
}
}
);
let category_calendar_reoccurrence_interval = use_signal(|| task.as_ref().and_then(|task|
if let Category::Calendar { reoccurrence: Some(reoccurrence), .. } = task.category() {
Some(reoccurrence.interval().clone())
} else {
None
}
));
let mut category_calendar_has_time = use_signal(|| task.as_ref().is_some_and(
|task| matches!(*task.category(), Category::Calendar { time: Some(_), .. }))
);
let mut category_calendar_reminder_offset_index = use_signal(|| task.as_ref().and_then(|task|
if let Category::Calendar { time: Some(time), .. } = task.category() {
REMINDER_OFFSETS.iter().position(|&reminder_offset|
reminder_offset == time.reminder_offset()
)
} else {
None
}
).unwrap_or(REMINDER_OFFSETS.len() - 1));
});
let category_calendar_reoccurrence_interval = use_signal(|| {
task.as_ref().and_then(|task| {
if let Category::Calendar {
reoccurrence: Some(reoccurrence),
..
} = task.category()
{
Some(reoccurrence.interval().clone())
} else {
None
}
})
});
let mut category_calendar_has_time = use_signal(|| {
task.as_ref().is_some_and(|task| {
matches!(*task.category(), Category::Calendar { time: Some(_), .. })
})
});
let mut category_calendar_reminder_offset_index = use_signal(|| {
task.as_ref()
.and_then(|task| {
if let Category::Calendar {
time: Some(time), ..
} = task.category()
{
REMINDER_OFFSETS
.iter()
.position(|&reminder_offset| reminder_offset == time.reminder_offset())
} else {
None
}
})
.unwrap_or(REMINDER_OFFSETS.len() - 1)
});
let query_client = use_query_client::<QueryValue, QueryErrors, QueryKey>();
let task_for_submit = task.clone();

View File

@ -1,13 +1,13 @@
use crate::components::task_list_item::TaskListItem;
use crate::models::category::Category;
use crate::models::task::{Task, TaskWithSubtasks};
use crate::query::{QueryErrors, QueryKey, QueryValue};
use crate::server::tasks::complete_task;
use dioxus::core_macro::rsx;
use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
use dioxus_query::prelude::use_query_client;
use tracing::info;
use crate::components::task_list_item::TaskListItem;
use crate::query::{QueryErrors, QueryKey, QueryValue};
use crate::server::tasks::complete_task;
#[component]
pub(crate) fn TaskList(tasks: Vec<TaskWithSubtasks>, class: Option<&'static str>) -> Element {
@ -15,7 +15,7 @@ pub(crate) fn TaskList(tasks: Vec<TaskWithSubtasks>, class: Option<&'static str>
let mut task_being_edited = use_context::<Signal<Option<Task>>>();
tasks.sort();
rsx! {
div {
class: format!("flex flex-col {}", class.unwrap_or("")),

View File

@ -1,4 +1,3 @@
use dioxus_i18n::prelude::i18n;
use crate::internationalization::LocaleFromLanguageIdentifier;
use crate::models::category::Category;
use crate::models::task::TaskWithSubtasks;
@ -6,6 +5,7 @@ use chrono::{Datelike, Local};
use dioxus::core_macro::rsx;
use dioxus::dioxus_core::Element;
use dioxus::prelude::*;
use dioxus_i18n::prelude::i18n;
use dioxus_i18n::t;
use voca_rs::Voca;