-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtask.jsx
More file actions
79 lines (68 loc) · 2.27 KB
/
Copy pathtask.jsx
File metadata and controls
79 lines (68 loc) · 2.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
//mecesitamos acceder al contexto
import { useContext, useState } from "react";
import { TaskContex } from "../context/TaskContext.jsx";
import "./Tasklis.css"
//componente de tarjet
const TaskCard = ({ task }) => {
//importmos deleteTask
const { deleteTask } = useContext(TaskContex)
return <article className="TaskCard">
<h2>{task.title}</h2>
<p>{task.desciption}</p>
<button onClick={() => { deleteTask(task.id) }}>Eliminar</button>
</article>
}
//componente de lsita de tareas
export const Takslis = () => {
//importamos la lista de tareas
const { tasks } = useContext(TaskContex)
if (tasks.length == 0) {
return <section className="Takslis">
<h2>Tareas</h2>
<p>No hay tareas :)</p>
</section>
} else {
return <section className="Takslis">
<h2>Tareas</h2>
<section className="gru">
{
//creamos un TaskCard por cada tarea
tasks.map(task => {
return <TaskCard task={task} key={task.id} />
})
}
</section>
</section>
}
}
//formulario para añadir tareas
export const TasksFrom = () => {
//importamos createTask
const { createTask } = useContext(TaskContex)
const [title, setTitle] = useState("")
const [desciption, setDesciption] = useState("")
//creamos tarea
const handleSumbit = (e) => {
//esto es para que el navegador no se actualize
e.preventDefault();
createTask(title, desciption)
}
return <section className="TasksFrom">
<h2>Añadir Tarea</h2>
<form onSubmit={handleSumbit} >
<input placeholder="Escrtibe tu tarea"
onChange={(e) => setTitle(e.target.value)} />
<input placeholder="Escrtibe una descripcion (opcional)" className="texto"
onChange={(s) => setDesciption(s.target.value)} />
<button>Guardar</button>
</form>
</section>
}
//un "macro" componente agrupa los componentes anteriores, solo usa este componente y tendras una lista de tareas con react :)
export const TasksAdmin = () => {
return <>
<TasksFrom />
<Takslis />
</>
}
export default TasksAdmin