├── Tema_1 ├── Ejercicios │ ├── CV │ │ ├── CV CR.png │ │ └── Readme.md │ └── Cinema │ │ ├── SeatSelection.png │ │ └── Readme.md ├── Codigo de ejemplo │ ├── Extra-FlexLayouts │ │ └── Flexbox │ │ │ ├── flexbox1.html │ │ │ ├── flexbox2.html │ │ │ ├── styles1.css │ │ │ └── styles2.css │ ├── BEM │ │ ├── codigoSinBem.html │ │ └── codigoConBem.html │ ├── HTML con CSS │ │ ├── styles.css │ │ └── index.html │ └── HTML basico │ │ ├── htmlBasico.html │ │ └── Formulario.html └── Readme.md ├── Tema_3 ├── Ejercicios │ ├── Chuck │ │ ├── Click1.png │ │ ├── Click2.png │ │ └── Inicial.png │ └── Cinema │ │ ├── Inicial.png │ │ ├── CambioValor_1.png │ │ ├── CambioValor_2.png │ │ └── Readme.md ├── Codigo de ejemplo │ ├── 03_API_Fetch.js │ ├── 05_Integracion │ │ ├── script.js │ │ ├── index.html │ │ └── styles.css │ ├── 04_Async_Await.js │ ├── 00_Callbacks.js │ ├── 02_00_EventLoop.js │ ├── 02_01_Promesas.js │ └── 01_OrdSuperior.js └── Readme.md ├── Tema_4 ├── Ejercicios │ └── Cinema │ │ └── Demo.mp4 ├── Codigo de ejemplo │ ├── Basics │ │ ├── Disponibilidad del DOM │ │ │ ├── Onload │ │ │ │ ├── index.html │ │ │ │ └── script.js │ │ │ ├── Async │ │ │ │ ├── script.js │ │ │ │ └── index.html │ │ │ ├── DOMContentLoaded │ │ │ │ ├── index.html │ │ │ │ └── script.js │ │ │ └── Defer │ │ │ │ ├── script.js │ │ │ │ └── index.html │ │ ├── AccesoElementos │ │ │ ├── AccesoElementos.html │ │ │ ├── chuckJoke.js │ │ │ └── pScript.js │ │ └── Selectors y Events │ │ │ ├── index.html │ │ │ └── script.js │ └── Use cases │ │ ├── Usabilidad y accesibilidad │ │ ├── styles.css │ │ ├── script.js │ │ └── index.html │ │ └── Validaciones │ │ ├── styles.css │ │ └── index.html └── Readme.md ├── Tema_2 ├── Ejercicios │ └── filtros │ │ ├── input │ │ ├── cat.jpg │ │ ├── dog.jpg │ │ └── tucan.jpg │ │ └── output │ │ ├── ejemplo.jpg │ │ └── expected │ │ ├── merged.jpg │ │ ├── tucan_blue.jpg │ │ ├── tucan_dimed.jpg │ │ ├── tucan_green.jpg │ │ ├── tucan_grey.jpg │ │ ├── tucan_red.jpg │ │ ├── tucan_inverse.jpg │ │ ├── tucan_scale_down.jpg │ │ └── tucan_black_and_white.jpg ├── Codigo de ejemplo │ ├── 00_Exec_Dilemma_Compiled.js │ ├── 00_Exec_Dilemma_Interpreted.js │ ├── 00_Exec_Dilemma_String_Type.js │ ├── 04_Bucles.js │ ├── 02_Objetos.js │ ├── 03_Condicionales.js │ └── 05_Arrays.js └── Readme.md ├── Tema_5 ├── Codigo de ejemplo │ ├── unir-delivery │ │ ├── public │ │ │ ├── robots.txt │ │ │ ├── favicon.ico │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ ├── manifest.json │ │ │ └── index.html │ │ ├── src │ │ │ ├── components │ │ │ │ ├── Header.js │ │ │ │ ├── Restaurant.js │ │ │ │ └── Footer.js │ │ │ ├── index.js │ │ │ ├── index.css │ │ │ ├── App.css │ │ │ ├── styles │ │ │ │ └── styles.css │ │ │ └── views │ │ │ │ └── Overview.js │ │ ├── .gitignore │ │ └── package.json │ ├── hooks-router-ejemplo │ │ ├── public │ │ │ ├── robots.txt │ │ │ ├── favicon.ico │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ ├── manifest.json │ │ │ └── index.html │ │ ├── src │ │ │ ├── components │ │ │ │ ├── GeoContext.jsx │ │ │ │ ├── NotFound.jsx │ │ │ │ ├── Triangulo.jsx │ │ │ │ ├── CompCustHook.jsx │ │ │ │ ├── Cuadrado.jsx │ │ │ │ ├── Trapecio.jsx │ │ │ │ └── Rombo.jsx │ │ │ ├── index.js │ │ │ ├── styles │ │ │ │ ├── index.css │ │ │ │ ├── App.css │ │ │ │ └── geo.css │ │ │ ├── hooks │ │ │ │ └── useFetch.jsx │ │ │ ├── App.js │ │ │ └── router │ │ │ │ └── GeometricRouter.jsx │ │ ├── .gitignore │ │ └── package.json │ ├── unir-delivery-hooks-and-router │ │ ├── public │ │ │ ├── robots.txt │ │ │ ├── favicon.ico │ │ │ ├── logo192.png │ │ │ ├── logo512.png │ │ │ ├── manifest.json │ │ │ └── index.html │ │ ├── src │ │ │ ├── context │ │ │ │ └── RestaurantContext.js │ │ │ ├── views │ │ │ │ ├── NotFound.js │ │ │ │ ├── Landing.js │ │ │ │ ├── RestaurantDetails.js │ │ │ │ └── Overview.js │ │ │ ├── components │ │ │ │ ├── Footer.js │ │ │ │ ├── Header.js │ │ │ │ └── Restaurant.js │ │ │ ├── index.js │ │ │ ├── hooks │ │ │ │ ├── useRedirection.js │ │ │ │ └── useRestaurants.js │ │ │ ├── index.css │ │ │ ├── App.js │ │ │ ├── App.css │ │ │ └── routes │ │ │ │ └── GlobalRouter.js │ │ ├── .gitignore │ │ └── package.json │ └── CON_VITE │ │ ├── unir-cinema-vite │ │ ├── vite.config.js │ │ ├── src │ │ │ ├── components │ │ │ │ ├── Header.jsx │ │ │ │ ├── Footer.jsx │ │ │ │ ├── CineSelector.jsx │ │ │ │ └── Pelicula.jsx │ │ │ ├── main.jsx │ │ │ ├── index.css │ │ │ └── App.jsx │ │ ├── .gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── eslint.config.js │ │ ├── README.md │ │ └── public │ │ │ └── vite.svg │ │ ├── unir-cinema-vite-custom-hook │ │ ├── vite.config.js │ │ ├── src │ │ │ ├── components │ │ │ │ ├── Header.jsx │ │ │ │ ├── Footer.jsx │ │ │ │ ├── Pelicula.jsx │ │ │ │ └── CineSelector.jsx │ │ │ ├── main.jsx │ │ │ ├── index.css │ │ │ ├── App.jsx │ │ │ ├── data │ │ │ │ ├── moviesDataMadrid.js │ │ │ │ ├── moviesDataValencia.js │ │ │ │ └── moviesDataBarcelona.js │ │ │ └── hooks │ │ │ │ └── useMovies.js │ │ ├── .gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── eslint.config.js │ │ ├── README.md │ │ └── public │ │ │ └── vite.svg │ │ ├── unir-cinema-vite-custom-hook-context │ │ ├── vite.config.js │ │ ├── src │ │ │ ├── components │ │ │ │ ├── Footer.jsx │ │ │ │ ├── Pelicula.jsx │ │ │ │ ├── Landing.jsx │ │ │ │ ├── Header.jsx │ │ │ │ └── CineSelector.jsx │ │ │ ├── main.jsx │ │ │ ├── index.css │ │ │ ├── context │ │ │ │ └── GlobalContext.jsx │ │ │ ├── App.jsx │ │ │ ├── data │ │ │ │ ├── moviesDataMadrid.js │ │ │ │ ├── moviesDataValencia.js │ │ │ │ ├── moviesDataSevilla.js │ │ │ │ └── moviesDataBarcelona.js │ │ │ └── hooks │ │ │ │ └── useMovies.js │ │ ├── .gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── eslint.config.js │ │ ├── README.md │ │ └── public │ │ │ └── vite.svg │ │ └── unir-cinema-vite-custom-hook-context-router │ │ ├── vite.config.js │ │ ├── src │ │ ├── components │ │ │ ├── Footer.jsx │ │ │ ├── HomePage.jsx │ │ │ ├── Header.jsx │ │ │ ├── CineSelector.jsx │ │ │ └── Pelicula.jsx │ │ ├── main.jsx │ │ ├── index.css │ │ ├── context │ │ │ └── GlobalContext.jsx │ │ ├── App.jsx │ │ ├── data │ │ │ ├── moviesDataValencia.js │ │ │ ├── moviesDataMadrid.js │ │ │ ├── moviesDataSevilla.js │ │ │ └── moviesDataBarcelona.js │ │ └── hooks │ │ │ └── useMovies.js │ │ ├── .gitignore │ │ ├── index.html │ │ ├── package.json │ │ ├── eslint.config.js │ │ ├── README.md │ │ └── public │ │ └── vite.svg ├── test-project │ ├── vite.config.js │ ├── src │ │ ├── main.jsx │ │ ├── App.css │ │ ├── App.jsx │ │ └── index.css │ ├── .gitignore │ ├── index.html │ ├── package.json │ ├── eslint.config.js │ ├── README.md │ └── public │ │ └── vite.svg ├── Ejercicios │ └── Cinema │ │ └── Readme.md └── Readme.md ├── Tema_6 ├── Ejercicios │ ├── Hunde la flota │ │ ├── HundeLaFlota_Instrucciones.pdf │ │ └── Readme.md │ ├── Calculadora │ │ └── Readme.md │ ├── Cinema │ │ └── Readme.md │ ├── Eventos │ │ └── Readme.md │ └── Delivery │ │ └── Readme.md └── Readme.md ├── README.md ├── Tema_8 └── Ejercicios │ └── Calculadora │ └── Readme.md ├── .gitignore ├── Tema_10 └── Readme.md └── Repaso_BBDD └── Readme.md /Tema_1/Ejercicios/CV/CV CR.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_1/Ejercicios/CV/CV CR.png -------------------------------------------------------------------------------- /Tema_3/Ejercicios/Chuck/Click1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_3/Ejercicios/Chuck/Click1.png -------------------------------------------------------------------------------- /Tema_3/Ejercicios/Chuck/Click2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_3/Ejercicios/Chuck/Click2.png -------------------------------------------------------------------------------- /Tema_4/Ejercicios/Cinema/Demo.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_4/Ejercicios/Cinema/Demo.mp4 -------------------------------------------------------------------------------- /Tema_3/Ejercicios/Chuck/Inicial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_3/Ejercicios/Chuck/Inicial.png -------------------------------------------------------------------------------- /Tema_3/Ejercicios/Cinema/Inicial.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_3/Ejercicios/Cinema/Inicial.png -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/input/cat.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/input/cat.jpg -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/input/dog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/input/dog.jpg -------------------------------------------------------------------------------- /Tema_1/Ejercicios/Cinema/SeatSelection.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_1/Ejercicios/Cinema/SeatSelection.png -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/input/tucan.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/input/tucan.jpg -------------------------------------------------------------------------------- /Tema_3/Ejercicios/Cinema/CambioValor_1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_3/Ejercicios/Cinema/CambioValor_1.png -------------------------------------------------------------------------------- /Tema_3/Ejercicios/Cinema/CambioValor_2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_3/Ejercicios/Cinema/CambioValor_2.png -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/output/ejemplo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/output/ejemplo.jpg -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/output/expected/merged.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/output/expected/merged.jpg -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/src/components/GeoContext.jsx: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | export const GeoContext = React.createContext(); -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/output/expected/tucan_blue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/output/expected/tucan_blue.jpg -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/output/expected/tucan_dimed.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/output/expected/tucan_dimed.jpg -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/output/expected/tucan_green.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/output/expected/tucan_green.jpg -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/output/expected/tucan_grey.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/output/expected/tucan_grey.jpg -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/output/expected/tucan_red.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/output/expected/tucan_red.jpg -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_5/Codigo de ejemplo/unir-delivery/public/favicon.ico -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_5/Codigo de ejemplo/unir-delivery/public/logo192.png -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_5/Codigo de ejemplo/unir-delivery/public/logo512.png -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/output/expected/tucan_inverse.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/output/expected/tucan_inverse.jpg -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/output/expected/tucan_scale_down.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/output/expected/tucan_scale_down.jpg -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_5/Codigo de ejemplo/hooks-router-ejemplo/public/favicon.ico -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_5/Codigo de ejemplo/hooks-router-ejemplo/public/logo192.png -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_5/Codigo de ejemplo/hooks-router-ejemplo/public/logo512.png -------------------------------------------------------------------------------- /Tema_6/Ejercicios/Hunde la flota/HundeLaFlota_Instrucciones.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_6/Ejercicios/Hunde la flota/HundeLaFlota_Instrucciones.pdf -------------------------------------------------------------------------------- /Tema_2/Ejercicios/filtros/output/expected/tucan_black_and_white.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_2/Ejercicios/filtros/output/expected/tucan_black_and_white.jpg -------------------------------------------------------------------------------- /Tema_2/Codigo de ejemplo/00_Exec_Dilemma_Compiled.js: -------------------------------------------------------------------------------- 1 | // ¿Es JavaScript un lenguaje compilado? 2 | 3 | console.log("Hello Dilemma"); 4 | for(let i = 0;i<4;i++) { 5 | console.log(Hello); 6 | } -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/public/favicon.ico -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/public/logo192.png -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/UnirCs/DWFS-GLOBAL/HEAD/Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/public/logo512.png -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/src/context/RestaurantContext.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | //Contexto de pizzas 4 | export const RestaurantContext = React.createContext(); -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/src/components/NotFound.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export const NotFound = () => { 4 | return ( 5 |
NotFound
6 | ) 7 | } 8 | -------------------------------------------------------------------------------- /Tema_5/test-project/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vite.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/src/components/Triangulo.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | 3 | export const Triangulo = () => { 4 | return ( 5 |
Triangulo
6 | ) 7 | } 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DWFS-GLOBAL 2 | Repositorio de codigo de ejemplo y ejercicios de la asignatura Desarrollo Web: Full Stack del Máster Universitario en Ingeniería de Software y Sistemas Informáticos de la Universidad Internacional de La Rioja 3 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vite.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vite.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vite.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context-router/vite.config.js: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import react from '@vitejs/plugin-react' 3 | 4 | // https://vite.dev/config/ 5 | export default defineConfig({ 6 | plugins: [react()], 7 | }) 8 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite/src/components/Header.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const Header = () => { 4 | return ( 5 |
6 |

🎬 UNIR Cinema

7 |
8 | ); 9 | }; 10 | 11 | export default Header; 12 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook/src/components/Header.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const Header = () => { 4 | return ( 5 |
6 |

🎬 UNIR Cinema

7 |
8 | ); 9 | }; 10 | 11 | export default Header; 12 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/src/views/NotFound.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | function NotFound() { 4 | return ( 5 |
6 |

404 - Página no encontrada

7 |
8 | ); 9 | } 10 | 11 | export default NotFound; 12 | -------------------------------------------------------------------------------- /Tema_5/test-project/src/main.jsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from 'react' 2 | import { createRoot } from 'react-dom/client' 3 | import './index.css' 4 | import App from './App.jsx' 5 | 6 | createRoot(document.getElementById('root')).render( 7 | 8 | 9 | , 10 | ) 11 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite/src/components/Footer.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const Footer = () => { 4 | return ( 5 | 8 | ); 9 | }; 10 | 11 | export default Footer; 12 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/src/components/Footer.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | export const Footer = () => { 4 | return ( 5 | 8 | ); 9 | } -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/src/components/Header.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | export const Header = () => { 4 | return ( 5 |
6 |

Bienvenidos a UNIR Delivery

7 |
8 | ); 9 | } -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook/src/components/Footer.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const Footer = () => { 4 | return ( 5 | 8 | ); 9 | }; 10 | 11 | export default Footer; 12 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context/src/components/Footer.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const Footer = () => { 4 | return ( 5 | 8 | ); 9 | }; 10 | 11 | export default Footer; 12 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite/src/main.jsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from 'react' 2 | import { createRoot } from 'react-dom/client' 3 | import './index.css' 4 | import App from './App.jsx' 5 | 6 | createRoot(document.getElementById('root')).render( 7 | 8 | 9 | , 10 | ) 11 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context-router/src/components/Footer.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | 3 | const Footer = () => { 4 | return ( 5 | 8 | ); 9 | }; 10 | 11 | export default Footer; 12 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook/src/main.jsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from 'react' 2 | import { createRoot } from 'react-dom/client' 3 | import './index.css' 4 | import App from './App.jsx' 5 | 6 | createRoot(document.getElementById('root')).render( 7 | 8 | 9 | , 10 | ) 11 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context/src/main.jsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from 'react' 2 | import { createRoot } from 'react-dom/client' 3 | import './index.css' 4 | import App from './App.jsx' 5 | 6 | createRoot(document.getElementById('root')).render( 7 | 8 | 9 | , 10 | ) 11 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery/src/components/Header.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | export const Header = () => { 4 | 5 | 6 | 7 | 8 | 9 | 10 | return ( 11 |
12 |

Bienvenidos a UNIR Delivery

13 |
14 | ); 15 | } -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context-router/src/main.jsx: -------------------------------------------------------------------------------- 1 | import { StrictMode } from 'react' 2 | import { createRoot } from 'react-dom/client' 3 | import './index.css' 4 | import App from './App.jsx' 5 | 6 | createRoot(document.getElementById('root')).render( 7 | 8 | 9 | , 10 | ) 11 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom/client'; 3 | import './index.css'; 4 | import App from "./App"; 5 | 6 | const root = ReactDOM.createRoot(document.getElementById('root')); 7 | root.render( 8 | 9 | 10 | 11 | ); 12 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery/src/components/Restaurant.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | export const Restaurant = ({ name, cuisine, rating }) => { 4 | return ( 5 |
6 |

{name}

7 |

Cocina: {cuisine}

8 |

Calificación: {rating} / 5

9 |
10 | ); 11 | } -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom/client'; 3 | import './index.css'; 4 | import {Overview} from './views/Overview'; 5 | 6 | const root = ReactDOM.createRoot(document.getElementById('root')); 7 | root.render( 8 | 9 | 10 | 11 | ); 12 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery/src/components/Footer.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | 3 | export const Footer = () => { 4 | 5 | 6 | 7 | console.log("montaje de Footer"); 8 | 9 | 10 | return ( 11 | 14 | ); 15 | } -------------------------------------------------------------------------------- /Tema_4/Codigo de ejemplo/Basics/Disponibilidad del DOM/Onload/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ejemplo window.onload 5 | 6 | 7 |

Ejemplo: window.onload

8 | Ejemplo 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Tema_5/test-project/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Tema_4/Codigo de ejemplo/Basics/Disponibilidad del DOM/Async/script.js: -------------------------------------------------------------------------------- 1 | //Script Async hace que el script se ejecute en paralelo con la carga del HTML. 2 | //No es seguro usarlo en el head, ya que puede bloquear la carga de la página. 3 | 4 | console.log("Ejecutado con async, el orden no esta garantizado."); 5 | console.log("Soy un script que accede al DOM y hago mis cosas..."); 6 | console.log(document.body.children); -------------------------------------------------------------------------------- /Tema_4/Codigo de ejemplo/Basics/Disponibilidad del DOM/DOMContentLoaded/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ejemplo DOMContentLoaded 5 | 6 | 7 |

Ejemplo: DOMContentLoaded

8 | Ejemplo 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom/client'; 3 | import './styles/index.css'; 4 | import './styles/App.css'; 5 | import './styles/geo.css'; 6 | 7 | import App from './App'; 8 | 9 | const root = ReactDOM.createRoot(document.getElementById('root')); 10 | root.render( 11 | 12 | 13 | 14 | ); 15 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/src/hooks/useRedirection.js: -------------------------------------------------------------------------------- 1 | import { useEffect } from 'react'; 2 | import { useNavigate} from 'react-router-dom'; 3 | 4 | const useRedirection = (path, delay) => { 5 | 6 | const navigate = useNavigate(); 7 | useEffect(() => { 8 | setTimeout(() => { 9 | navigate(path); 10 | }, delay); 11 | }); 12 | }; 13 | 14 | export default useRedirection; -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Tema_5/test-project/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | test-project 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Tema_2/Codigo de ejemplo/00_Exec_Dilemma_Interpreted.js: -------------------------------------------------------------------------------- 1 | // ¿Es JavaScript un lenguaje interpretado? 2 | 3 | console.log("Hello Dilemma!"); 4 | console.log("Hello Dilemma!"); 5 | console.log("Hello Dilemma"); 6 | console.log("Hello Dilemma!"); 7 | console.log("Hello Dilemma!"); 8 | console.log("Hello Dilemma!"); 9 | console.log("Hello Dilemma!"); 10 | //console.log("Hello Dilemma!); 11 | 12 | 13 | console.log(i4); //Undefined 14 | var i4 = "hola"; -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context-router/.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /Tema_2/Codigo de ejemplo/00_Exec_Dilemma_String_Type.js: -------------------------------------------------------------------------------- 1 | // ¿Qué ocurre con los Strings en Javascript? 2 | // ¿Qué ocurre si ejecutamos el siguiente código? 3 | 4 | let cadena = "Hello Dilemma"; 5 | console.log(typeof cadena); // ¿Qué tipo de dato es? 6 | console.log(typeof new String("hola")); // ¿Qué tipo de dato es? 7 | console.log(cadena instanceof String); // ¿Es una instancia de String? 8 | console.log(new String("hola") instanceof String); // ¿Qué tipo de dato es? -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /Tema_1/Codigo de ejemplo/Extra-FlexLayouts/Flexbox/flexbox1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Flexbox - 1 6 | 7 | 8 |
9 |
Item 1
10 |
Item 2
11 |
Item 3
12 |
13 | 14 | 15 | -------------------------------------------------------------------------------- /Tema_4/Codigo de ejemplo/Basics/Disponibilidad del DOM/Defer/script.js: -------------------------------------------------------------------------------- 1 | //Script defer hace que el script se ejecute después de que se haya procesado el HTML, pero antes la generacion del evento DOMContentLoaded. 2 | //Es seguro usarlo en el head, ya que no bloquea la carga de la pagina. 3 | 4 | console.log("Ejecutado con defer, después de que se haya procesado el HTML."); 5 | console.log("Soy un script que accede al DOM y hago mis cosas..."); 6 | console.log(document.body.children); -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 12 | monospace; 13 | } 14 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | unir-cinema-vite 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/src/styles/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 12 | monospace; 13 | } 14 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 4 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 5 | sans-serif; 6 | -webkit-font-smoothing: antialiased; 7 | -moz-osx-font-smoothing: grayscale; 8 | } 9 | 10 | code { 11 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 12 | monospace; 13 | } 14 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | unir-cinema-vite-custom-hook 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite/src/index.css: -------------------------------------------------------------------------------- 1 | /* Estilos base limpios para Vite */ 2 | :root { 3 | font-synthesis: none; 4 | text-rendering: optimizeLegibility; 5 | -webkit-font-smoothing: antialiased; 6 | -moz-osx-font-smoothing: grayscale; 7 | } 8 | 9 | * { 10 | box-sizing: border-box; 11 | } 12 | 13 | body { 14 | margin: 0; 15 | padding: 0; 16 | min-width: 320px; 17 | min-height: 100vh; 18 | } 19 | 20 | #root { 21 | width: 100%; 22 | min-height: 100vh; 23 | } 24 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | unir-cinema-vite-custom-hook-context 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Tema_4/Codigo de ejemplo/Basics/Disponibilidad del DOM/Onload/script.js: -------------------------------------------------------------------------------- 1 | // El evento onload se dispara cuando todos los recursos (HTML, imágenes, CSS y otros scripts) están completamente cargados. 2 | // Es seguro usarlo en el head, ya que no bloquea la carga de la página. 3 | 4 | window.onload = () => { 5 | console.log("Todos los recursos (imagenes, CSS, scripts) estan completamente cargados."); 6 | console.log("Soy un script que accede al DOM y hago mis cosas..."); 7 | console.log(document.body.children); 8 | }; 9 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context-router/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | unir-cinema-vite-custom-hook-context-router 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context/src/index.css: -------------------------------------------------------------------------------- 1 | /* Estilos base limpios para Vite */ 2 | :root { 3 | font-synthesis: none; 4 | text-rendering: optimizeLegibility; 5 | -webkit-font-smoothing: antialiased; 6 | -moz-osx-font-smoothing: grayscale; 7 | } 8 | 9 | * { 10 | box-sizing: border-box; 11 | } 12 | 13 | body { 14 | margin: 0; 15 | padding: 0; 16 | min-width: 320px; 17 | min-height: 100vh; 18 | } 19 | 20 | #root { 21 | width: 100%; 22 | min-height: 100vh; 23 | } 24 | -------------------------------------------------------------------------------- /Tema_4/Codigo de ejemplo/Basics/Disponibilidad del DOM/Defer/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ejemplo defer 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |

Ejemplo: Script con defer

13 | 14 | 15 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context-router/src/index.css: -------------------------------------------------------------------------------- 1 | /* Estilos base limpios para Vite */ 2 | :root { 3 | font-synthesis: none; 4 | text-rendering: optimizeLegibility; 5 | -webkit-font-smoothing: antialiased; 6 | -moz-osx-font-smoothing: grayscale; 7 | } 8 | 9 | * { 10 | box-sizing: border-box; 11 | } 12 | 13 | body { 14 | margin: 0; 15 | padding: 0; 16 | min-width: 320px; 17 | min-height: 100vh; 18 | } 19 | 20 | #root { 21 | width: 100%; 22 | min-height: 100vh; 23 | } 24 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/src/components/Restaurant.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { Link } from "react-router-dom"; 3 | 4 | export const Restaurant = ({ id, name, cuisine, rating }) => { 5 | return ( 6 |
7 |

{name}

8 |

Cocina: {cuisine}

9 |

Calificación: {rating} / 5

10 | 11 | 12 | 13 |
14 | ); 15 | } -------------------------------------------------------------------------------- /Tema_4/Codigo de ejemplo/Use cases/Usabilidad y accesibilidad/styles.css: -------------------------------------------------------------------------------- 1 | .dark-mode { 2 | background-color: #343a40; 3 | color: white; 4 | } 5 | .banner { 6 | background-color: #007bff; 7 | color: white; 8 | padding: 10px 0; 9 | text-align: center; 10 | } 11 | .footer { 12 | background-color: #f8f9fa; 13 | color: #6c757d; 14 | padding: 10px 0; 15 | text-align: center; 16 | position: fixed; 17 | bottom: 0; 18 | width: 100%; 19 | } 20 | 21 | .text-small { font-size: 12px; } 22 | 23 | .text-medium { font-size: 16px; } 24 | 25 | .text-large { font-size: 24px; } -------------------------------------------------------------------------------- /Tema_4/Codigo de ejemplo/Basics/AccesoElementos/AccesoElementos.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Ejemplo de interacción con DOM 4 | 5 | 6 | 7 | 8 |

Monkey Island

9 |

Mira detrás de ti, ¡un mono de tres cabezas!

10 |

Duelo de chistes!

11 | 12 | 13 |

Log del programa:

14 | 15 | 16 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/CON_VITE/unir-cinema-vite-custom-hook-context-router/src/components/HomePage.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import CineSelector from './CineSelector'; 3 | import Pelicula from './Pelicula'; 4 | import { useMovies } from '../hooks/useMovies'; 5 | 6 | const HomePage = () => { 7 | const { movies, darkMode } = useMovies(); 8 | 9 | return ( 10 |
11 | 12 | 13 | {movies.map((movie) => ( 14 | 15 | ))} 16 |
17 | ); 18 | }; 19 | 20 | export default HomePage; 21 | -------------------------------------------------------------------------------- /Tema_6/Ejercicios/Calculadora/Readme.md: -------------------------------------------------------------------------------- 1 | # API de una calculadora online 2 | 3 | En este ejercicio vamos a diseñar la API REST de una calculadora. 4 | 5 | Las operaciones que la API debe soportar son las siguientes: 6 | - Sumar N elementos (2+2, 2+2+2). 7 | - Restar N elementos (2-2, 2-2-2). 8 | - Multiplicar 2 elementos (2x2). 9 | - Dividir 2 elementos (2/2). 10 | - Raiz N-ésima de un número (Raíz cuadrada de 4, Raíz cúbica de 8). 11 | - Potencia N-ésima de un número (2^2, 3^3, 4^4). 12 | - Detalle de operacion 13 | 14 | Nuestra calculadora tendrá memoria y siempre se podrán consultar los datos de operaciones realizadas, a través de un ID de operación. -------------------------------------------------------------------------------- /Tema_6/Ejercicios/Cinema/Readme.md: -------------------------------------------------------------------------------- 1 | # API de un sistema de reserva de butacas de cine 2 | 3 | En este ejercicio vamos a diseñar la API REST para el cine en el que venimos trabajando en los ejercicios de los anteriores temas. 4 | 5 | Las operaciones que la API debe soportar son las siguientes: 6 | - Crear, eliminar y modificar películas. 7 | - Crear, eliminar y modificar (parcialmente) salas. 8 | - Crear, eliminar y modificar (parcialmente) usuarios. 9 | - Crear una reserva para un usuario en una sala. 10 | - Cancelar una reserva para un usuario en una sala. 11 | - Modificar una reserva para un usuario en una sala. 12 | - Registrar un pago de una reserva. -------------------------------------------------------------------------------- /Tema_1/Codigo de ejemplo/Extra-FlexLayouts/Flexbox/flexbox2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Flexbox - 2 6 | 7 | 8 |
9 |
Item 1
10 |
Item 2
11 |
Item 3
12 |
Item 4
13 |
Item 5
14 |
Item 6
15 |
Item 7
16 |
17 | 18 | 19 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /Tema_4/Codigo de ejemplo/Basics/Disponibilidad del DOM/Async/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Ejemplo async 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 |

Ejemplo: Script con async

16 | Ejemplo 17 | 18 | 19 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/hooks-router-ejemplo/src/hooks/useFetch.jsx: -------------------------------------------------------------------------------- 1 | import { useEffect, useState } from "react"; 2 | 3 | export const useFetch = (url) => { 4 | 5 | console.log('ejecutando funcion useFetch'); 6 | const [fetchResponse, setFetchResponse] = useState('...'); 7 | 8 | useEffect(() => { 9 | 10 | const fetchRequest = async () => { 11 | console.log("Realizando peticion..."); 12 | let res = await fetch(url); 13 | let data = await res.json(); 14 | setFetchResponse(data.value); 15 | }; 16 | 17 | fetchRequest(); 18 | }, [url]) 19 | 20 | return { fetchResponse } 21 | } 22 | -------------------------------------------------------------------------------- /Tema_5/Codigo de ejemplo/unir-delivery-hooks-and-router/src/App.js: -------------------------------------------------------------------------------- 1 | import React, {useEffect, useState} from 'react'; 2 | import GlobalRouter from "./routes/GlobalRouter"; 3 | import {RestaurantContext} from "./context/RestaurantContext"; 4 | import {Footer} from "./components/Footer"; 5 | import {useRestaurants} from "./hooks/useRestaurants"; 6 | 7 | function App() { 8 | 9 | const restaurants = useRestaurants(); 10 | 11 | return ( 12 | 13 | 14 |