From 8d656cdd32e82a552a3a6e043dc6c228769ab184 Mon Sep 17 00:00:00 2001 From: OZGCloud <ozgcloud@mgm-tp.com> Date: Mon, 4 Mar 2024 10:51:57 +0100 Subject: [PATCH] OZG-4897 move tailwindconfig, add colors, up intellisense, darkmode demoapp --- alfa-client/.prettierrc | 2 +- alfa-client/.vscode/settings.json | 2 +- .../apps/demo/src/app/app.component.html | 15 ++++++++--- .../apps/demo/src/app/app.component.ts | 17 ++++++++++-- alfa-client/apps/demo/src/index.html | 2 +- alfa-client/apps/demo/src/styles.scss | 6 +---- alfa-client/apps/demo/tailwind.config.js | 2 +- .../src/lib/tailwind-preset/root.css | 27 +++++++++++++++++++ .../lib/tailwind-preset}/tailwind.config.js | 17 ++++++++++++ 9 files changed, 76 insertions(+), 14 deletions(-) create mode 100644 alfa-client/libs/design-system/src/lib/tailwind-preset/root.css rename alfa-client/libs/design-system/{ => src/lib/tailwind-preset}/tailwind.config.js (53%) diff --git a/alfa-client/.prettierrc b/alfa-client/.prettierrc index 937355eb8c..d16a34fe4b 100644 --- a/alfa-client/.prettierrc +++ b/alfa-client/.prettierrc @@ -19,5 +19,5 @@ "useTabs": false, "embeddedLanguageFormatting": "auto", "plugins": ["prettier-plugin-tailwindcss"], - "tailwindConfig": "./libs/design-system/tailwind.config.js" + "tailwindConfig": "./libs/design-system/src/lib/tailwind-preset/tailwind.config.js" } diff --git a/alfa-client/.vscode/settings.json b/alfa-client/.vscode/settings.json index cd2cd4c41d..49dca7d133 100644 --- a/alfa-client/.vscode/settings.json +++ b/alfa-client/.vscode/settings.json @@ -11,5 +11,5 @@ "files.eol": "\n", "files.trimTrailingWhitespace": true, "prettier.useTabs": false, - "tailwindCSS.experimental.configFile": "../libs/design-system/tailwind.config.js" + "tailwindCSS.experimental.configFile": "../libs/design-system/tailwind-preset/tailwind.config.js" } diff --git a/alfa-client/apps/demo/src/app/app.component.html b/alfa-client/apps/demo/src/app/app.component.html index 43e6847ef9..a4bda7a4d7 100644 --- a/alfa-client/apps/demo/src/app/app.component.html +++ b/alfa-client/apps/demo/src/app/app.component.html @@ -1,13 +1,22 @@ <ng-container> <header class="flex items-center justify-between bg-white p-6"> - <div class="font-extrabold text-ozgblue">OZG-Cloud Demoapp</div> + <div class="font-extrabold text-primary">OZG-Cloud Demoapp</div> + <button + class="flex align-middle text-orange-500 transition-transform hover:scale-125" + (click)="darkMode.set(!darkMode())" + > + <span *ngIf="!darkMode()" class="material-icons">dark_mode</span> + <span *ngIf="darkMode()" class="material-icons">light_mode</span> + </button> </header> <div class="relative flex w-full flex-auto justify-center"> - <div class="w-96 bg-slate-300 p-6"> + <div class="w-96 bg-background-100 p-6"> <nav>NAV</nav> </div> - <main class="flex-auto bg-slate-200 p-6"> + <main class="flex-auto bg-background-50 p-6"> <ozg-testbtn /> + <div class="text-warning">Achtung</div> + <div class="text-primary">Achtung</div> <router-outlet></router-outlet> </main> </div> diff --git a/alfa-client/apps/demo/src/app/app.component.ts b/alfa-client/apps/demo/src/app/app.component.ts index 4b0931b7db..5171e21410 100644 --- a/alfa-client/apps/demo/src/app/app.component.ts +++ b/alfa-client/apps/demo/src/app/app.component.ts @@ -1,13 +1,26 @@ -import { Component } from '@angular/core'; +import { Component, HostBinding, effect, signal } from '@angular/core'; +import { CommonModule } from '@angular/common'; import { RouterModule } from '@angular/router'; import { TestbtnComponent } from 'design-system'; @Component({ standalone: true, - imports: [TestbtnComponent, RouterModule], + imports: [CommonModule, TestbtnComponent, RouterModule], selector: 'app-root', templateUrl: './app.component.html', }) export class AppComponent { title = 'demo'; + + darkMode = signal<boolean>(JSON.parse(window.localStorage.getItem('darkMode') ?? 'false')); + + @HostBinding('class.dark') get mode() { + return this.darkMode(); + } + + constructor() { + effect(() => { + window.localStorage.setItem('darkMode', JSON.stringify(this.darkMode())); + }); + } } diff --git a/alfa-client/apps/demo/src/index.html b/alfa-client/apps/demo/src/index.html index 77a3fcf4f2..9dbdba81d2 100644 --- a/alfa-client/apps/demo/src/index.html +++ b/alfa-client/apps/demo/src/index.html @@ -7,7 +7,7 @@ <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="icon" type="image/x-icon" href="favicon.ico" /> </head> - <body class="flex min-h-full bg-white text-black dark:bg-slate-100 dark:bg-slate-900"> + <body class="flex min-h-full bg-white text-black"> <app-root class="flex w-full flex-col"></app-root> </body> </html> diff --git a/alfa-client/apps/demo/src/styles.scss b/alfa-client/apps/demo/src/styles.scss index 77e408aa8b..55cbe584a3 100644 --- a/alfa-client/apps/demo/src/styles.scss +++ b/alfa-client/apps/demo/src/styles.scss @@ -1,5 +1 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; - -/* You can add global styles to this file, and also import other style files */ +@import 'libs/design-system/src/lib/tailwind-preset/root.css'; diff --git a/alfa-client/apps/demo/tailwind.config.js b/alfa-client/apps/demo/tailwind.config.js index 45bd1202e6..ad1344c979 100644 --- a/alfa-client/apps/demo/tailwind.config.js +++ b/alfa-client/apps/demo/tailwind.config.js @@ -3,7 +3,7 @@ const { createGlobPatternsForDependencies } = require('@nx/angular/tailwind'); const { join } = require('path'); -const sharedTailwindConfig = require('../../libs/design-system/tailwind.config.js'); +const sharedTailwindConfig = require('../../libs/design-system/src/lib/tailwind-preset/tailwind.config.js'); /** @type {import('tailwindcss').Config} */ module.exports = { diff --git a/alfa-client/libs/design-system/src/lib/tailwind-preset/root.css b/alfa-client/libs/design-system/src/lib/tailwind-preset/root.css new file mode 100644 index 0000000000..71e4720cff --- /dev/null +++ b/alfa-client/libs/design-system/src/lib/tailwind-preset/root.css @@ -0,0 +1,27 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --warning: 38 92% 50%; + + --color-background-secondary: 0 0% 98%; + --color-mainbg: 0 0% 100%; + --text: 0 0% 0%; + + --color-primary-600: 212 80% 42%; + --color-background-50: 0 0% 100%; + --color-background-100: 0 0% 98%; + --color-background-200: 0 0% 90%; +} + +.dark { + --color-background-secondary: 0 0% 16%; + --color-mainbg: 0 0% 14%; + --text: 0 0% 100%; + + --color-primary-600: 43 96% 58%; + --color-background-50: 0 0% 0%; + --color-background-100: 0 0% 14%; + --color-background-200: 0 0% 16%; +} diff --git a/alfa-client/libs/design-system/tailwind.config.js b/alfa-client/libs/design-system/src/lib/tailwind-preset/tailwind.config.js similarity index 53% rename from alfa-client/libs/design-system/tailwind.config.js rename to alfa-client/libs/design-system/src/lib/tailwind-preset/tailwind.config.js index 45271b462c..e0b5124312 100644 --- a/alfa-client/libs/design-system/tailwind.config.js +++ b/alfa-client/libs/design-system/src/lib/tailwind-preset/tailwind.config.js @@ -1,3 +1,6 @@ +/* eslint-env node */ +/* eslint @typescript-eslint/no-var-requires: "off" */ + const { createGlobPatternsForDependencies } = require('@nx/angular/tailwind'); const { join } = require('path'); @@ -7,6 +10,7 @@ module.exports = { join(__dirname, 'src/**/!(*.stories|*.spec).{ts,html}'), ...createGlobPatternsForDependencies(__dirname), ], + darkMode: 'class', theme: { extend: { colors: { @@ -23,6 +27,19 @@ module.exports = { 900: 'hsl(213, 85%, 33%)', DEFAULT: 'hsl(215, 75%, 22%)', }, + background: { + 50: 'hsl(var(--color-background-50) / <alpha-value>)', + 100: 'hsl(var(--color-background-100) / <alpha-value>)', + 200: 'hsl(var(--color-background-200) / <alpha-value>)', + DEFAULT: 'hsl(var(--color-background-100) / <alpha-value>)', + }, + mainbg: 'hsl(var(--color-mainbg) / <alpha-value>)', + primary: { + 600: 'hsl(var(--color-primary-600) / <alpha-value>)', + DEFAULT: 'hsl(var(--color-primary-600) / <alpha-value>)', + }, + text: 'hsl(var(--text) / <alpha-value>)', + warning: 'hsl(var(--warning))', }, }, }, -- GitLab