Refactor task management, UI interactions, and theme support
- Added task editing functionality with `EditForm` and integrated it with `TodoItemTouch`. - Switched `dueDate` fields to `due_date` for consistency with API. - Updated `useTasks` to handle dynamic task updates, deletions, and periodic refresh. - Enhanced `useApi` with a dedicated delete method. - Improved UI responsiveness and styling with multi-theme support in DaisyUI. - Simplified modal handling for task interactions (`EditForm`, `CreateForm`). - Improved `useSettings` with a `theme` field to support theme switching. - Extended task commands for tagging, text, and due date updates. - Optimized `parser` for extended edit command parsing. - Updated helpers and actions to use `luxon` for date manipulations. - Streamlined task and view logic for improved usability and extensibility.
This commit is contained in:
@@ -4,7 +4,7 @@
|
||||
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "lofi";
|
||||
name: "default";
|
||||
default: true;
|
||||
prefersdark: false;
|
||||
color-scheme: "light";
|
||||
@@ -75,6 +75,333 @@
|
||||
}
|
||||
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "cyberpunk";
|
||||
default: false;
|
||||
prefersdark: false;
|
||||
color-scheme: "light";
|
||||
--color-base-100: oklch(94.51% 0.179 104.32);
|
||||
--color-base-200: oklch(91.51% 0.179 104.32);
|
||||
--color-base-300: oklch(85.51% 0.179 104.32);
|
||||
--color-base-content: oklch(0% 0 0);
|
||||
--color-primary: oklch(74.22% 0.209 6.35);
|
||||
--color-primary-content: oklch(14.844% 0.041 6.35);
|
||||
--color-secondary: oklch(83.33% 0.184 204.72);
|
||||
--color-secondary-content: oklch(16.666% 0.036 204.72);
|
||||
--color-accent: oklch(71.86% 0.217 310.43);
|
||||
--color-accent-content: oklch(14.372% 0.043 310.43);
|
||||
--color-neutral: oklch(23.04% 0.065 269.31);
|
||||
--color-neutral-content: oklch(94.51% 0.179 104.32);
|
||||
--color-info: oklch(72.06% 0.191 231.6);
|
||||
--color-info-content: oklch(0% 0 0);
|
||||
--color-success: oklch(64.8% 0.15 160);
|
||||
--color-success-content: oklch(0% 0 0);
|
||||
--color-warning: oklch(84.71% 0.199 83.87);
|
||||
--color-warning-content: oklch(0% 0 0);
|
||||
--color-error: oklch(71.76% 0.221 22.18);
|
||||
--color-error-content: oklch(0% 0 0);
|
||||
--radius-selector: 0rem;
|
||||
--radius-field: 0rem;
|
||||
--radius-box: 0rem;
|
||||
--size-selector: 0.25rem;
|
||||
--size-field: 0.25rem;
|
||||
--border: 1px;
|
||||
--depth: 0;
|
||||
--noise: 0;
|
||||
}
|
||||
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "forest";
|
||||
default: false;
|
||||
prefersdark: false;
|
||||
color-scheme: "dark";
|
||||
--color-base-100: oklch(20.84% 0.008 17.911);
|
||||
--color-base-200: oklch(18.522% 0.007 17.911);
|
||||
--color-base-300: oklch(16.203% 0.007 17.911);
|
||||
--color-base-content: oklch(83.768% 0.001 17.911);
|
||||
--color-primary: oklch(68.628% 0.185 148.958);
|
||||
--color-primary-content: oklch(0% 0 0);
|
||||
--color-secondary: oklch(69.776% 0.135 168.327);
|
||||
--color-secondary-content: oklch(13.955% 0.027 168.327);
|
||||
--color-accent: oklch(70.628% 0.119 185.713);
|
||||
--color-accent-content: oklch(14.125% 0.023 185.713);
|
||||
--color-neutral: oklch(30.698% 0.039 171.364);
|
||||
--color-neutral-content: oklch(86.139% 0.007 171.364);
|
||||
--color-info: oklch(72.06% 0.191 231.6);
|
||||
--color-info-content: oklch(0% 0 0);
|
||||
--color-success: oklch(64.8% 0.15 160);
|
||||
--color-success-content: oklch(0% 0 0);
|
||||
--color-warning: oklch(84.71% 0.199 83.87);
|
||||
--color-warning-content: oklch(0% 0 0);
|
||||
--color-error: oklch(71.76% 0.221 22.18);
|
||||
--color-error-content: oklch(0% 0 0);
|
||||
--radius-selector: 1rem;
|
||||
--radius-field: 2rem;
|
||||
--radius-box: 1rem;
|
||||
--size-selector: 0.25rem;
|
||||
--size-field: 0.25rem;
|
||||
--border: 1px;
|
||||
--depth: 0;
|
||||
--noise: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "retro";
|
||||
default: false;
|
||||
prefersdark: false;
|
||||
color-scheme: "light";
|
||||
--color-base-100: oklch(91.637% 0.034 90.515);
|
||||
--color-base-200: oklch(88.272% 0.049 91.774);
|
||||
--color-base-300: oklch(84.133% 0.065 90.856);
|
||||
--color-base-content: oklch(41% 0.112 45.904);
|
||||
--color-primary: oklch(80% 0.114 19.571);
|
||||
--color-primary-content: oklch(39% 0.141 25.723);
|
||||
--color-secondary: oklch(92% 0.084 155.995);
|
||||
--color-secondary-content: oklch(44% 0.119 151.328);
|
||||
--color-accent: oklch(68% 0.162 75.834);
|
||||
--color-accent-content: oklch(41% 0.112 45.904);
|
||||
--color-neutral: oklch(44% 0.011 73.639);
|
||||
--color-neutral-content: oklch(86% 0.005 56.366);
|
||||
--color-info: oklch(58% 0.158 241.966);
|
||||
--color-info-content: oklch(96% 0.059 95.617);
|
||||
--color-success: oklch(51% 0.096 186.391);
|
||||
--color-success-content: oklch(96% 0.059 95.617);
|
||||
--color-warning: oklch(64% 0.222 41.116);
|
||||
--color-warning-content: oklch(96% 0.059 95.617);
|
||||
--color-error: oklch(70% 0.191 22.216);
|
||||
--color-error-content: oklch(40% 0.123 38.172);
|
||||
--radius-selector: 0.25rem;
|
||||
--radius-field: 0.25rem;
|
||||
--radius-box: 0.5rem;
|
||||
--size-selector: 0.25rem;
|
||||
--size-field: 0.25rem;
|
||||
--border: 1px;
|
||||
--depth: 0;
|
||||
--noise: 0;
|
||||
}
|
||||
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "halloween";
|
||||
default: false;
|
||||
prefersdark: false;
|
||||
color-scheme: "dark";
|
||||
--color-base-100: oklch(21% 0.006 56.043);
|
||||
--color-base-200: oklch(14% 0.004 49.25);
|
||||
--color-base-300: oklch(0% 0 0);
|
||||
--color-base-content: oklch(84.955% 0 0);
|
||||
--color-primary: oklch(77.48% 0.204 60.62);
|
||||
--color-primary-content: oklch(19.693% 0.004 196.779);
|
||||
--color-secondary: oklch(45.98% 0.248 305.03);
|
||||
--color-secondary-content: oklch(89.196% 0.049 305.03);
|
||||
--color-accent: oklch(64.8% 0.223 136.073);
|
||||
--color-accent-content: oklch(0% 0 0);
|
||||
--color-neutral: oklch(24.371% 0.046 65.681);
|
||||
--color-neutral-content: oklch(84.874% 0.009 65.681);
|
||||
--color-info: oklch(54.615% 0.215 262.88);
|
||||
--color-info-content: oklch(90.923% 0.043 262.88);
|
||||
--color-success: oklch(62.705% 0.169 149.213);
|
||||
--color-success-content: oklch(12.541% 0.033 149.213);
|
||||
--color-warning: oklch(66.584% 0.157 58.318);
|
||||
--color-warning-content: oklch(13.316% 0.031 58.318);
|
||||
--color-error: oklch(65.72% 0.199 27.33);
|
||||
--color-error-content: oklch(13.144% 0.039 27.33);
|
||||
--radius-selector: 1rem;
|
||||
--radius-field: 0.5rem;
|
||||
--radius-box: 1rem;
|
||||
--size-selector: 0.25rem;
|
||||
--size-field: 0.25rem;
|
||||
--border: 1px;
|
||||
--depth: 1;
|
||||
--noise: 0;
|
||||
}
|
||||
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "luxury";
|
||||
default: false;
|
||||
prefersdark: false;
|
||||
color-scheme: "dark";
|
||||
--color-base-100: oklch(14.076% 0.004 285.822);
|
||||
--color-base-200: oklch(20.219% 0.004 308.229);
|
||||
--color-base-300: oklch(23.219% 0.004 308.229);
|
||||
--color-base-content: oklch(75.687% 0.123 76.89);
|
||||
--color-primary: oklch(100% 0 0);
|
||||
--color-primary-content: oklch(20% 0 0);
|
||||
--color-secondary: oklch(27.581% 0.064 261.069);
|
||||
--color-secondary-content: oklch(85.516% 0.012 261.069);
|
||||
--color-accent: oklch(36.674% 0.051 338.825);
|
||||
--color-accent-content: oklch(87.334% 0.01 338.825);
|
||||
--color-neutral: oklch(24.27% 0.057 59.825);
|
||||
--color-neutral-content: oklch(93.203% 0.089 90.861);
|
||||
--color-info: oklch(79.061% 0.121 237.133);
|
||||
--color-info-content: oklch(15.812% 0.024 237.133);
|
||||
--color-success: oklch(78.119% 0.192 132.154);
|
||||
--color-success-content: oklch(15.623% 0.038 132.154);
|
||||
--color-warning: oklch(86.127% 0.136 102.891);
|
||||
--color-warning-content: oklch(17.225% 0.027 102.891);
|
||||
--color-error: oklch(71.753% 0.176 22.568);
|
||||
--color-error-content: oklch(14.35% 0.035 22.568);
|
||||
--radius-selector: 1rem;
|
||||
--radius-field: 0.5rem;
|
||||
--radius-box: 1rem;
|
||||
--size-selector: 0.25rem;
|
||||
--size-field: 0.25rem;
|
||||
--border: 1px;
|
||||
--depth: 1;
|
||||
--noise: 0;
|
||||
}
|
||||
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "synthwave";
|
||||
default: false;
|
||||
prefersdark: false;
|
||||
color-scheme: "dark";
|
||||
--color-base-100: oklch(15% 0.09 281.288);
|
||||
--color-base-200: oklch(20% 0.09 281.288);
|
||||
--color-base-300: oklch(25% 0.09 281.288);
|
||||
--color-base-content: oklch(78% 0.115 274.713);
|
||||
--color-primary: oklch(71% 0.202 349.761);
|
||||
--color-primary-content: oklch(28% 0.109 3.907);
|
||||
--color-secondary: oklch(82% 0.111 230.318);
|
||||
--color-secondary-content: oklch(29% 0.066 243.157);
|
||||
--color-accent: oklch(75% 0.183 55.934);
|
||||
--color-accent-content: oklch(26% 0.079 36.259);
|
||||
--color-neutral: oklch(45% 0.24 277.023);
|
||||
--color-neutral-content: oklch(87% 0.065 274.039);
|
||||
--color-info: oklch(74% 0.16 232.661);
|
||||
--color-info-content: oklch(29% 0.066 243.157);
|
||||
--color-success: oklch(77% 0.152 181.912);
|
||||
--color-success-content: oklch(27% 0.046 192.524);
|
||||
--color-warning: oklch(90% 0.182 98.111);
|
||||
--color-warning-content: oklch(42% 0.095 57.708);
|
||||
--color-error: oklch(73.7% 0.121 32.639);
|
||||
--color-error-content: oklch(23.501% 0.096 290.329);
|
||||
--radius-selector: 1rem;
|
||||
--radius-field: 0.5rem;
|
||||
--radius-box: 1rem;
|
||||
--size-selector: 0.25rem;
|
||||
--size-field: 0.25rem;
|
||||
--border: 1px;
|
||||
--depth: 0;
|
||||
--noise: 0;
|
||||
}
|
||||
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "valentine";
|
||||
default: false;
|
||||
prefersdark: false;
|
||||
color-scheme: "light";
|
||||
--color-base-100: oklch(97% 0.014 343.198);
|
||||
--color-base-200: oklch(94% 0.028 342.258);
|
||||
--color-base-300: oklch(89% 0.061 343.231);
|
||||
--color-base-content: oklch(52% 0.223 3.958);
|
||||
--color-primary: oklch(65% 0.241 354.308);
|
||||
--color-primary-content: oklch(100% 0 0);
|
||||
--color-secondary: oklch(62% 0.265 303.9);
|
||||
--color-secondary-content: oklch(97% 0.014 308.299);
|
||||
--color-accent: oklch(82% 0.111 230.318);
|
||||
--color-accent-content: oklch(39% 0.09 240.876);
|
||||
--color-neutral: oklch(40% 0.153 2.432);
|
||||
--color-neutral-content: oklch(89% 0.061 343.231);
|
||||
--color-info: oklch(86% 0.127 207.078);
|
||||
--color-info-content: oklch(44% 0.11 240.79);
|
||||
--color-success: oklch(84% 0.143 164.978);
|
||||
--color-success-content: oklch(43% 0.095 166.913);
|
||||
--color-warning: oklch(75% 0.183 55.934);
|
||||
--color-warning-content: oklch(26% 0.079 36.259);
|
||||
--color-error: oklch(63% 0.237 25.331);
|
||||
--color-error-content: oklch(97% 0.013 17.38);
|
||||
--radius-selector: 1rem;
|
||||
--radius-field: 2rem;
|
||||
--radius-box: 1rem;
|
||||
--size-selector: 0.25rem;
|
||||
--size-field: 0.25rem;
|
||||
--border: 1px;
|
||||
--depth: 0;
|
||||
--noise: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "wireframe";
|
||||
default: false;
|
||||
prefersdark: false;
|
||||
color-scheme: "light";
|
||||
--color-base-100: oklch(100% 0 0);
|
||||
--color-base-200: oklch(97% 0 0);
|
||||
--color-base-300: oklch(94% 0 0);
|
||||
--color-base-content: oklch(20% 0 0);
|
||||
--color-primary: oklch(87% 0 0);
|
||||
--color-primary-content: oklch(26% 0 0);
|
||||
--color-secondary: oklch(87% 0 0);
|
||||
--color-secondary-content: oklch(26% 0 0);
|
||||
--color-accent: oklch(87% 0 0);
|
||||
--color-accent-content: oklch(26% 0 0);
|
||||
--color-neutral: oklch(87% 0 0);
|
||||
--color-neutral-content: oklch(26% 0 0);
|
||||
--color-info: oklch(44% 0.11 240.79);
|
||||
--color-info-content: oklch(90% 0.058 230.902);
|
||||
--color-success: oklch(43% 0.095 166.913);
|
||||
--color-success-content: oklch(90% 0.093 164.15);
|
||||
--color-warning: oklch(47% 0.137 46.201);
|
||||
--color-warning-content: oklch(92% 0.12 95.746);
|
||||
--color-error: oklch(44% 0.177 26.899);
|
||||
--color-error-content: oklch(88% 0.062 18.334);
|
||||
--radius-selector: 0rem;
|
||||
--radius-field: 0.25rem;
|
||||
--radius-box: 0.25rem;
|
||||
--size-selector: 0.25rem;
|
||||
--size-field: 0.25rem;
|
||||
--border: 1px;
|
||||
--depth: 0;
|
||||
--noise: 0;
|
||||
}
|
||||
|
||||
|
||||
@plugin "daisyui/theme" {
|
||||
name: "aqua";
|
||||
default: false;
|
||||
prefersdark: false;
|
||||
color-scheme: "dark";
|
||||
--color-base-100: oklch(37% 0.146 265.522);
|
||||
--color-base-200: oklch(28% 0.091 267.935);
|
||||
--color-base-300: oklch(22% 0.091 267.935);
|
||||
--color-base-content: oklch(90% 0.058 230.902);
|
||||
--color-primary: oklch(85.661% 0.144 198.645);
|
||||
--color-primary-content: oklch(40.124% 0.068 197.603);
|
||||
--color-secondary: oklch(60.682% 0.108 309.782);
|
||||
--color-secondary-content: oklch(96% 0.016 293.756);
|
||||
--color-accent: oklch(93.426% 0.102 94.555);
|
||||
--color-accent-content: oklch(18.685% 0.02 94.555);
|
||||
--color-neutral: oklch(27% 0.146 265.522);
|
||||
--color-neutral-content: oklch(80% 0.146 265.522);
|
||||
--color-info: oklch(54.615% 0.215 262.88);
|
||||
--color-info-content: oklch(90.923% 0.043 262.88);
|
||||
--color-success: oklch(62.705% 0.169 149.213);
|
||||
--color-success-content: oklch(12.541% 0.033 149.213);
|
||||
--color-warning: oklch(66.584% 0.157 58.318);
|
||||
--color-warning-content: oklch(27% 0.077 45.635);
|
||||
--color-error: oklch(73.95% 0.19 27.33);
|
||||
--color-error-content: oklch(14.79% 0.038 27.33);
|
||||
--radius-selector: 1rem;
|
||||
--radius-field: 0.5rem;
|
||||
--radius-box: 1rem;
|
||||
--size-selector: 0.25rem;
|
||||
--size-field: 0.25rem;
|
||||
--border: 1px;
|
||||
--depth: 1;
|
||||
--noise: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/* Transitions */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user