From 2015e94a419a5dfcd71e91cbf1159d316b666f0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Podlouck=C3=BD?= Date: Tue, 7 Nov 2023 09:35:47 +0100 Subject: [PATCH 1/3] =?UTF-8?q?Archivovat=20nepou=C5=BE=C3=ADvan=C3=A9=20l?= =?UTF-8?q?ekce?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cloud-db/assets/auth_email_settings.jpg | Bin daweb/js2/{ => archiv}/cloud-db/assets/db_cols.jpg | Bin .../js2/{ => archiv}/cloud-db/assets/db_cols_2.jpg | Bin .../{ => archiv}/cloud-db/assets/db_relation.jpg | Bin daweb/js2/{ => archiv}/cloud-db/assets/excel_db.jpg | Bin .../js2/{ => archiv}/cloud-db/assets/excel_db_2.jpg | Bin .../{ => archiv}/cloud-db/assets/new_project.jpg | Bin daweb/js2/{ => archiv}/cloud-db/assets/rls_all.png | Bin .../js2/{ => archiv}/cloud-db/assets/rls_insert.jpg | Bin .../js2/{ => archiv}/cloud-db/assets/rls_select.jpg | Bin .../{ => archiv}/cloud-db/assets/rls_zapnuti.jpg | Bin .../{ => archiv}/cloud-db/assets/url_api_key.jpg | Bin daweb/js2/{ => archiv}/cloud-db/auth.md | 0 daweb/js2/{ => archiv}/cloud-db/bezpecnost.md | 0 daweb/js2/{ => archiv}/cloud-db/cv-autentizace.md | 0 daweb/js2/{ => archiv}/cloud-db/cv-databaze.md | 0 .../{ => archiv}/cloud-db/cvlekce/autentizace.md | 0 daweb/js2/{ => archiv}/cloud-db/cvlekce/databaze.md | 0 daweb/js2/{ => archiv}/cloud-db/databaze.md | 0 daweb/js2/{ => archiv}/cloud-db/entry.yml | 0 daweb/js2/{ => archiv}/cloud-db/supabase.md | 0 .../dom-elementy/cv-interaktivni-komponenty.md | 0 .../dom-elementy/cv-vlastni-elementy.md | 0 .../js2/{ => archiv}/dom-elementy/cvarchiv/menu.md | 0 .../dom-elementy/cvarchiv/nazev-kina.md | 0 .../dom-elementy/cvarchiv/program-kina-2.md | 0 .../dom-elementy/cvarchiv/program-kina.md | 0 .../{ => archiv}/dom-elementy/cvarchiv/sablony.md | 0 .../{ => archiv}/dom-elementy/cvdoma/emaily-data.md | 0 .../dom-elementy/cvdoma/emaily-detail.md | 0 .../{ => archiv}/dom-elementy/cvdoma/emaily-dom.md | 0 .../cvlekce/kontakty/assets/contact.png | Bin .../dom-elementy/cvlekce/kontakty/exercise.md | 0 .../{ => archiv}/dom-elementy/cvlekce/kostky-1.md | 0 .../{ => archiv}/dom-elementy/cvlekce/tlacitko.md | 0 .../{ => archiv}/dom-elementy/cvlekce/zarovky.md | 0 .../js2/{ => archiv}/dom-elementy/dom-komponenty.md | 0 daweb/js2/{ => archiv}/dom-elementy/entry.yml | 0 daweb/js2/{ => archiv}/dom-elementy/udalosti.md | 0 .../js2/{ => archiv}/dom-elementy/ulozky-na-doma.md | 0 daweb/js2/{ => archiv}/dom-elementy/vlastni-data.md | 0 .../{ => archiv}/dom-elementy/vlastni-elementy.md | 0 .../dev/nakupni-seznam/img/background.svg | 0 .../vetsi-aplikace/dev/nakupni-seznam/index.html | 0 .../vetsi-aplikace/dev/nakupni-seznam/index.js | 0 .../vetsi-aplikace/dev/nakupni-seznam/style.css | 0 .../vetsi-aplikace/dev/webapp-starter/.gitignore | 0 .../vetsi-aplikace/dev/webapp-starter/package.json | 0 .../dev/webapp-starter/src/index.html | 0 .../vetsi-aplikace/dev/webapp-starter/src/index.js | 0 .../dev/webapp-starter/webpack.config.js | 0 .../vetsi-aplikace/excs/citat/assets/quote.png | Bin .../vetsi-aplikace/excs/citat/exercise.md | 0 .../excs/prestupky-2/dev/zadani/img/bg.svg | 0 .../excs/prestupky-2/dev/zadani/index.html | 0 .../excs/prestupky-2/dev/zadani/index.js | 0 .../excs/prestupky-2/dev/zadani/style.css | 0 .../vetsi-aplikace/excs/prestupky-2/exercise.md | 0 .../excs/svetovy-cas-webpack/exercise.md | 0 daweb/js2/{ => archiv}/vetsi-aplikace/lesson.md | 0 daweb/js2/{ => archiv}/webhosting/entry.yml | 0 daweb/js2/{ => archiv}/webhosting/webhosting.md | 0 daweb/js2/{ => archiv}/webpack/cv-dotaz-patch.md | 0 daweb/js2/{ => archiv}/webpack/cv-komunikace.md | 0 .../webpack/cvdoma/svetovy-cas-webpack/exercise.md | 0 .../cvlekce/citat-komponenta/assets/quote-icon.svg | 0 .../webpack/cvlekce/citat-komponenta/exercise.md | 0 .../cvlekce/posun-polozek/assets/arrow-down.svg | 0 .../cvlekce/posun-polozek/assets/arrow-up.svg | 0 .../webpack/cvlekce/posun-polozek/exercise.md | 0 .../cvlekce/rozbaleni-polozky/assets/rozbaleno.png | Bin .../webpack/cvlekce/rozbaleni-polozky/exercise.md | 0 .../{ => archiv}/webpack/cvlekce/uprava-polozky.md | 0 daweb/js2/{ => archiv}/webpack/dotaz-patch.md | 0 daweb/js2/{ => archiv}/webpack/entry.yml | 0 .../webpack/excs/prestupky-2/dev/zadani/img/bg.svg | 0 .../webpack/excs/prestupky-2/dev/zadani/index.html | 0 .../webpack/excs/prestupky-2/dev/zadani/index.js | 0 .../webpack/excs/prestupky-2/dev/zadani/style.css | 0 .../webpack/excs/prestupky-2/exercise.md | 0 daweb/js2/{ => archiv}/webpack/ulozky-na-doma.md | 0 .../zaklady-oop/exercises/cena-pozemku.md | 0 .../{ => archiv}/zaklady-oop/exercises/hledani.md | 0 .../{ => archiv}/zaklady-oop/exercises/hodiny-2.md | 0 .../{ => archiv}/zaklady-oop/exercises/hodiny-3.md | 0 .../{ => archiv}/zaklady-oop/exercises/hodiny.md | 0 .../{ => archiv}/zaklady-oop/exercises/pejsek.md | 0 .../{ => archiv}/zaklady-oop/exercises/pozemky-2.md | 0 .../{ => archiv}/zaklady-oop/exercises/pozemky.md | 0 .../{ => archiv}/zaklady-oop/exercises/seznamka.md | 0 daweb/js2/{ => archiv}/zaklady-oop/lesson.md | 0 91 files changed, 0 insertions(+), 0 deletions(-) rename daweb/js2/{ => archiv}/cloud-db/assets/auth_email_settings.jpg (100%) rename daweb/js2/{ => archiv}/cloud-db/assets/db_cols.jpg (100%) rename daweb/js2/{ => archiv}/cloud-db/assets/db_cols_2.jpg (100%) rename daweb/js2/{ => archiv}/cloud-db/assets/db_relation.jpg (100%) rename daweb/js2/{ => archiv}/cloud-db/assets/excel_db.jpg (100%) rename daweb/js2/{ => archiv}/cloud-db/assets/excel_db_2.jpg (100%) rename daweb/js2/{ => archiv}/cloud-db/assets/new_project.jpg (100%) rename daweb/js2/{ => archiv}/cloud-db/assets/rls_all.png (100%) rename daweb/js2/{ => archiv}/cloud-db/assets/rls_insert.jpg (100%) rename daweb/js2/{ => archiv}/cloud-db/assets/rls_select.jpg (100%) rename daweb/js2/{ => archiv}/cloud-db/assets/rls_zapnuti.jpg (100%) rename daweb/js2/{ => archiv}/cloud-db/assets/url_api_key.jpg (100%) rename daweb/js2/{ => archiv}/cloud-db/auth.md (100%) rename daweb/js2/{ => archiv}/cloud-db/bezpecnost.md (100%) rename daweb/js2/{ => archiv}/cloud-db/cv-autentizace.md (100%) rename daweb/js2/{ => archiv}/cloud-db/cv-databaze.md (100%) rename daweb/js2/{ => archiv}/cloud-db/cvlekce/autentizace.md (100%) rename daweb/js2/{ => archiv}/cloud-db/cvlekce/databaze.md (100%) rename daweb/js2/{ => archiv}/cloud-db/databaze.md (100%) rename daweb/js2/{ => archiv}/cloud-db/entry.yml (100%) rename daweb/js2/{ => archiv}/cloud-db/supabase.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cv-interaktivni-komponenty.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cv-vlastni-elementy.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvarchiv/menu.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvarchiv/nazev-kina.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvarchiv/program-kina-2.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvarchiv/program-kina.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvarchiv/sablony.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvdoma/emaily-data.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvdoma/emaily-detail.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvdoma/emaily-dom.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvlekce/kontakty/assets/contact.png (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvlekce/kontakty/exercise.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvlekce/kostky-1.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvlekce/tlacitko.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/cvlekce/zarovky.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/dom-komponenty.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/entry.yml (100%) rename daweb/js2/{ => archiv}/dom-elementy/udalosti.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/ulozky-na-doma.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/vlastni-data.md (100%) rename daweb/js2/{ => archiv}/dom-elementy/vlastni-elementy.md (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/dev/nakupni-seznam/img/background.svg (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/dev/nakupni-seznam/index.html (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/dev/nakupni-seznam/index.js (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/dev/nakupni-seznam/style.css (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/dev/webapp-starter/.gitignore (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/dev/webapp-starter/package.json (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/dev/webapp-starter/src/index.html (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/dev/webapp-starter/src/index.js (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/dev/webapp-starter/webpack.config.js (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/excs/citat/assets/quote.png (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/excs/citat/exercise.md (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/excs/prestupky-2/dev/zadani/img/bg.svg (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/excs/prestupky-2/dev/zadani/index.html (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/excs/prestupky-2/dev/zadani/index.js (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/excs/prestupky-2/dev/zadani/style.css (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/excs/prestupky-2/exercise.md (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/excs/svetovy-cas-webpack/exercise.md (100%) rename daweb/js2/{ => archiv}/vetsi-aplikace/lesson.md (100%) rename daweb/js2/{ => archiv}/webhosting/entry.yml (100%) rename daweb/js2/{ => archiv}/webhosting/webhosting.md (100%) rename daweb/js2/{ => archiv}/webpack/cv-dotaz-patch.md (100%) rename daweb/js2/{ => archiv}/webpack/cv-komunikace.md (100%) rename daweb/js2/{ => archiv}/webpack/cvdoma/svetovy-cas-webpack/exercise.md (100%) rename daweb/js2/{ => archiv}/webpack/cvlekce/citat-komponenta/assets/quote-icon.svg (100%) rename daweb/js2/{ => archiv}/webpack/cvlekce/citat-komponenta/exercise.md (100%) rename daweb/js2/{ => archiv}/webpack/cvlekce/posun-polozek/assets/arrow-down.svg (100%) rename daweb/js2/{ => archiv}/webpack/cvlekce/posun-polozek/assets/arrow-up.svg (100%) rename daweb/js2/{ => archiv}/webpack/cvlekce/posun-polozek/exercise.md (100%) rename daweb/js2/{ => archiv}/webpack/cvlekce/rozbaleni-polozky/assets/rozbaleno.png (100%) rename daweb/js2/{ => archiv}/webpack/cvlekce/rozbaleni-polozky/exercise.md (100%) rename daweb/js2/{ => archiv}/webpack/cvlekce/uprava-polozky.md (100%) rename daweb/js2/{ => archiv}/webpack/dotaz-patch.md (100%) rename daweb/js2/{ => archiv}/webpack/entry.yml (100%) rename daweb/js2/{ => archiv}/webpack/excs/prestupky-2/dev/zadani/img/bg.svg (100%) rename daweb/js2/{ => archiv}/webpack/excs/prestupky-2/dev/zadani/index.html (100%) rename daweb/js2/{ => archiv}/webpack/excs/prestupky-2/dev/zadani/index.js (100%) rename daweb/js2/{ => archiv}/webpack/excs/prestupky-2/dev/zadani/style.css (100%) rename daweb/js2/{ => archiv}/webpack/excs/prestupky-2/exercise.md (100%) rename daweb/js2/{ => archiv}/webpack/ulozky-na-doma.md (100%) rename daweb/js2/{ => archiv}/zaklady-oop/exercises/cena-pozemku.md (100%) rename daweb/js2/{ => archiv}/zaklady-oop/exercises/hledani.md (100%) rename daweb/js2/{ => archiv}/zaklady-oop/exercises/hodiny-2.md (100%) rename daweb/js2/{ => archiv}/zaklady-oop/exercises/hodiny-3.md (100%) rename daweb/js2/{ => archiv}/zaklady-oop/exercises/hodiny.md (100%) rename daweb/js2/{ => archiv}/zaklady-oop/exercises/pejsek.md (100%) rename daweb/js2/{ => archiv}/zaklady-oop/exercises/pozemky-2.md (100%) rename daweb/js2/{ => archiv}/zaklady-oop/exercises/pozemky.md (100%) rename daweb/js2/{ => archiv}/zaklady-oop/exercises/seznamka.md (100%) rename daweb/js2/{ => archiv}/zaklady-oop/lesson.md (100%) diff --git a/daweb/js2/cloud-db/assets/auth_email_settings.jpg b/daweb/js2/archiv/cloud-db/assets/auth_email_settings.jpg similarity index 100% rename from daweb/js2/cloud-db/assets/auth_email_settings.jpg rename to daweb/js2/archiv/cloud-db/assets/auth_email_settings.jpg diff --git a/daweb/js2/cloud-db/assets/db_cols.jpg b/daweb/js2/archiv/cloud-db/assets/db_cols.jpg similarity index 100% rename from daweb/js2/cloud-db/assets/db_cols.jpg rename to daweb/js2/archiv/cloud-db/assets/db_cols.jpg diff --git a/daweb/js2/cloud-db/assets/db_cols_2.jpg b/daweb/js2/archiv/cloud-db/assets/db_cols_2.jpg similarity index 100% rename from daweb/js2/cloud-db/assets/db_cols_2.jpg rename to daweb/js2/archiv/cloud-db/assets/db_cols_2.jpg diff --git a/daweb/js2/cloud-db/assets/db_relation.jpg b/daweb/js2/archiv/cloud-db/assets/db_relation.jpg similarity index 100% rename from daweb/js2/cloud-db/assets/db_relation.jpg rename to daweb/js2/archiv/cloud-db/assets/db_relation.jpg diff --git a/daweb/js2/cloud-db/assets/excel_db.jpg b/daweb/js2/archiv/cloud-db/assets/excel_db.jpg similarity index 100% rename from daweb/js2/cloud-db/assets/excel_db.jpg rename to daweb/js2/archiv/cloud-db/assets/excel_db.jpg diff --git a/daweb/js2/cloud-db/assets/excel_db_2.jpg b/daweb/js2/archiv/cloud-db/assets/excel_db_2.jpg similarity index 100% rename from daweb/js2/cloud-db/assets/excel_db_2.jpg rename to daweb/js2/archiv/cloud-db/assets/excel_db_2.jpg diff --git a/daweb/js2/cloud-db/assets/new_project.jpg b/daweb/js2/archiv/cloud-db/assets/new_project.jpg similarity index 100% rename from daweb/js2/cloud-db/assets/new_project.jpg rename to daweb/js2/archiv/cloud-db/assets/new_project.jpg diff --git a/daweb/js2/cloud-db/assets/rls_all.png b/daweb/js2/archiv/cloud-db/assets/rls_all.png similarity index 100% rename from daweb/js2/cloud-db/assets/rls_all.png rename to daweb/js2/archiv/cloud-db/assets/rls_all.png diff --git a/daweb/js2/cloud-db/assets/rls_insert.jpg b/daweb/js2/archiv/cloud-db/assets/rls_insert.jpg similarity index 100% rename from daweb/js2/cloud-db/assets/rls_insert.jpg rename to daweb/js2/archiv/cloud-db/assets/rls_insert.jpg diff --git a/daweb/js2/cloud-db/assets/rls_select.jpg b/daweb/js2/archiv/cloud-db/assets/rls_select.jpg similarity index 100% rename from daweb/js2/cloud-db/assets/rls_select.jpg rename to daweb/js2/archiv/cloud-db/assets/rls_select.jpg diff --git a/daweb/js2/cloud-db/assets/rls_zapnuti.jpg b/daweb/js2/archiv/cloud-db/assets/rls_zapnuti.jpg similarity index 100% rename from daweb/js2/cloud-db/assets/rls_zapnuti.jpg rename to daweb/js2/archiv/cloud-db/assets/rls_zapnuti.jpg diff --git a/daweb/js2/cloud-db/assets/url_api_key.jpg b/daweb/js2/archiv/cloud-db/assets/url_api_key.jpg similarity index 100% rename from daweb/js2/cloud-db/assets/url_api_key.jpg rename to daweb/js2/archiv/cloud-db/assets/url_api_key.jpg diff --git a/daweb/js2/cloud-db/auth.md b/daweb/js2/archiv/cloud-db/auth.md similarity index 100% rename from daweb/js2/cloud-db/auth.md rename to daweb/js2/archiv/cloud-db/auth.md diff --git a/daweb/js2/cloud-db/bezpecnost.md b/daweb/js2/archiv/cloud-db/bezpecnost.md similarity index 100% rename from daweb/js2/cloud-db/bezpecnost.md rename to daweb/js2/archiv/cloud-db/bezpecnost.md diff --git a/daweb/js2/cloud-db/cv-autentizace.md b/daweb/js2/archiv/cloud-db/cv-autentizace.md similarity index 100% rename from daweb/js2/cloud-db/cv-autentizace.md rename to daweb/js2/archiv/cloud-db/cv-autentizace.md diff --git a/daweb/js2/cloud-db/cv-databaze.md b/daweb/js2/archiv/cloud-db/cv-databaze.md similarity index 100% rename from daweb/js2/cloud-db/cv-databaze.md rename to daweb/js2/archiv/cloud-db/cv-databaze.md diff --git a/daweb/js2/cloud-db/cvlekce/autentizace.md b/daweb/js2/archiv/cloud-db/cvlekce/autentizace.md similarity index 100% rename from daweb/js2/cloud-db/cvlekce/autentizace.md rename to daweb/js2/archiv/cloud-db/cvlekce/autentizace.md diff --git a/daweb/js2/cloud-db/cvlekce/databaze.md b/daweb/js2/archiv/cloud-db/cvlekce/databaze.md similarity index 100% rename from daweb/js2/cloud-db/cvlekce/databaze.md rename to daweb/js2/archiv/cloud-db/cvlekce/databaze.md diff --git a/daweb/js2/cloud-db/databaze.md b/daweb/js2/archiv/cloud-db/databaze.md similarity index 100% rename from daweb/js2/cloud-db/databaze.md rename to daweb/js2/archiv/cloud-db/databaze.md diff --git a/daweb/js2/cloud-db/entry.yml b/daweb/js2/archiv/cloud-db/entry.yml similarity index 100% rename from daweb/js2/cloud-db/entry.yml rename to daweb/js2/archiv/cloud-db/entry.yml diff --git a/daweb/js2/cloud-db/supabase.md b/daweb/js2/archiv/cloud-db/supabase.md similarity index 100% rename from daweb/js2/cloud-db/supabase.md rename to daweb/js2/archiv/cloud-db/supabase.md diff --git a/daweb/js2/dom-elementy/cv-interaktivni-komponenty.md b/daweb/js2/archiv/dom-elementy/cv-interaktivni-komponenty.md similarity index 100% rename from daweb/js2/dom-elementy/cv-interaktivni-komponenty.md rename to daweb/js2/archiv/dom-elementy/cv-interaktivni-komponenty.md diff --git a/daweb/js2/dom-elementy/cv-vlastni-elementy.md b/daweb/js2/archiv/dom-elementy/cv-vlastni-elementy.md similarity index 100% rename from daweb/js2/dom-elementy/cv-vlastni-elementy.md rename to daweb/js2/archiv/dom-elementy/cv-vlastni-elementy.md diff --git a/daweb/js2/dom-elementy/cvarchiv/menu.md b/daweb/js2/archiv/dom-elementy/cvarchiv/menu.md similarity index 100% rename from daweb/js2/dom-elementy/cvarchiv/menu.md rename to daweb/js2/archiv/dom-elementy/cvarchiv/menu.md diff --git a/daweb/js2/dom-elementy/cvarchiv/nazev-kina.md b/daweb/js2/archiv/dom-elementy/cvarchiv/nazev-kina.md similarity index 100% rename from daweb/js2/dom-elementy/cvarchiv/nazev-kina.md rename to daweb/js2/archiv/dom-elementy/cvarchiv/nazev-kina.md diff --git a/daweb/js2/dom-elementy/cvarchiv/program-kina-2.md b/daweb/js2/archiv/dom-elementy/cvarchiv/program-kina-2.md similarity index 100% rename from daweb/js2/dom-elementy/cvarchiv/program-kina-2.md rename to daweb/js2/archiv/dom-elementy/cvarchiv/program-kina-2.md diff --git a/daweb/js2/dom-elementy/cvarchiv/program-kina.md b/daweb/js2/archiv/dom-elementy/cvarchiv/program-kina.md similarity index 100% rename from daweb/js2/dom-elementy/cvarchiv/program-kina.md rename to daweb/js2/archiv/dom-elementy/cvarchiv/program-kina.md diff --git a/daweb/js2/dom-elementy/cvarchiv/sablony.md b/daweb/js2/archiv/dom-elementy/cvarchiv/sablony.md similarity index 100% rename from daweb/js2/dom-elementy/cvarchiv/sablony.md rename to daweb/js2/archiv/dom-elementy/cvarchiv/sablony.md diff --git a/daweb/js2/dom-elementy/cvdoma/emaily-data.md b/daweb/js2/archiv/dom-elementy/cvdoma/emaily-data.md similarity index 100% rename from daweb/js2/dom-elementy/cvdoma/emaily-data.md rename to daweb/js2/archiv/dom-elementy/cvdoma/emaily-data.md diff --git a/daweb/js2/dom-elementy/cvdoma/emaily-detail.md b/daweb/js2/archiv/dom-elementy/cvdoma/emaily-detail.md similarity index 100% rename from daweb/js2/dom-elementy/cvdoma/emaily-detail.md rename to daweb/js2/archiv/dom-elementy/cvdoma/emaily-detail.md diff --git a/daweb/js2/dom-elementy/cvdoma/emaily-dom.md b/daweb/js2/archiv/dom-elementy/cvdoma/emaily-dom.md similarity index 100% rename from daweb/js2/dom-elementy/cvdoma/emaily-dom.md rename to daweb/js2/archiv/dom-elementy/cvdoma/emaily-dom.md diff --git a/daweb/js2/dom-elementy/cvlekce/kontakty/assets/contact.png b/daweb/js2/archiv/dom-elementy/cvlekce/kontakty/assets/contact.png similarity index 100% rename from daweb/js2/dom-elementy/cvlekce/kontakty/assets/contact.png rename to daweb/js2/archiv/dom-elementy/cvlekce/kontakty/assets/contact.png diff --git a/daweb/js2/dom-elementy/cvlekce/kontakty/exercise.md b/daweb/js2/archiv/dom-elementy/cvlekce/kontakty/exercise.md similarity index 100% rename from daweb/js2/dom-elementy/cvlekce/kontakty/exercise.md rename to daweb/js2/archiv/dom-elementy/cvlekce/kontakty/exercise.md diff --git a/daweb/js2/dom-elementy/cvlekce/kostky-1.md b/daweb/js2/archiv/dom-elementy/cvlekce/kostky-1.md similarity index 100% rename from daweb/js2/dom-elementy/cvlekce/kostky-1.md rename to daweb/js2/archiv/dom-elementy/cvlekce/kostky-1.md diff --git a/daweb/js2/dom-elementy/cvlekce/tlacitko.md b/daweb/js2/archiv/dom-elementy/cvlekce/tlacitko.md similarity index 100% rename from daweb/js2/dom-elementy/cvlekce/tlacitko.md rename to daweb/js2/archiv/dom-elementy/cvlekce/tlacitko.md diff --git a/daweb/js2/dom-elementy/cvlekce/zarovky.md b/daweb/js2/archiv/dom-elementy/cvlekce/zarovky.md similarity index 100% rename from daweb/js2/dom-elementy/cvlekce/zarovky.md rename to daweb/js2/archiv/dom-elementy/cvlekce/zarovky.md diff --git a/daweb/js2/dom-elementy/dom-komponenty.md b/daweb/js2/archiv/dom-elementy/dom-komponenty.md similarity index 100% rename from daweb/js2/dom-elementy/dom-komponenty.md rename to daweb/js2/archiv/dom-elementy/dom-komponenty.md diff --git a/daweb/js2/dom-elementy/entry.yml b/daweb/js2/archiv/dom-elementy/entry.yml similarity index 100% rename from daweb/js2/dom-elementy/entry.yml rename to daweb/js2/archiv/dom-elementy/entry.yml diff --git a/daweb/js2/dom-elementy/udalosti.md b/daweb/js2/archiv/dom-elementy/udalosti.md similarity index 100% rename from daweb/js2/dom-elementy/udalosti.md rename to daweb/js2/archiv/dom-elementy/udalosti.md diff --git a/daweb/js2/dom-elementy/ulozky-na-doma.md b/daweb/js2/archiv/dom-elementy/ulozky-na-doma.md similarity index 100% rename from daweb/js2/dom-elementy/ulozky-na-doma.md rename to daweb/js2/archiv/dom-elementy/ulozky-na-doma.md diff --git a/daweb/js2/dom-elementy/vlastni-data.md b/daweb/js2/archiv/dom-elementy/vlastni-data.md similarity index 100% rename from daweb/js2/dom-elementy/vlastni-data.md rename to daweb/js2/archiv/dom-elementy/vlastni-data.md diff --git a/daweb/js2/dom-elementy/vlastni-elementy.md b/daweb/js2/archiv/dom-elementy/vlastni-elementy.md similarity index 100% rename from daweb/js2/dom-elementy/vlastni-elementy.md rename to daweb/js2/archiv/dom-elementy/vlastni-elementy.md diff --git a/daweb/js2/vetsi-aplikace/dev/nakupni-seznam/img/background.svg b/daweb/js2/archiv/vetsi-aplikace/dev/nakupni-seznam/img/background.svg similarity index 100% rename from daweb/js2/vetsi-aplikace/dev/nakupni-seznam/img/background.svg rename to daweb/js2/archiv/vetsi-aplikace/dev/nakupni-seznam/img/background.svg diff --git a/daweb/js2/vetsi-aplikace/dev/nakupni-seznam/index.html b/daweb/js2/archiv/vetsi-aplikace/dev/nakupni-seznam/index.html similarity index 100% rename from daweb/js2/vetsi-aplikace/dev/nakupni-seznam/index.html rename to daweb/js2/archiv/vetsi-aplikace/dev/nakupni-seznam/index.html diff --git a/daweb/js2/vetsi-aplikace/dev/nakupni-seznam/index.js b/daweb/js2/archiv/vetsi-aplikace/dev/nakupni-seznam/index.js similarity index 100% rename from daweb/js2/vetsi-aplikace/dev/nakupni-seznam/index.js rename to daweb/js2/archiv/vetsi-aplikace/dev/nakupni-seznam/index.js diff --git a/daweb/js2/vetsi-aplikace/dev/nakupni-seznam/style.css b/daweb/js2/archiv/vetsi-aplikace/dev/nakupni-seznam/style.css similarity index 100% rename from daweb/js2/vetsi-aplikace/dev/nakupni-seznam/style.css rename to daweb/js2/archiv/vetsi-aplikace/dev/nakupni-seznam/style.css diff --git a/daweb/js2/vetsi-aplikace/dev/webapp-starter/.gitignore b/daweb/js2/archiv/vetsi-aplikace/dev/webapp-starter/.gitignore similarity index 100% rename from daweb/js2/vetsi-aplikace/dev/webapp-starter/.gitignore rename to daweb/js2/archiv/vetsi-aplikace/dev/webapp-starter/.gitignore diff --git a/daweb/js2/vetsi-aplikace/dev/webapp-starter/package.json b/daweb/js2/archiv/vetsi-aplikace/dev/webapp-starter/package.json similarity index 100% rename from daweb/js2/vetsi-aplikace/dev/webapp-starter/package.json rename to daweb/js2/archiv/vetsi-aplikace/dev/webapp-starter/package.json diff --git a/daweb/js2/vetsi-aplikace/dev/webapp-starter/src/index.html b/daweb/js2/archiv/vetsi-aplikace/dev/webapp-starter/src/index.html similarity index 100% rename from daweb/js2/vetsi-aplikace/dev/webapp-starter/src/index.html rename to daweb/js2/archiv/vetsi-aplikace/dev/webapp-starter/src/index.html diff --git a/daweb/js2/vetsi-aplikace/dev/webapp-starter/src/index.js b/daweb/js2/archiv/vetsi-aplikace/dev/webapp-starter/src/index.js similarity index 100% rename from daweb/js2/vetsi-aplikace/dev/webapp-starter/src/index.js rename to daweb/js2/archiv/vetsi-aplikace/dev/webapp-starter/src/index.js diff --git a/daweb/js2/vetsi-aplikace/dev/webapp-starter/webpack.config.js b/daweb/js2/archiv/vetsi-aplikace/dev/webapp-starter/webpack.config.js similarity index 100% rename from daweb/js2/vetsi-aplikace/dev/webapp-starter/webpack.config.js rename to daweb/js2/archiv/vetsi-aplikace/dev/webapp-starter/webpack.config.js diff --git a/daweb/js2/vetsi-aplikace/excs/citat/assets/quote.png b/daweb/js2/archiv/vetsi-aplikace/excs/citat/assets/quote.png similarity index 100% rename from daweb/js2/vetsi-aplikace/excs/citat/assets/quote.png rename to daweb/js2/archiv/vetsi-aplikace/excs/citat/assets/quote.png diff --git a/daweb/js2/vetsi-aplikace/excs/citat/exercise.md b/daweb/js2/archiv/vetsi-aplikace/excs/citat/exercise.md similarity index 100% rename from daweb/js2/vetsi-aplikace/excs/citat/exercise.md rename to daweb/js2/archiv/vetsi-aplikace/excs/citat/exercise.md diff --git a/daweb/js2/vetsi-aplikace/excs/prestupky-2/dev/zadani/img/bg.svg b/daweb/js2/archiv/vetsi-aplikace/excs/prestupky-2/dev/zadani/img/bg.svg similarity index 100% rename from daweb/js2/vetsi-aplikace/excs/prestupky-2/dev/zadani/img/bg.svg rename to daweb/js2/archiv/vetsi-aplikace/excs/prestupky-2/dev/zadani/img/bg.svg diff --git a/daweb/js2/vetsi-aplikace/excs/prestupky-2/dev/zadani/index.html b/daweb/js2/archiv/vetsi-aplikace/excs/prestupky-2/dev/zadani/index.html similarity index 100% rename from daweb/js2/vetsi-aplikace/excs/prestupky-2/dev/zadani/index.html rename to daweb/js2/archiv/vetsi-aplikace/excs/prestupky-2/dev/zadani/index.html diff --git a/daweb/js2/vetsi-aplikace/excs/prestupky-2/dev/zadani/index.js b/daweb/js2/archiv/vetsi-aplikace/excs/prestupky-2/dev/zadani/index.js similarity index 100% rename from daweb/js2/vetsi-aplikace/excs/prestupky-2/dev/zadani/index.js rename to daweb/js2/archiv/vetsi-aplikace/excs/prestupky-2/dev/zadani/index.js diff --git a/daweb/js2/vetsi-aplikace/excs/prestupky-2/dev/zadani/style.css b/daweb/js2/archiv/vetsi-aplikace/excs/prestupky-2/dev/zadani/style.css similarity index 100% rename from daweb/js2/vetsi-aplikace/excs/prestupky-2/dev/zadani/style.css rename to daweb/js2/archiv/vetsi-aplikace/excs/prestupky-2/dev/zadani/style.css diff --git a/daweb/js2/vetsi-aplikace/excs/prestupky-2/exercise.md b/daweb/js2/archiv/vetsi-aplikace/excs/prestupky-2/exercise.md similarity index 100% rename from daweb/js2/vetsi-aplikace/excs/prestupky-2/exercise.md rename to daweb/js2/archiv/vetsi-aplikace/excs/prestupky-2/exercise.md diff --git a/daweb/js2/vetsi-aplikace/excs/svetovy-cas-webpack/exercise.md b/daweb/js2/archiv/vetsi-aplikace/excs/svetovy-cas-webpack/exercise.md similarity index 100% rename from daweb/js2/vetsi-aplikace/excs/svetovy-cas-webpack/exercise.md rename to daweb/js2/archiv/vetsi-aplikace/excs/svetovy-cas-webpack/exercise.md diff --git a/daweb/js2/vetsi-aplikace/lesson.md b/daweb/js2/archiv/vetsi-aplikace/lesson.md similarity index 100% rename from daweb/js2/vetsi-aplikace/lesson.md rename to daweb/js2/archiv/vetsi-aplikace/lesson.md diff --git a/daweb/js2/webhosting/entry.yml b/daweb/js2/archiv/webhosting/entry.yml similarity index 100% rename from daweb/js2/webhosting/entry.yml rename to daweb/js2/archiv/webhosting/entry.yml diff --git a/daweb/js2/webhosting/webhosting.md b/daweb/js2/archiv/webhosting/webhosting.md similarity index 100% rename from daweb/js2/webhosting/webhosting.md rename to daweb/js2/archiv/webhosting/webhosting.md diff --git a/daweb/js2/webpack/cv-dotaz-patch.md b/daweb/js2/archiv/webpack/cv-dotaz-patch.md similarity index 100% rename from daweb/js2/webpack/cv-dotaz-patch.md rename to daweb/js2/archiv/webpack/cv-dotaz-patch.md diff --git a/daweb/js2/webpack/cv-komunikace.md b/daweb/js2/archiv/webpack/cv-komunikace.md similarity index 100% rename from daweb/js2/webpack/cv-komunikace.md rename to daweb/js2/archiv/webpack/cv-komunikace.md diff --git a/daweb/js2/webpack/cvdoma/svetovy-cas-webpack/exercise.md b/daweb/js2/archiv/webpack/cvdoma/svetovy-cas-webpack/exercise.md similarity index 100% rename from daweb/js2/webpack/cvdoma/svetovy-cas-webpack/exercise.md rename to daweb/js2/archiv/webpack/cvdoma/svetovy-cas-webpack/exercise.md diff --git a/daweb/js2/webpack/cvlekce/citat-komponenta/assets/quote-icon.svg b/daweb/js2/archiv/webpack/cvlekce/citat-komponenta/assets/quote-icon.svg similarity index 100% rename from daweb/js2/webpack/cvlekce/citat-komponenta/assets/quote-icon.svg rename to daweb/js2/archiv/webpack/cvlekce/citat-komponenta/assets/quote-icon.svg diff --git a/daweb/js2/webpack/cvlekce/citat-komponenta/exercise.md b/daweb/js2/archiv/webpack/cvlekce/citat-komponenta/exercise.md similarity index 100% rename from daweb/js2/webpack/cvlekce/citat-komponenta/exercise.md rename to daweb/js2/archiv/webpack/cvlekce/citat-komponenta/exercise.md diff --git a/daweb/js2/webpack/cvlekce/posun-polozek/assets/arrow-down.svg b/daweb/js2/archiv/webpack/cvlekce/posun-polozek/assets/arrow-down.svg similarity index 100% rename from daweb/js2/webpack/cvlekce/posun-polozek/assets/arrow-down.svg rename to daweb/js2/archiv/webpack/cvlekce/posun-polozek/assets/arrow-down.svg diff --git a/daweb/js2/webpack/cvlekce/posun-polozek/assets/arrow-up.svg b/daweb/js2/archiv/webpack/cvlekce/posun-polozek/assets/arrow-up.svg similarity index 100% rename from daweb/js2/webpack/cvlekce/posun-polozek/assets/arrow-up.svg rename to daweb/js2/archiv/webpack/cvlekce/posun-polozek/assets/arrow-up.svg diff --git a/daweb/js2/webpack/cvlekce/posun-polozek/exercise.md b/daweb/js2/archiv/webpack/cvlekce/posun-polozek/exercise.md similarity index 100% rename from daweb/js2/webpack/cvlekce/posun-polozek/exercise.md rename to daweb/js2/archiv/webpack/cvlekce/posun-polozek/exercise.md diff --git a/daweb/js2/webpack/cvlekce/rozbaleni-polozky/assets/rozbaleno.png b/daweb/js2/archiv/webpack/cvlekce/rozbaleni-polozky/assets/rozbaleno.png similarity index 100% rename from daweb/js2/webpack/cvlekce/rozbaleni-polozky/assets/rozbaleno.png rename to daweb/js2/archiv/webpack/cvlekce/rozbaleni-polozky/assets/rozbaleno.png diff --git a/daweb/js2/webpack/cvlekce/rozbaleni-polozky/exercise.md b/daweb/js2/archiv/webpack/cvlekce/rozbaleni-polozky/exercise.md similarity index 100% rename from daweb/js2/webpack/cvlekce/rozbaleni-polozky/exercise.md rename to daweb/js2/archiv/webpack/cvlekce/rozbaleni-polozky/exercise.md diff --git a/daweb/js2/webpack/cvlekce/uprava-polozky.md b/daweb/js2/archiv/webpack/cvlekce/uprava-polozky.md similarity index 100% rename from daweb/js2/webpack/cvlekce/uprava-polozky.md rename to daweb/js2/archiv/webpack/cvlekce/uprava-polozky.md diff --git a/daweb/js2/webpack/dotaz-patch.md b/daweb/js2/archiv/webpack/dotaz-patch.md similarity index 100% rename from daweb/js2/webpack/dotaz-patch.md rename to daweb/js2/archiv/webpack/dotaz-patch.md diff --git a/daweb/js2/webpack/entry.yml b/daweb/js2/archiv/webpack/entry.yml similarity index 100% rename from daweb/js2/webpack/entry.yml rename to daweb/js2/archiv/webpack/entry.yml diff --git a/daweb/js2/webpack/excs/prestupky-2/dev/zadani/img/bg.svg b/daweb/js2/archiv/webpack/excs/prestupky-2/dev/zadani/img/bg.svg similarity index 100% rename from daweb/js2/webpack/excs/prestupky-2/dev/zadani/img/bg.svg rename to daweb/js2/archiv/webpack/excs/prestupky-2/dev/zadani/img/bg.svg diff --git a/daweb/js2/webpack/excs/prestupky-2/dev/zadani/index.html b/daweb/js2/archiv/webpack/excs/prestupky-2/dev/zadani/index.html similarity index 100% rename from daweb/js2/webpack/excs/prestupky-2/dev/zadani/index.html rename to daweb/js2/archiv/webpack/excs/prestupky-2/dev/zadani/index.html diff --git a/daweb/js2/webpack/excs/prestupky-2/dev/zadani/index.js b/daweb/js2/archiv/webpack/excs/prestupky-2/dev/zadani/index.js similarity index 100% rename from daweb/js2/webpack/excs/prestupky-2/dev/zadani/index.js rename to daweb/js2/archiv/webpack/excs/prestupky-2/dev/zadani/index.js diff --git a/daweb/js2/webpack/excs/prestupky-2/dev/zadani/style.css b/daweb/js2/archiv/webpack/excs/prestupky-2/dev/zadani/style.css similarity index 100% rename from daweb/js2/webpack/excs/prestupky-2/dev/zadani/style.css rename to daweb/js2/archiv/webpack/excs/prestupky-2/dev/zadani/style.css diff --git a/daweb/js2/webpack/excs/prestupky-2/exercise.md b/daweb/js2/archiv/webpack/excs/prestupky-2/exercise.md similarity index 100% rename from daweb/js2/webpack/excs/prestupky-2/exercise.md rename to daweb/js2/archiv/webpack/excs/prestupky-2/exercise.md diff --git a/daweb/js2/webpack/ulozky-na-doma.md b/daweb/js2/archiv/webpack/ulozky-na-doma.md similarity index 100% rename from daweb/js2/webpack/ulozky-na-doma.md rename to daweb/js2/archiv/webpack/ulozky-na-doma.md diff --git a/daweb/js2/zaklady-oop/exercises/cena-pozemku.md b/daweb/js2/archiv/zaklady-oop/exercises/cena-pozemku.md similarity index 100% rename from daweb/js2/zaklady-oop/exercises/cena-pozemku.md rename to daweb/js2/archiv/zaklady-oop/exercises/cena-pozemku.md diff --git a/daweb/js2/zaklady-oop/exercises/hledani.md b/daweb/js2/archiv/zaklady-oop/exercises/hledani.md similarity index 100% rename from daweb/js2/zaklady-oop/exercises/hledani.md rename to daweb/js2/archiv/zaklady-oop/exercises/hledani.md diff --git a/daweb/js2/zaklady-oop/exercises/hodiny-2.md b/daweb/js2/archiv/zaklady-oop/exercises/hodiny-2.md similarity index 100% rename from daweb/js2/zaklady-oop/exercises/hodiny-2.md rename to daweb/js2/archiv/zaklady-oop/exercises/hodiny-2.md diff --git a/daweb/js2/zaklady-oop/exercises/hodiny-3.md b/daweb/js2/archiv/zaklady-oop/exercises/hodiny-3.md similarity index 100% rename from daweb/js2/zaklady-oop/exercises/hodiny-3.md rename to daweb/js2/archiv/zaklady-oop/exercises/hodiny-3.md diff --git a/daweb/js2/zaklady-oop/exercises/hodiny.md b/daweb/js2/archiv/zaklady-oop/exercises/hodiny.md similarity index 100% rename from daweb/js2/zaklady-oop/exercises/hodiny.md rename to daweb/js2/archiv/zaklady-oop/exercises/hodiny.md diff --git a/daweb/js2/zaklady-oop/exercises/pejsek.md b/daweb/js2/archiv/zaklady-oop/exercises/pejsek.md similarity index 100% rename from daweb/js2/zaklady-oop/exercises/pejsek.md rename to daweb/js2/archiv/zaklady-oop/exercises/pejsek.md diff --git a/daweb/js2/zaklady-oop/exercises/pozemky-2.md b/daweb/js2/archiv/zaklady-oop/exercises/pozemky-2.md similarity index 100% rename from daweb/js2/zaklady-oop/exercises/pozemky-2.md rename to daweb/js2/archiv/zaklady-oop/exercises/pozemky-2.md diff --git a/daweb/js2/zaklady-oop/exercises/pozemky.md b/daweb/js2/archiv/zaklady-oop/exercises/pozemky.md similarity index 100% rename from daweb/js2/zaklady-oop/exercises/pozemky.md rename to daweb/js2/archiv/zaklady-oop/exercises/pozemky.md diff --git a/daweb/js2/zaklady-oop/exercises/seznamka.md b/daweb/js2/archiv/zaklady-oop/exercises/seznamka.md similarity index 100% rename from daweb/js2/zaklady-oop/exercises/seznamka.md rename to daweb/js2/archiv/zaklady-oop/exercises/seznamka.md diff --git a/daweb/js2/zaklady-oop/lesson.md b/daweb/js2/archiv/zaklady-oop/lesson.md similarity index 100% rename from daweb/js2/zaklady-oop/lesson.md rename to daweb/js2/archiv/zaklady-oop/lesson.md From c0c94e12a2c80bccb8b533ef802db761759db481 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Podlouck=C3=BD?= Date: Tue, 7 Nov 2023 20:36:28 +0100 Subject: [PATCH 2/3] =?UTF-8?q?Zalo=C5=BEen=C3=AD=20lekc=C3=AD=20o=20n?= =?UTF-8?q?=C3=A1vrhu=20a=20z=C3=A1v=C4=9Bre=C4=8Dn=C3=A9m=20projektu?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- daweb/react/entry.yml | 2 + daweb/react/navrh/cv-dynamicke-stranky.md | 3 - daweb/react/navrh/cv-projekt.md | 3 - daweb/react/navrh/cv-router.md | 3 - daweb/react/navrh/cvdoma/filmovy-magazin.md | 8 -- daweb/react/navrh/cvlekce/detsky-koutek.md | 47 ------- .../navrh/cvlekce/parametry/assets/centers.js | 58 -------- .../react/navrh/cvlekce/parametry/exercise.md | 19 --- daweb/react/navrh/entry.yml | 12 +- daweb/react/navrh/faze-vyvoje.md | 15 +- daweb/react/navrh/router.md | 123 ---------------- daweb/react/navrh/spa.md | 132 ------------------ daweb/react/stribrava-1/entry.yml | 5 + daweb/react/stribrava-1/uvod.md | 1 + daweb/react/stribrava-2/entry.yml | 5 + daweb/react/stribrava-2/pokracovani.md | 1 + daweb/react/ui-knihovny/children-prop.md | 40 ++++++ daweb/react/ui-knihovny/cv-children.md | 3 + daweb/react/ui-knihovny/cv-ui-knihovny.md | 3 + .../assets/rozbalovaci-box.png | Bin 0 -> 21733 bytes .../cvlekce/rozbalovaci-box/exercise.md | 18 +++ .../react/ui-knihovny/cvlekce/ui-knihovna.md | 9 ++ daweb/react/ui-knihovny/entry.yml | 8 ++ daweb/react/ui-knihovny/ui-knihovny.md | 16 +++ 24 files changed, 124 insertions(+), 410 deletions(-) delete mode 100644 daweb/react/navrh/cv-dynamicke-stranky.md delete mode 100644 daweb/react/navrh/cv-projekt.md delete mode 100644 daweb/react/navrh/cv-router.md delete mode 100644 daweb/react/navrh/cvdoma/filmovy-magazin.md delete mode 100644 daweb/react/navrh/cvlekce/detsky-koutek.md delete mode 100644 daweb/react/navrh/cvlekce/parametry/assets/centers.js delete mode 100644 daweb/react/navrh/cvlekce/parametry/exercise.md delete mode 100644 daweb/react/navrh/router.md delete mode 100644 daweb/react/navrh/spa.md create mode 100644 daweb/react/stribrava-1/entry.yml create mode 100644 daweb/react/stribrava-1/uvod.md create mode 100644 daweb/react/stribrava-2/entry.yml create mode 100644 daweb/react/stribrava-2/pokracovani.md create mode 100644 daweb/react/ui-knihovny/children-prop.md create mode 100644 daweb/react/ui-knihovny/cv-children.md create mode 100644 daweb/react/ui-knihovny/cv-ui-knihovny.md create mode 100644 daweb/react/ui-knihovny/cvlekce/rozbalovaci-box/assets/rozbalovaci-box.png create mode 100644 daweb/react/ui-knihovny/cvlekce/rozbalovaci-box/exercise.md create mode 100644 daweb/react/ui-knihovny/cvlekce/ui-knihovna.md create mode 100644 daweb/react/ui-knihovny/entry.yml create mode 100644 daweb/react/ui-knihovny/ui-knihovny.md diff --git a/daweb/react/entry.yml b/daweb/react/entry.yml index 7c44b08e..df0b483b 100644 --- a/daweb/react/entry.yml +++ b/daweb/react/entry.yml @@ -10,3 +10,5 @@ lessons: - leviexpress-2 - navrh - ui-knihovny + - stribrava-1 + - stribrava-2 diff --git a/daweb/react/navrh/cv-dynamicke-stranky.md b/daweb/react/navrh/cv-dynamicke-stranky.md deleted file mode 100644 index 6deeae6d..00000000 --- a/daweb/react/navrh/cv-dynamicke-stranky.md +++ /dev/null @@ -1,3 +0,0 @@ -## Cvičení: Dynamické stránky - -::exc[cvlekce/parametry] diff --git a/daweb/react/navrh/cv-projekt.md b/daweb/react/navrh/cv-projekt.md deleted file mode 100644 index b2dfe188..00000000 --- a/daweb/react/navrh/cv-projekt.md +++ /dev/null @@ -1,3 +0,0 @@ -## Cvičný projekt - -::exc[cvdoma/filmovy-magazin] diff --git a/daweb/react/navrh/cv-router.md b/daweb/react/navrh/cv-router.md deleted file mode 100644 index 1e444ede..00000000 --- a/daweb/react/navrh/cv-router.md +++ /dev/null @@ -1,3 +0,0 @@ -## Cvičení: React Router - -::exc[cvlekce/detsky-koutek] diff --git a/daweb/react/navrh/cvdoma/filmovy-magazin.md b/daweb/react/navrh/cvdoma/filmovy-magazin.md deleted file mode 100644 index 99cfa0e4..00000000 --- a/daweb/react/navrh/cvdoma/filmovy-magazin.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -title: Filmový magazín -demand: 3 ---- - -Cílem projektu je naprogramovat stránku internetového filmového magazínu. Naše aplikace bude mít menu, ve kterém půjde přepínat mezi několika stránkami. Na jedné stránce bude dále možné vybírat ze seznamu filmy a zobrazit si o nich podrobnosti. - -Známým postupem si vytvořte kopii [repozitáře projektu](https://github.com/Czechitas-podklady-WEB/projekt-filmovy-magazin). Podrobný popis úkolu včetně schéma celé aplikace najdete v popisu repozitáře. diff --git a/daweb/react/navrh/cvlekce/detsky-koutek.md b/daweb/react/navrh/cvlekce/detsky-koutek.md deleted file mode 100644 index b9f64767..00000000 --- a/daweb/react/navrh/cvlekce/detsky-koutek.md +++ /dev/null @@ -1,47 +0,0 @@ ---- -title: Dětský koutek -demand: 3 ---- - -V tomto cvičení vytvoříte jednoduchou stránku pro dětský koutek. Pomocí knihovny React Router vytvoříte navigaci, která umožní zobrazit různé komponenty na základě cesty v URL. - -1. Vygenerujte si novou aplikaci pomocí příkazu - ```sh - npm init kodim-app@latest detsky-koutek - ``` -1. Nainstalujte si knihovnu React Router pomocí _npm_: - ```sh - npm install react-router-dom - ``` -1. Spusťte aplikaci příkazem `npm start` a zkontrolujte, že vám v prohlížeči správně běží. -1. Nebojte se v následujících krocích inspirovat dokumentací [React Routeru](https://reactrouter.com/en/main/start/overview)! -1. V hlavním souboru `index.jsx` založte objekt s routami. Zatím zobrazujte pouze hlavní komponentu `App` pod cestou `/`. Nezapomeňte použít `RouterProvider` ve funkci `render`. Vyzkoušejte, že takto vaše aplikace funguje. -1. V `src` adresáři vytvořte složku `pages` a uvnitř složky s komponentami pro jednotlivé stránky _Home_, _About_ a _Contact_. -1. Stránka _Home_ bude obsahovat nadpis a odstavec s textem: - - ``` - Dětský koutek - - Vítejte v našem dětském koutku! Jsme místo plné zábavy a dobrodružství pro všechny děti do 6ti let. Najdete u nás hry, aktivity, kvízy a mnoho dalšího, co zabaví vaše ratolesti a pomůže jim učit se nové věci. Vyberte si některou z našich poboček a začněte objevovat svět plný překvapení! - ``` - -1. Stránka _About_ bude obsahovat nadpis a odstavec s textem: - - ``` - O nás - - Jsme tým mladých nadšenců do vzdělávání a zábavy pro děti. Naše poslání je vytvářet podnětné a zábavné aktivity pro děti, které podporují jejich rozvoj a učení nových dovedností. Vytvořili jsme dětský koutek jako místo, kde se děti cítí v bezpečí, mohou objevovat a zároveň se něco nového naučit. Doufáme, že se k nám vydáte a budete s námi sdílet své zážitky a nápady na další aktivity! - ``` - -1. Stránka _Contact_ bude obsahovat nadpis a odstavec s textem: - - ``` - O nás - - Pokud máte jakékoliv otázky, nápady nebo nám chcete prostě jen napsat, zanechte nám zprávu přes náš kontaktní formulář a my se vám co nejdříve ozveme. Pokud preferujete jiný způsob komunikace, můžete nám také napsat e-mail na adresu info@detskykoutek.cz nebo nás kontaktovat přes naše sociální sítě. Děkujeme vám za vaši zpětnou vazbu a těšíme se na vaše zprávy! - ``` - -1. V souboru `index.jsx` si naimportujte všechny vytvořené stránky a přidejte je jako `children` vašeho routeru pod cesty `/`, `about` a `contact`. -1. V komponentě `App` vytvořte navigaci pomocí `Link` komponent a dejte do ní odkazy na všechny výše uvedené stránky. Použijte komponentu `Outlet` na vyznačení místa, kam se máji vkládat jednotlivé stránky. -1. Vyzkoušejte, že aplikace správně naviguje - mění adresu a obsah podle klikání na odkazy. -1. Pokud máte čas a chuť, přidejte na web zajímavější obsah dle libosti a nastylujte jednotlivé stránky i navigaci. diff --git a/daweb/react/navrh/cvlekce/parametry/assets/centers.js b/daweb/react/navrh/cvlekce/parametry/assets/centers.js deleted file mode 100644 index 9a8aa58b..00000000 --- a/daweb/react/navrh/cvlekce/parametry/assets/centers.js +++ /dev/null @@ -1,58 +0,0 @@ -const centers = [ - { - id: 'hernicka-narodni', - name: 'Hernička v Národní', - address: 'Národní 28, 110 00 Praha 1', - capacity: 20, - open: { - mon: '8:00 - 18:00', - tue: '8:00 - 18:00', - wed: '8:00 - 18:00', - thu: '8:00 - 18:00', - fri: '8:00 - 18:00', - sat: '9:00 - 12:00', - sun: null, - }, - info: 'Nachází se v těsné blízkosti historického centra Prahy a má skvělou polohu pro rodiny které chtějí prozkoumat město a zároveň se postarat o své malé děti. Koutek má příjemné prostředí, kde se děti mohou hrát a učit se novým věcem. K dispozici jsou také kreativní workshopy, kde děti mohou tvořit a vyrábět své vlastní hračky.', - }, - { - id: 'vodickuv-koutek', - name: 'Vodičkův koutek', - address: 'Vodičkova 39, 110 00 Praha 1', - capacity: 15, - open: { - mon: '9:00 - 17:00', - tue: '9:00 - 17:00', - wed: '9:00 - 17:00', - thu: '9:00 - 17:00', - fri: '9:00 - 17:00', - sat: null, - sun: null, - }, - info: 'Tento koutek je ideálním místem pro rodiče, kteří se chtějí zastavit na nákup v centru Prahy, ale mají s sebou děti. Koutek nabízí profesionální péči o děti, takže se mohou rodiče soustředit na své nákupy a mít klid v duši, že jsou jejich děti v bezpečí a dobře se baví.', - }, - { - id: 'vaclavak', - name: 'Koutek Václavák', - address: 'Václavské nám. 816/49, 110 00 Praha 1', - capacity: 30, - open: { - mon: '7:30 - 18:00', - tue: '7:30 - 18:00', - wed: '7:30 - 18:00', - thu: '7:30 - 18:00', - fri: '7:30 - 18:00', - sat: null, - sun: null, - }, - info: 'Tento koutek je jedním z největších v Praze a nabízí širokou škálu aktivit pro děti, jako jsou kreativní workshopy, hudební lekce a taneční kurzy. Koutek má také velkou zahradu, kde se děti mohou hrát na čerstvém vzduchu a užít si slunečné dny. Pro rodiče je k dispozici relaxační zóna, kde se mohou odpočinout a relaxovat.', - }, -]; - -export const getAllCenters = () => { - return centers; -}; - -export const getCenterById = (id) => { - return centers.find((center) => center.id === id); -}; diff --git a/daweb/react/navrh/cvlekce/parametry/exercise.md b/daweb/react/navrh/cvlekce/parametry/exercise.md deleted file mode 100644 index bb4a6d0e..00000000 --- a/daweb/react/navrh/cvlekce/parametry/exercise.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -title: Pobočky dětského koutku -demand: 4 ---- - -Budeme pokračovat v projektu dětského koutku. Přidáme možnost zobrazit seznam poboček a každou pobočku rozkliknout pro získání více informaci. - -1. Pokračujte v projektu z předchozího cvičení. -1. Nejprve do projektu přidejte stránku, která správně ošetří přístup na neexistující stránku, tedy chybu 404. -1. Dále přidejte do navigace stránku _Pobočky_ a vytvořte pro ni samostatnou komponentu `CentersPage`. Na této stránce budeme chtít zobrazit jednotlivé pobočky našeho dětského koutku (viz další bod). -1. Do složky `src` si stáhněte soubor [`centers.js`](assets/centers.js), který bude představovat databázi poboček. -1. Do souboru s komponentou pro seznam poboček si importuje funkci `getAllCenters`. Pomocí mapování zobrazte seznam odkazů na jednotlivé pobočky. Odkaz bude vždy cesta `/pobocky/id-pobocky`. Zatím nezobrazujte detail pobočky, pouze její název a adresu. Tento seznam bude sloužit jako navigace mezi jednotlivými pobočkami. -1. Vytvořte komponentu `CenterDetail` pro zobrazení detailu pobočky. Tato komponenta bude sídlit pod cestou `/pobocky/:id`. Pomocí `useParams` a funkce `getCenterById` získejte položku podle parametru `:id`. Zobrazte detail pobočky s otvíracími hodinami i popisem. -1. Komponentu `CenterDetail` zobrazte jako `` uvnitř komponenty `CentersPage`. -1. Nyní by měla stránka správně fungovat. Po kliknutí na pobočku se uživatel dostane na stránku s detailem každé pobočky. Zároveň na stránce uvidí hlavní navigaci i seznam ostatních poboček. - -#### Bonus - -1. Přidejte zajímavé featury z dokumentace. Například stylování odkazů podle toho, která stránka je zrovna aktivní. S tím nám pomůže komponenta [NavLink](https://reactrouter.com/en/6.10.0/start/tutorial#active-link-styling). diff --git a/daweb/react/navrh/entry.yml b/daweb/react/navrh/entry.yml index 7240dc58..a591b981 100644 --- a/daweb/react/navrh/entry.yml +++ b/daweb/react/navrh/entry.yml @@ -1,11 +1,5 @@ -title: React Router -lead: 'Pomocí routeru dokážeme v Reactu vyrobit vícestránkovou aplikaci.' +title: Návrh architektury aplikace +lead: Naučíme se, jak přemýšlet nad strukturou aplikace ještě dříve, než vůbec začneme programovat access: 'claim' sections: - - spa - - router - - cv-router - - chyby - - dynamicky-obsah - - cv-dynamicke-stranky - - cv-projekt + - faze-vyvoje diff --git a/daweb/react/navrh/faze-vyvoje.md b/daweb/react/navrh/faze-vyvoje.md index 910c2ad2..43b360e9 100644 --- a/daweb/react/navrh/faze-vyvoje.md +++ b/daweb/react/navrh/faze-vyvoje.md @@ -1,20 +1,25 @@ ## Fáze vývoje webové aplikace -V mnoha cvičeních a projektech v tomto kurzu už jste jistě zažili, že i tu úplně nejobyčejnější webovou aplikaci nikdo nezvládne napsat najednou, takříkajíc z voleje. Vždy je potřeba si práci nějak dopředu rozvrhnout a naplánovat si jednotlivé fáze. +V mnoha cvičeních a projektech v tomto kurzu už jste jistě zažili, že i tu úplně nejobyčejnější webovou aplikaci nikdo nezvládne napsat najednou, takříkajíc "z voleje". Vždy je potřeba si práci nějak dopředu rozvrhnout a naplánovat si jednotlivé fáze. Při vývoji webových aplikaci většinou postupujeme podle následujícího schématu: -1. **Návrh** – připravíme návrh aplikace, který může být v podobě wireframů, grafického návrhu, nebo jenom výčtu požadavků. V této fázi se také rozhodneme, jaké technologie budeme používat a jakým způsobem budeme aplikaci vyvíjet. Návrh vzniká na základě anlýzy požadavků zadavatele, což může být náš klient, nebo třeba jenom my sami. -1. **Grafický design** – připravíme grafický návrh. V této fázi se rozhodneme o barvách, typografii, velikosti elementů, UX atd. Výsledkem je grafický návrh, který může být vytvořen v nějakém grafickém editoru, nebo třeba jenom v HTML a CSS. +1. **Specifikace** – připravíme specifikaci aplikace, což je výčet požadavků, co má aplikace umět plus například wireframy uživatelského rozhraní, základ grafického návrhu apod. Specifikace vzniká na základě anlýzy požadavků zadavatele, což může být náš klient, nebo třeba jenom my sami. +1. **UI/UX design** – připravíme vzhled a uživatelské fungování aplikace. V této fázi se rozhodneme o barvách, typografii, velikosti elementů, UX atd. Výsledkem je návrh, který může být vytvořen v nějakém grafickém editoru, nebo třeba jenom v HTML a CSS. 1. **Návrh architektury** – rozhodneme se, jakou bude naše aplikace mít strukturu, jaké komponenty budeme potřebovat, jaká data budeme ukládat a jakým způsobem je budeme zpracovávat. Výsledkem je návrh architektury aplikace, který může být vytvořen v nějakém nástroji k tomu určeném, nebo může být pro menší projekty jen v naší hlavě. 1. **Implementace** – naprogramujeme aplikaci podle návrhu. Výsledkem je funkční aplikace, která ještě nemusí být plně odladěná. 1. **Testování** – otestujeme aplikaci a odstraníme všechny chyby. Výsledkem je funkční aplikace, která je plně odladěná. +1. **Nasazení** – nahrání aplikace na server, kde bude dostupná pro uživatele. +1. **Údržba** – oprava chyb a přidávání nových funkcí. -V praxi se tyto fáze často prolínají a některé z nich se mohou opakovat. Například při tvorbě architektury můžeme zjistit, že náš původní návrh není úplně ideální a musíme se vrátit zpět. Nebo při implementaci můžeme zjistit, že náš původní návrh architektury nebyl úplně ideální a je potřeba ji upravit nebo úplně předělat. +V praxi se tyto fáze často prolínají a některé z nich se mohou opakovat. Například při tvorbě architektury můžeme zjistit, že náš původní návrh není úplně ideální a musíme se vrátit zpět. Nebo při implementaci můžeme zjistit, že náš původní návrh architektury s něčím nepočítal a je potřeba ji upravit nebo úplně předělat. + +Když je aplikace nasazená, každá nová funkce, kterou je potřeba přidat, může procházet všemi výše zmíněnými kroky, podle toho, o jak velkou změnu se jedná. ## Architektura aplikace V našem případě si při návrhu architektury budeme soustředit na následující body: 1. **Struktura dat** – jaká data budeme potřebovat ukládat a spravovat pomocí našeho API. Výsledkem tohoto bodu mohou být například ukázkové JSON soubory s daty pro `jsonhost`. -1. **Struktura komponent** – jaké komponenty budeme potřebovat, jak budou získávat data a jak budou spolu komunikovat. Výsledkem tohoto bodu jednoduchý popis jednotlivých komponent ve formátu, který si za chvíli ukážeme. +1. **Struktura komponent** – jaké komponenty budeme potřebovat a jak budou do sebe zapadat. Zde budeme kreslit diagramy komponent a jejich vztahů. +1. **Datové toky** – jak budou jednotlivé komponenty spolu komunikovat a odkud budou získávat svá data. diff --git a/daweb/react/navrh/router.md b/daweb/react/navrh/router.md deleted file mode 100644 index 6eed14c4..00000000 --- a/daweb/react/navrh/router.md +++ /dev/null @@ -1,123 +0,0 @@ -## React Router - -Napsat navigaci mezi stránkami v čistém JavaScriptu jste si už vyzkoušeli v předchozím kurzu. Co se Reactu týká, máme situaci malinko jednodušší. Existuje totiž standardní knihovna pro routing, kterou používá většina reactových projektů na celém světě. Jmenuje [React Router](https://reactrouter.com/) a nainstalovat si ji můžete jako závislost přes _npm_ a následně z ní můžeme používat připravené komponenty přímo v našem kódu. - -### Instalace a používání knihovny - -Do existujícího projektu můžeme nainstalovat React Router knihovnu přest terminál pomocí _npm_. - -```sh -npm install react-router-dom -``` - -Nyní máme v projektu k dispozici celou škálu komponent, se kterými můzeme pracovat. Stačí si je správně naimportovat a použít jako kteroukoliv jinou komponentu. - -Vytvořme pro začátek kostru webové aplikace pro vedení účetnictví. - -```js -import React from 'react'; -import { createRoot } from 'react-dom/client'; -import { createBrowserRouter, RouterProvider, Link } from 'react-router-dom'; -import './style.css'; - -const App = () => { - return ( -
-

Bookkeeper!

- -
- ); -}; - -const ExpensesPage = () => { - return ( -
-

Expenses

-

Here are your business expenses for the last month

-
- ); -}; - -const InvoicesPage = () => { - return ( -
-

Invoices

-

Here are your issued invoices for the last month

-
- ); -}; - -const router = createBrowserRouter([ - { - path: '/', - element: , - }, - { - path: '/expenses', - element: , - }, - { - path: '/invoices', - element: , - }, -]); - -createRoot(document.querySelector('#app')).render( - -); -``` - -Na začátku aplikace jsme vytvořili komponentu `App`, která se zobrazí jako hlavní stránka. Jednotlivé odkazy pak vedou na dvě podstránky `ExpensesPage` a `InvoicesPage`. - -### Komponenta `Link` - -Všimněte si, že pro navigaci mezi stránkami používáme místo obyčejného prvku `` komponentu `Link`. To je velmi důležité, protože kdybychom použili normální HTML odkazy, vždy bychom tím poslali požadavek na novou stránku na server. V SPA aplikacích však server posílá vždy jednu a tutéž stránku `index.html` jako odpověd na všechny cesty v URL. Soubor `index.html` už však dávno máme načtený, takže jej nepotřebujeme znovu. Dotaz na server je zbytečný a zbytečně by způsobil refresh stránky. My naopak chceme, aby se ze serveru nic nenačítalo a přepnutí stránky se stalo pouze na frontendu v režii React Routeru. - -### Routování části stránky - -Naše aplikace má nevýhodu v tom, že nám při přepnutí na jednotlivé stránky zmizí navigace. Weby často fungují tak, že při přepínání mezi stránkami se zachovává například hlavička a patička. Tohoto chování docílíme pomocí tazvaných _child routes_ a komponenty `Outlet`. - -Náš objekt s routami upravíme takto: - -```js -const router = createBrowserRouter([ - { - path: '/', - element: , - children: [ - { - path: 'expenses', - element: , - }, - { - path: 'invoices', - element: , - }, - ], - }, -]); -``` - -Vytvořili jsme tak dva potomky naší kořenové routy. Nyní musíme routeru říct, kde na stránce má naše potomky zobrazovat. To zařídíme pomoctí komponenty `Outlet`. - -```jsx -const App = () => { - return ( -
-

Bookkeeper!

- - -
- ); -}; -``` - -Nyní už naše aplikace bude mnohem hezčí a přehlednější. diff --git a/daweb/react/navrh/spa.md b/daweb/react/navrh/spa.md deleted file mode 100644 index a4dfc771..00000000 --- a/daweb/react/navrh/spa.md +++ /dev/null @@ -1,132 +0,0 @@ -## Mapa komponent - -Zkušenjší programátoři si většinou umějí strukturu komponent představit v hlavě. My však v tomto kurzu takto daleko nejsme a proto si zde zavedeme způsob, jak strukturu komponent popsat pomocí jednoduchého textového formátu. Tento formát budeme nazývat _mapa komponent_ a budeme jej ukládat do textových souborů s příponou `.cmap`. - -Hlavní věc, kterou si při návrhu každý komponenty musíme rozmyslet je, odkud komponenta bude získávat data. V podstatě máme na výběr ze čtyř možností: - -1. **Žádná data** – komponenta žádná data nezískává a všechno, co zobrazuje, má uloženo rovnou uvnitř JSX. -1. **Data z props** – komponenta získává data od svého rodiče skrze _props_. -1. **Data z API** – komponenta si sama stahuje data z API pomocí `fetch`. -1. **Data od potomků** – komponenta získává data od svých potomků skrze callbacky. - -Ukažme si všechny tyto případy na jednoduchém příkladu aplikace pro správu úkolů. Tato aplikace sestává z komponent `Header`, `Score`, `TaskList` a `Task`. Komponenta `Header` zobrazuje hlavičku stránky, komponenta `Score` zobrazuje počet splněných úkolů, komponenta `TaskList` zobrazuje seznam úkolů a komponenta `Task` zobrazuje jednu položku v seznamu úkolů. - -### Komponenta bez dat - -Toto je nejjednodušší případ, kde všechno, co komponenta zobrazuje, má uloženo rovnou uvnitř JSX. Příkladem takové komponenty může být například komponenta `Header`, která zobrazuje hlavičku stránky. - -```jsx -const Header = () => { - return ( -
-

xerotodo

-

Vaše úkoly na jednom místě

-
- ); -}; -``` - -Takovouto komponentu v naší mapě komponent napíšeme prostě takto: - -``` -Header -``` - -### Komponenta s daty z props - -Tento případ je také vcelku jednoduchý. Komponenta získává data od svého rodiče skrze _props_. Příkladem takové komponenty je komponenta `Task`, která zobrazuje jednu položku v seznamu úkolů. - -```jsx -const Task = ({ task }) => { - return ( -
  • - - {task.text} -
  • - ); -}; -``` - -Takovou komponentu v naší mapě komponent napíšeme takto: - -``` -Task - :props task -``` - -### Komponenta s daty z API - -Komponenta si sama stahuje data z API pomocí `fetch`. Příkladem takové komponenty `TaskList`, která zobrazuje seznam všech položek v seznamu úkolů. - -```jsx -const TaskList = () => { - const [tasks, setTasks] = useState([]); - - useEffect(() => { - const fetchTasks = async () => { - const response = await fetch('http://localhost:4000/api/tasks'); - const data = await response.json(); - setTasks(data); - }; - fetchTasks(); - }, []); - - return ( -
      - {tasks.map((task) => ( - - ))} -
    - ); -}; -``` - -Komponenta `TaskList` si stahuje data z API pomocí `fetch` a ukládá je do stavu. V mapě komponent tedy napíšeme: - -``` -TaskList - :api http://localhost:4000/api/tasks -``` - -### Komponenta s daty od potomků - -Komponenta získává data od svých potomků skrze callbacky. Příkladem takové komponenty je komponenta `Score`, která zobrazuje počet splněných úkolů. - -```jsx -const Score = () => { - const [done, setDone] = useState(0); - - const handleTaskDone = () => { - setDone(done + 1); - }; - - return ( -

    - Splněno úkolů: {done} - -

    - ); -}; -``` - -Tuto komponentu v mapě komponent napíšeme takto: - -``` -Score - :callback onTaskDone -``` - -Mapa komponent celé aplikace tedy bude vypadat náslendovně: - -``` -Header - -Score - :callback onTaskDone - -TaskList - :api http://localhost:4000/api/tasks - - Task - :props task -``` diff --git a/daweb/react/stribrava-1/entry.yml b/daweb/react/stribrava-1/entry.yml new file mode 100644 index 00000000..37aa3702 --- /dev/null +++ b/daweb/react/stribrava-1/entry.yml @@ -0,0 +1,5 @@ +title: "Projekt: Hotel Stříbrava, první část" +lead: Kurz zakončíme samostatným projektem, který bude co nejvíce simulovat, jak se věci dělají ve skutečném světě. +access: claim +sections: + - uvod diff --git a/daweb/react/stribrava-1/uvod.md b/daweb/react/stribrava-1/uvod.md new file mode 100644 index 00000000..3360b939 --- /dev/null +++ b/daweb/react/stribrava-1/uvod.md @@ -0,0 +1 @@ +# Úvod diff --git a/daweb/react/stribrava-2/entry.yml b/daweb/react/stribrava-2/entry.yml new file mode 100644 index 00000000..d97667df --- /dev/null +++ b/daweb/react/stribrava-2/entry.yml @@ -0,0 +1,5 @@ +title: "Projekt: Hotel Stříbrava, druhá část" +lead: Budeme pokračovat v našem závěrečném stréningovém projektu. +access: claim +sections: + - pokracovani diff --git a/daweb/react/stribrava-2/pokracovani.md b/daweb/react/stribrava-2/pokracovani.md new file mode 100644 index 00000000..af5053b4 --- /dev/null +++ b/daweb/react/stribrava-2/pokracovani.md @@ -0,0 +1 @@ +# Pokračování diff --git a/daweb/react/ui-knihovny/children-prop.md b/daweb/react/ui-knihovny/children-prop.md new file mode 100644 index 00000000..6aa76bd0 --- /dev/null +++ b/daweb/react/ui-knihovny/children-prop.md @@ -0,0 +1,40 @@ +## Prop `children` + +Stavění Reactových aplikací je založeno na skládání komponent. Díky tomu mohou být naše komponenty malé funkční celky, ze kterých skládáme větší díly celé naší aplikace. My jsme doposud vždy věděli, jakou konkrétní komponentu chceme použít uvnitř jiné komponenty a mohli jsme ji proto jednoduše naimportovat a v rodičovské komponentě použít. + +Jsou ale situace, kdy naše rodičovská komponenta dopředu neví, jaké jiné komponenty (nebo obecně JSX kód) bude obsahovat. Představte si například, že vytváříte komponentu `Sidebar` - pruh na levém či prvém okrají stránky, do kterého můžete skládat další *widgety*. Může v nich být třeba kalendář akcí, odkazy na nejnovější články, informace o počasí, reklama, atd. Obsah sidebaru neznáme dopředu - může se měnit v závislosti na nastavení naší aplikace (např. v administraci webu). + +Naše komponenty jsme zatím vždy používali jako nepárové značky, do kterých jsme posílali props. + +```jsx + +``` + +Nyní potřebujeme napsat komponentu `Sidebar` tak, aby akceptovala a uměla zobrazit jakékoliv potomky do ní pošleme. Třeba takto: + +```jsx + + + + + +``` + +V Reactu je to naštěstí velmi jednoduché. V každé komponentě je k dispozici speciální prop nazvaná `children`, která obsahuje všechny do komponenty vnořené potomky. To mohou být další komponenty nebo třeba i obyčejné JSX elementy. + +Obsah prop `children` pak můžeme přímo vložit do JSX komponenty na místo, kde se nám to hodí. V našem případě dovnitř `