From 6431eb9fb89743ff6dc142e78a4b574d51417ad6 Mon Sep 17 00:00:00 2001 From: Marcin Stelmaszyk Date: Wed, 14 May 2025 15:03:02 +0200 Subject: [PATCH 1/5] feat: wip --- apps/blog/src/assets/i18n/en.json | 1 + apps/blog/src/assets/i18n/pl.json | 1 + .../ui-navigation/src/lib/navigation/navigation.component.ts | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/apps/blog/src/assets/i18n/en.json b/apps/blog/src/assets/i18n/en.json index 1b7ec03c..c83968f2 100644 --- a/apps/blog/src/assets/i18n/en.json +++ b/apps/blog/src/assets/i18n/en.json @@ -25,6 +25,7 @@ "about": "About us", "meetups": "Angular Meetups", "become_author": "Become an author", + "newsletter": "Angular.letter", "navLinks": "Navigation links", "languagePicker": { "pl": "Polish", diff --git a/apps/blog/src/assets/i18n/pl.json b/apps/blog/src/assets/i18n/pl.json index 4cd8996e..be67dab2 100644 --- a/apps/blog/src/assets/i18n/pl.json +++ b/apps/blog/src/assets/i18n/pl.json @@ -25,6 +25,7 @@ "about": "O nas", "meetups": "Angular Meetups", "become_author": "Zostań autorem", + "newsletter": "Angular.letter", "navLinks": "Menu", "languagePicker": { "pl": "Polski", diff --git a/libs/blog/layouts/ui-navigation/src/lib/navigation/navigation.component.ts b/libs/blog/layouts/ui-navigation/src/lib/navigation/navigation.component.ts index 35b96b7b..3da42a2c 100644 --- a/libs/blog/layouts/ui-navigation/src/lib/navigation/navigation.component.ts +++ b/libs/blog/layouts/ui-navigation/src/lib/navigation/navigation.component.ts @@ -50,6 +50,11 @@ export class NavigationComponent { link: ['become-author'], dataTestId: 'navigation-become-author', }, + { + translationPath: 'nav.newsletter', + link: ['newsletter'], + dataTestId: 'navigation-newsletter', + }, ]; protected navigated = output(); } From 1851ce35a2c986d6bba4d136fbd694e3cb8b878e Mon Sep 17 00:00:00 2001 From: Marcin Stelmaszyk Date: Thu, 15 May 2025 15:45:49 +0200 Subject: [PATCH 2/5] feat(newsletter): replaced content of newsletter-page and added name field in the form --- apps/blog/src/assets/i18n/en.json | 6 +-- apps/blog/src/assets/i18n/pl.json | 6 +-- .../newsletter.component.html | 10 +++++ .../newsletter.component.ts | 3 ++ .../lib/page/newsletter-page.component.html | 22 +++++++++++ .../src/lib/page/newsletter-page.component.ts | 38 +++---------------- 6 files changed, 46 insertions(+), 39 deletions(-) create mode 100644 libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.html diff --git a/apps/blog/src/assets/i18n/en.json b/apps/blog/src/assets/i18n/en.json index c83968f2..43a4e389 100644 --- a/apps/blog/src/assets/i18n/en.json +++ b/apps/blog/src/assets/i18n/en.json @@ -96,15 +96,15 @@ "title": "Sign up for our newsletter", "description": "Stay up-to-date with the trends and be a part of a thriving community.", "emailPlaceholder": "Your E-mail", + "namePlaceholder": "Your Name", "submitLabel": "Submit and sign up for a newsletter", "label": "Consent to process email for newsletter.", "consent": "I consent to Angular.love processing my email address for the purpose of sending the newsletter.", "error": "Something went wrong. Please try again." }, "newsletterPage": { - "title": "You have correctly signed up for the newsletter", - "description": "From now on you will be up to date with all the information we will make available on the blog.", - "button": "Return to the home page" + "title": "Newsletter Angular.love", + "description": "Staying up to date with Angular takes time. We know, because we work with it every day. That's why we created Angular.letter - a short, curated update with the most important news, tips, and events. No fluff, no spam. Just what really matters - delivered straight to your inbox every month." }, "notFoundPage": { "title": "404", diff --git a/apps/blog/src/assets/i18n/pl.json b/apps/blog/src/assets/i18n/pl.json index be67dab2..82492e45 100644 --- a/apps/blog/src/assets/i18n/pl.json +++ b/apps/blog/src/assets/i18n/pl.json @@ -99,15 +99,15 @@ "title": "Zapisz się na nasz newsletter", "description": "Dołącz do community Angular.love i bądź na bieżąco z trendami.", "emailPlaceholder": "Twój e-mail", + "namePlaceholder": "Twoje imię", "submitLabel": "Wyślij i zapisz się na newsletter", "label": "Zgoda na przetwarzanie adresu email do newslettera.", "consent": "Wyrażam zgodę na przetwarzanie mojego adresu e-mail przez Angular.love w celu wysyłki newslettera.", "error": "Ups... coś poszło nie tak. Spróbuj ponownie." }, "newsletterPage": { - "title": "Pomyślnie zapisałeś się na newsletter!", - "description": "Od teraz będziesz na bieżąco ze wszystkimi informacjami jakie będziemy udostępniać na blogu.", - "button": "Powrót na stronę główną" + "title": "Newsletter Angular.love", + "description": "Bycie na bieżąco z Angularem to spore wyzwanie. Wiemy, bo pracujemy z nim na co dzień. Właśnie dlatego powstał newsletter Angular.letter — krótka, starannie dobrana dawka najważniejszych newsów, tipów i wydarzeń. Zero lania wody, zero spamu. Tylko to, co naprawdę ma znaczenie — prosto na Twoją skrzynkę." }, "notFoundPage": { "title": "404", diff --git a/libs/blog/newsletter/feature-newsletter/src/lib/feature-newsletter/newsletter.component.html b/libs/blog/newsletter/feature-newsletter/src/lib/feature-newsletter/newsletter.component.html index ac9f19bd..33c92ced 100644 --- a/libs/blog/newsletter/feature-newsletter/src/lib/feature-newsletter/newsletter.component.html +++ b/libs/blog/newsletter/feature-newsletter/src/lib/feature-newsletter/newsletter.component.html @@ -12,6 +12,16 @@

{{ t('description') }}

+ + +
('', { + validators: [Validators.required], + }), email: new FormControl('', { validators: [ Validators.required, diff --git a/libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.html b/libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.html new file mode 100644 index 00000000..d8d65ef6 --- /dev/null +++ b/libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.html @@ -0,0 +1,22 @@ + +

+ {{ t('title') }} +

+ + +
+
+

{{ t('description') }}

+
+
+
+ + + + +
diff --git a/libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.ts b/libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.ts index ea9b94b7..8c4c5252 100644 --- a/libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.ts +++ b/libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.ts @@ -1,43 +1,15 @@ import { A11yModule } from '@angular/cdk/a11y'; import { ChangeDetectionStrategy, Component } from '@angular/core'; -import { RouterLink } from '@angular/router'; import { TranslocoDirective } from '@jsverse/transloco'; -import { FastSvgComponent } from '@push-based/ngx-fast-svg'; -import { AlLocalizePipe } from '@angular-love/blog/i18n/util'; -import { ButtonComponent } from '@angular-love/blog/shared/ui-button'; +import { CardComponent } from '@angular-love/blog/shared/ui-card'; + +import { NewsletterComponent } from '../feature-newsletter/newsletter.component'; @Component({ selector: 'al-newsletter-page', - imports: [ - RouterLink, - ButtonComponent, - TranslocoDirective, - A11yModule, - AlLocalizePipe, - FastSvgComponent, - ], - template: ` -
- -

- {{ t('title') }} -

-

- {{ t('description') }} -

- - - -
- `, + imports: [TranslocoDirective, A11yModule, CardComponent, NewsletterComponent], + templateUrl: './newsletter-page.component.html', changeDetection: ChangeDetectionStrategy.OnPush, }) export class NewsletterPageComponent {} From 72d8e4bb0d1282118832c8afff04e7cac7f188bf Mon Sep 17 00:00:00 2001 From: Marcin Stelmaszyk Date: Mon, 19 May 2025 11:03:45 +0200 Subject: [PATCH 3/5] feat: made the description text larger --- .../src/lib/page/newsletter-page.component.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.html b/libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.html index d8d65ef6..60375f52 100644 --- a/libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.html +++ b/libs/blog/newsletter/feature-newsletter/src/lib/page/newsletter-page.component.html @@ -9,8 +9,8 @@

aria-labelledby="angular-love" class="flex flex-col p-2 lg:flex-row" > -
-

{{ t('description') }}

+
+

{{ t('description') }}