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.jspomocí funkcefetcha klíčovécho slovaawaitzískejte data z API na adresehttps://api.sunrise-sunset.org/json?lat=50&lng=14.5Vý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.jsxpromažte JSX ve funkcirender. Nechte na stránce pouze prvek.containera nadpish1. -
Před voláním funkce
rendervytvořte proměnnoudata, do které si pomocí volánífetchna tréninkové API uložíte vygenerované heslo délky 12. -
Upravte JSX ve funkci
rendertak, 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ěpropss názvempasswordalength. Tuto komponentu pak použijte ve funkcirender. - Nezapomeňte pro komponentu vytvořit vlastní složku ve složce
src/componentsa 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.jsxstáhněte data pomocífetcha 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ěpropss názvemtitleadescription. 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
VenueaInstructor, které budou zobrazovat informace o místě konání a instruktorovi. Dejte těmto komponentám takovépropsjaké 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.