├── README.md ├── frontend-angular-19 ├── .editorconfig ├── .gitignore ├── LICENSE ├── README.md ├── angular.json ├── eslint.config.js ├── nginx.conf ├── package-lock.json ├── package.json ├── public │ └── favicon.ico ├── server.js ├── src │ ├── app │ │ ├── app.component.css │ │ ├── app.component.html │ │ ├── app.component.spec.ts │ │ ├── app.component.ts │ │ ├── app.config.ts │ │ ├── app.routes.ts │ │ └── features │ │ │ ├── about │ │ │ ├── about.component.css │ │ │ ├── about.component.html │ │ │ ├── about.component.spec.ts │ │ │ ├── about.component.ts │ │ │ ├── about.config.ts │ │ │ ├── about.routes.ts │ │ │ ├── experience │ │ │ │ ├── experience.component.css │ │ │ │ ├── experience.component.html │ │ │ │ ├── experience.component.spec.ts │ │ │ │ └── experience.component.ts │ │ │ └── skill │ │ │ │ ├── skill.component.css │ │ │ │ ├── skill.component.html │ │ │ │ ├── skill.component.spec.ts │ │ │ │ └── skill.component.ts │ │ │ ├── contact │ │ │ ├── contact.component.css │ │ │ ├── contact.component.html │ │ │ ├── contact.component.spec.ts │ │ │ ├── contact.component.ts │ │ │ ├── contact.config.ts │ │ │ ├── contact.routes.ts │ │ │ ├── mailing │ │ │ │ ├── mailing.component.css │ │ │ │ ├── mailing.component.html │ │ │ │ ├── mailing.component.spec.ts │ │ │ │ └── mailing.component.ts │ │ │ ├── mapping │ │ │ │ ├── mapping.component.css │ │ │ │ ├── mapping.component.html │ │ │ │ ├── mapping.component.spec.ts │ │ │ │ └── mapping.component.ts │ │ │ └── website │ │ │ │ ├── website.component.css │ │ │ │ ├── website.component.html │ │ │ │ ├── website.component.spec.ts │ │ │ │ └── website.component.ts │ │ │ ├── home │ │ │ ├── feature.ts │ │ │ ├── home.component.css │ │ │ ├── home.component.html │ │ │ ├── home.component.spec.ts │ │ │ └── home.component.ts │ │ │ ├── login │ │ │ ├── login.component.css │ │ │ ├── login.component.html │ │ │ ├── login.component.spec.ts │ │ │ └── login.component.ts │ │ │ ├── not-found │ │ │ ├── not-found.component.css │ │ │ ├── not-found.component.html │ │ │ ├── not-found.component.spec.ts │ │ │ └── not-found.component.ts │ │ │ ├── signup │ │ │ ├── signup.component.css │ │ │ ├── signup.component.html │ │ │ ├── signup.component.spec.ts │ │ │ └── signup.component.ts │ │ │ └── tutorials │ │ │ ├── example-bootstrap │ │ │ ├── 00-main │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ ├── items.component.ts │ │ │ │ └── items.ts │ │ │ ├── accordions │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ ├── items.component.spec.ts │ │ │ │ └── items.component.ts │ │ │ ├── alerts │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── badges │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── blockquotes │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── breadcrumb │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── buttons │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── cards │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── checkbox │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── collapses │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── dropdowns │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── forms │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── list-group │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── pagination │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── progress │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── spinners │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── tables │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── tutorial.component.css │ │ │ ├── tutorial.component.html │ │ │ ├── tutorial.component.spec.ts │ │ │ ├── tutorial.component.ts │ │ │ ├── tutorial.config.ts │ │ │ ├── tutorial.routes.ts │ │ │ └── typography │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── example-components │ │ │ ├── channel │ │ │ │ ├── channel.component.css │ │ │ │ ├── channel.component.html │ │ │ │ ├── channel.component.ts │ │ │ │ └── channel.ts │ │ │ ├── tutorial.component.css │ │ │ ├── tutorial.component.html │ │ │ └── tutorial.component.ts │ │ │ ├── example-forms │ │ │ ├── 00-main │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ └── items.ts │ │ │ ├── 01-single │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ └── exercice.component.ts │ │ │ ├── 02-multi │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ ├── movie.spec.ts │ │ │ │ └── movie.ts │ │ │ ├── 03-init-class │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ ├── movie.spec.ts │ │ │ │ └── movie.ts │ │ │ ├── 04-prototype │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ └── exercice.component.ts │ │ │ ├── 05-form-control │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ └── exercice.component.ts │ │ │ ├── 06-form-control-class │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ └── movie.ts │ │ │ ├── 07-form-group │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ └── pretty-json.pipe.ts │ │ │ ├── 08-form-builder │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ └── pretty-json.pipe.ts │ │ │ ├── 09-form-builder-nested │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ ├── movie.ts │ │ │ │ └── pretty-json.pipe.ts │ │ │ ├── 10-form-array │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ ├── movie.ts │ │ │ │ └── pretty-json.pipe.ts │ │ │ ├── 11-form-multi │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ ├── movie.ts │ │ │ │ └── pretty-json.pipe.ts │ │ │ ├── tutorial.component.css │ │ │ ├── tutorial.component.html │ │ │ ├── tutorial.component.ts │ │ │ ├── tutorial.config.ts │ │ │ ├── tutorial.module.ts │ │ │ └── tutorial.routes.ts │ │ │ └── example-services │ │ │ ├── safe.pipe.ts │ │ │ ├── song │ │ │ ├── mock-songs.ts │ │ │ ├── song.service.spec.ts │ │ │ ├── song.service.ts │ │ │ └── song.ts │ │ │ ├── tutorial.component.css │ │ │ ├── tutorial.component.html │ │ │ ├── tutorial.component.ts │ │ │ └── tutorial.config.ts │ ├── assets │ │ ├── .gitkeep │ │ └── params │ │ │ ├── css │ │ │ ├── fonts.googleapis.css │ │ │ └── fonts.googleapis.min.css │ │ │ ├── images │ │ │ ├── channels │ │ │ │ ├── cinemax.jpg │ │ │ │ ├── cw.jpg │ │ │ │ ├── discovery-channel.jpg │ │ │ │ ├── disney-channel.jpg │ │ │ │ ├── fox.jpg │ │ │ │ ├── hbo.jpg │ │ │ │ ├── history.jpg │ │ │ │ ├── hulu.jpg │ │ │ │ ├── mtv.jpg │ │ │ │ ├── nbc.jpg │ │ │ │ ├── netflix.jpg │ │ │ │ ├── showtime.jpg │ │ │ │ └── usa-network.jpg │ │ │ ├── example-bootstrap │ │ │ │ └── movie-screen.jpg │ │ │ ├── logo │ │ │ │ ├── ganatan-logo.png │ │ │ │ └── ganatan-logo@2x.png │ │ │ └── studio │ │ │ │ ├── 2560px-Valve_old_logo.svg.png │ │ │ │ ├── Bioware-logo.png │ │ │ │ ├── Electronic_Arts-Logo.wine.png │ │ │ │ ├── Logo-Nintendo-1.jpg │ │ │ │ ├── Naughty-dog-logo.png │ │ │ │ └── Rockstar_Games_Logo.svg.png │ │ │ └── js │ │ │ ├── popovers.js │ │ │ ├── toasts.js │ │ │ └── tooltips.js │ ├── environments │ │ ├── environment.development.ts │ │ └── environment.ts │ ├── index.html │ ├── main.ts │ └── styles.css ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.spec.json └── ui │ ├── assets │ ├── bootstrap │ │ ├── css │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-grid.css.map │ │ │ ├── bootstrap-grid.min.css │ │ │ ├── bootstrap-grid.min.css.map │ │ │ ├── bootstrap-grid.rtl.css │ │ │ ├── bootstrap-grid.rtl.css.map │ │ │ ├── bootstrap-grid.rtl.min.css │ │ │ ├── bootstrap-grid.rtl.min.css.map │ │ │ ├── bootstrap-reboot.css │ │ │ ├── bootstrap-reboot.css.map │ │ │ ├── bootstrap-reboot.min.css │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ ├── bootstrap-reboot.rtl.css │ │ │ ├── bootstrap-reboot.rtl.css.map │ │ │ ├── bootstrap-reboot.rtl.min.css │ │ │ ├── bootstrap-reboot.rtl.min.css.map │ │ │ ├── bootstrap-utilities.css │ │ │ ├── bootstrap-utilities.css.map │ │ │ ├── bootstrap-utilities.min.css │ │ │ ├── bootstrap-utilities.min.css.map │ │ │ ├── bootstrap-utilities.rtl.css │ │ │ ├── bootstrap-utilities.rtl.css.map │ │ │ ├── bootstrap-utilities.rtl.min.css │ │ │ ├── bootstrap-utilities.rtl.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ ├── bootstrap.min.css.map │ │ │ ├── bootstrap.rtl.css │ │ │ ├── bootstrap.rtl.css.map │ │ │ ├── bootstrap.rtl.min.css │ │ │ └── bootstrap.rtl.min.css.map │ │ └── js │ │ │ ├── bootstrap.bundle.js │ │ │ ├── bootstrap.bundle.js.map │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ ├── bootstrap.esm.js │ │ │ ├── bootstrap.esm.js.map │ │ │ ├── bootstrap.esm.min.js │ │ │ ├── bootstrap.esm.min.js.map │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.js.map │ │ │ ├── bootstrap.min.js │ │ │ └── bootstrap.min.js.map │ ├── fontawesome │ │ ├── css │ │ │ ├── all.css │ │ │ ├── all.min.css │ │ │ ├── brands.css │ │ │ ├── brands.min.css │ │ │ ├── fontawesome.css │ │ │ ├── fontawesome.min.css │ │ │ ├── regular.css │ │ │ ├── regular.min.css │ │ │ ├── solid.css │ │ │ ├── solid.min.css │ │ │ ├── svg-with-js.css │ │ │ ├── svg-with-js.min.css │ │ │ ├── v4-font-face.css │ │ │ ├── v4-font-face.min.css │ │ │ ├── v4-shims.css │ │ │ ├── v4-shims.min.css │ │ │ ├── v5-font-face.css │ │ │ └── v5-font-face.min.css │ │ ├── js │ │ │ ├── all.js │ │ │ ├── all.min.js │ │ │ ├── brands.js │ │ │ ├── brands.min.js │ │ │ ├── conflict-detection.js │ │ │ ├── conflict-detection.min.js │ │ │ ├── fontawesome.js │ │ │ ├── fontawesome.min.js │ │ │ ├── regular.js │ │ │ ├── regular.min.js │ │ │ ├── solid.js │ │ │ ├── solid.min.js │ │ │ ├── v4-shims.js │ │ │ └── v4-shims.min.js │ │ └── webfonts │ │ │ ├── fa-brands-400.ttf │ │ │ ├── fa-brands-400.woff2 │ │ │ ├── fa-regular-400.ttf │ │ │ ├── fa-regular-400.woff2 │ │ │ ├── fa-solid-900.ttf │ │ │ ├── fa-solid-900.woff2 │ │ │ ├── fa-v4compatibility.ttf │ │ │ └── fa-v4compatibility.woff2 │ └── params │ │ ├── css │ │ ├── body.css │ │ ├── fonts.googleapis.css │ │ ├── fonts.googleapis.min.css │ │ ├── footer.css │ │ └── header.css │ │ ├── images │ │ └── logo │ │ │ ├── ganatan-logo.png │ │ │ └── ganatan-logo@2x.png │ │ └── js │ │ ├── popovers.js │ │ ├── toasts.js │ │ └── tooltips.js │ └── home.html ├── frontend-angular ├── .editorconfig ├── .gitignore ├── LICENSE ├── README.md ├── angular.json ├── eslint.config.js ├── nginx.conf ├── package-lock.json ├── package.json ├── public │ └── favicon.ico ├── src │ ├── app │ │ ├── app.config.ts │ │ ├── app.css │ │ ├── app.html │ │ ├── app.routes.ts │ │ ├── app.spec.ts │ │ ├── app.ts │ │ └── features │ │ │ ├── about │ │ │ ├── about.config.ts │ │ │ ├── about.css │ │ │ ├── about.html │ │ │ ├── about.routes.ts │ │ │ ├── about.spec.ts │ │ │ ├── about.ts │ │ │ ├── experience │ │ │ │ ├── experience.css │ │ │ │ ├── experience.html │ │ │ │ ├── experience.spec.ts │ │ │ │ └── experience.ts │ │ │ └── skill │ │ │ │ ├── skill.css │ │ │ │ ├── skill.html │ │ │ │ ├── skill.spec.ts │ │ │ │ └── skill.ts │ │ │ ├── contact │ │ │ ├── contact.config.ts │ │ │ ├── contact.css │ │ │ ├── contact.html │ │ │ ├── contact.routes.ts │ │ │ ├── contact.spec.ts │ │ │ ├── contact.ts │ │ │ ├── mailing │ │ │ │ ├── mailing.css │ │ │ │ ├── mailing.html │ │ │ │ ├── mailing.spec.ts │ │ │ │ └── mailing.ts │ │ │ ├── mapping │ │ │ │ ├── mapping.css │ │ │ │ ├── mapping.html │ │ │ │ ├── mapping.spec.ts │ │ │ │ └── mapping.ts │ │ │ └── website │ │ │ │ ├── website.css │ │ │ │ ├── website.html │ │ │ │ ├── website.spec.ts │ │ │ │ └── website.ts │ │ │ ├── home │ │ │ ├── feature.ts │ │ │ ├── home.css │ │ │ ├── home.html │ │ │ ├── home.spec.ts │ │ │ └── home.ts │ │ │ ├── login │ │ │ ├── login.css │ │ │ ├── login.html │ │ │ ├── login.spec.ts │ │ │ └── login.ts │ │ │ ├── not-found │ │ │ ├── not-found.css │ │ │ ├── not-found.html │ │ │ ├── not-found.spec.ts │ │ │ └── not-found.ts │ │ │ ├── signup │ │ │ ├── signup.css │ │ │ ├── signup.html │ │ │ ├── signup.spec.ts │ │ │ └── signup.ts │ │ │ └── tutorials │ │ │ ├── example-bootstrap │ │ │ ├── 00-main │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ ├── items.component.ts │ │ │ │ └── items.ts │ │ │ ├── accordions │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ ├── items.component.spec.ts │ │ │ │ └── items.component.ts │ │ │ ├── alerts │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── badges │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── blockquotes │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── breadcrumb │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── buttons │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── cards │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── checkbox │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── collapses │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── dropdowns │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── forms │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── list-group │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── pagination │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── progress │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── spinners │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── tables │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── tutorial.component.css │ │ │ ├── tutorial.component.html │ │ │ ├── tutorial.component.spec.ts │ │ │ ├── tutorial.component.ts │ │ │ ├── tutorial.config.ts │ │ │ ├── tutorial.routes.ts │ │ │ └── typography │ │ │ │ ├── items.component.css │ │ │ │ ├── items.component.html │ │ │ │ └── items.component.ts │ │ │ ├── example-components │ │ │ ├── channel │ │ │ │ ├── channel.component.css │ │ │ │ ├── channel.component.html │ │ │ │ ├── channel.component.ts │ │ │ │ └── channel.ts │ │ │ ├── tutorial.component.css │ │ │ ├── tutorial.component.html │ │ │ └── tutorial.component.ts │ │ │ ├── example-forms │ │ │ ├── 00-main │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ └── items.ts │ │ │ ├── 01-single │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ └── exercice.component.ts │ │ │ ├── 02-multi │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ ├── movie.spec.ts │ │ │ │ └── movie.ts │ │ │ ├── 03-init-class │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ ├── movie.spec.ts │ │ │ │ └── movie.ts │ │ │ ├── 04-prototype │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ └── exercice.component.ts │ │ │ ├── 05-form-control │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ └── exercice.component.ts │ │ │ ├── 06-form-control-class │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ └── movie.ts │ │ │ ├── 07-form-group │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ └── pretty-json.pipe.ts │ │ │ ├── 08-form-builder │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ └── pretty-json.pipe.ts │ │ │ ├── 09-form-builder-nested │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ ├── movie.ts │ │ │ │ └── pretty-json.pipe.ts │ │ │ ├── 10-form-array │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ ├── movie.ts │ │ │ │ └── pretty-json.pipe.ts │ │ │ ├── 11-form-multi │ │ │ │ ├── exercice.component.css │ │ │ │ ├── exercice.component.html │ │ │ │ ├── exercice.component.ts │ │ │ │ ├── movie.ts │ │ │ │ └── pretty-json.pipe.ts │ │ │ ├── tutorial.component.css │ │ │ ├── tutorial.component.html │ │ │ ├── tutorial.component.ts │ │ │ ├── tutorial.config.ts │ │ │ └── tutorial.routes.ts │ │ │ └── example-services │ │ │ ├── safe.pipe.ts │ │ │ ├── song │ │ │ ├── mock-songs.ts │ │ │ ├── song.service.spec.ts │ │ │ ├── song.service.ts │ │ │ └── song.ts │ │ │ ├── tutorial.component.css │ │ │ ├── tutorial.component.html │ │ │ └── tutorial.component.ts │ ├── assets │ │ ├── .gitkeep │ │ └── params │ │ │ ├── css │ │ │ ├── fonts.googleapis.css │ │ │ └── fonts.googleapis.min.css │ │ │ ├── images │ │ │ ├── channels │ │ │ │ ├── cinemax.jpg │ │ │ │ ├── cw.jpg │ │ │ │ ├── discovery-channel.jpg │ │ │ │ ├── disney-channel.jpg │ │ │ │ ├── fox.jpg │ │ │ │ ├── hbo.jpg │ │ │ │ ├── history.jpg │ │ │ │ ├── hulu.jpg │ │ │ │ ├── mtv.jpg │ │ │ │ ├── nbc.jpg │ │ │ │ ├── netflix.jpg │ │ │ │ ├── showtime.jpg │ │ │ │ └── usa-network.jpg │ │ │ ├── example-bootstrap │ │ │ │ └── movie-screen.jpg │ │ │ ├── logo │ │ │ │ ├── ganatan-logo.png │ │ │ │ └── ganatan-logo@2x.png │ │ │ └── studio │ │ │ │ ├── 2560px-Valve_old_logo.svg.png │ │ │ │ ├── Bioware-logo.png │ │ │ │ ├── Electronic_Arts-Logo.wine.png │ │ │ │ ├── Logo-Nintendo-1.jpg │ │ │ │ ├── Naughty-dog-logo.png │ │ │ │ └── Rockstar_Games_Logo.svg.png │ │ │ └── js │ │ │ ├── popovers.js │ │ │ ├── toasts.js │ │ │ └── tooltips.js │ ├── environments │ │ ├── environment.development.ts │ │ └── environment.ts │ ├── index.html │ ├── main.ts │ └── styles.css ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.spec.json └── ui │ ├── assets │ ├── bootstrap │ │ ├── css │ │ │ ├── bootstrap-grid.css │ │ │ ├── bootstrap-grid.css.map │ │ │ ├── bootstrap-grid.min.css │ │ │ ├── bootstrap-grid.min.css.map │ │ │ ├── bootstrap-grid.rtl.css │ │ │ ├── bootstrap-grid.rtl.css.map │ │ │ ├── bootstrap-grid.rtl.min.css │ │ │ ├── bootstrap-grid.rtl.min.css.map │ │ │ ├── bootstrap-reboot.css │ │ │ ├── bootstrap-reboot.css.map │ │ │ ├── bootstrap-reboot.min.css │ │ │ ├── bootstrap-reboot.min.css.map │ │ │ ├── bootstrap-reboot.rtl.css │ │ │ ├── bootstrap-reboot.rtl.css.map │ │ │ ├── bootstrap-reboot.rtl.min.css │ │ │ ├── bootstrap-reboot.rtl.min.css.map │ │ │ ├── bootstrap-utilities.css │ │ │ ├── bootstrap-utilities.css.map │ │ │ ├── bootstrap-utilities.min.css │ │ │ ├── bootstrap-utilities.min.css.map │ │ │ ├── bootstrap-utilities.rtl.css │ │ │ ├── bootstrap-utilities.rtl.css.map │ │ │ ├── bootstrap-utilities.rtl.min.css │ │ │ ├── bootstrap-utilities.rtl.min.css.map │ │ │ ├── bootstrap.css │ │ │ ├── bootstrap.css.map │ │ │ ├── bootstrap.min.css │ │ │ ├── bootstrap.min.css.map │ │ │ ├── bootstrap.rtl.css │ │ │ ├── bootstrap.rtl.css.map │ │ │ ├── bootstrap.rtl.min.css │ │ │ └── bootstrap.rtl.min.css.map │ │ └── js │ │ │ ├── bootstrap.bundle.js │ │ │ ├── bootstrap.bundle.js.map │ │ │ ├── bootstrap.bundle.min.js │ │ │ ├── bootstrap.bundle.min.js.map │ │ │ ├── bootstrap.esm.js │ │ │ ├── bootstrap.esm.js.map │ │ │ ├── bootstrap.esm.min.js │ │ │ ├── bootstrap.esm.min.js.map │ │ │ ├── bootstrap.js │ │ │ ├── bootstrap.js.map │ │ │ ├── bootstrap.min.js │ │ │ └── bootstrap.min.js.map │ ├── fontawesome │ │ ├── css │ │ │ ├── all.css │ │ │ ├── all.min.css │ │ │ ├── brands.css │ │ │ ├── brands.min.css │ │ │ ├── fontawesome.css │ │ │ ├── fontawesome.min.css │ │ │ ├── regular.css │ │ │ ├── regular.min.css │ │ │ ├── solid.css │ │ │ ├── solid.min.css │ │ │ ├── svg-with-js.css │ │ │ ├── svg-with-js.min.css │ │ │ ├── v4-font-face.css │ │ │ ├── v4-font-face.min.css │ │ │ ├── v4-shims.css │ │ │ ├── v4-shims.min.css │ │ │ ├── v5-font-face.css │ │ │ └── v5-font-face.min.css │ │ ├── js │ │ │ ├── all.js │ │ │ ├── all.min.js │ │ │ ├── brands.js │ │ │ ├── brands.min.js │ │ │ ├── conflict-detection.js │ │ │ ├── conflict-detection.min.js │ │ │ ├── fontawesome.js │ │ │ ├── fontawesome.min.js │ │ │ ├── regular.js │ │ │ ├── regular.min.js │ │ │ ├── solid.js │ │ │ ├── solid.min.js │ │ │ ├── v4-shims.js │ │ │ └── v4-shims.min.js │ │ └── webfonts │ │ │ ├── fa-brands-400.ttf │ │ │ ├── fa-brands-400.woff2 │ │ │ ├── fa-regular-400.ttf │ │ │ ├── fa-regular-400.woff2 │ │ │ ├── fa-solid-900.ttf │ │ │ ├── fa-solid-900.woff2 │ │ │ ├── fa-v4compatibility.ttf │ │ │ └── fa-v4compatibility.woff2 │ └── params │ │ ├── css │ │ ├── body.css │ │ ├── fonts.googleapis.css │ │ ├── fonts.googleapis.min.css │ │ ├── footer.css │ │ └── header.css │ │ ├── images │ │ └── logo │ │ │ ├── ganatan-logo.png │ │ │ └── ganatan-logo@2x.png │ │ └── js │ │ ├── popovers.js │ │ ├── toasts.js │ │ └── tooltips.js │ └── home.html ├── frontend-react ├── .eslintrc.json ├── .gitignore ├── nginx.conf ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ ├── index.html │ ├── logo192.png │ ├── logo512.png │ ├── manifest.json │ └── robots.txt ├── server.js └── src │ ├── app │ ├── app-routing.js │ ├── app.css │ ├── app.js │ ├── app.test.js │ └── modules │ │ ├── application │ │ ├── example-bootstrap │ │ │ ├── 00-main │ │ │ │ ├── main.css │ │ │ │ └── main.js │ │ │ ├── accordions │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── alerts │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── badges │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── blockquotes │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── breadcrumb │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── buttons │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── cards │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── checkbox │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── collapses │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── dropdowns │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── example-bootstrap-routing.js │ │ │ ├── example-bootstrap.css │ │ │ ├── example-bootstrap.js │ │ │ ├── forms │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── list-group │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── modal │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── pagination │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── popovers │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── progress │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── spinners │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── tables │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── toasts │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ ├── tooltips │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ │ └── typography │ │ │ │ ├── items.css │ │ │ │ └── items.js │ │ ├── example-components │ │ │ ├── channel.js │ │ │ ├── example-components.css │ │ │ └── example-components.js │ │ ├── example-forms │ │ │ ├── 00-main │ │ │ │ ├── main.css │ │ │ │ └── main.js │ │ │ ├── accordions │ │ │ │ ├── accordions.css │ │ │ │ └── accordions.js │ │ │ ├── alerts │ │ │ │ ├── alerts.css │ │ │ │ └── alerts.js │ │ │ ├── example-forms-routing.js │ │ │ ├── example-forms.css │ │ │ └── example-forms.js │ │ └── example-services │ │ │ ├── 00-main │ │ │ ├── main.css │ │ │ └── main.js │ │ │ ├── accordions │ │ │ ├── accordions.css │ │ │ └── accordions.js │ │ │ ├── alerts │ │ │ ├── alerts.css │ │ │ └── alerts.js │ │ │ ├── example-services-routing.js │ │ │ ├── example-services.css │ │ │ └── example-services.js │ │ └── general │ │ ├── about │ │ ├── about.css │ │ └── about.js │ │ ├── contact │ │ ├── contact-routing.js │ │ ├── contact.css │ │ ├── contact.js │ │ ├── mailing │ │ │ ├── mailing.css │ │ │ └── mailing.js │ │ ├── mapping │ │ │ ├── mapping.css │ │ │ └── mapping.js │ │ └── website │ │ │ ├── website.css │ │ │ └── website.js │ │ ├── home │ │ ├── home.css │ │ └── home.js │ │ ├── login │ │ ├── login.css │ │ └── login.js │ │ ├── not-found │ │ ├── not-found.css │ │ └── not-found.js │ │ └── signup │ │ ├── signup.css │ │ └── signup.js │ ├── assets │ ├── .gitkeep │ └── params │ │ ├── css │ │ ├── fonts.googleapis.css │ │ └── fonts.googleapis.min.css │ │ └── images │ │ ├── channels │ │ ├── cinemax.jpg │ │ ├── cw.jpg │ │ ├── discovery-channel.jpg │ │ ├── disney-channel.jpg │ │ ├── fox.jpg │ │ ├── hbo.jpg │ │ ├── history.jpg │ │ ├── hulu.jpg │ │ ├── mtv.jpg │ │ ├── nbc.jpg │ │ ├── netflix.jpg │ │ ├── showtime.jpg │ │ └── usa-network.jpg │ │ ├── example-bootstrap │ │ └── movie-screen.jpg │ │ └── logo │ │ ├── ganatan-logo.png │ │ └── ganatan-logo@2x.png │ ├── environments │ └── environment.js │ ├── index.css │ ├── index.js │ ├── logo.svg │ ├── reportWebVitals.js │ └── setupTests.js └── img └── ganatan-about-github.png /frontend-angular-19/.editorconfig: -------------------------------------------------------------------------------- 1 | # Editor configuration, see https://editorconfig.org 2 | root = true 3 | 4 | [*] 5 | charset = utf-8 6 | indent_style = space 7 | indent_size = 2 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | 11 | [*.ts] 12 | quote_type = single 13 | ij_typescript_use_double_quotes = false 14 | 15 | [*.md] 16 | max_line_length = off 17 | trim_trailing_whitespace = false 18 | -------------------------------------------------------------------------------- /frontend-angular-19/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. 2 | 3 | # Compiled output 4 | /dist 5 | /tmp 6 | /out-tsc 7 | /bazel-out 8 | 9 | # Node 10 | /node_modules 11 | npm-debug.log 12 | yarn-error.log 13 | 14 | # IDEs and editors 15 | .idea/ 16 | .project 17 | .classpath 18 | .c9/ 19 | *.launch 20 | .settings/ 21 | *.sublime-workspace 22 | 23 | # Visual Studio Code 24 | .vscode/* 25 | !.vscode/settings.json 26 | !.vscode/tasks.json 27 | !.vscode/launch.json 28 | !.vscode/extensions.json 29 | .history/* 30 | 31 | # Miscellaneous 32 | /.angular/cache 33 | .sass-cache/ 34 | /connect.lock 35 | /coverage 36 | /libpeerconnection.log 37 | testem.log 38 | /typings 39 | 40 | # System files 41 | .DS_Store 42 | Thumbs.db 43 | -------------------------------------------------------------------------------- /frontend-angular-19/README.md: -------------------------------------------------------------------------------- 1 | 2 | ### Installation 3 | * `npm install` (installing dependencies) 4 | * `npm outdated` (verifying dependencies) 5 | 6 | ### Developpement 7 | * `npm run start` 8 | * in your browser [http://localhost:4200](http://localhost:4200) 9 | 10 | ## Linter 11 | * `npm run lint` 12 | 13 | ## Tests 14 | * `npm run test` 15 | * `npm run coverage` 16 | 17 | ### Compilation 18 | * `npm run build` ( without SSR) 19 | 20 | ### Production 21 | * `npm run serve` 22 | * in your browser [http://localhost:4000](http://localhost:4000) 23 | 24 | 25 | ### Author 26 | * Author : danny 27 | -------------------------------------------------------------------------------- /frontend-angular-19/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ganatan/angular-react-modules/fa3c05b1ef6f5b1c8d855c1005f3a00d47431423/frontend-angular-19/public/favicon.ico -------------------------------------------------------------------------------- /frontend-angular-19/server.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const path = require('path'); 3 | const app = express(); 4 | 5 | app.use(express.static(path.join(__dirname, 'dist/angular-starter/browser'))); 6 | 7 | app.get('/*', function (req, res) { 8 | res.sendFile(path.join(__dirname, 'dist/angular-starter/browser', 'index.html')); 9 | }); 10 | 11 | const port = 4000; 12 | app.listen(port, () => { 13 | console.log(`Example app listening on port ${port}`) 14 | }) 15 | 16 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/app.component.ts: -------------------------------------------------------------------------------- 1 | import { Component, OnInit } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { RouterLink, RouterOutlet } from '@angular/router'; 4 | 5 | @Component({ 6 | selector: 'app-root', 7 | imports: [CommonModule, RouterLink, RouterOutlet], 8 | templateUrl: './app.component.html', 9 | styleUrl: './app.component.css' 10 | }) 11 | export class AppComponent implements OnInit { 12 | title = 'angular-routing'; 13 | footerUrl = 'https://www.ganatan.com'; 14 | footerLink = 'www.ganatan.com'; 15 | ngOnInit(): void { 16 | 17 | const navMain = document.getElementById('navbarCollapse'); 18 | if (navMain) { 19 | navMain.onclick = function onClick() { 20 | if (navMain) { 21 | navMain.classList.remove("show"); 22 | } 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/app.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | 4 | import { routes } from './app.routes'; 5 | 6 | export const appConfig: ApplicationConfig = { 7 | providers: [provideZoneChangeDetection({ eventCoalescing: true }), provideRouter(routes)] 8 | }; 9 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/about/about.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ganatan/angular-react-modules/fa3c05b1ef6f5b1c8d855c1005f3a00d47431423/frontend-angular-19/src/app/features/about/about.component.css -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/about/about.component.html: -------------------------------------------------------------------------------- 1 |
-------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/about/about.component.ts: -------------------------------------------------------------------------------- 1 | import { Component } from '@angular/core'; 2 | import { CommonModule } from '@angular/common'; 3 | import { RouterLink, RouterOutlet } from '@angular/router'; 4 | 5 | @Component({ 6 | selector: 'app-about', 7 | imports: [CommonModule, RouterLink, RouterOutlet], 8 | templateUrl: './about.component.html', 9 | styleUrl: './about.component.css' 10 | }) 11 | export class AboutComponent { 12 | 13 | } 14 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/about/about.config.ts: -------------------------------------------------------------------------------- 1 | import { ApplicationConfig } from '@angular/core'; 2 | import { provideRouter } from '@angular/router'; 3 | 4 | import { routes } from './about.routes'; 5 | 6 | export const aboutConfig: ApplicationConfig = { 7 | providers: [provideRouter(routes)] 8 | }; 9 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/about/experience/experience.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ganatan/angular-react-modules/fa3c05b1ef6f5b1c8d855c1005f3a00d47431423/frontend-angular-19/src/app/features/about/experience/experience.component.css -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/about/experience/experience.component.html: -------------------------------------------------------------------------------- 1 |experience works!
2 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/about/experience/experience.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { ExperienceComponent } from './experience.component'; 4 | 5 | describe('ExperienceComponent', () => { 6 | let component: ExperienceComponent; 7 | let fixture: ComponentFixtureskill works!
2 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/about/skill/skill.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { SkillComponent } from './skill.component'; 4 | 5 | describe('SkillComponent', () => { 6 | let component: SkillComponent; 7 | let fixture: ComponentFixturemailing works!
2 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/contact/mailing/mailing.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { MailingComponent } from './mailing.component'; 4 | 5 | describe('MailingComponent', () => { 6 | let component: MailingComponent; 7 | let fixture: ComponentFixturemapping works!
2 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/contact/mapping/mapping.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { MappingComponent } from './mapping.component'; 4 | 5 | describe('MappingComponent', () => { 6 | let component: MappingComponent; 7 | let fixture: ComponentFixturewebsite works!
2 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/contact/website/website.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { WebsiteComponent } from './website.component'; 4 | 5 | describe('WebsiteComponent', () => { 6 | let component: WebsiteComponent; 7 | let fixture: ComponentFixturelogin works!
2 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/login/login.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { LoginComponent } from './login.component'; 4 | 5 | describe('LoginComponent', () => { 6 | let component: LoginComponent; 7 | let fixture: ComponentFixturenot-found works!
2 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/not-found/not-found.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { NotFoundComponent } from './not-found.component'; 4 | 5 | describe('NotFoundComponent', () => { 6 | let component: NotFoundComponent; 7 | let fixture: ComponentFixturesignup works!
2 | -------------------------------------------------------------------------------- /frontend-angular-19/src/app/features/signup/signup.component.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { SignupComponent } from './signup.component'; 4 | 5 | describe('SignupComponent', () => { 6 | let component: SignupComponent; 7 | let fixture: ComponentFixture{{ channel.releaseDate }}
5 | 6 |experience works!
2 | -------------------------------------------------------------------------------- /frontend-angular/src/app/features/about/experience/experience.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { Experience } from './experience'; 4 | 5 | describe('Experience', () => { 6 | let component: Experience; 7 | let fixture: ComponentFixtureskill works!
2 | -------------------------------------------------------------------------------- /frontend-angular/src/app/features/about/skill/skill.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { Skill } from './skill'; 4 | 5 | describe('Skill', () => { 6 | let component: Skill; 7 | let fixture: ComponentFixturemailing works!
2 | -------------------------------------------------------------------------------- /frontend-angular/src/app/features/contact/mailing/mailing.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { Mailing } from './mailing'; 4 | 5 | describe('Mailing', () => { 6 | let component: Mailing; 7 | let fixture: ComponentFixturemapping works!
2 | -------------------------------------------------------------------------------- /frontend-angular/src/app/features/contact/mapping/mapping.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { Mapping } from './mapping'; 4 | 5 | describe('Mapping', () => { 6 | let component: Mapping; 7 | let fixture: ComponentFixturewebsite works!
2 | -------------------------------------------------------------------------------- /frontend-angular/src/app/features/contact/website/website.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { Website } from './website'; 4 | 5 | describe('Website', () => { 6 | let component: Website; 7 | let fixture: ComponentFixturelogin works!
2 | -------------------------------------------------------------------------------- /frontend-angular/src/app/features/login/login.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { Login } from './login'; 4 | 5 | describe('Login', () => { 6 | let component: Login; 7 | let fixture: ComponentFixturenot-found works!
2 | -------------------------------------------------------------------------------- /frontend-angular/src/app/features/not-found/not-found.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { NotFound } from './not-found'; 4 | 5 | describe('NotFound', () => { 6 | let component: NotFound; 7 | let fixture: ComponentFixturesignup works!
2 | -------------------------------------------------------------------------------- /frontend-angular/src/app/features/signup/signup.spec.ts: -------------------------------------------------------------------------------- 1 | import { ComponentFixture, TestBed } from '@angular/core/testing'; 2 | 3 | import { Signup } from './signup'; 4 | 5 | describe('Signup', () => { 6 | let component: Signup; 7 | let fixture: ComponentFixture{{ channel.releaseDate }}
5 | 6 |progress works!
11 |spinners works!
11 |tables works!
11 |toasts works!
11 |tooltips works!
11 |typography works!
11 |{this.props.releaseDate}
18 | 19 |main works!
11 |Accordions works!
11 |alerts works!
11 |main works!
11 |Accordions works!
11 |alerts works!
11 |about works!
10 |contact works!
14 |mailing works!
11 |mapping works!
11 |Website works!
11 |login works!
11 |not-found works!
11 |signup works!
11 |