Aplikacija nam bo pomagal pri beleženju naših nalog. Z njo bomo beležili naše domače naloge, hišna opravila in tudi kaj bolj zabavnega - kot npr. kateri film si želimo ogledati. Lahko bomo dodajali, urejali in brisali opravila, prav tako pa jih bomo lahko označili kot opravljena.
Aplikacijo bodo sestavljale naslednje komponente:
App.jsx
: Ta bo hranila seznam vseh todo objektov. PrikazalaShowTodos.jsx
inAddTodo.jsx
.AddTodo.jsx
bo prikazalaform
za dodajanje novega todo objekta.ShowTodos.jsx
bo prikazala vse todo-je.Todo.jsx
bo prikazal en todo.ShowTodos.jsx
bo z njim prikazal seznam vseh todo-jev.
- Uporabljali bomo shadcn komponente: izberi tiste, ki so glede na zahtevano funkcionalnosti najbolj primerne. Primer: za vnosno polje bomo uporabljali kar tale input.
- Pri oblikovanju uporabi tudi na tailwindcss s katerim poskrbi, da je stran poravnan na sredini, da so odmiki primerni itd.
- V
App.jsx
definirajtetodos
state, ki bo hranil seznam vseh todo objektov. Na začetku naj bo seznam prazen. - V
App.jsx
definirajte funkcijoaddTodo
, ki bo sprejelatodo
objekt in ga dodala v seznamtodos
.
- V
AddTodo.jsx
definirajte state:title
. Na začetku naj bo prazen string. - Naredite
form
in vanj dodajteInput
polje, ki bo uporabniku omogočilo vnos naslova todo-ja. Input "povežite" s state-omtitle
. (Pozor: Input in input ni ista stvar!) - Spomnite se na prejšnje srečanje, kjer lahko pogledate kako smo obravnavali podatke iz vnosnih polj.
- Uporabite eventa kot sta
onChange
inonClick
- enega boste uporabili pri vnosnem polju (input), drugega pa pri gumbu (button). - Funkcija, ki jo pokličete ob dogodku onClick naj v seznam
todos
doda novtodo
.
- V
ShowTodos.jsx
spišite zanko, ki bo za vsak element v seznamutodos
uporabila komponentoTodo.jsx
in na nek - poljuben - način prikazala elemente iz seznama. Uporabite komponento iz shadcn, ki bo najbolj ustrezno prikazala element todo-ja.
- Ko narediti že vse do sedaj opisane naloge, se lahko lotite še malo bolj zahtevnih. Implementirajte brisanje posameznih todo-jev. Dodajte gumb s križcem ali besedilom 'Briši' zraven posameznega todo-ja. Ob kliku nanj naj se todo odstrani.
- Še malo zahtevnejše: dodajte še urejanje posameznih todo-jev. Razmislite kako boste najprej vizualno uredili urejanje tega todo-ja, nato pa še kako boste uredili pravi element v seznamu.