From 3a084d6c50629de0b9f113e12b73b38d614a9161 Mon Sep 17 00:00:00 2001 From: Matis MAZINGUE Date: Thu, 21 Sep 2023 09:53:04 +0200 Subject: [PATCH] Header + image --- .idea/.gitignore | 5 + .idea/modules.xml | 8 + .idea/sandkasten-web.iml | 12 + .idea/vcs.xml | 6 + sandkasten/package-lock.json | 53 +++- sandkasten/package.json | 1 + .../src/app/header/header.component.css | 299 +++++++++++++++++- .../src/app/header/header.component.html | 44 +-- sandkasten/src/app/header/header.component.ts | 37 ++- sandkasten/src/assets/img/gitea.png | Bin 0 -> 26410 bytes sandkasten/src/assets/img/logo.svg | 52 +++ 11 files changed, 486 insertions(+), 31 deletions(-) create mode 100644 .idea/.gitignore create mode 100644 .idea/modules.xml create mode 100644 .idea/sandkasten-web.iml create mode 100644 .idea/vcs.xml create mode 100644 sandkasten/src/assets/img/gitea.png create mode 100644 sandkasten/src/assets/img/logo.svg diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..b58b603 --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,5 @@ +# Default ignored files +/shelf/ +/workspace.xml +# Editor-based HTTP Client requests +/httpRequests/ diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..e2b5157 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/sandkasten-web.iml b/.idea/sandkasten-web.iml new file mode 100644 index 0000000..0c8867d --- /dev/null +++ b/.idea/sandkasten-web.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/sandkasten/package-lock.json b/sandkasten/package-lock.json index 751fd8d..3ccce4b 100644 --- a/sandkasten/package-lock.json +++ b/sandkasten/package-lock.json @@ -9,6 +9,7 @@ "version": "0.0.0", "dependencies": { "@angular/animations": "^16.2.0", + "@angular/cdk": "^16.2.5", "@angular/common": "^16.2.0", "@angular/compiler": "^16.2.0", "@angular/core": "^16.2.0", @@ -268,6 +269,34 @@ "@angular/core": "16.2.5" } }, + "node_modules/@angular/cdk": { + "version": "16.2.5", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.2.5.tgz", + "integrity": "sha512-9VbdWSYVFQq9y7Dl8KMooE+Sa5nx0l4Neue1IMmSS2v8b602VykiYA5aqz0BsLjfoiboXlUz6LCBXxukJtogcQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^7.1.2" + }, + "peerDependencies": { + "@angular/common": "^16.0.0 || ^17.0.0", + "@angular/core": "^16.0.0 || ^17.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/cdk/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "optional": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/@angular/cli": { "version": "16.2.2", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.2.tgz", @@ -5495,7 +5524,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, + "devOptional": true, "engines": { "node": ">=0.12" }, @@ -12347,6 +12376,26 @@ "tslib": "^2.3.0" } }, + "@angular/cdk": { + "version": "16.2.5", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.2.5.tgz", + "integrity": "sha512-9VbdWSYVFQq9y7Dl8KMooE+Sa5nx0l4Neue1IMmSS2v8b602VykiYA5aqz0BsLjfoiboXlUz6LCBXxukJtogcQ==", + "requires": { + "parse5": "^7.1.2", + "tslib": "^2.3.0" + }, + "dependencies": { + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "optional": true, + "requires": { + "entities": "^4.4.0" + } + } + } + }, "@angular/cli": { "version": "16.2.2", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.2.2.tgz", @@ -16103,7 +16152,7 @@ "version": "4.5.0", "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true + "devOptional": true }, "env-paths": { "version": "2.2.1", diff --git a/sandkasten/package.json b/sandkasten/package.json index e2d2ba6..6c3c7f8 100644 --- a/sandkasten/package.json +++ b/sandkasten/package.json @@ -11,6 +11,7 @@ "private": true, "dependencies": { "@angular/animations": "^16.2.0", + "@angular/cdk": "^16.2.5", "@angular/common": "^16.2.0", "@angular/compiler": "^16.2.0", "@angular/core": "^16.2.0", diff --git a/sandkasten/src/app/header/header.component.css b/sandkasten/src/app/header/header.component.css index cde8f28..eb97749 100644 --- a/sandkasten/src/app/header/header.component.css +++ b/sandkasten/src/app/header/header.component.css @@ -1,8 +1,10 @@ -img { - width: 5%; - } - +.sandkasten-logo { + width: 3%; +} +.gitea-logo { + width: 10%; +} a { margin: 0 10px; color: #333; @@ -16,4 +18,291 @@ a { .active { color: #666; text-decoration: underline; -} \ No newline at end of file +} + +:host { + font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; + font-size: 14px; + color: #333; + box-sizing: border-box; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +h1, +h2, +h3, +h4, +h5, +h6 { + margin: 8px 0; +} + +p { + margin: 0; +} + +.spacer { + flex: 1; +} + +.toolbar { + position: absolute; + top: 0; + left: 0; + right: 0; + height: 60px; + display: flex; + align-items: center; + background-color: #1976d2; + color: white; + font-weight: 600; +} + +.toolbar img { + margin: 0 16px; +} + +.toolbar #gitea-logo { + height: 40px; + margin: 0 16px; +} + +.toolbar #gitea-logo:hover { + opacity: 0.8; +} + +.content { + display: flex; + margin: 82px auto 32px; + padding: 0 16px; + max-width: 960px; + flex-direction: column; + align-items: center; +} + +svg.material-icons { + height: 24px; + width: auto; +} + +svg.material-icons:not(:last-child) { + margin-right: 8px; +} + +.card svg.material-icons path { + fill: #888; +} + +.card-container { + display: flex; + flex-wrap: wrap; + justify-content: center; + margin-top: 16px; +} + +.card { + all: unset; + border-radius: 4px; + border: 1px solid #eee; + background-color: #fafafa; + height: 40px; + width: 200px; + margin: 0 8px 16px; + padding: 16px; + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; + transition: all 0.2s ease-in-out; + line-height: 24px; +} + +.card-container .card:not(:last-child) { + margin-right: 0; +} + +.card.card-small { + height: 16px; + width: 168px; +} + +.card-container .card:not(.highlight-card) { + cursor: pointer; +} + +.card-container .card:not(.highlight-card):hover { + transform: translateY(-3px); + box-shadow: 0 4px 17px rgba(0, 0, 0, 0.35); +} + +.card-container .card:not(.highlight-card):hover .material-icons path { + fill: rgb(105, 103, 103); +} + +.card.highlight-card { + background-color: #1976d2; + color: white; + font-weight: 600; + border: none; + width: auto; + min-width: 30%; + position: relative; +} + +.card.card.highlight-card span { + margin-left: 60px; +} + +svg#rocket { + width: 80px; + position: absolute; + left: -10px; + top: -24px; +} + +svg#rocket-smoke { + height: calc(100vh - 95px); + position: absolute; + top: 10px; + right: 180px; + z-index: -10; +} + +a, +a:visited, +a:hover { + color: #1976d2; + text-decoration: none; +} + +a:hover { + color: #125699; +} + +.terminal { + position: relative; + width: 80%; + max-width: 600px; + border-radius: 6px; + padding-top: 45px; + margin-top: 8px; + overflow: hidden; + background-color: rgb(15, 15, 16); +} + +.terminal::before { + content: "\2022 \2022 \2022"; + position: absolute; + top: 0; + left: 0; + height: 4px; + background: rgb(58, 58, 58); + color: #c2c3c4; + width: 100%; + font-size: 2rem; + line-height: 0; + padding: 14px 0; + text-indent: 4px; +} + +.terminal pre { + font-family: SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace; + color: white; + padding: 0 1rem 1rem; + margin: 0; +} + +.circle-link { + height: 40px; + width: 40px; + border-radius: 40px; + margin: 8px; + background-color: white; + border: 1px solid #eeeeee; + display: flex; + justify-content: center; + align-items: center; + cursor: pointer; + box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24); + transition: 1s ease-out; +} + +.circle-link:hover { + transform: translateY(-0.25rem); + box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.2); +} + +footer { + margin-top: 8px; + display: flex; + align-items: center; + line-height: 20px; +} + +footer a { + display: flex; + align-items: center; +} + +.github-star-badge { + color: #24292e; + display: flex; + align-items: center; + font-size: 12px; + padding: 3px 10px; + border: 1px solid rgba(27,31,35,.2); + border-radius: 3px; + background-image: linear-gradient(-180deg,#fafbfc,#eff3f6 90%); + margin-left: 4px; + font-weight: 600; +} + +.github-star-badge:hover { + background-image: linear-gradient(-180deg,#f0f3f6,#e6ebf1 90%); + border-color: rgba(27,31,35,.35); + background-position: -.5em; +} + +.github-star-badge .material-icons { + height: 16px; + width: 16px; + margin-right: 4px; +} + +svg#clouds { + position: fixed; + bottom: -160px; + left: -230px; + z-index: -10; + width: 1920px; +} + +/* Responsive Styles */ +@media screen and (max-width: 767px) { + .card-container > *:not(.circle-link) , + .terminal { + width: 100%; + } + + .card:not(.highlight-card) { + height: 16px; + margin: 8px 0; + } + + .card.highlight-card span { + margin-left: 72px; + } + + svg#rocket-smoke { + right: 120px; + transform: rotate(-5deg); + } +} + +@media screen and (max-width: 575px) { + svg#rocket-smoke { + display: none; + visibility: hidden; + } +} diff --git a/sandkasten/src/app/header/header.component.html b/sandkasten/src/app/header/header.component.html index dcb40ae..1468a9e 100644 --- a/sandkasten/src/app/header/header.component.html +++ b/sandkasten/src/app/header/header.component.html @@ -1,20 +1,28 @@
-

{{ title }}

-

{{ description }}

-

Version : {{ version }}

- imgSrc - +
diff --git a/sandkasten/src/app/header/header.component.ts b/sandkasten/src/app/header/header.component.ts index 7d78472..8f4db92 100644 --- a/sandkasten/src/app/header/header.component.ts +++ b/sandkasten/src/app/header/header.component.ts @@ -1,4 +1,5 @@ import { Component, OnInit } from '@angular/core'; +import {BreakpointObserver, Breakpoints} from '@angular/cdk/layout'; @Component({ selector: 'app-header', @@ -7,15 +8,39 @@ import { Component, OnInit } from '@angular/core'; }) export class HeaderComponent implements OnInit { title!: string; - description!: string; - version!: number; - imgSrc!: string; + version!: string; + sandkasten_logo!: string; + gitea_logo!: string; ngOnInit(): void { this.title = 'Sandkasten'; - this.description = 'Ein Angular-Sandkasten'; - this.version = 1.0; - this.imgSrc = 'assets/img/logo.png'; + this.version = '1.0'; + this.sandkasten_logo = 'assets/img/logo.png'; + this.gitea_logo = 'assets/img/gitea.png'; } } + +// export class ResponsiveComponent implements OnInit { +// +// isPhonePortrait = false; +// +// constructor(private responsive: BreakpointObserver) { +// +// } +// +// ngOnInit() { +// +// this.responsive.observe(Breakpoints.HandsetPortrait) +// .subscribe(result => { +// +// this.isPhonePortrait = false; +// +// if (result.matches) { +// this.isPhonePortrait = true; +// } +// +// }); +// +// } +// } diff --git a/sandkasten/src/assets/img/gitea.png b/sandkasten/src/assets/img/gitea.png new file mode 100644 index 0000000000000000000000000000000000000000..65f160a3efcd89a6a0559b8e77b3f810fc403d9f GIT binary patch literal 26410 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 + + + + + + + + + + +