From c3cfe83b0b5e58cfb64f3006cb8f87c8a9b5fafd Mon Sep 17 00:00:00 2001 From: Andrei Yurkouski Date: Sat, 6 Sep 2025 00:02:44 +0200 Subject: [PATCH] feat: add WelcomePage and set as default route --- src/app/app.routes.ts | 3 +- src/app/pages/welcome-page/welcome-page.css | 15 +++++ src/app/pages/welcome-page/welcome-page.html | 71 ++++++++++++++++++++ src/app/pages/welcome-page/welcome-page.ts | 29 ++++++++ 4 files changed, 117 insertions(+), 1 deletion(-) create mode 100644 src/app/pages/welcome-page/welcome-page.css create mode 100644 src/app/pages/welcome-page/welcome-page.html create mode 100644 src/app/pages/welcome-page/welcome-page.ts diff --git a/src/app/app.routes.ts b/src/app/app.routes.ts index 360a46b..f7d9dcd 100644 --- a/src/app/app.routes.ts +++ b/src/app/app.routes.ts @@ -3,9 +3,10 @@ import { NotFoundPage } from './pages/not-found/not-found-page.component' import { authGuard } from './guards/auth-guard' import { AuthPage } from './pages/auth-page/auth-page.component' import { StatusPage } from './pages/status-page/status-page' +import { WelcomePage } from './pages/welcome-page/welcome-page' export const routes: Routes = [ - { path: '', redirectTo: 'auth', pathMatch: 'full' }, + { path: '', component: WelcomePage, pathMatch: 'full' }, { path: 'auth', component: AuthPage, data: { title: 'Authentication' } }, { path: 'articles', diff --git a/src/app/pages/welcome-page/welcome-page.css b/src/app/pages/welcome-page/welcome-page.css new file mode 100644 index 0000000..a9be8ae --- /dev/null +++ b/src/app/pages/welcome-page/welcome-page.css @@ -0,0 +1,15 @@ +.content { + display: flex; + flex-direction: column; + gap: 1.5rem; + padding-block: 1rem; + max-width: clamp(25rem, 40vw, 40rem); +} + +.details { + display: flex; + flex-direction: column; + padding-inline: 1rem; + margin: 0; + gap: 1rem; +} diff --git a/src/app/pages/welcome-page/welcome-page.html b/src/app/pages/welcome-page/welcome-page.html new file mode 100644 index 0000000..232ed1a --- /dev/null +++ b/src/app/pages/welcome-page/welcome-page.html @@ -0,0 +1,71 @@ + + + +

+ RSS Reader +

+
+
+ +
    +
  • Do not track or store any user information.
  • +
  • Usernames are generated randomly. +
  • +
  • The ability to load the full article text. +
  • +
  • Auto-delete orphaned users once a month. +
  • +
  • Can be self-hosted.
  • +
+ + + + + WebClient + + +
    +
  • Angular
  • +
  • Angular Material
  • +
+ + link + GitHub + +
+ + + + Backend + + +
    +
  • NestJs
  • +
  • MongoDB
  • +
+ + link + GitHub + +
+
+
+ + + +
diff --git a/src/app/pages/welcome-page/welcome-page.ts b/src/app/pages/welcome-page/welcome-page.ts new file mode 100644 index 0000000..5abe6ad --- /dev/null +++ b/src/app/pages/welcome-page/welcome-page.ts @@ -0,0 +1,29 @@ +import { Component } from '@angular/core' +import { MatButton, MatFabButton } from '@angular/material/button' +import { RouterLink } from '@angular/router' +import { + MatAccordion, + MatExpansionPanel, + MatExpansionPanelHeader, + MatExpansionPanelTitle, +} from '@angular/material/expansion' +import { MatCardModule } from '@angular/material/card' +import { MatIconModule } from '@angular/material/icon' + +@Component({ + selector: 'app-welcome-page', + imports: [ + MatButton, + RouterLink, + MatExpansionPanel, + MatExpansionPanelHeader, + MatExpansionPanelTitle, + MatCardModule, + MatIconModule, + MatFabButton, + MatAccordion, + ], + templateUrl: './welcome-page.html', + styleUrl: './welcome-page.css', +}) +export class WelcomePage {}