From 61add61113ed2c2c16639a913217e39335168bc9 Mon Sep 17 00:00:00 2001 From: Jan-Marlon Leibl Date: Wed, 12 Feb 2025 11:26:48 +0100 Subject: [PATCH] feat: add navbar component to the application --- frontend/src/app/app.component.html | 1 + frontend/src/app/app.component.ts | 4 +- .../components/navbar/navbar.component.html | 42 +++++++++++++++++++ .../components/navbar/navbar.component.scss | 34 +++++++++++++++ .../components/navbar/navbar.component.ts | 18 ++++++++ frontend/tailwind.config.js | 28 +++++++++++++ 6 files changed, 125 insertions(+), 2 deletions(-) create mode 100644 frontend/src/app/shared/components/navbar/navbar.component.html create mode 100644 frontend/src/app/shared/components/navbar/navbar.component.scss create mode 100644 frontend/src/app/shared/components/navbar/navbar.component.ts diff --git a/frontend/src/app/app.component.html b/frontend/src/app/app.component.html index 0680b43..6659729 100644 --- a/frontend/src/app/app.component.html +++ b/frontend/src/app/app.component.html @@ -1 +1,2 @@ + diff --git a/frontend/src/app/app.component.ts b/frontend/src/app/app.component.ts index 7dea888..0a852aa 100644 --- a/frontend/src/app/app.component.ts +++ b/frontend/src/app/app.component.ts @@ -2,11 +2,11 @@ import { Component, ChangeDetectionStrategy } from '@angular/core'; import { CommonModule } from '@angular/common'; import { RouterOutlet } from '@angular/router'; import { KeycloakAngularModule } from 'keycloak-angular'; - +import { NavbarComponent } from './shared/components/navbar/navbar.component'; @Component({ selector: 'app-root', standalone: true, - imports: [CommonModule, RouterOutlet, KeycloakAngularModule], + imports: [CommonModule, RouterOutlet, KeycloakAngularModule, NavbarComponent], providers: [], templateUrl: './app.component.html', styleUrl: './app.component.css', diff --git a/frontend/src/app/shared/components/navbar/navbar.component.html b/frontend/src/app/shared/components/navbar/navbar.component.html new file mode 100644 index 0000000..cd772bd --- /dev/null +++ b/frontend/src/app/shared/components/navbar/navbar.component.html @@ -0,0 +1,42 @@ + \ No newline at end of file diff --git a/frontend/src/app/shared/components/navbar/navbar.component.scss b/frontend/src/app/shared/components/navbar/navbar.component.scss new file mode 100644 index 0000000..1f11eda --- /dev/null +++ b/frontend/src/app/shared/components/navbar/navbar.component.scss @@ -0,0 +1,34 @@ +:host { + display: block; +} + +.text-gold { + color: #FFD700; +} + +.bg-gold { + background-color: #FFD700; + &:hover { + background-color: #FFC000; + } +} + +.hover\:bg-gold-dark:hover { + background-color: #FFC000; +} + +.hover\:text-gold:hover { + color: #FFD700; +} + +nav { + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1000; +} + +.transition-colors { + transition: all 0.2s ease-in-out; +} \ No newline at end of file diff --git a/frontend/src/app/shared/components/navbar/navbar.component.ts b/frontend/src/app/shared/components/navbar/navbar.component.ts new file mode 100644 index 0000000..e4eb7c2 --- /dev/null +++ b/frontend/src/app/shared/components/navbar/navbar.component.ts @@ -0,0 +1,18 @@ +import { Component } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { CommonModule } from '@angular/common'; + +@Component({ + selector: 'app-navbar', + templateUrl: './navbar.component.html', + styleUrls: ['./navbar.component.scss'], + standalone: true, + imports: [CommonModule, RouterModule] +}) +export class NavbarComponent { + isMenuOpen = false; + + toggleMenu() { + this.isMenuOpen = !this.isMenuOpen; + } +} \ No newline at end of file diff --git a/frontend/tailwind.config.js b/frontend/tailwind.config.js index 843fec3..87e76e4 100644 --- a/frontend/tailwind.config.js +++ b/frontend/tailwind.config.js @@ -5,6 +5,34 @@ module.exports = { ], theme: { extend: { + colors: { + // Core colors from the palette + 'primary': { + 900: '#000000', // #000000 + 800: '#05080a', // #05080a + 700: '#071d2a', // #071d2a + 600: '#0f212e', // #0f212e - dark navy + 500: '#1a2c38', // #1a2c38 + 400: '#213743', // #213743 + 300: '#2f4553', // #2f4553 + }, + 'accent': { + blue: '#1475e1', // Bright blue + green: '#00e701', // Bright green + }, + 'gray': { + 400: '#557086', // Mid gray + 300: '#b1bad3', // Light gray + 200: '#d5dceb', // Lighter gray + 100: '#ffffff', // White + }, + // Semantic colors + 'gold': { + DEFAULT: '#b1bad3', + light: '#d5dceb', + dark: '#557086', + }, + }, animation: { 'fadeIn': 'fadeIn 0.3s ease-out', 'backdropBlur': 'backdropBlur 0.4s ease-out',