mirror of
https://github.com/skoelle/focusapp.git
synced 2026-09-17 20:10:25 +00:00
ui refactor
This commit is contained in:
@@ -23,7 +23,7 @@
|
|||||||
padding: 20px;
|
padding: 20px;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<script type="module" crossorigin src="/assets/index-rPG5vfP0.js"></script>
|
<script type="module" crossorigin src="/assets/index-DVYXBxB1.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-CXNz5rXF.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-CXNz5rXF.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
|
|||||||
@@ -12,6 +12,13 @@ const App: React.FC = () => {
|
|||||||
const [loading, setLoading] = useState(true);
|
const [loading, setLoading] = useState(true);
|
||||||
const [error, setError] = useState<string | null>(null);
|
const [error, setError] = useState<string | null>(null);
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
if (error) {
|
||||||
|
const timer = setTimeout(() => setError(null), 5000);
|
||||||
|
return () => clearTimeout(timer);
|
||||||
|
}
|
||||||
|
}, [error]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
loadTasks();
|
loadTasks();
|
||||||
}, []);
|
}, []);
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import React, { useState } from 'react';
|
import React, { useState, useEffect } from 'react';
|
||||||
import { FocusTask } from '../types';
|
import { FocusTask } from '../types';
|
||||||
import './TaskCard.css';
|
import './TaskCard.css';
|
||||||
|
|
||||||
@@ -13,6 +13,11 @@ const TaskCard: React.FC<TaskCardProps> = ({ task, onUpdate, onDelete }) => {
|
|||||||
const [editTitle, setEditTitle] = useState(task.title);
|
const [editTitle, setEditTitle] = useState(task.title);
|
||||||
const [editDescription, setEditDescription] = useState(task.description || '');
|
const [editDescription, setEditDescription] = useState(task.description || '');
|
||||||
|
|
||||||
|
useEffect(() => {
|
||||||
|
setEditTitle(task.title);
|
||||||
|
setEditDescription(task.description || '');
|
||||||
|
}, [task.id, task.title, task.description]);
|
||||||
|
|
||||||
const handleSave = () => {
|
const handleSave = () => {
|
||||||
if (editTitle.trim()) {
|
if (editTitle.trim()) {
|
||||||
onUpdate(editTitle, editDescription);
|
onUpdate(editTitle, editDescription);
|
||||||
|
|||||||
Vendored
+1
@@ -0,0 +1 @@
|
|||||||
|
/// <reference types="vite/client" />
|
||||||
Reference in New Issue
Block a user