Vyrobte v Reactu komponentu TagCloud, která bude umět zobrazovat tagy jako na obrázku.
- Založte novou React aplikaci pomocí Vite a TypeScriptu a vymažete výchozí vzorový kód.
- Vytvořte novou komponentu
TagCloud. - Vzhled tagů je bonus, ze začátku se zaměřte pouze na funkcionalitu, tj. klidně ať se tagy vypisují jen jako nenastylované textové řetězce.
- Uvnitř komponenty vytvořte stav
tags. Tagy budou ve stavu uložené jako pole textových řetězců. - Přidejte do komponenty formulář s textovým políčkem, pomocí kterého bude možné zadat nový tag. Při odeslání formuláře přidejte nový tag na konec pole ve stavu
tags. Dejte pozor, aby pole zůstalo immutable. Nový tag do pole přidávejte pomocí spread operátoru. - Přidejte do komponenty tlačítko, které odstraní první tag ze seznamu. Opět zachovejte imutabilitu stavu.
Bonus
- Přidejte CSS styl, který napodobí vzhled tagů z obrázku.
- Upravte formulář, stav, a celou unkcionalitu komponenty tak, aby:
- tag už není jen textový řetězec, ale objekt který obsahuje text a barvu
- upravte formulář, aby se při zadávání nového tagu kromě textu i vybírala barva ze selectu
- tagy se zobrazují včetně barevného proužku na straně
- Vytvořte komponentu pro jeden
Taga upravte komponentuTagCloudtak, aby ji používala.