Vytvořme webovou stránku, která bude zobrazovat čas, kdy dnes vyšlo a kdy zapadá slunce. V tomto cvičení ještě nebudeme používat JSX a komponenty, abychom se mohli soustředit na práci s API.
-
Založte si nový klasický HTML/CSS/JS projekt, tedy bez JSX, Vite apod.
npm init kodim-app@latest cviceni-vychod-zapad html-css-js
-
Otevřete si ve VS Code vytvořenou složku
cviceni-vychod-zapad
. -
V souboru
index.js
pomocí funkcefetch
a klíčovécho slovaawait
získejte data z API na adresehttps://api.sunrise-sunset.org/json?lat=50&lng=14.5
Výsledný JSON zatím pouze vypište do konzole a prohlédněte si jeho strukturu.
-
Místo do konzole vypište někam do stránky čas východu a západu slunce. Obsah stránky sestavte postaru, tedy jako řetězec s použitím vlastnosti
innerHTML
.
Vyrobte stránku, která pomůže uživateli vygenerovat opravdu silné a neprůstřelné heslo. Použijte k tomu veřejné API na psswrd.net na generování hesel. Zároveň už projekt vytvořte pomocí Vite a JSX.
-
Založte si nový projekt příkazem
npm init kodim-app@latest cviceni-generator-hesel jsx
-
Otevřete si ve VS Code vytvořenou složku
cviceni-generator-hesel
. -
Prohlédněte si URL endpointu pro generování hesla a vyzkoušejte si jej „na sucho“ v prohlížeči. Zkuste vygenerovat hesla různých délek a prohlédněte si, jak vypadá struktura dat, která API vrací.
-
V hlavním
index.jsx
promažte JSX ve funkcirender
. Nechte na stránce pouze prvek.container
a nadpish1
. -
Před voláním funkce
render
vytvořte proměnnoudata
, do které si pomocí volánífetch
na tréninkové API uložíte vygenerované heslo délky 12. -
Upravte JSX ve funkci
render
tak, aby zobrazila uživateli vygenerované heslo s nějakým vhodným textem pro uživatele.
- Vytvořte pro zobrazení heslo komponentu
StrongPassword
, která bude mít dvěprops
s názvempassword
alength
. Tuto komponentu pak použijte ve funkcirender
. - Nezapomeňte pro komponentu vytvořit vlastní složku ve složce
src/components
a správně ji importujte.
Vyzkoušejte si práci s lokálními daty, která už vypadají o kousek realističtěji.
- Repozitář cviceni-workshop-api obsahuje data pro lokální API, které poskytuje informace o smyšleném IT workshopu. Naklonujte si tento repozitář a spusťte lokální API server pomocí
npx apidroid@latest
. - Data o workshopu najdete na API endpointu
/api/workshops/0
. Vyzkoušejte si jej v prohlížeči a prohlédněte si strukturu dat. - Nechte API spuštěné a vytvořte nový projekt pomocí
npm init kodim-app@latest cviceni-workshop jsx
. V tomto projektu si v hlavnímindex.jsx
stáhněte data pomocífetch
a zatím si je pro kontrolu vypište do konzole. - Pomocí JSX zobrazte na stránce nějaké základní informace o workshopu. Nemusíte zobrazovat vše, vyberte si pouze to, co vás zajímá. Zobrazte však alespoň název workshopu, jméno instruktora a místo konání workshopu.
## Workshop - komponenty
Pokračujte v předchozím cvičení. V tomto cvičení vytvoříme komponenty pro zobrazení informací o workshopu.
- Už známým postupem vytvořte komponentu
WorkshopIntro
, která bude zobrazovat informace o workshopu. Tato komponenta bude mít zatím dvěprops
s názvemtitle
adescription
. Komponenta bude zobrazovat název workshopu a jeho popis. Komponentu mějte v oddělené složce, správně ji importujte a použijte ve funkcirender
. - Vytvořte další dvě komponenty
Venue
aInstructor
, které budou zobrazovat informace o místě konání a instruktorovi. Dejte těmto komponentám takovéprops
jaké uznáte za vhodné, abyste zobrazili takové informace, jaké chcete. - Data o celém workshopu jsou relativně obsáhlá, můžete si z nich vybrat další informace, které vás zajímají a zobrazit je na stránce. Dejte také stránce nějakou hezkou strukturu a styly.