From 59089cbe61e86c7b06f72c9a02d878844ad6d45e Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:30:17 +0530 Subject: [PATCH 01/31] docs(angular-projection): change aio links to adev and fix typos --- docs/src/content/docs/challenges/angular/1-projection.md | 6 +++--- docs/src/content/docs/es/challenges/angular/1-projection.md | 4 ++-- docs/src/content/docs/pt/challenges/angular/1-projection.md | 4 ++-- docs/src/content/docs/ru/challenges/angular/1-projection.md | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/docs/src/content/docs/challenges/angular/1-projection.md b/docs/src/content/docs/challenges/angular/1-projection.md index 5b50412..0fce427 100644 --- a/docs/src/content/docs/challenges/angular/1-projection.md +++ b/docs/src/content/docs/challenges/angular/1-projection.md @@ -23,15 +23,15 @@ sidebar: In Angular, content projection is a powerful technique for creating highly customizable components. Utilizing and understanding the concepts of ng-content and ngTemplateOutlet can significantly enhance your ability to create shareable components. -You can learn all about ng-content [here](https://angular.io/guide/content-projection#projecting-content-in-more-complex-environments) from simple projection to more complex ones. +You can learn all about ng-content [here](https://angular.dev/guide/components/content-projection) from simple projection to more complex ones. To learn about ngTemplateOutlet, you can find the API documentation [here](https://angular.io/api/common/NgTemplateOutlet) along with some basic examples. -With this two tools in hand, you are now ready to take on the challenge. +With these two tools in hand, you are now ready to take on the challenge. ## Statement -You will start with an fully functional application that includes a dashboard containing a teacher card and a student card. The goal is to implement the city card. +You will start with a fully functional application that includes a dashboard containing a teacher card and a student card. The goal is to implement the city card. While the application works, the developer experience is far from being optimal. Every time you need to implement a new card, you have to modify the `card.component.ts`. In real-life projects, this component can be shared among many applications. The goal of the challenge is to create a `CardComponent` that can be customized without any modifications. Once you've created this component, you can begin implementing the `CityCardComponent` and ensure you are not touching the `CardComponent`. diff --git a/docs/src/content/docs/es/challenges/angular/1-projection.md b/docs/src/content/docs/es/challenges/angular/1-projection.md index d17874f..e0e1250 100644 --- a/docs/src/content/docs/es/challenges/angular/1-projection.md +++ b/docs/src/content/docs/es/challenges/angular/1-projection.md @@ -19,9 +19,9 @@ sidebar: En Angular, la proyección de contenido es una técnica poderosa para crear componentes altamente personalizables. Utilizar y comprender los conceptos de ng-content y ngTemplateOutlet puede mejorar significativamente su capacidad para crear componentes reutilizables. -Puedes aprender todo sobre ng-content [aquí](https://angular.io/guide/content-projection#projecting-content-in-more-complex-environments) desde la proyección simple hasta las más complejas. +Puedes aprender todo sobre ng-content [aquí](https://angular.dev/guide/components/content-projection) desde la proyección simple hasta las más complejas. -Para aprender sobre ngTemplateOutlet, puedes encontrar la documentación de la API [aquí](https://angular.io/api/common/NgTemplateOutlet) junto con algunos ejemplos básicos. +Para aprender sobre ngTemplateOutlet, puedes encontrar la documentación de la API [aquí](https://angular.dev/api/common/NgTemplateOutlet) junto con algunos ejemplos básicos. Con estas dos herramientas en la mano, ahora estás listo para asumir el desafío. diff --git a/docs/src/content/docs/pt/challenges/angular/1-projection.md b/docs/src/content/docs/pt/challenges/angular/1-projection.md index 642963a..2b782b2 100644 --- a/docs/src/content/docs/pt/challenges/angular/1-projection.md +++ b/docs/src/content/docs/pt/challenges/angular/1-projection.md @@ -19,9 +19,9 @@ sidebar: Em Angular, projeção de conteúdo é uma técnica robusta para criar componente altamente personalizados. Usar e entender os conceitos do ng-content e ngTemplateOutlet pode melhorar significativamente sua habilidade na criação de componentes compartilháveis. -Você pode aprender tudo sobre ng-content [aqui](https://angular.io/guide/content-projection#projecting-content-in-more-complex-environments), desde projeção simples até casos mais complexos. +Você pode aprender tudo sobre ng-content [aqui](https://angular.dev/guide/components/content-projection), desde projeção simples até casos mais complexos. -Para aprender sobre ngTemplateOutlet, você pode acessar a documentação [aqui](https://angular.io/api/common/NgTemplateOutlet) junto a alguns exemplos básicos. +Para aprender sobre ngTemplateOutlet, você pode acessar a documentação [aqui](https://angular.dev/api/common/NgTemplateOutlet) junto a alguns exemplos básicos. Com essas duas ferramentas em mãos, você está pronto para realizar o desafio. diff --git a/docs/src/content/docs/ru/challenges/angular/1-projection.md b/docs/src/content/docs/ru/challenges/angular/1-projection.md index d5118b6..1f2a3a9 100644 --- a/docs/src/content/docs/ru/challenges/angular/1-projection.md +++ b/docs/src/content/docs/ru/challenges/angular/1-projection.md @@ -19,9 +19,9 @@ sidebar: Проекция контента в Angular - это мощная техника для создания компонентов с гибко настраиваемым внешним видом. Понимание и использование концепций ng-content и ngTemplateOutlet может значительно вам помочь создавать компоненты, предназначенные для повторного использования. -[Здесь](https://angular.io/guide/content-projection#projecting-content-in-more-complex-environments) вы можете изучить все о ng-content, начиная с простых примеров и до более сложных. +[Здесь](https://angular.dev/guide/components/content-projection) вы можете изучить все о ng-content, начиная с простых примеров и до более сложных. -Документацию ngTemplateOutlett, вместе с базовыми примерами, можно найти [тут](https://angular.io/api/common/NgTemplateOutlet). +Документацию ngTemplateOutlett, вместе с базовыми примерами, можно найти [тут](https://angular.dev/api/common/NgTemplateOutlet). Имея эти два инструмента в своем распоряжении, вы теперь готовы пройти испытание. From 7760f2ecd0309184d633f50b6eb567f8d287584a Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:34:19 +0530 Subject: [PATCH 02/31] docs(angular-context-outlet-typed): change aio links to adev --- .../content/docs/challenges/angular/4-context-outlet-typed.md | 2 +- .../docs/es/challenges/angular/4-context-outlet-typed.md | 2 +- .../docs/pt/challenges/angular/4-context-outlet-typed.md | 2 +- .../docs/ru/challenges/angular/4-context-outlet-typed.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/src/content/docs/challenges/angular/4-context-outlet-typed.md b/docs/src/content/docs/challenges/angular/4-context-outlet-typed.md index 7f0f697..1663f1b 100644 --- a/docs/src/content/docs/challenges/angular/4-context-outlet-typed.md +++ b/docs/src/content/docs/challenges/angular/4-context-outlet-typed.md @@ -16,7 +16,7 @@ sidebar: ## Information -You can improve template type checking for custom directives by adding template guard properties to your directive definition. Angular offers the static function [`ngTemplateContextGuard`](https://angular.io/guide/structural-directives#typing-the-directives-context) to strongly type structural directives. +You can improve template type checking for custom directives by adding template guard properties to your directive definition. Angular offers the static function [`ngTemplateContextGuard`](https://angular.dev/guide/directives/structural-directives#improving-template-type-checking-for-custom-directives) to strongly type structural directives. However the context of **NgTemplateOutlet** type is **Object**. But with the help of the above guard, we can improve that behavior. diff --git a/docs/src/content/docs/es/challenges/angular/4-context-outlet-typed.md b/docs/src/content/docs/es/challenges/angular/4-context-outlet-typed.md index 388bd5b..915aae7 100644 --- a/docs/src/content/docs/es/challenges/angular/4-context-outlet-typed.md +++ b/docs/src/content/docs/es/challenges/angular/4-context-outlet-typed.md @@ -19,7 +19,7 @@ Las declaraciones de tipos permanecerán en ingles, asi como los nombres de los ::: -Angular ofrece la function estática [`ngTemplateContextGuard`](https://angular.io/guide/structural-directives#typing-the-directives-context) para reforzar el tipo de una directiva estructural. +Angular ofrece la function estática [`ngTemplateContextGuard`](https://angular.dev/guide/directives/structural-directives#improving-template-type-checking-for-custom-directives) para reforzar el tipo de una directiva estructural. Sin embargo, el contexto de **NgTemplateOutlet** es de tipo **Object**. Con la ayuda de la guardia mencionada anteriormente, podemos mejorar ese comportamiento. diff --git a/docs/src/content/docs/pt/challenges/angular/4-context-outlet-typed.md b/docs/src/content/docs/pt/challenges/angular/4-context-outlet-typed.md index b04225c..0a52b68 100644 --- a/docs/src/content/docs/pt/challenges/angular/4-context-outlet-typed.md +++ b/docs/src/content/docs/pt/challenges/angular/4-context-outlet-typed.md @@ -16,7 +16,7 @@ sidebar: ## Informação -Você pode melhorar a verificação de tipo do template para diretivas personalizadas adicionando guardas de propriedades de template na definição de sua diretiva. Angular oferece a função estática [`ngTemplateContextGuard`](https://angular.io/guide/structural-directives#typing-the-directives-context) para tipar fortemente diretivas estruturais. +Você pode melhorar a verificação de tipo do template para diretivas personalizadas adicionando guardas de propriedades de template na definição de sua diretiva. Angular oferece a função estática [`ngTemplateContextGuard`](https://angular.dev/guide/directives/structural-directives#improving-template-type-checking-for-custom-directives) para tipar fortemente diretivas estruturais. No entanto, o contexto do tipo do **NgTemplateOutlet** é **Object**. Mas com a a ajuda do guarda acima, podemos melhorar esse comportamento. diff --git a/docs/src/content/docs/ru/challenges/angular/4-context-outlet-typed.md b/docs/src/content/docs/ru/challenges/angular/4-context-outlet-typed.md index 199ed32..ca73a05 100644 --- a/docs/src/content/docs/ru/challenges/angular/4-context-outlet-typed.md +++ b/docs/src/content/docs/ru/challenges/angular/4-context-outlet-typed.md @@ -13,7 +13,7 @@ sidebar: ## Информация -В Angular есть статическая функция [`ngTemplateContextGuard`](https://angular.io/guide/structural-directives#typing-the-directives-context) для строгой типизации структурных директив. +В Angular есть статическая функция [`ngTemplateContextGuard`](https://angular.dev/guide/directives/structural-directives#improving-template-type-checking-for-custom-directives) для строгой типизации структурных директив. Однако, контекстом **NgTemplateOutlet** является **Object**. Но с помощью вышеупомянутой гарда, мы можем улучшить это поведение. From a6bacb85c369a5393c30ac7c619502a773e87c5a Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:37:34 +0530 Subject: [PATCH 03/31] docs(forms-cva): change aio links to adev --- .../content/docs/challenges/forms/41-control-value-accessor.md | 2 +- .../docs/pt/challenges/forms/41-control-value-accessor.md | 2 +- .../docs/ru/challenges/forms/41-control-value-accessor.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/content/docs/challenges/forms/41-control-value-accessor.md b/docs/src/content/docs/challenges/forms/41-control-value-accessor.md index 75ff281..57f4473 100644 --- a/docs/src/content/docs/challenges/forms/41-control-value-accessor.md +++ b/docs/src/content/docs/challenges/forms/41-control-value-accessor.md @@ -12,7 +12,7 @@ sidebar: ## Information -In this challenge, the goal is to create a custom form field that is using the Form API of Angular `ControlValueAccessor`. You can find the documentation [here](https://angular.io/api/forms/ControlValueAccessor). This interface is crucial for creating custom form controls that can interact seamlessly with Angular's forms API. +In this challenge, the goal is to create a custom form field that is using the Form API of Angular `ControlValueAccessor`. You can find the documentation [here](https://angular.dev/api/forms/ControlValueAccessor). This interface is crucial for creating custom form controls that can interact seamlessly with Angular's forms API. ## Statement diff --git a/docs/src/content/docs/pt/challenges/forms/41-control-value-accessor.md b/docs/src/content/docs/pt/challenges/forms/41-control-value-accessor.md index e453606..cad37f2 100644 --- a/docs/src/content/docs/pt/challenges/forms/41-control-value-accessor.md +++ b/docs/src/content/docs/pt/challenges/forms/41-control-value-accessor.md @@ -12,7 +12,7 @@ sidebar: ## Informação -Neste desafio, o objetivo é criar um campo personalizado de formulário que use a Form API do Angular `ControlValueAccessor`. Você pode achar a documentação [aqui](https://angular.io/api/forms/ControlValueAccessor). A interface é crucial para criar controles personalizados de formulário que interaja de forma transparente com a API dos formulários do Angular. +Neste desafio, o objetivo é criar um campo personalizado de formulário que use a Form API do Angular `ControlValueAccessor`. Você pode achar a documentação [aqui](https://angular.dev/api/forms/ControlValueAccessor). A interface é crucial para criar controles personalizados de formulário que interaja de forma transparente com a API dos formulários do Angular. ## Declaração diff --git a/docs/src/content/docs/ru/challenges/forms/41-control-value-accessor.md b/docs/src/content/docs/ru/challenges/forms/41-control-value-accessor.md index 6969bc5..00f898f 100644 --- a/docs/src/content/docs/ru/challenges/forms/41-control-value-accessor.md +++ b/docs/src/content/docs/ru/challenges/forms/41-control-value-accessor.md @@ -12,7 +12,7 @@ sidebar: ## Информация -Цель этого испытания создать пользовательское поле формы, которое использует API формы Angular через `ControlValueAccessor`. Документацию можно посмотреть [здесь](https://angular.io/api/forms/ControlValueAccessor). Этот интерфейс критически важен для создания пользовательских элементов управления формами, которые могут беспрепятственно взаимодействовать с API форм Angular. +Цель этого испытания создать пользовательское поле формы, которое использует API формы Angular через `ControlValueAccessor`. Документацию можно посмотреть [здесь](https://angular.dev/api/forms/ControlValueAccessor). Этот интерфейс критически важен для создания пользовательских элементов управления формами, которые могут беспрепятственно взаимодействовать с API форм Angular. ## Пояснение From 430ae3a3e67d1ad7243b2342e08fb8d73f95735d Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:39:00 +0530 Subject: [PATCH 04/31] docs(angular-permissions): change aio links to adev --- docs/src/content/docs/challenges/angular/6-permissions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/content/docs/challenges/angular/6-permissions.md b/docs/src/content/docs/challenges/angular/6-permissions.md index a4a270b..f6c4f50 100644 --- a/docs/src/content/docs/challenges/angular/6-permissions.md +++ b/docs/src/content/docs/challenges/angular/6-permissions.md @@ -16,7 +16,7 @@ sidebar: ## Information -Structural directives are directives which change the DOM layout by adding and removing DOM elements. This is an important concept you'll need to improve your angular skills and knowledge. This will be the first part of this challenge. For more information check out the [official documentation](https://angular.io/guide/structural-directives). +Structural directives are directives which change the DOM layout by adding and removing DOM elements. This is an important concept you'll need to improve your angular skills and knowledge. This will be the first part of this challenge. For more information check out the [official documentation](https://angular.dev/guide/directives/structural-directives). Guards like `CanActivate` or `CanMatch` are also very important, since you'll need it in the most application's you build. If you're not very familiar with route guards, check out this two articles. From 8bf8ff5541707d6fd7d1e376cd6cc2b49013d155 Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:40:51 +0530 Subject: [PATCH 05/31] docs(angular-pipe-easy): change aio links to adev --- docs/src/content/docs/challenges/angular/8-pipe-pure.md | 2 +- docs/src/content/docs/pt/challenges/angular/8-pipe-pure.md | 2 +- docs/src/content/docs/ru/challenges/angular/8-pipe-pure.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/content/docs/challenges/angular/8-pipe-pure.md b/docs/src/content/docs/challenges/angular/8-pipe-pure.md index 48ed235..9530053 100644 --- a/docs/src/content/docs/challenges/angular/8-pipe-pure.md +++ b/docs/src/content/docs/challenges/angular/8-pipe-pure.md @@ -29,7 +29,7 @@ A **pure** pipe is only called when the value changes.\ A **impure** pipe is called every change detection cycle. ::: -There are some useful predefined pipes like the DatePipe, UpperCasePipe and CurrencyPipe. To learn more about pipes in Angular, check the API documentation [here](https://angular.io/guide/pipes). +There are some useful predefined pipes like the DatePipe, UpperCasePipe and CurrencyPipe. To learn more about pipes in Angular, check the API documentation [here](https://angular.dev/guide/pipes). ## Statement diff --git a/docs/src/content/docs/pt/challenges/angular/8-pipe-pure.md b/docs/src/content/docs/pt/challenges/angular/8-pipe-pure.md index f096da7..8791492 100644 --- a/docs/src/content/docs/pt/challenges/angular/8-pipe-pure.md +++ b/docs/src/content/docs/pt/challenges/angular/8-pipe-pure.md @@ -26,7 +26,7 @@ Um pipe **puro** é chamado apenas quando o valor muda.\ Um pipe **impuro** é chamado em cada ciclo da mudança de deteccção. ::: -Há alguns pipes pré-definidos bem úteis como DatePipe, UpperCasePipe e CurrencyPipe. Para aprender mais sobre pipes em Angular, dê uma olhada na documentação da API [aqui](https://angular.io/guide/pipes). +Há alguns pipes pré-definidos bem úteis como DatePipe, UpperCasePipe e CurrencyPipe. Para aprender mais sobre pipes em Angular, dê uma olhada na documentação da API [aqui](https://angular.dev/guide/pipes). ## Declaração diff --git a/docs/src/content/docs/ru/challenges/angular/8-pipe-pure.md b/docs/src/content/docs/ru/challenges/angular/8-pipe-pure.md index 7f4288c..facf723 100644 --- a/docs/src/content/docs/ru/challenges/angular/8-pipe-pure.md +++ b/docs/src/content/docs/ru/challenges/angular/8-pipe-pure.md @@ -26,7 +26,7 @@ Pipes разработаны так, чтобы быть эффективным **Нечистый** пайп вызывается на каждый цикл обнаружения изменений. ::: -Существуют несколько полезных предопределенных пайпов, таких как DatePipe, UpperCasePipe и CurrencyPipe. Чтобы узнать больше о пайпах в Angular, ознакомьтесь с документацией API [здесь](https://angular.io/guide/pipes). +Существуют несколько полезных предопределенных пайпов, таких как DatePipe, UpperCasePipe и CurrencyPipe. Чтобы узнать больше о пайпах в Angular, ознакомьтесь с документацией API [здесь](https://angular.dev/guide/pipes). ## Пояснение From 0f3a022004d84c343fc92869ef888cab9eb95668 Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:42:52 +0530 Subject: [PATCH 06/31] docs(angular-pipe-intermediate): change aio links to adev --- docs/src/content/docs/challenges/angular/9-pipe-wrapFn.md | 2 +- docs/src/content/docs/pt/challenges/angular/9-pipe-wrapFn.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/content/docs/challenges/angular/9-pipe-wrapFn.md b/docs/src/content/docs/challenges/angular/9-pipe-wrapFn.md index 3853c3d..23d43ea 100644 --- a/docs/src/content/docs/challenges/angular/9-pipe-wrapFn.md +++ b/docs/src/content/docs/challenges/angular/9-pipe-wrapFn.md @@ -29,7 +29,7 @@ A **pure** pipe is only called when the value changes.\ A **impure** pipe is called every change detection cycle. ::: -There are some useful predefined pipes like the DatePipe, UpperCasePipe and CurrencyPipe. To learn more about pipes in Angular, check the API documentation [here](https://angular.io/guide/pipes). +There are some useful predefined pipes like the DatePipe, UpperCasePipe and CurrencyPipe. To learn more about pipes in Angular, check the API documentation [here]https://angular.dev/guide/pipes). ## Statement diff --git a/docs/src/content/docs/pt/challenges/angular/9-pipe-wrapFn.md b/docs/src/content/docs/pt/challenges/angular/9-pipe-wrapFn.md index ff5aaeb..5a5c5e7 100644 --- a/docs/src/content/docs/pt/challenges/angular/9-pipe-wrapFn.md +++ b/docs/src/content/docs/pt/challenges/angular/9-pipe-wrapFn.md @@ -26,7 +26,7 @@ Um pipe **puro** é chamado apenas quando o valor muda.\ Um pipe **impuro** é chamado em cada ciclo da mudança de deteccção. ::: -Há alguns pipes pré-definidos bem úteis como DatePipe, UpperCasePipe e CurrencyPipe. Para aprender mais sobre pipes em Angular, dê uma olhada na documentação da API [aqui](https://angular.io/guide/pipes). +Há alguns pipes pré-definidos bem úteis como DatePipe, UpperCasePipe e CurrencyPipe. Para aprender mais sobre pipes em Angular, dê uma olhada na documentação da API [aqui](https://angular.dev/guide/pipes). ## Declaração From 36efdddf1cf3185a9d04efac00a57ec06e10b4a4 Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:43:52 +0530 Subject: [PATCH 07/31] docs(angular-pipe-hard): change aio links to adev --- docs/src/content/docs/challenges/angular/10-pipe-utility.md | 2 +- docs/src/content/docs/pt/challenges/angular/10-pipe-utility.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/content/docs/challenges/angular/10-pipe-utility.md b/docs/src/content/docs/challenges/angular/10-pipe-utility.md index 5c99a30..3dd9797 100644 --- a/docs/src/content/docs/challenges/angular/10-pipe-utility.md +++ b/docs/src/content/docs/challenges/angular/10-pipe-utility.md @@ -27,7 +27,7 @@ A **pure** pipe is only called when the value changes.\ A **impure** pipe is called every change detection cycle. ::: -There are some useful predefined pipes like the DatePipe, UpperCasePipe and CurrencyPipe. To learn more about pipes in Angular, check the API documentation [here](https://angular.io/guide/pipes). +There are some useful predefined pipes like the DatePipe, UpperCasePipe and CurrencyPipe. To learn more about pipes in Angular, check the API documentation [here](https://angular.dev/guide/pipes). ## Statement diff --git a/docs/src/content/docs/pt/challenges/angular/10-pipe-utility.md b/docs/src/content/docs/pt/challenges/angular/10-pipe-utility.md index 03e0055..6e4f355 100644 --- a/docs/src/content/docs/pt/challenges/angular/10-pipe-utility.md +++ b/docs/src/content/docs/pt/challenges/angular/10-pipe-utility.md @@ -25,7 +25,7 @@ Um pipe **puro** é chamado apenas quando o valor muda.\ Um pipe **impuro** é chamado em cada ciclo da mudança de deteccção. ::: -Há alguns pipes pré-definidos bem úteis como DatePipe, UpperCasePipe e CurrencyPipe. Para aprender mais sobre pipes em Angular, dê uma olhada na documentação da API [aqui](https://angular.io/guide/pipes). +Há alguns pipes pré-definidos bem úteis como DatePipe, UpperCasePipe e CurrencyPipe. Para aprender mais sobre pipes em Angular, dê uma olhada na documentação da API [aqui](https://angular.dev/guide/pipes). ## Declaração From 8a13be609f844bb354620bfe155c233335d5a74d Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:44:34 +0530 Subject: [PATCH 08/31] docs(angular-di): add api ref to di --- docs/src/content/docs/challenges/angular/16-di.md | 2 +- docs/src/content/docs/es/challenges/angular/16-di.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/content/docs/challenges/angular/16-di.md b/docs/src/content/docs/challenges/angular/16-di.md index 35bb1bc..5fff778 100644 --- a/docs/src/content/docs/challenges/angular/16-di.md +++ b/docs/src/content/docs/challenges/angular/16-di.md @@ -13,7 +13,7 @@ sidebar: ## Information -To successfully complete this challenge, you will need to have a good understanding of how Dependency Injection works inside Angular. +To successfully complete this challenge, you will need to have a good understanding of how [Dependency Injection](https://angular.dev/guide/di/dependency-injection) works inside Angular. The goal is to provide the `CurrencyService` at the row level, so that each row displays the correct currency. Currently, the `CurrencyService` is only provided at the table level, which results in an error as the same currency is displayed for each row, despite each product having a different currency. diff --git a/docs/src/content/docs/es/challenges/angular/16-di.md b/docs/src/content/docs/es/challenges/angular/16-di.md index 5f2482e..aae15b2 100644 --- a/docs/src/content/docs/es/challenges/angular/16-di.md +++ b/docs/src/content/docs/es/challenges/angular/16-di.md @@ -12,7 +12,7 @@ sidebar: ## Información -Para completar exitosamente este desafío, necesitarás tener un buen entendimiento de cómo funciona la Inyección de Dependencias dentro de Angular. +Para completar exitosamente este desafío, necesitarás tener un buen entendimiento de cómo funciona la Inyección de [Dependencias dentro](https://angular.dev/guide/di/dependency-injection) de Angular. El objetivo es proporcionar en la tabla el `CurrencyService` a nivel de fila, para que cada fila muestre la moneda correcta. Actualmente, el `CurrencyService` solo se proporciona a nivel de tabla, lo que resulta en un error ya que se muestra la misma moneda en cada fila, a pesar de que cada producto tiene una moneda diferente. From 83038ed1595765b6ae59563f963d6769a13518fe Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:48:03 +0530 Subject: [PATCH 09/31] docs(angular-module-to-standalone): change aio links to adev --- .../content/docs/challenges/angular/31-module-to-standalone.md | 2 +- .../docs/es/challenges/angular/31-module-to-standalone.md | 2 +- .../docs/pt/challenges/angular/31-module-to-standalone.md | 2 +- .../docs/ru/challenges/angular/31-module-to-standalone.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/src/content/docs/challenges/angular/31-module-to-standalone.md b/docs/src/content/docs/challenges/angular/31-module-to-standalone.md index 701bf14..93b0850 100644 --- a/docs/src/content/docs/challenges/angular/31-module-to-standalone.md +++ b/docs/src/content/docs/challenges/angular/31-module-to-standalone.md @@ -26,4 +26,4 @@ The goal of this challenge is to migrate your application from module based comp ## Note -You can also test the [Angular schematic](https://angular.io/guide/standalone-migration) to migrate NgModule to Standalone components. _(Since we are using nx, start your command with nx instead of ng)_ +You can also test the [Angular schematic](https://angular.dev/reference/migrations/standalone) to migrate NgModule to Standalone components. _(Since we are using nx, start your command with nx instead of ng)_ diff --git a/docs/src/content/docs/es/challenges/angular/31-module-to-standalone.md b/docs/src/content/docs/es/challenges/angular/31-module-to-standalone.md index e4810ef..307fc64 100644 --- a/docs/src/content/docs/es/challenges/angular/31-module-to-standalone.md +++ b/docs/src/content/docs/es/challenges/angular/31-module-to-standalone.md @@ -26,4 +26,4 @@ El objetivo de este desafío es migrar tu aplicación de componentes basados en ## Nota -También puedes probar el [esquema de Angular](https://angular.io/guide/standalone-migration) para migrar NgModule a componentes independientes. _(Dado que estamos usando nx, comienza tu comando con nx en lugar de ng)_ +También puedes probar el [esquema de Angular](https://angular.dev/reference/migrations/standalone) para migrar NgModule a componentes independientes. _(Dado que estamos usando nx, comienza tu comando con nx en lugar de ng)_ diff --git a/docs/src/content/docs/pt/challenges/angular/31-module-to-standalone.md b/docs/src/content/docs/pt/challenges/angular/31-module-to-standalone.md index ffe9c3c..e4878fd 100644 --- a/docs/src/content/docs/pt/challenges/angular/31-module-to-standalone.md +++ b/docs/src/content/docs/pt/challenges/angular/31-module-to-standalone.md @@ -26,4 +26,4 @@ O objetivo deste desafio é migrar sua aplicação de componentes baseados em m ## Nota -Você também pode testar o [Angular schematic](https://angular.io/guide/standalone-migration) para migrar NgModule para componentes Standalone. _(Como estamos usando nx, comece seu comando com nx ao invés de ng)_ +Você também pode testar o [Angular schematic](https://angular.dev/reference/migrations/standalone) para migrar NgModule para componentes Standalone. _(Como estamos usando nx, comece seu comando com nx ao invés de ng)_ diff --git a/docs/src/content/docs/ru/challenges/angular/31-module-to-standalone.md b/docs/src/content/docs/ru/challenges/angular/31-module-to-standalone.md index 46135ff..ae90ba4 100644 --- a/docs/src/content/docs/ru/challenges/angular/31-module-to-standalone.md +++ b/docs/src/content/docs/ru/challenges/angular/31-module-to-standalone.md @@ -26,4 +26,4 @@ sidebar: ## Примечание -Вы также можете протестировать [Angular schematic](https://angular.io/guide/standalone-migration) для переноса NgModule на автономные компоненты. _(Поскольку мы используем nx, начните свою команду с nx вместо ng)_ +Вы также можете протестировать [Angular schematic](https://angular.dev/reference/migrations/standalone) для переноса NgModule на автономные компоненты. _(Поскольку мы используем nx, начните свою команду с nx вместо ng)_ From dfced4ec7654286fd43a8597753a62c9695f7f14 Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:49:13 +0530 Subject: [PATCH 10/31] docs(angular-signal-inputs): add api ref to signal inputs --- docs/src/content/docs/challenges/angular/43-signal-input.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/src/content/docs/challenges/angular/43-signal-input.md b/docs/src/content/docs/challenges/angular/43-signal-input.md index d086620..79c6d12 100644 --- a/docs/src/content/docs/challenges/angular/43-signal-input.md +++ b/docs/src/content/docs/challenges/angular/43-signal-input.md @@ -45,6 +45,8 @@ age = signal(0) age = input() ``` +You can read more about signal inputs [here](https://angular.dev/guide/signals/inputs). + ## Statement In this small application, the goal is to refactor the `UserComponent` to utilize `SignalInput`. From c75a71909c9f763fe6f7ccc7d8bb278993f01be9 Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:51:15 +0530 Subject: [PATCH 11/31] docs(angular-animation): change aio links to adev --- .../src/content/docs/challenges/angular/46-simple-animations.md | 2 +- .../content/docs/pt/challenges/angular/46-simple-animations.md | 2 +- .../content/docs/ru/challenges/angular/46-simple-animations.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/content/docs/challenges/angular/46-simple-animations.md b/docs/src/content/docs/challenges/angular/46-simple-animations.md index 06c12d7..3806a68 100644 --- a/docs/src/content/docs/challenges/angular/46-simple-animations.md +++ b/docs/src/content/docs/challenges/angular/46-simple-animations.md @@ -20,7 +20,7 @@ Well-designed animations can make your application more fun and straightforward - Motion greatly enhances the user experience, so animations give users a chance to detect the application's response to their actions. - Good animations intuitively call the user's attention to where it is needed. -I would recommend you read the [official documentation](https://angular.io/guide/animations). You will learn everything that is necessary to successfully complete the challenge. +I would recommend you read the [official documentation](https://angular.dev/guide/animations). You will learn everything that is necessary to successfully complete the challenge. Otherwise look at this [working example](https://svenson95.github.io/ng-xmp-animations/) and [git repo](https://github.com/svenson95/ng-xmp-animations) to get inspired. diff --git a/docs/src/content/docs/pt/challenges/angular/46-simple-animations.md b/docs/src/content/docs/pt/challenges/angular/46-simple-animations.md index a895902..2ef7e17 100644 --- a/docs/src/content/docs/pt/challenges/angular/46-simple-animations.md +++ b/docs/src/content/docs/pt/challenges/angular/46-simple-animations.md @@ -20,7 +20,7 @@ Animações bem desenhadas pode fazer sua aplicação mais divertida e direta pa - Movimento aumenta bastante a experiência do usuário, uma vez que animações dão a usuários a change de detectar as respostas da aplicação para suas ações. - Boas animações intuitivamente chama a atenção do usuário para onde é necessário. -Eu recomendaria você ler a [documentação oficial](https://angular.io/guide/animations) Você aprenderá tudo o que é necessário para completar o desafio com sucesso. +Eu recomendaria você ler a [documentação oficial](https://angular.dev/guide/animations) Você aprenderá tudo o que é necessário para completar o desafio com sucesso. Caso contrário, olhe este [exemplo funcional](https://svenson95.github.io/ng-xmp-animations/) e o [repositório git](https://github.com/svenson95/ng-xmp-animations) para se inspirar. diff --git a/docs/src/content/docs/ru/challenges/angular/46-simple-animations.md b/docs/src/content/docs/ru/challenges/angular/46-simple-animations.md index deccbe1..04d143c 100644 --- a/docs/src/content/docs/ru/challenges/angular/46-simple-animations.md +++ b/docs/src/content/docs/ru/challenges/angular/46-simple-animations.md @@ -20,7 +20,7 @@ sidebar: - Движение значительно улучшает взаимодействие с пользователем, поэтому анимация дает возможность определить реакцию приложения на действия пользователей. - Хорошая анимация интуитивно привлекает внимание пользователя к тому месту, где это необходимо. -Я бы порекомендовал вам ознакомиться с [официальной документацией](https://angular.io/guide/animations). Вы узнаете все, что необходимо для успешного прохождения испытания. +Я бы порекомендовал вам ознакомиться с [официальной документацией](https://angular.dev/guide/animations). Вы узнаете все, что необходимо для успешного прохождения испытания. В противном случае посмотрите на этот [рабочий пример](https://svenson95.github.io/ng-xmp-animations/) и [git repo](https://github.com/svenson95/ng-xmp-animations), чтобы вдохновиться. From 02053b0a4bef86dc8daa09d8716c1770aceb37b9 Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Thu, 18 Apr 2024 12:55:54 +0530 Subject: [PATCH 12/31] docs(performance-default-onpush): change aio links to adev --- .../content/docs/challenges/performance/34-default-onpush.md | 2 +- .../content/docs/es/challenges/performance/34-default-onpush.md | 2 +- .../content/docs/ru/challenges/performance/34-default-onpush.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/content/docs/challenges/performance/34-default-onpush.md b/docs/src/content/docs/challenges/performance/34-default-onpush.md index aa73a98..2817fe7 100644 --- a/docs/src/content/docs/challenges/performance/34-default-onpush.md +++ b/docs/src/content/docs/challenges/performance/34-default-onpush.md @@ -14,7 +14,7 @@ sidebar: In this challenge, we will explore the differences and impacts of using `ChangeDetectionStrategy.Default` versus `ChangeDetectionStrategy.OnPush`. -You can read the [Angular documentation](https://angular.io/guide/change-detection-skipping-subtrees) to learn more about the differences between these strategies. +You can read the [Angular documentation](https://angular.dev/best-practices/skipping-subtrees) to learn more about the differences between these strategies. In this challenge, all components start with the `Default` strategy. When you type letters inside the input field, you will notice that all components are highlighted in orange. diff --git a/docs/src/content/docs/es/challenges/performance/34-default-onpush.md b/docs/src/content/docs/es/challenges/performance/34-default-onpush.md index 79073f8..d33d007 100644 --- a/docs/src/content/docs/es/challenges/performance/34-default-onpush.md +++ b/docs/src/content/docs/es/challenges/performance/34-default-onpush.md @@ -14,7 +14,7 @@ sidebar: En este desafío, exploraremos las diferencias e impactos de usar `ChangeDetectionStrategy.Default` versus `ChangeDetectionStrategy.OnPush`. -Puedes leer la [documentación de Angular](https://angular.io/guide/change-detection-skipping-subtrees) para aprender más sobre las diferencias entre estas estrategias. +Puedes leer la [documentación de Angular](https://angular.dev/best-practices/skipping-subtrees) para aprender más sobre las diferencias entre estas estrategias. En este desafío, todos los componentes comienzan con la estrategia `Default`. Cuando escribas letras dentro del campo de entrada, notarás que todos los componentes se resaltan en naranja. diff --git a/docs/src/content/docs/ru/challenges/performance/34-default-onpush.md b/docs/src/content/docs/ru/challenges/performance/34-default-onpush.md index ff53ccb..c049bf9 100644 --- a/docs/src/content/docs/ru/challenges/performance/34-default-onpush.md +++ b/docs/src/content/docs/ru/challenges/performance/34-default-onpush.md @@ -14,7 +14,7 @@ sidebar: В этом задании мы рассмотрим различия и последствия использования `ChangeDetectionStrategy.Default` в сравнении с `ChangeDetectionStrategy.OnPush`. -Вы можете прочитать [Angular документацию](https://angular.io/guide/change-detection-skipping-subtrees) чтобы узнать больше о различиях между этими стратегиями. +Вы можете прочитать [Angular документацию](https://angular.dev/best-practices/skipping-subtrees) чтобы узнать больше о различиях между этими стратегиями. В этом задании все компоненты начинаются со стратегии `Default`. Когда вы вводите буквы в поле ввода, вы заметите, что все компоненты выделены оранжевым цветом. From b6569daa7cd0fcf8236d3b7281c92e48df9868e5 Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 07:33:04 +0000 Subject: [PATCH 13/31] docs: update README.md --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 82d47ca..8a7412c 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,9 @@ Check [all 48 challenges](https://angular-challenges.vercel.app/) Лапин Андрей (Lapin Andrey)
Лапин Андрей (Lapin Andrey)

🇷🇺 Dinar Shagaliev
Dinar Shagaliev

🇷🇺 + + Timothy Alcaide
Timothy Alcaide

📖 + From 8b47783b6ad5ca3895b30f73c9734034a2b7d1dd Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 07:33:05 +0000 Subject: [PATCH 14/31] docs: update .all-contributorsrc --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 0079dd7..837bd6c 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -240,6 +240,15 @@ "contributions": [ "translation-ru" ] + }, + { + "login": "alcaidio", + "name": "Timothy Alcaide", + "avatar_url": "https://avatars.githubusercontent.com/u/17033036?v=4", + "profile": "https://twitter.com/alcaidio", + "contributions": [ + "doc" + ] } ], "contributorsPerLine": 7, From fc8e381a407fe78506777f8dcba51cf1fe38d2f7 Mon Sep 17 00:00:00 2001 From: thomas Date: Thu, 18 Apr 2024 09:35:04 +0200 Subject: [PATCH 15/31] fix: contribution --- .all-contributorsrc | 18 +++++++++--------- README.md | 10 +++++----- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.all-contributorsrc b/.all-contributorsrc index 837bd6c..08b16a7 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -100,6 +100,15 @@ "challenge" ] }, + { + "login": "alcaidio", + "name": "Timothy Alcaide", + "avatar_url": "https://avatars.githubusercontent.com/u/17033036?v=4", + "profile": "https://twitter.com/alcaidio", + "contributions": [ + "challenge" + ] + }, { "login": "alan-bio", "name": "Alan Dragicevich", @@ -240,15 +249,6 @@ "contributions": [ "translation-ru" ] - }, - { - "login": "alcaidio", - "name": "Timothy Alcaide", - "avatar_url": "https://avatars.githubusercontent.com/u/17033036?v=4", - "profile": "https://twitter.com/alcaidio", - "contributions": [ - "doc" - ] } ], "contributorsPerLine": 7, diff --git a/README.md b/README.md index 8a7412c..5e32386 100644 --- a/README.md +++ b/README.md @@ -40,28 +40,28 @@ Check [all 48 challenges](https://angular-challenges.vercel.app/) Devesh Chaudhari
Devesh Chaudhari

💻 🐛 🧩 stillst
stillst

🧩 🇷🇺 Wandrille
Wandrille

🧩 - Alan Dragicevich
Alan Dragicevich

📖 + Timothy Alcaide
Timothy Alcaide

🧩 + Alan Dragicevich
Alan Dragicevich

📖 Michel EDIGHOFFER
Michel EDIGHOFFER

📖 Gerardo Sebastian Gonzalez
Gerardo Sebastian Gonzalez

📖 Evseev Yuriy
Evseev Yuriy

🐛 Tomer953
Tomer953

🐛 📖 💻 Dmitriy Mishchenko
Dmitriy Mishchenko

📖 Sagar Devkota
Sagar Devkota

📖 💻 - Nelson Gutierrez
Nelson Gutierrez

🇪🇸 + Nelson Gutierrez
Nelson Gutierrez

🇪🇸 Hossain K. M.
Hossain K. M.

📖 Diogo Nishikawa
Diogo Nishikawa

💻 🇵🇹 📖 Erick Rodriguez
Erick Rodriguez

🇪🇸 Eduardo Roth
Eduardo Roth

📖 🇪🇸 Fernando Bello
Fernando Bello

📖 Лапин Андрей (Lapin Andrey)
Лапин Андрей (Lapin Andrey)

🇷🇺 - Dinar Shagaliev
Dinar Shagaliev

🇷🇺 - Timothy Alcaide
Timothy Alcaide

📖 + Dinar Shagaliev
Dinar Shagaliev

🇷🇺 @@ -84,6 +84,6 @@ Contributions of any kind are welcome. If I have forgotten to add you as a contributor, please reach out to me. 🙏 -## Licensev +## License MIT From 34e54827c494e89a656f19a072795ac57f4933ab Mon Sep 17 00:00:00 2001 From: thomas Date: Thu, 18 Apr 2024 09:38:21 +0200 Subject: [PATCH 16/31] fix: actions --- .github/github-action/index.js | 7 +------ .github/workflows/label-issue.yml | 1 + 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/.github/github-action/index.js b/.github/github-action/index.js index 91e62ab..a35a2cb 100644 --- a/.github/github-action/index.js +++ b/.github/github-action/index.js @@ -5,12 +5,7 @@ const { contributors } = require('./contributors'); async function run() { try { const title = github.context.payload.pull_request.title; - const labels = []; - - if(!title.startsWith('Answer:')) { - return; - } - labels.push('answer'); + const labels = ['answer']; const match = title.match(/Answer:\s*(\d+)/); if (match) { diff --git a/.github/workflows/label-issue.yml b/.github/workflows/label-issue.yml index 5c1aaf0..37614ea 100644 --- a/.github/workflows/label-issue.yml +++ b/.github/workflows/label-issue.yml @@ -7,6 +7,7 @@ on: jobs: add_supporters: runs-on: ubuntu-latest + if: ${{ startsWith(github.event.pull_request.title, 'Answer') }} steps: - name: checkout uses: actions/checkout@v2 From 769e0317b83e396f8eb290f62cf1f5f7613ec265 Mon Sep 17 00:00:00 2001 From: kabrunko-dev Date: Sun, 14 Apr 2024 10:22:23 -0300 Subject: [PATCH 17/31] docs(pt): translate challenge 16 --- .../content/docs/challenges/angular/16-di.md | 4 +-- .../docs/es/challenges/angular/16-di.md | 2 +- .../docs/pt/challenges/angular/16-di.md | 29 +++++++++++++++++++ 3 files changed, 32 insertions(+), 3 deletions(-) create mode 100644 docs/src/content/docs/pt/challenges/angular/16-di.md diff --git a/docs/src/content/docs/challenges/angular/16-di.md b/docs/src/content/docs/challenges/angular/16-di.md index 5fff778..24135e4 100644 --- a/docs/src/content/docs/challenges/angular/16-di.md +++ b/docs/src/content/docs/challenges/angular/16-di.md @@ -1,6 +1,6 @@ --- title: 🔴 Master Dependancy Injection -description: Challenge 16 is about masjering how dependancy injection works +description: Challenge 16 is about mastering how dependancy injection works author: thomas-laforge contributors: - tomalaforge @@ -23,7 +23,7 @@ One way to achieve this is by adding a second argument to the pipe, but this is - Your task is to display the correct currency for each row. -## Constraints: +## Constraints - You cannot modify the pipe. - You cannot wrap the row inside a component, as this will break the layout. diff --git a/docs/src/content/docs/es/challenges/angular/16-di.md b/docs/src/content/docs/es/challenges/angular/16-di.md index aae15b2..547a732 100644 --- a/docs/src/content/docs/es/challenges/angular/16-di.md +++ b/docs/src/content/docs/es/challenges/angular/16-di.md @@ -22,7 +22,7 @@ Una forma de lograr esto es agregando un segundo argumento al pipe, pero esto no - Tu tarea es mostrar la moneda correcta para cada fila. -## Restricciones: +## Restricciones - No puedes modificar el pipe. - No puedes envolver la fila dentro de un componente, ya que esto rompería el diseño. diff --git a/docs/src/content/docs/pt/challenges/angular/16-di.md b/docs/src/content/docs/pt/challenges/angular/16-di.md new file mode 100644 index 0000000..9f9b5f1 --- /dev/null +++ b/docs/src/content/docs/pt/challenges/angular/16-di.md @@ -0,0 +1,29 @@ +--- +title: 🔴 Dominando Injeção de Dependência +description: Desafio 16 é sobre dominar como injeção de dependência funciona +author: thomas-laforge +contributors: + - tomalaforge + - tomer953 +challengeNumber: 16 +command: angular-di +sidebar: + order: 203 +--- + +## Informação + +Para completar este desafio com sucesso, precisaremos ter um bom entendimento de como Injeção de Dependência funciona dentro do Angular. + +O objetivo é providenciar o `CurrencyService` no nível de linha, para que cada linha ilustre a moeda correta. Atualmente, `CurrencyService` é providenciado apenas em nível de tabela, o que resulta em um erro que mostrar a mesma moeda para cada linha, apesar de cada produto ter uma moeda diferente. + +Uma maneira de alcançar isso é adicionando um segundo argumento para o pipe, mas isso não é permitido para este desafio. + +## Declaração + +- Sua tarefa é mostrar a moeda correta para cada linha. + +## Restrições + +- Você não pode modificar o pipe. +- Você não pode envolver a linha dentro de um componente, uma vez que isso quebrará o layout. From 096d79acfad52ae25dace83c6b26c88fc8f26e2e Mon Sep 17 00:00:00 2001 From: kabrunko-dev Date: Thu, 18 Apr 2024 08:24:23 -0300 Subject: [PATCH 18/31] docs(pt): update challenge 16 contributors --- docs/src/content/docs/challenges/angular/16-di.md | 1 + docs/src/content/docs/pt/challenges/angular/16-di.md | 3 +-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/content/docs/challenges/angular/16-di.md b/docs/src/content/docs/challenges/angular/16-di.md index 24135e4..101365e 100644 --- a/docs/src/content/docs/challenges/angular/16-di.md +++ b/docs/src/content/docs/challenges/angular/16-di.md @@ -5,6 +5,7 @@ author: thomas-laforge contributors: - tomalaforge - tomer953 + - kabrunko-dev challengeNumber: 16 command: angular-di sidebar: diff --git a/docs/src/content/docs/pt/challenges/angular/16-di.md b/docs/src/content/docs/pt/challenges/angular/16-di.md index 9f9b5f1..8814798 100644 --- a/docs/src/content/docs/pt/challenges/angular/16-di.md +++ b/docs/src/content/docs/pt/challenges/angular/16-di.md @@ -3,8 +3,7 @@ title: 🔴 Dominando Injeção de Dependência description: Desafio 16 é sobre dominar como injeção de dependência funciona author: thomas-laforge contributors: - - tomalaforge - - tomer953 + - kabrunko-dev challengeNumber: 16 command: angular-di sidebar: From afe0413cb3649a35e4951cb7ff6deffe37dc7c95 Mon Sep 17 00:00:00 2001 From: Sven Brodny Date: Thu, 18 Apr 2024 14:55:53 +0200 Subject: [PATCH 19/31] fix(challenge 48): challenge naming --- .../.eslintrc.json | 0 .../README.md | 4 +-- .../project.json | 24 +++++++++--------- .../src/app/app.component.ts | 0 .../src/app/app.config.ts | 0 .../src/app/app.routes.ts | 0 .../src/app/pages/join.component.ts | 0 .../src/app/pages/page.component.ts | 0 .../src/app/ui/dialog.component.ts | 0 .../src/app/ui/form.component.ts | 0 .../src/app/ui/nav.component.ts | 0 .../src/assets/.gitkeep | 0 .../src/favicon.ico | Bin .../src/index.html | 2 +- .../src/main.ts | 0 .../src/styles.scss | 0 .../tailwind.config.js | 0 .../tsconfig.app.json | 0 .../tsconfig.editor.json | 0 .../tsconfig.json | 0 ...t-form.md => 48-avoid-losing-form-data.md} | 2 +- docs/src/content/docs/es/index.mdx | 2 +- docs/src/content/docs/fr/index.mdx | 2 +- docs/src/content/docs/index.mdx | 2 +- docs/src/content/docs/pt/index.mdx | 2 +- docs/src/content/docs/ru/index.mdx | 2 +- 26 files changed, 21 insertions(+), 21 deletions(-) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/.eslintrc.json (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/README.md (66%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/project.json (65%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/app/app.component.ts (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/app/app.config.ts (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/app/app.routes.ts (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/app/pages/join.component.ts (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/app/pages/page.component.ts (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/app/ui/dialog.component.ts (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/app/ui/form.component.ts (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/app/ui/nav.component.ts (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/assets/.gitkeep (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/favicon.ico (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/index.html (87%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/main.ts (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/src/styles.scss (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/tailwind.config.js (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/tsconfig.app.json (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/tsconfig.editor.json (100%) rename apps/forms/{form-dialog-alert => avoid-losing-form-data}/tsconfig.json (100%) rename docs/src/content/docs/challenges/forms/{48-dialog-alert-form.md => 48-avoid-losing-form-data.md} (98%) diff --git a/apps/forms/form-dialog-alert/.eslintrc.json b/apps/forms/avoid-losing-form-data/.eslintrc.json similarity index 100% rename from apps/forms/form-dialog-alert/.eslintrc.json rename to apps/forms/avoid-losing-form-data/.eslintrc.json diff --git a/apps/forms/form-dialog-alert/README.md b/apps/forms/avoid-losing-form-data/README.md similarity index 66% rename from apps/forms/form-dialog-alert/README.md rename to apps/forms/avoid-losing-form-data/README.md index 93f4070..9a3d0ac 100644 --- a/apps/forms/form-dialog-alert/README.md +++ b/apps/forms/avoid-losing-form-data/README.md @@ -5,7 +5,7 @@ ### Run Application ```bash -npx nx serve form-dialog-alert +npx nx serve avoid-losing-form-data ``` -Challenge documentation is [here](https://angular-challenges.vercel.app/challenges/forms/48-form-dialog-alert/). +Challenge documentation is [here](https://angular-challenges.vercel.app/challenges/forms/48-avoid-losing-form-data/). diff --git a/apps/forms/form-dialog-alert/project.json b/apps/forms/avoid-losing-form-data/project.json similarity index 65% rename from apps/forms/form-dialog-alert/project.json rename to apps/forms/avoid-losing-form-data/project.json index 24a5d4f..f052ceb 100644 --- a/apps/forms/form-dialog-alert/project.json +++ b/apps/forms/avoid-losing-form-data/project.json @@ -1,26 +1,26 @@ { - "name": "form-dialog-alert", + "name": "avoid-losing-form-data", "$schema": "../../../node_modules/nx/schemas/project-schema.json", "projectType": "application", "prefix": "app", - "sourceRoot": "apps/forms/form-dialog-alert/src", + "sourceRoot": "apps/forms/avoid-losing-form-data/src", "tags": [], "targets": { "build": { "executor": "@angular-devkit/build-angular:application", "outputs": ["{options.outputPath}"], "options": { - "outputPath": "dist/apps/forms/form-dialog-alert", - "index": "apps/forms/form-dialog-alert/src/index.html", - "browser": "apps/forms/form-dialog-alert/src/main.ts", + "outputPath": "dist/apps/forms/avoid-losing-form-data", + "index": "apps/forms/avoid-losing-form-data/src/index.html", + "browser": "apps/forms/avoid-losing-form-data/src/main.ts", "polyfills": ["zone.js"], - "tsConfig": "apps/forms/form-dialog-alert/tsconfig.app.json", + "tsConfig": "apps/forms/avoid-losing-form-data/tsconfig.app.json", "inlineStyleLanguage": "scss", "assets": [ - "apps/forms/form-dialog-alert/src/favicon.ico", - "apps/forms/form-dialog-alert/src/assets" + "apps/forms/avoid-losing-form-data/src/favicon.ico", + "apps/forms/avoid-losing-form-data/src/assets" ], - "styles": ["apps/forms/form-dialog-alert/src/styles.scss"], + "styles": ["apps/forms/avoid-losing-form-data/src/styles.scss"], "scripts": [] }, "configurations": { @@ -51,10 +51,10 @@ "executor": "@angular-devkit/build-angular:dev-server", "configurations": { "production": { - "buildTarget": "form-dialog-alert:build:production" + "buildTarget": "avoid-losing-form-data:build:production" }, "development": { - "buildTarget": "form-dialog-alert:build:development" + "buildTarget": "avoid-losing-form-data:build:development" } }, "defaultConfiguration": "development" @@ -62,7 +62,7 @@ "extract-i18n": { "executor": "@angular-devkit/build-angular:extract-i18n", "options": { - "buildTarget": "form-dialog-alert:build" + "buildTarget": "avoid-losing-form-data:build" } }, "lint": { diff --git a/apps/forms/form-dialog-alert/src/app/app.component.ts b/apps/forms/avoid-losing-form-data/src/app/app.component.ts similarity index 100% rename from apps/forms/form-dialog-alert/src/app/app.component.ts rename to apps/forms/avoid-losing-form-data/src/app/app.component.ts diff --git a/apps/forms/form-dialog-alert/src/app/app.config.ts b/apps/forms/avoid-losing-form-data/src/app/app.config.ts similarity index 100% rename from apps/forms/form-dialog-alert/src/app/app.config.ts rename to apps/forms/avoid-losing-form-data/src/app/app.config.ts diff --git a/apps/forms/form-dialog-alert/src/app/app.routes.ts b/apps/forms/avoid-losing-form-data/src/app/app.routes.ts similarity index 100% rename from apps/forms/form-dialog-alert/src/app/app.routes.ts rename to apps/forms/avoid-losing-form-data/src/app/app.routes.ts diff --git a/apps/forms/form-dialog-alert/src/app/pages/join.component.ts b/apps/forms/avoid-losing-form-data/src/app/pages/join.component.ts similarity index 100% rename from apps/forms/form-dialog-alert/src/app/pages/join.component.ts rename to apps/forms/avoid-losing-form-data/src/app/pages/join.component.ts diff --git a/apps/forms/form-dialog-alert/src/app/pages/page.component.ts b/apps/forms/avoid-losing-form-data/src/app/pages/page.component.ts similarity index 100% rename from apps/forms/form-dialog-alert/src/app/pages/page.component.ts rename to apps/forms/avoid-losing-form-data/src/app/pages/page.component.ts diff --git a/apps/forms/form-dialog-alert/src/app/ui/dialog.component.ts b/apps/forms/avoid-losing-form-data/src/app/ui/dialog.component.ts similarity index 100% rename from apps/forms/form-dialog-alert/src/app/ui/dialog.component.ts rename to apps/forms/avoid-losing-form-data/src/app/ui/dialog.component.ts diff --git a/apps/forms/form-dialog-alert/src/app/ui/form.component.ts b/apps/forms/avoid-losing-form-data/src/app/ui/form.component.ts similarity index 100% rename from apps/forms/form-dialog-alert/src/app/ui/form.component.ts rename to apps/forms/avoid-losing-form-data/src/app/ui/form.component.ts diff --git a/apps/forms/form-dialog-alert/src/app/ui/nav.component.ts b/apps/forms/avoid-losing-form-data/src/app/ui/nav.component.ts similarity index 100% rename from apps/forms/form-dialog-alert/src/app/ui/nav.component.ts rename to apps/forms/avoid-losing-form-data/src/app/ui/nav.component.ts diff --git a/apps/forms/form-dialog-alert/src/assets/.gitkeep b/apps/forms/avoid-losing-form-data/src/assets/.gitkeep similarity index 100% rename from apps/forms/form-dialog-alert/src/assets/.gitkeep rename to apps/forms/avoid-losing-form-data/src/assets/.gitkeep diff --git a/apps/forms/form-dialog-alert/src/favicon.ico b/apps/forms/avoid-losing-form-data/src/favicon.ico similarity index 100% rename from apps/forms/form-dialog-alert/src/favicon.ico rename to apps/forms/avoid-losing-form-data/src/favicon.ico diff --git a/apps/forms/form-dialog-alert/src/index.html b/apps/forms/avoid-losing-form-data/src/index.html similarity index 87% rename from apps/forms/form-dialog-alert/src/index.html rename to apps/forms/avoid-losing-form-data/src/index.html index 233e131..9305b4a 100644 --- a/apps/forms/form-dialog-alert/src/index.html +++ b/apps/forms/avoid-losing-form-data/src/index.html @@ -2,7 +2,7 @@ - form-dialog-alert + avoid-losing-form-data diff --git a/apps/forms/form-dialog-alert/src/main.ts b/apps/forms/avoid-losing-form-data/src/main.ts similarity index 100% rename from apps/forms/form-dialog-alert/src/main.ts rename to apps/forms/avoid-losing-form-data/src/main.ts diff --git a/apps/forms/form-dialog-alert/src/styles.scss b/apps/forms/avoid-losing-form-data/src/styles.scss similarity index 100% rename from apps/forms/form-dialog-alert/src/styles.scss rename to apps/forms/avoid-losing-form-data/src/styles.scss diff --git a/apps/forms/form-dialog-alert/tailwind.config.js b/apps/forms/avoid-losing-form-data/tailwind.config.js similarity index 100% rename from apps/forms/form-dialog-alert/tailwind.config.js rename to apps/forms/avoid-losing-form-data/tailwind.config.js diff --git a/apps/forms/form-dialog-alert/tsconfig.app.json b/apps/forms/avoid-losing-form-data/tsconfig.app.json similarity index 100% rename from apps/forms/form-dialog-alert/tsconfig.app.json rename to apps/forms/avoid-losing-form-data/tsconfig.app.json diff --git a/apps/forms/form-dialog-alert/tsconfig.editor.json b/apps/forms/avoid-losing-form-data/tsconfig.editor.json similarity index 100% rename from apps/forms/form-dialog-alert/tsconfig.editor.json rename to apps/forms/avoid-losing-form-data/tsconfig.editor.json diff --git a/apps/forms/form-dialog-alert/tsconfig.json b/apps/forms/avoid-losing-form-data/tsconfig.json similarity index 100% rename from apps/forms/form-dialog-alert/tsconfig.json rename to apps/forms/avoid-losing-form-data/tsconfig.json diff --git a/docs/src/content/docs/challenges/forms/48-dialog-alert-form.md b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md similarity index 98% rename from docs/src/content/docs/challenges/forms/48-dialog-alert-form.md rename to docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md index 0dece74..7ab8ad1 100644 --- a/docs/src/content/docs/challenges/forms/48-dialog-alert-form.md +++ b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md @@ -5,7 +5,7 @@ author: timothy-alcaide contributors: - alcaidio challengeNumber: 48 -command: form-dialog-alert +command: avoid-losing-form-data sidebar: order: 121 badge: New diff --git a/docs/src/content/docs/es/index.mdx b/docs/src/content/docs/es/index.mdx index f730cdc..5a3b1be 100644 --- a/docs/src/content/docs/es/index.mdx +++ b/docs/src/content/docs/es/index.mdx @@ -13,7 +13,7 @@ hero: icon: right-arrow variant: primary - text: Ir al Desafío más reciente - link: /es/challenges/forms/48-dialog-alert-form/ + link: /es/challenges/forms/48-avoid-losing-form-data/ icon: rocket - text: Dar una estrella link: https://github.com/tomalaforge/angular-challenges diff --git a/docs/src/content/docs/fr/index.mdx b/docs/src/content/docs/fr/index.mdx index 3cf67fd..0c796f8 100644 --- a/docs/src/content/docs/fr/index.mdx +++ b/docs/src/content/docs/fr/index.mdx @@ -13,7 +13,7 @@ hero: icon: right-arrow variant: primary - text: Aller au dernier Challenge - link: /fr/challenges/forms/48-dialog-alert-form/ + link: /fr/challenges/forms/48-avoid-losing-form-data/ icon: rocket - text: Donne une étoile link: https://github.com/tomalaforge/angular-challenges diff --git a/docs/src/content/docs/index.mdx b/docs/src/content/docs/index.mdx index 95c7068..4a6202f 100644 --- a/docs/src/content/docs/index.mdx +++ b/docs/src/content/docs/index.mdx @@ -13,7 +13,7 @@ hero: icon: right-arrow variant: primary - text: Go to the latest Challenge - link: /challenges/forms/48-dialog-alert-form/ + link: /challenges/forms/48-avoid-losing-form-data/ icon: rocket - text: Give a star link: https://github.com/tomalaforge/angular-challenges diff --git a/docs/src/content/docs/pt/index.mdx b/docs/src/content/docs/pt/index.mdx index d71b7e5..b963d02 100644 --- a/docs/src/content/docs/pt/index.mdx +++ b/docs/src/content/docs/pt/index.mdx @@ -13,7 +13,7 @@ hero: icon: right-arrow variant: primary - text: Ir para o desafio mais recente - link: /pt/challenges/forms/48-dialog-alert-form/ + link: /pt/challenges/forms/48-avoid-losing-form-data/ icon: rocket - text: Dar uma estrela link: https://github.com/tomalaforge/angular-challenges diff --git a/docs/src/content/docs/ru/index.mdx b/docs/src/content/docs/ru/index.mdx index ff3233c..8d06e1e 100644 --- a/docs/src/content/docs/ru/index.mdx +++ b/docs/src/content/docs/ru/index.mdx @@ -13,7 +13,7 @@ hero: icon: right-arrow variant: primary - text: Перейти к последней задаче - link: /ru/challenges/forms/48-dialog-alert-form/ + link: /ru/challenges/forms/48-avoid-losing-form-data/ icon: rocket - text: Добавить звезду link: https://github.com/tomalaforge/angular-challenges From ce5edf003d9fa50f04cf073a0292e1e8570ec66d Mon Sep 17 00:00:00 2001 From: Sven Brodny Date: Thu, 18 Apr 2024 15:30:13 +0200 Subject: [PATCH 20/31] fix(c-48): contributors --- .../content/docs/challenges/forms/48-avoid-losing-form-data.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md index 7ab8ad1..cf5dfd0 100644 --- a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md +++ b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md @@ -4,6 +4,7 @@ description: Challenge 48 is about Bob 🧙‍♂️ the product owner, he wants author: timothy-alcaide contributors: - alcaidio + - svenson95 challengeNumber: 48 command: avoid-losing-form-data sidebar: From 76f41d0ec1ba4884008697f592edb6ab8e9556a9 Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Fri, 19 Apr 2024 13:14:54 +0530 Subject: [PATCH 21/31] docs(performance-memoized): change aio links to adev --- docs/src/content/docs/challenges/performance/35-memoize.md | 2 +- docs/src/content/docs/es/challenges/performance/35-memoize.md | 2 +- docs/src/content/docs/ru/challenges/performance/35-memoize.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/content/docs/challenges/performance/35-memoize.md b/docs/src/content/docs/challenges/performance/35-memoize.md index b7029ca..c40a4ae 100644 --- a/docs/src/content/docs/challenges/performance/35-memoize.md +++ b/docs/src/content/docs/challenges/performance/35-memoize.md @@ -14,7 +14,7 @@ sidebar: In Angular, pure Pipes are very powerful because the value is memoized, which means if the input value doesn't change, the `transform` function of the pipe is not recomputed, and the cached value is outputted. -You can learn more about pipes in the [Angular documentation](https://angular.io/guide/pipes) and inside this [deep dive article](https://medium.com/ngconf/deep-dive-into-angular-pipes-c040588cd15d). +You can learn more about pipes in the [Angular documentation](https://angular.dev/guide/pipes) and inside this [deep dive article](https://medium.com/ngconf/deep-dive-into-angular-pipes-c040588cd15d). In this challenge, we start with a button to load a list of people. Each person is associated with a number, and we will use the Fibonacci calculation to create a heavy computation that will slow down the application. diff --git a/docs/src/content/docs/es/challenges/performance/35-memoize.md b/docs/src/content/docs/es/challenges/performance/35-memoize.md index a888e75..4cd9b39 100644 --- a/docs/src/content/docs/es/challenges/performance/35-memoize.md +++ b/docs/src/content/docs/es/challenges/performance/35-memoize.md @@ -16,7 +16,7 @@ sidebar: En Angular, los pure pipes son muy poderosas porque el valor se memoiza, lo que significa que si el valor de entrada no cambia, la función `transform` del pipe no se vuelve a calcular y se emite el valor en caché. -Puedes aprender más sobre pipes en la [documentación de Angular](https://angular.io/guide/pipes) y en este [artículo de inmersión profunda](https://medium.com/ngconf/deep-dive-into-angular-pipes-c040588cd15d). +Puedes aprender más sobre pipes en la [documentación de Angular](https://angular.dev/guide/pipes) y en este [artículo de inmersión profunda](https://medium.com/ngconf/deep-dive-into-angular-pipes-c040588cd15d). En este desafío, comenzamos con un botón para cargar una lista de personas. Cada persona está asociada con un número y utilizaremos el cálculo de Fibonacci para crear una computación pesada que ralentizará la aplicación. diff --git a/docs/src/content/docs/ru/challenges/performance/35-memoize.md b/docs/src/content/docs/ru/challenges/performance/35-memoize.md index ab6ad41..5ff5d5a 100644 --- a/docs/src/content/docs/ru/challenges/performance/35-memoize.md +++ b/docs/src/content/docs/ru/challenges/performance/35-memoize.md @@ -14,7 +14,7 @@ sidebar: В Angular чистые каналы очень эффективны, потому что значение запоминается, что означает, что если входное значение не изменяется, функция "преобразования" канала не вычисляется повторно, а выводится кэшированное значение. -Вы можете узнать больше о каналах в [документации Angular](https://angular.io/guide/pipes) и в этой [статье о глубоком погружении в pipes](https://medium.com/ngconf/deep-dive-into-angular-pipes-c040588cd15d). +Вы можете узнать больше о каналах в [документации Angular](https://angular.dev/guide/pipes) и в этой [статье о глубоком погружении в pipes](https://medium.com/ngconf/deep-dive-into-angular-pipes-c040588cd15d). В этом задании мы начнем с кнопки для загрузки списка людей. Каждый человек связан с числом, и мы будем использовать вычисление Фибоначчи для создания сложных вычислений, которые замедлят работу приложения. From 55ef2f2942432af70083af2ce36fb3cfc70f02b7 Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Fri, 19 Apr 2024 13:19:17 +0530 Subject: [PATCH 22/31] docs(performance-ngfor-optimise): change aio links to adev --- .../content/docs/challenges/performance/36-ngfor-optimize.md | 2 +- .../content/docs/es/challenges/performance/36-ngfor-optimize.md | 2 +- .../content/docs/ru/challenges/performance/36-ngfor-optimize.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/content/docs/challenges/performance/36-ngfor-optimize.md b/docs/src/content/docs/challenges/performance/36-ngfor-optimize.md index 9da26b0..8ac1181 100644 --- a/docs/src/content/docs/challenges/performance/36-ngfor-optimize.md +++ b/docs/src/content/docs/challenges/performance/36-ngfor-optimize.md @@ -26,7 +26,7 @@ We can also use the Angular DevTool to profile our application and unders If you don't know how to use it, read [the performance introduction page](/challenges/performance/) first and come back after. ::: -If you need more information about `NgFor`, I invite you to read the [documentation](https://angular.io/api/common/NgFor) first. +If you need more information about `NgFor`, I invite you to read the [documentation](https://angular.dev/api/common/NgFor) first. ## Statement diff --git a/docs/src/content/docs/es/challenges/performance/36-ngfor-optimize.md b/docs/src/content/docs/es/challenges/performance/36-ngfor-optimize.md index 7566dde..7b70859 100644 --- a/docs/src/content/docs/es/challenges/performance/36-ngfor-optimize.md +++ b/docs/src/content/docs/es/challenges/performance/36-ngfor-optimize.md @@ -26,7 +26,7 @@ También podemos usar la Angular DevTool para perfilar nuestra aplicació Si no sabes cómo usarlo, lee primero [la página de introducción al rendimiento](/es/challenges/performance/) y vuelve después. ::: -Si necesitas más información sobre `NgFor`, te invito a leer primero la [documentación](https://angular.io/api/common/NgFor). +Si necesitas más información sobre `NgFor`, te invito a leer primero la [documentación](https://angular.dev/api/common/NgFor). ## Enunciado diff --git a/docs/src/content/docs/ru/challenges/performance/36-ngfor-optimize.md b/docs/src/content/docs/ru/challenges/performance/36-ngfor-optimize.md index f815fed..244d14f 100644 --- a/docs/src/content/docs/ru/challenges/performance/36-ngfor-optimize.md +++ b/docs/src/content/docs/ru/challenges/performance/36-ngfor-optimize.md @@ -26,7 +26,7 @@ sidebar: Если вы не знаете, как им пользоваться, сначала прочтите [страницу введения в производительность](/задачи/производительность/) и вернитесь после. ::: -Если вам нужна дополнительная информация о `ngFor`, я приглашаю вас сначала ознакомиться с [документацией](https://angular.io/api/common/For). +Если вам нужна дополнительная информация о `ngFor`, я приглашаю вас сначала ознакомиться с [документацией](https://angular.dev/api/common/For).36 ## Пояснение From bce152ff03b83e98f04ef3ca9a0c85ed39febd9f Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Fri, 19 Apr 2024 13:22:24 +0530 Subject: [PATCH 23/31] docs(performance-scroll-cd): change aio links to adev --- docs/src/content/docs/challenges/performance/12-scroll-cd.md | 2 +- docs/src/content/docs/es/challenges/performance/12-scroll-cd.md | 2 +- docs/src/content/docs/ru/challenges/performance/12-scroll-cd.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/src/content/docs/challenges/performance/12-scroll-cd.md b/docs/src/content/docs/challenges/performance/12-scroll-cd.md index d932140..e1d5bd1 100644 --- a/docs/src/content/docs/challenges/performance/12-scroll-cd.md +++ b/docs/src/content/docs/challenges/performance/12-scroll-cd.md @@ -24,7 +24,7 @@ To have a better visualization of the problem, profile your application with Ang If you don't know how to use it, read [the performance introduction page](/challenges/performance/) first and come back after. ::: -You can learn more details about zone pollution and how to resolve it [here](https://angular.io/guide/change-detection-zone-pollution). +You can learn more details about zone pollution and how to resolve it [here](https://angular.dev/best-practices/zone-pollution). The following video will explain more in-depth the issue of this application. diff --git a/docs/src/content/docs/es/challenges/performance/12-scroll-cd.md b/docs/src/content/docs/es/challenges/performance/12-scroll-cd.md index cf9ede8..39fed75 100644 --- a/docs/src/content/docs/es/challenges/performance/12-scroll-cd.md +++ b/docs/src/content/docs/es/challenges/performance/12-scroll-cd.md @@ -24,7 +24,7 @@ Para tener una mejor visualización del problema, perfila tu aplicación con Ang Si no sabes cómo usarlo, lee [la página de introducción al rendimiento](/es/challenges/performance/) primero y vuelve después. ::: -Puedes obtener más detalles sobre la contaminación de la zona y cómo resolverla [aquí](https://angular.io/guide/change-detection-zone-pollution). +Puedes obtener más detalles sobre la contaminación de la zona y cómo resolverla [aquí](https://angular.dev/best-practices/zone-pollution). El siguiente video explicará más a fondo el problema de esta aplicación. diff --git a/docs/src/content/docs/ru/challenges/performance/12-scroll-cd.md b/docs/src/content/docs/ru/challenges/performance/12-scroll-cd.md index 432c34f..d23106b 100644 --- a/docs/src/content/docs/ru/challenges/performance/12-scroll-cd.md +++ b/docs/src/content/docs/ru/challenges/performance/12-scroll-cd.md @@ -24,7 +24,7 @@ sidebar: Если вы не знаете, как это сделать, сначала прочтите [введение в производительность](/challenges/performance/). ::: -Вы можете узнать больше деталей о загрязнении зон и способах его решения [здесь](https://angular.io/guide/change-detection-zone-pollution). +Вы можете узнать больше деталей о загрязнении зон и способах его решения [здесь](https://angular.dev/best-practices/zone-pollution). В следующем видео более подробно объясняется проблема этого приложения. From 838b8c6f9e9c144de9a715f0306588444f3bfe5b Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Fri, 19 Apr 2024 13:24:24 +0530 Subject: [PATCH 24/31] docs(performance-web-workers): change aio links to adev --- .../docs/challenges/performance/40-christmas-web-worker.md | 2 +- .../docs/ru/challenges/performance/40-christmas-web-worker.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/content/docs/challenges/performance/40-christmas-web-worker.md b/docs/src/content/docs/challenges/performance/40-christmas-web-worker.md index 5e21e10..e25f062 100644 --- a/docs/src/content/docs/challenges/performance/40-christmas-web-worker.md +++ b/docs/src/content/docs/challenges/performance/40-christmas-web-worker.md @@ -21,7 +21,7 @@ This application is basic. We click on the **Discover** button to reveal the sur Since JavaScript is single-threaded, when we perform a heavy task, the browser cannot update the UI or respond to mouse clicks or any events. To free the main thread, the goal is to isolate the heavy computation into a different thread. To do so, we will need to use web workers. Web workers can run any scripts in the background, in isolation from the main thread, allowing the browser to still provide your user with a good experience. -In Angular, this technology is often underused, however, it's straightforward to create one. There is a schematic that you can find [here](https://angular.io/guide/web-worker). +In Angular, this technology is often underused, however, it's straightforward to create one. There is a schematic that you can find [here](https://angular.dev/ecosystem/web-workers). ## Statement diff --git a/docs/src/content/docs/ru/challenges/performance/40-christmas-web-worker.md b/docs/src/content/docs/ru/challenges/performance/40-christmas-web-worker.md index 2377546..25eda47 100644 --- a/docs/src/content/docs/ru/challenges/performance/40-christmas-web-worker.md +++ b/docs/src/content/docs/ru/challenges/performance/40-christmas-web-worker.md @@ -20,7 +20,7 @@ sidebar: Так как JavaScript работает в однопоточном режиме, выполнение ресурсоемких задач препятствует обновлению пользовательского интерфейса браузера и реагированию на клики мыши или другие действия. Задача этого испытания - разгрузить основной поток, перенеся сложные вычисления в отдельный поток. Для этой цели мы будем использовать веб-воркеры. Веб-воркеры способны запускать скрипты в фоне, не влияя на основной поток, что позволяет браузеру сохранять высокое качество пользовательского взаимодействия. -В Angular использование этой технологии не так распространено, но внедрить её довольно легко. Есть схематик, который вы можете найти [здесь](https://angular.io/guide/web-worker) чтобы начать. +В Angular использование этой технологии не так распространено, но внедрить её довольно легко. Есть схематик, который вы можете найти [здесь](https://angular.dev/ecosystem/web-workers) чтобы начать. ## Пояснение From 19f265d3c2707b0d1edc4d42b6b6b7657ced5f6c Mon Sep 17 00:00:00 2001 From: Sven Brodny Date: Fri, 19 Apr 2024 01:27:26 +0200 Subject: [PATCH 25/31] docs(c48): update docs content --- .../forms/48-avoid-losing-form-data.md | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md index cf5dfd0..174befe 100644 --- a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md +++ b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md @@ -18,25 +18,24 @@ As a member of the development team, you need to address a specific request from ## User Story -Here's the feature expressed as a user story (functional expectation) : +Here's the feature expressed as a user story with a functional expectation: -"As a user, I would like to have an alert dialog box that appears when I attempt to navigate away from the /form page after I have started entering information into the form." +> As a user, I would like to have an alert dialog box that appears when +> I attempt to navigate away from the page, after I have started +> entering information into the form. ## Acceptance Criteria -1. On the /form page: +1. If one of the form fields is not empty and the user tries to navigate to a different route or page, or wants to reload the page, show an alert dialog to _avoid losing form data_. -- If the input text has been pre-filled, then an alert dialog box opens. -- Otherwise, the user navigates normally. - -2. The content of `dialog.component.ts` must be use for your dialog box content. +2. The content of `dialog.component.ts` must be used for your alert. 3. The appearance and behavior of the alert dialog box must comply with W3C conventions, see [alert dialog pattern](https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/). 4. Maximize the use of the new concepts and syntax in the latest version of Angular.
Tips 🤫 (if you really need it and after careful consideration)
    -
  • Use the Material CDK Dialog or Overlay - https://material.angular.io/cdk/ (dont forget to add @import '@angular/cdk/overlay-prebuilt.css' in style.sccss)
  • -
  • Use the CanDeactivate guard - https://angular.io/api/router/CanDeactivate (use new functionnal approach).
  • +
  • Use the Material CDK Dialog or Overlay - https://material.angular.io/cdk/ (dont forget to add `@import '@angular/cdk/overlay-prebuilt.css'` in `styles.scss`)
  • +
  • Use the `CanDeactivate` guard - https://angular.io/api/router/CanDeactivate in the new functional approach.
From f3398003a4931f3b0bc9e5e9a54a5b0a394d1bfe Mon Sep 17 00:00:00 2001 From: Sven Brodny Date: Fri, 19 Apr 2024 01:38:14 +0200 Subject: [PATCH 26/31] docs(c48): fix tips styling --- .../docs/challenges/forms/48-avoid-losing-form-data.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md index 174befe..d48f7f8 100644 --- a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md +++ b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md @@ -35,7 +35,7 @@ Here's the feature expressed as a user story with a functional expectation:
Tips 🤫 (if you really need it and after careful consideration)
    -
  • Use the Material CDK Dialog or Overlay - https://material.angular.io/cdk/ (dont forget to add `@import '@angular/cdk/overlay-prebuilt.css'` in `styles.scss`)
  • -
  • Use the `CanDeactivate` guard - https://angular.io/api/router/CanDeactivate in the new functional approach.
  • +
  • Use the [Material CDK](https://material.angular.io/cdk/) Dialog or Overlay - dont forget to add @import '@angular/cdk/overlay-prebuilt.css' in styles.scss
  • +
  • Use the [CanDeactivate](https://angular.io/api/router/CanDeactivate) guard in the new functional approach.
From 72e1074011fb565e368cc040cb8c64156ecbbf09 Mon Sep 17 00:00:00 2001 From: Sven Brodny Date: Fri, 19 Apr 2024 01:47:36 +0200 Subject: [PATCH 27/31] docs(c48): refactor --- .../docs/challenges/forms/48-avoid-losing-form-data.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md index d48f7f8..0636dc9 100644 --- a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md +++ b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md @@ -29,13 +29,13 @@ Here's the feature expressed as a user story with a functional expectation: 1. If one of the form fields is not empty and the user tries to navigate to a different route or page, or wants to reload the page, show an alert dialog to _avoid losing form data_. 2. The content of `dialog.component.ts` must be used for your alert. -3. The appearance and behavior of the alert dialog box must comply with W3C conventions, see [alert dialog pattern](https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/). +3. The appearance and behavior of the alert dialog must comply with W3C conventions, see [alert dialog pattern](https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/). 4. Maximize the use of the new concepts and syntax in the latest version of Angular.
- Tips 🤫 (if you really need it and after careful consideration) + Tips 🤫 if you really need it and after careful consideration ...
    -
  • Use the [Material CDK](https://material.angular.io/cdk/) Dialog or Overlay - dont forget to add @import '@angular/cdk/overlay-prebuilt.css' in styles.scss
  • -
  • Use the [CanDeactivate](https://angular.io/api/router/CanDeactivate) guard in the new functional approach.
  • + * Use the [Material CDK](https://material.angular.io/cdk/) Dialog or Overlay - dont forget to add `@import '@angular/cdk/overlay-prebuilt.css'` in `styles.scss`. + * Use the [CanDeactivate](https://angular.io/api/router/CanDeactivate) guard in the new functional approach.
From b0fba5b8aff9d1c411f88d5bd817f3efcc82d587 Mon Sep 17 00:00:00 2001 From: Sven Brodny Date: Fri, 19 Apr 2024 01:47:52 +0200 Subject: [PATCH 28/31] docs(c48): refactor (2) --- .../content/docs/challenges/forms/48-avoid-losing-form-data.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md index 0636dc9..d2c4ef3 100644 --- a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md +++ b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md @@ -34,8 +34,6 @@ Here's the feature expressed as a user story with a functional expectation:
Tips 🤫 if you really need it and after careful consideration ... -
    * Use the [Material CDK](https://material.angular.io/cdk/) Dialog or Overlay - dont forget to add `@import '@angular/cdk/overlay-prebuilt.css'` in `styles.scss`. * Use the [CanDeactivate](https://angular.io/api/router/CanDeactivate) guard in the new functional approach. -
From 90eb09c3b7d520358974d974ea77b8c43d290dc9 Mon Sep 17 00:00:00 2001 From: Sven Brodny Date: Fri, 19 Apr 2024 01:49:03 +0200 Subject: [PATCH 29/31] docs(c48): refactor (3) --- .../content/docs/challenges/forms/48-avoid-losing-form-data.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md index d2c4ef3..7dc40d6 100644 --- a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md +++ b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md @@ -34,6 +34,6 @@ Here's the feature expressed as a user story with a functional expectation:
Tips 🤫 if you really need it and after careful consideration ... - * Use the [Material CDK](https://material.angular.io/cdk/) Dialog or Overlay - dont forget to add `@import '@angular/cdk/overlay-prebuilt.css'` in `styles.scss`. + * Use the [Material CDK](https://material.angular.io/cdk/) Dialog or Overlay - don't forget to add `@import '@angular/cdk/overlay-prebuilt.css'` in `styles.scss`. * Use the [CanDeactivate](https://angular.io/api/router/CanDeactivate) guard in the new functional approach.
From e6771fb2c8a89316502295d7fa6c5b1cb9d399ac Mon Sep 17 00:00:00 2001 From: Sven Brodny Date: Fri, 19 Apr 2024 01:56:48 +0200 Subject: [PATCH 30/31] docs(c48): revert & fix link --- .../docs/challenges/forms/48-avoid-losing-form-data.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md index 7dc40d6..bbaa486 100644 --- a/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md +++ b/docs/src/content/docs/challenges/forms/48-avoid-losing-form-data.md @@ -29,11 +29,13 @@ Here's the feature expressed as a user story with a functional expectation: 1. If one of the form fields is not empty and the user tries to navigate to a different route or page, or wants to reload the page, show an alert dialog to _avoid losing form data_. 2. The content of `dialog.component.ts` must be used for your alert. -3. The appearance and behavior of the alert dialog must comply with W3C conventions, see [alert dialog pattern](https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/). +3. The appearance and behavior of the alert dialog box must comply with W3C conventions, see [alert dialog pattern](https://www.w3.org/WAI/ARIA/apg/patterns/alertdialog/). 4. Maximize the use of the new concepts and syntax in the latest version of Angular.
- Tips 🤫 if you really need it and after careful consideration ... - * Use the [Material CDK](https://material.angular.io/cdk/) Dialog or Overlay - don't forget to add `@import '@angular/cdk/overlay-prebuilt.css'` in `styles.scss`. - * Use the [CanDeactivate](https://angular.io/api/router/CanDeactivate) guard in the new functional approach. + Tips 🤫 (if you really need it and after careful consideration) +
    +
  • Use the Material CDK Dialog or Overlay - don't forget to add @import '@angular/cdk/overlay-prebuilt.css' in styles.scss
  • +
  • Use the CanDeactivate guard in the new functional approach.
  • +
From d5580d2f31024c8b03daadafc6fe7c47da96f30f Mon Sep 17 00:00:00 2001 From: Vimulatus Date: Sat, 20 Apr 2024 10:38:02 +0530 Subject: [PATCH 31/31] docs(angular-di): fix typo --- docs/src/content/docs/challenges/angular/16-di.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/content/docs/challenges/angular/16-di.md b/docs/src/content/docs/challenges/angular/16-di.md index 101365e..c0dddf9 100644 --- a/docs/src/content/docs/challenges/angular/16-di.md +++ b/docs/src/content/docs/challenges/angular/16-di.md @@ -1,5 +1,5 @@ --- -title: 🔴 Master Dependancy Injection +title: 🔴 Master Dependency Injection description: Challenge 16 is about mastering how dependancy injection works author: thomas-laforge contributors: