Finalized the About page for now
This commit is contained in:
@@ -1,6 +1,10 @@
|
||||
import { Routes } from '@angular/router';
|
||||
import {AboutComponent} from './pages/about/about.component';
|
||||
import {ProjectsComponent} from './pages/projects/projects.component';
|
||||
|
||||
export const routes: Routes = [
|
||||
{ path: '', component: AboutComponent },
|
||||
{ path: 'about', component: AboutComponent},
|
||||
{ path: 'projects', component: ProjectsComponent},
|
||||
];
|
||||
|
||||
|
||||
@@ -6,8 +6,9 @@
|
||||
static readonly FLAG_EN = '/assets/flags/gb.svg';
|
||||
|
||||
//logos
|
||||
static readonly TH_BINGEN_LOGO = '/assets/logos/assyst_gmbh_logo.jpg';
|
||||
static readonly ASSYST_LOG = '/assets/logos/bingen-logo-white.svg';
|
||||
static readonly CHAMAELEON_LOGO = '/assets/logos/logo_chamaeleon.svg';
|
||||
static readonly TH_BINGEN_LOGO = '/assets/logos/bingen-logo-white.svg';
|
||||
static readonly ASSYST_LOG = '/assets/logos/assyst_gmbh_logo.jpg';
|
||||
static readonly COLORDIGITAL_LOGO = '/assets/logos/dmixcloud_logo.jpg';
|
||||
static readonly TERAPORT_LOGO = '/assets/logos/teraport_gmbh_logo.jpg';
|
||||
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
<nav class="nav">
|
||||
<a routerLink="/about" mat-button>{{ 'TOPBAR.ABOUT' | translate }}</a>
|
||||
<a routerLink="/projects" mat-button>{{ 'TOPBAR.PROJECTS' | translate }}</a>
|
||||
<a routerLink="/hobbys" mat-button>{{ 'TOPBAR.HOBBY' | translate }}</a>
|
||||
<a routerLink="/contact" mat-button>{{ 'TOPBAR.CONTACT' | translate }}</a>
|
||||
<a routerLink="/projects" mat-button>{{ 'TOPBAR.HOBBY' | translate }}</a>
|
||||
<a routerLink="/projects" mat-button>{{ 'TOPBAR.CONTACT' | translate }}</a>
|
||||
</nav>
|
||||
|
||||
<span class="spacer"></span>
|
||||
|
||||
@@ -38,17 +38,6 @@
|
||||
<a href="{{UrlConstants.LINKED_IN}}" target="_blank" rel="noopener">LinkedIn</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="actions">
|
||||
<a mat-flat-button color="primary" [href]="cvHref" target="_blank" rel="noopener">
|
||||
<mat-icon>picture_as_pdf</mat-icon>
|
||||
{{ 'ABOUT.DOWNLOAD_CV' | translate }}
|
||||
</a>
|
||||
<a mat-stroked-button routerLink="/projects">
|
||||
<mat-icon>work_outline</mat-icon>
|
||||
{{ 'ABOUT.VIEW_PROJECTS' | translate }}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</mat-card>
|
||||
|
||||
@@ -77,8 +66,6 @@
|
||||
|
||||
<mat-card class="experience">
|
||||
<h2>{{ 'ABOUT.SECTION.EXPERIENCE' | translate }}</h2>
|
||||
|
||||
|
||||
<div class="xp-list">
|
||||
@for (entry of xpKeys; track entry) {
|
||||
<div class="xp-item">
|
||||
@@ -94,9 +81,6 @@
|
||||
<div class="head-row">
|
||||
<strong>{{ (entry.key + '.ROLE') | translate }}</strong>
|
||||
<span class="time">{{ (entry.key + '.TIME') | translate }}</span>
|
||||
<div class="company-row">
|
||||
{{ (entry.key + '.COMPANY') | translate }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="company-row">
|
||||
@@ -124,32 +108,45 @@
|
||||
<h2>{{ 'ABOUT.SECTION.PROJECTS' | translate }}</h2>
|
||||
|
||||
<div class="xp-list">
|
||||
@for (entry of projectKeys; track entry) {
|
||||
<div class="xp-item">
|
||||
<div class="xp-head">
|
||||
<strong>{{ 'ABOUT.XP.T1.ROLE' | translate }}</strong>
|
||||
<span class="time">{{ 'ABOUT.XP.T1.TIME' | translate }}</span>
|
||||
<div class="head-row">
|
||||
<strong>{{ (entry.key + '.TITLE') | translate }}</strong>
|
||||
</div>
|
||||
<div class="company-row">
|
||||
{{ (entry.key + '.DESCRIPTION') | translate }}
|
||||
</div>
|
||||
<div class="link-row">
|
||||
<a class="link-with-icon"
|
||||
href="{{entry.externalLink}}"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer">
|
||||
<mat-icon>open_in_new</mat-icon>
|
||||
{{ (entry.key + '.LINK_EXTERNAL') | translate }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="link-row">
|
||||
<a class="link-with-icon"
|
||||
href="{{entry.internalLink}}"
|
||||
rel="noopener noreferrer">
|
||||
<mat-icon>link</mat-icon>
|
||||
{{ (entry.key + '.LINK_INTERNAL') | translate }}
|
||||
</a>
|
||||
</div>
|
||||
<div class="highlights-noMargin">
|
||||
<ul>
|
||||
<li>{{ entry.key + '.HIGHLIGHTS.P1' | translate }}</li>
|
||||
<li>{{ entry.key + '.HIGHLIGHTS.P2' | translate }}</li>
|
||||
<li>{{ entry.key + '.HIGHLIGHTS.P3' | translate }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="xp-sub">{{ 'ABOUT.XP.T1.COMPANY' | translate }}</div>
|
||||
<ul>
|
||||
<li>{{ 'ABOUT.XP.T1.P1' | translate }}</li>
|
||||
<li>{{ 'ABOUT.XP.T1.P2' | translate }}</li>
|
||||
<li>{{ 'ABOUT.XP.T1.P3' | translate }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<mat-divider></mat-divider>
|
||||
|
||||
<div class="xp-item">
|
||||
<div class="xp-head">
|
||||
<strong>{{ 'ABOUT.XP.T2.ROLE' | translate }}</strong>
|
||||
<span class="time">{{ 'ABOUT.XP.T2.TIME' | translate }}</span>
|
||||
</div>
|
||||
<div class="xp-sub">{{ 'ABOUT.XP.T2.COMPANY' | translate }}</div>
|
||||
<ul>
|
||||
<li>{{ 'ABOUT.XP.T2.P1' | translate }}</li>
|
||||
<li>{{ 'ABOUT.XP.T2.P2' | translate }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
@if(entry.key !== projectKeys.at(projectKeys.length-1)?.key)
|
||||
{
|
||||
<mat-divider></mat-divider>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</mat-card>
|
||||
|
||||
@@ -158,30 +155,20 @@
|
||||
|
||||
<div class="xp-list">
|
||||
<div class="xp-item">
|
||||
<div class="xp-head">
|
||||
<strong>{{ 'ABOUT.XP.T1.ROLE' | translate }}</strong>
|
||||
<span class="time">{{ 'ABOUT.XP.T1.TIME' | translate }}</span>
|
||||
</div>
|
||||
<div class="xp-sub">{{ 'ABOUT.XP.T1.COMPANY' | translate }}</div>
|
||||
<ul>
|
||||
<li>{{ 'ABOUT.XP.T1.P1' | translate }}</li>
|
||||
<li>{{ 'ABOUT.XP.T1.P2' | translate }}</li>
|
||||
<li>{{ 'ABOUT.XP.T1.P3' | translate }}</li>
|
||||
</ul>
|
||||
</div>
|
||||
@for (entry of educationKeys; track entry) {
|
||||
<div class="head-row">
|
||||
<strong>{{ (entry.key + '.WHERE') | translate }}</strong>
|
||||
<span class="time">{{ (entry.key + '.WHEN') | translate }}</span>
|
||||
</div>
|
||||
<div class="company-row">
|
||||
{{ (entry.key + '.WHAT') | translate }}
|
||||
</div>
|
||||
|
||||
<mat-divider></mat-divider>
|
||||
|
||||
<div class="xp-item">
|
||||
<div class="xp-head">
|
||||
<strong>{{ 'ABOUT.XP.T2.ROLE' | translate }}</strong>
|
||||
<span class="time">{{ 'ABOUT.XP.T2.TIME' | translate }}</span>
|
||||
</div>
|
||||
<div class="xp-sub">{{ 'ABOUT.XP.T2.COMPANY' | translate }}</div>
|
||||
<ul>
|
||||
<li>{{ 'ABOUT.XP.T2.P1' | translate }}</li>
|
||||
<li>{{ 'ABOUT.XP.T2.P2' | translate }}</li>
|
||||
</ul>
|
||||
@if(entry.key !== educationKeys.at(educationKeys.length-1)?.key)
|
||||
{
|
||||
<mat-divider style="margin-top: .5rem; margin-bottom: .5rem"></mat-divider>
|
||||
}
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
</mat-card>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
.lead { opacity:.9; margin: .25rem 0 0.5rem; }
|
||||
|
||||
.meta {
|
||||
display:flex; flex-direction:column; gap:.25rem;
|
||||
display:flex; flex-direction:column; gap:.25rem; margin-bottom: 0.5rem;
|
||||
.row {
|
||||
display:flex; align-items:center; gap:.4rem;
|
||||
a { color: inherit; }
|
||||
@@ -37,8 +37,9 @@
|
||||
}
|
||||
|
||||
.actions {
|
||||
display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.5rem; margin-bottom: 1rem;
|
||||
display:flex; gap:.5rem; flex-wrap:wrap; margin-top:.5rem;
|
||||
.mat-icon { margin-right:.25rem; }
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -48,11 +49,13 @@
|
||||
border-radius: 16px;
|
||||
padding: 5px;
|
||||
background: var(--app-card-background);
|
||||
|
||||
h2 { margin-top: .25rem; margin-left: .25rem; }
|
||||
.chip-groups {
|
||||
margin-left: .25rem;
|
||||
display:grid; gap:1rem;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
margin-bottom: .5rem;
|
||||
h3 { margin: .2rem 0 .4rem; font-size: .95rem; opacity:.85; }
|
||||
mat-chip-set {
|
||||
display:flex; flex-wrap:wrap; gap:.4rem;
|
||||
@@ -146,6 +149,7 @@
|
||||
height: 48px;
|
||||
object-fit: contain;
|
||||
opacity: .9;
|
||||
border-radius: 10%;
|
||||
background-color: var(--app-logo-bg);
|
||||
}
|
||||
|
||||
@@ -173,6 +177,27 @@
|
||||
opacity: .85;
|
||||
}
|
||||
|
||||
.link-row {
|
||||
grid-row: 2;
|
||||
grid-column: 2;
|
||||
margin-top: .1rem;
|
||||
opacity: .85;
|
||||
vertical-align: center;
|
||||
}
|
||||
|
||||
.link-with-icon {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: .35rem;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
.link-with-icon mat-icon {
|
||||
font-size: 18px;
|
||||
height: 18px;
|
||||
width: 18px;
|
||||
}
|
||||
|
||||
.highlights {
|
||||
margin-top: .4rem;
|
||||
margin-left: .75rem;
|
||||
@@ -182,3 +207,11 @@
|
||||
margin: .2rem 0;
|
||||
}
|
||||
}
|
||||
|
||||
.highlights-noMargin {
|
||||
margin-top: .4rem;
|
||||
|
||||
li {
|
||||
margin: .2rem 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import { MatIconModule } from '@angular/material/icon';
|
||||
import { MatButtonModule } from '@angular/material/button';
|
||||
import { MatDividerModule } from '@angular/material/divider';
|
||||
import { TranslateModule } from '@ngx-translate/core';
|
||||
import {RouterLink} from '@angular/router';
|
||||
import {UrlConstants} from '../../constants/UrlConstants';
|
||||
import {AssetsConstants} from '../../constants/AssetsConstants';
|
||||
|
||||
@@ -17,7 +16,7 @@ import {AssetsConstants} from '../../constants/AssetsConstants';
|
||||
imports: [
|
||||
CommonModule, NgOptimizedImage,
|
||||
MatCardModule, MatChipsModule, MatIconModule, MatButtonModule, MatDividerModule,
|
||||
TranslateModule, RouterLink
|
||||
TranslateModule
|
||||
],
|
||||
templateUrl: './about.component.html',
|
||||
styleUrl: './about.component.scss'
|
||||
@@ -27,16 +26,20 @@ export class AboutComponent {
|
||||
|
||||
xpKeys = [
|
||||
{
|
||||
key: 'ABOUT.XP.COMPANY7',
|
||||
key: 'ABOUT.XP.COMPANY8',
|
||||
logo: AssetsConstants.TERAPORT_LOGO
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.XP.COMPANY7',
|
||||
logo: AssetsConstants.COLORDIGITAL_LOGO
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.XP.COMPANY6',
|
||||
logo: AssetsConstants.COLORDIGITAL_LOGO
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.XP.COMPANY5',
|
||||
logo: AssetsConstants.COLORDIGITAL_LOGO
|
||||
logo: AssetsConstants.ASSYST_LOG
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.XP.COMPANY4',
|
||||
@@ -48,7 +51,7 @@ export class AboutComponent {
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.XP.COMPANY2',
|
||||
logo: AssetsConstants.ASSYST_LOG
|
||||
logo: AssetsConstants.TH_BINGEN_LOGO
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.XP.COMPANY1',
|
||||
@@ -56,10 +59,52 @@ export class AboutComponent {
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.XP.COMPANY0',
|
||||
logo: AssetsConstants.TH_BINGEN_LOGO
|
||||
logo: AssetsConstants.CHAMAELEON_LOGO
|
||||
}
|
||||
];
|
||||
|
||||
projectKeys = [
|
||||
{
|
||||
key: 'ABOUT.PROJECT.P2',
|
||||
externalLink: 'https://andreas-dahm.eu/',
|
||||
internalLink: 'projects'
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.PROJECT.P1',
|
||||
externalLink: 'https://store.steampowered.com/app/1532640/El_Mucho/',
|
||||
internalLink: 'projects'
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.PROJECT.P0',
|
||||
externalLink: 'https://itch.io/c/6628860/lobos-collection',
|
||||
internalLink: 'projects'
|
||||
}
|
||||
];
|
||||
|
||||
educationKeys = [
|
||||
{
|
||||
key: 'ABOUT.EDUCATION.E6'
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.EDUCATION.E5'
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.EDUCATION.E4'
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.EDUCATION.E3'
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.EDUCATION.E2'
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.EDUCATION.E1'
|
||||
},
|
||||
{
|
||||
key: 'ABOUT.EDUCATION.E0'
|
||||
}
|
||||
]
|
||||
|
||||
primarySkills = [
|
||||
'ABOUT.SKILLS.JAVA',
|
||||
'ABOUT.SKILLS.SPRING',
|
||||
@@ -74,6 +119,7 @@ export class AboutComponent {
|
||||
toolset = [
|
||||
'ABOUT.TOOLS.GIT',
|
||||
'ABOUT.TOOLS.GITHUB',
|
||||
'ABOUT.TOOLS.GITLAB',
|
||||
'ABOUT.TOOLS.JENKINS',
|
||||
'ABOUT.TOOLS.K8S',
|
||||
'ABOUT.TOOLS.POSTGRES',
|
||||
|
||||
@@ -1 +1 @@
|
||||
<p>projects works!</p>
|
||||
<p>Working in progress!</p>
|
||||
|
||||
@@ -27,7 +27,9 @@
|
||||
"SKILLS": "Fähigkeiten & Stack",
|
||||
"PRIMARY": "Schwerpunkte",
|
||||
"TOOLSET": "Toolset",
|
||||
"EXPERIENCE": "Erfahrung"
|
||||
"EXPERIENCE": "Erfahrung",
|
||||
"PROJECTS": "Projekte",
|
||||
"EDUCATION": "Ausbildung"
|
||||
},
|
||||
"SKILLS": {
|
||||
"JAVA": "Java 8/Java 21+",
|
||||
@@ -42,6 +44,7 @@
|
||||
"TOOLS": {
|
||||
"GIT": "Git",
|
||||
"GITHUB": "Github",
|
||||
"GITLAB": "Gitlab",
|
||||
"JENKINS": "Jenkins",
|
||||
"K8S": "Kubernetes / k3d",
|
||||
"POSTGRES": "PostgreSQL",
|
||||
@@ -49,7 +52,7 @@
|
||||
"GRAFANA": "Grafana/Prometheus"
|
||||
},
|
||||
"XP": {
|
||||
"COMPANY7": {
|
||||
"COMPANY8": {
|
||||
"COMPANY": "Teraport GmbH",
|
||||
"ROLE": "Senior Software Developer / Architect",
|
||||
"TIME": "Feb. 2024 – heute",
|
||||
@@ -59,7 +62,7 @@
|
||||
"P3": "Entwicklung eines Kostenanalysetools mit dem Namen MIDO."
|
||||
}
|
||||
},
|
||||
"COMPANY6": {
|
||||
"COMPANY7": {
|
||||
"COMPANY": "ColorDigital GmbH",
|
||||
"ROLE": "Lead Software Developer",
|
||||
"TIME": "März 2023 – Dez. 2023",
|
||||
@@ -69,7 +72,7 @@
|
||||
"P3": "Zusammenarbeit mit Partnern und Kund:innen bei der Integration ihrer Systeme in die DMIx-Cloud."
|
||||
}
|
||||
},
|
||||
"COMPANY5": {
|
||||
"COMPANY6": {
|
||||
"COMPANY": "ColorDigital GmbH",
|
||||
"ROLE": "Senior Software Developer",
|
||||
"TIME": "März 2021 – März 2023",
|
||||
@@ -79,7 +82,7 @@
|
||||
"P3": "Entwicklung von „PAX“, einem Tool für den Datenaustausch zwischen der DMIx-Cloud und PLM/ERP-Systemen, inkl. CI/CD-Integration."
|
||||
}
|
||||
},
|
||||
"COMPANY4": {
|
||||
"COMPANY5": {
|
||||
"COMPANY": "Assyst GmbH",
|
||||
"ROLE": "Teamleitung",
|
||||
"TIME": "Sep. 2015 – Feb. 2021",
|
||||
@@ -89,7 +92,7 @@
|
||||
"P3": "Steuerung strategischer Initiativen im Bereich 3D-Softwareentwicklung."
|
||||
}
|
||||
},
|
||||
"COMPANY3": {
|
||||
"COMPANY4": {
|
||||
"COMPANY": "Assyst GmbH",
|
||||
"ROLE": "Software Engineer",
|
||||
"TIME": "Apr. 2010 – Feb. 2021",
|
||||
@@ -99,7 +102,7 @@
|
||||
"P3": "Mitarbeit an nationalen und internationalen Forschungsprojekten (EU7 und ZIM)."
|
||||
}
|
||||
},
|
||||
"COMPANY2": {
|
||||
"COMPANY3": {
|
||||
"COMPANY": "Assyst GmbH",
|
||||
"ROLE": "Praktikum und Diplomarbeit",
|
||||
"TIME": "Apr. 2009 – Apr. 2010",
|
||||
@@ -109,7 +112,7 @@
|
||||
"P3": "Erfolgreiche Umsetzung des Diplomthemas in Vidya."
|
||||
}
|
||||
},
|
||||
"COMPANY1": {
|
||||
"COMPANY2": {
|
||||
"COMPANY": "TH Bingen (University of Applied Sciences)",
|
||||
"ROLE": "Tutor für Grundlagen der Java-Programmierung",
|
||||
"TIME": "Apr. 2008 – Aug. 2008",
|
||||
@@ -119,7 +122,7 @@
|
||||
"P3": "Unterstützung bei praktischen Programmierübungen."
|
||||
}
|
||||
},
|
||||
"COMPANY0": {
|
||||
"COMPANY1": {
|
||||
"COMPANY": "TH Bingen (University of Applied Sciences)",
|
||||
"ROLE": "Wissenschaftliche Hilfskraft",
|
||||
"TIME": "Okt. 2007 – Apr. 2008",
|
||||
@@ -128,6 +131,88 @@
|
||||
"P2": "Implementierung einer Java-basierten Schnittstelle zu Microsoft Excel.",
|
||||
"P3": "Integration des MIT-Exhibit-Frameworks und Vorbereitung für die CeBIT 2008."
|
||||
}
|
||||
},
|
||||
"COMPANY0": {
|
||||
"COMPANY": "Chamaeleon AG",
|
||||
"ROLE": "Ausbildung Fachinformatiker Anwendungsentwicklung",
|
||||
"TIME": "Jul. 2002 – Jun. 2005",
|
||||
"HIGHLIGHTS": {
|
||||
"P1": "Entwicklung in PERL, PHP und ASP.",
|
||||
"P2": "Portierung, Wartung und Reengineering von bestender Software.",
|
||||
"P3": "Regelmäßige Durchführung von Systemtests und Qualitätskontrollen, sowie deren Dokumentation."
|
||||
}
|
||||
}
|
||||
},
|
||||
"PROJECT": {
|
||||
"P2": {
|
||||
"TITLE": "Playground",
|
||||
"DESCRIPTION": "Dieses Projekt ist, wie der Name schon sagt, ein persönlicher Playground, der im Laufe der Zeit wachsen soll. Es präsentiert verschiedene private Projekte, an denen ich arbeite, und dokumentiert deren Fortschritt, zentrale Ideen und wichtige Meilensteine.",
|
||||
"LINK_EXTERNAL": "andreas-dahm.eu",
|
||||
"LINK_INTERNAL": "Projektdetails",
|
||||
"HIGHLIGHTS": {
|
||||
"P1": "Einsatz moderner Technologien und CI/CD-Pipelines (Angular 20+, Spring Boot 4, GitHub).",
|
||||
"P2": "Präsentation persönlicher Projekte und kontinuierliche Verbesserung algorithmischer Fähigkeiten.",
|
||||
"P3": "Vertiefung von JavaScript/TypeScript-, Angular- und Spring-Boot-Kenntnissen durch praktisches Arbeiten."
|
||||
}
|
||||
},
|
||||
"P1": {
|
||||
"TITLE": "El Mucho",
|
||||
"DESCRIPTION": "Dies ist mein erstes veröffentlichtes Spiel auf Steam. Ich habe es gemeinsam mit meinem Bruder entwickelt und damit eines meiner persönlichen Ziele erreicht: ein eigenes Videospiel zu erstellen und zu veröffentlichen.",
|
||||
"LINK_EXTERNAL": "Steam Store",
|
||||
"LINK_INTERNAL": "Projektdetails",
|
||||
"HIGHLIGHTS": {
|
||||
"P1": "Veröffentlichung eines Spiels auf Steam und Integration der Steam-API.",
|
||||
"P2": "Konzeption, Planung und vollständige Entwicklung eines eigenen Spiels.",
|
||||
"P3": "Implementierung komplexer Algorithmen wie einer eigenen A*-Pfadfindungslogik und Spiel-KI."
|
||||
}
|
||||
},
|
||||
"P0": {
|
||||
"TITLE": "Game Jams",
|
||||
"DESCRIPTION": "Dieser Bereich zeigt einige meiner bisherigen Game-Jam-Beiträge. Game Jams sind eine großartige Möglichkeit, neue Spielideen auszuprobieren und schnell zu überprüfen, ob ein Game-Loop funktioniert. Die engen Zeitvorgaben fördern den Fokus, es ist faszinierend, was man in so kurzer Zeit alles schaffen kann.",
|
||||
"LINK_EXTERNAL": "Itch.io Sammlung",
|
||||
"LINK_INTERNAL": "Projektdetails",
|
||||
"HIGHLIGHTS": {
|
||||
"P1": "Planung eines realistischen Projektumfangs mit einem Team, der innerhalb von 48 Stunden umsetzbar ist.",
|
||||
"P2": "Lernen, fokussiert und effizient unter strengen Zeitvorgaben zu arbeiten.",
|
||||
"P3": "Die Freude zu erleben, in kurzer Zeit ein spielbares Projekt zu erstellen und andere damit spielen zu sehen."
|
||||
}
|
||||
}
|
||||
},
|
||||
"EDUCATION": {
|
||||
"E6": {
|
||||
"WHERE": "FH Bingen (University of Applied Sciences)",
|
||||
"WHEN": "2006 - 2010",
|
||||
"WHAT": "Diplom (FH), Angewandte Informatik (Schnitt 1.4)"
|
||||
},
|
||||
"E5": {
|
||||
"WHERE": "FH Koblenz (University of Applied Sciences)",
|
||||
"WHEN": "2005 - 2006",
|
||||
"WHAT": "1 Semester Ingenieurinformatik"
|
||||
},
|
||||
"E4": {
|
||||
"WHERE": "BBS Montabaur",
|
||||
"WHEN": "2002 - 2005",
|
||||
"WHAT": "Ausbildung zum Fachinformatiker Anwendungsentwicklung"
|
||||
},
|
||||
"E3": {
|
||||
"WHERE": "BBS Andernach - Höhere Berufsbachschule (Informatik)",
|
||||
"WHEN": "2000 - 2002",
|
||||
"WHAT": "Fachhochschulreife"
|
||||
},
|
||||
"E2": {
|
||||
"WHERE": "BBS Andernach - Berufsfachschule Technik (E-Technik)",
|
||||
"WHEN": "1998 - 2000",
|
||||
"WHAT": "Realschulabschluss"
|
||||
},
|
||||
"E1": {
|
||||
"WHERE": "Hauptschule Hinter Burg Mayen (Albert Schweitzer Realschule plus)",
|
||||
"WHEN": "1995 - 1998 ",
|
||||
"WHAT": "Hauptschulabschluss"
|
||||
},
|
||||
"E0": {
|
||||
"WHERE": "Albert Schweitzer Realschule Mayen",
|
||||
"WHEN": "1993 - 1995",
|
||||
"WHAT": "Kein Abschluss. Wechsel zur Hauptschule"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,7 +27,9 @@
|
||||
"SKILLS": "Skills & Stack",
|
||||
"PRIMARY": "Core",
|
||||
"TOOLSET": "Toolset",
|
||||
"EXPERIENCE": "Experience"
|
||||
"EXPERIENCE": "Experience",
|
||||
"PROJECTS": "Projects",
|
||||
"EDUCATION": "Education"
|
||||
},
|
||||
"SKILLS": {
|
||||
"JAVA": "Java 8/Java 21+",
|
||||
@@ -41,14 +43,16 @@
|
||||
},
|
||||
"TOOLS": {
|
||||
"GIT": "Git",
|
||||
"GITHUB": "GITHUB",
|
||||
"GITHUB": "Github",
|
||||
"GITLAB": "Gitlab",
|
||||
"JENKINS": "Jenkins",
|
||||
"K8S": "Kubernetes / k3d",
|
||||
"POSTGRES": "PostgreSQL",
|
||||
"MONGO": "MongoDB",
|
||||
"GRAFANA": "Grafana/Prometheus"
|
||||
},
|
||||
"XP": {
|
||||
"COMPANY7": {
|
||||
"COMPANY8": {
|
||||
"COMPANY": "Teraport GmbH",
|
||||
"ROLE": "Senior Software Developer / Architect",
|
||||
"TIME": "Feb. 2024 – now",
|
||||
@@ -58,17 +62,17 @@
|
||||
"P3": "Development of a cost analysis tool called MIDO."
|
||||
}
|
||||
},
|
||||
"COMPANY6": {
|
||||
"COMPANY7": {
|
||||
"COMPANY": "ColorDigital GmbH",
|
||||
"ROLE": "Lead Software Developer",
|
||||
"TIME": "Mar. 2023 – Dec. 2023",
|
||||
"HIGHLIGHTS": {
|
||||
"P1": "Planning a new cloud architecture to migrate a large legacy monolith to a modern microservice-based platform.",
|
||||
"P2": "Led the development team of three to four backend engineers.",
|
||||
"P3": "Collaborated with partners and customers on integrating their systems with the DMIx"
|
||||
"P3": "Collaborated with partners and customers on integrating their systems with the DMIx."
|
||||
}
|
||||
},
|
||||
"COMPANY5": {
|
||||
"COMPANY6": {
|
||||
"COMPANY": "ColorDigital GmbH",
|
||||
"ROLE": "Senior Software Developer",
|
||||
"TIME": "Mar. 2021 – Mar. 2023",
|
||||
@@ -78,7 +82,7 @@
|
||||
"P3": "Development of 'PAX', a tool for data exchange between the DMIx cloud and customer PLM/ERP systems, including CI/CD integration."
|
||||
}
|
||||
},
|
||||
"COMPANY4": {
|
||||
"COMPANY5": {
|
||||
"COMPANY": "Assyst GmbH",
|
||||
"ROLE": "Team leadership",
|
||||
"TIME": "Sep. 2015 – Feb. 2021",
|
||||
@@ -88,7 +92,7 @@
|
||||
"P3": "Managed strategic initiatives in 3D software development."
|
||||
}
|
||||
},
|
||||
"COMPANY3": {
|
||||
"COMPANY4": {
|
||||
"COMPANY": "Assyst GmbH",
|
||||
"ROLE": "Software engineer",
|
||||
"TIME": "Apr. 2010 – Feb. 2021",
|
||||
@@ -98,7 +102,7 @@
|
||||
"P3": "Participated in national and international research projects (EU7 and ZIM)."
|
||||
}
|
||||
},
|
||||
"COMPANY2": {
|
||||
"COMPANY3": {
|
||||
"COMPANY": "Assyst GmbH",
|
||||
"ROLE": "Internship and Diploma",
|
||||
"TIME": "Apr. 2009 – Apr. 2010",
|
||||
@@ -108,8 +112,8 @@
|
||||
"P3": "Successfully implemented the diploma topic in Vidya."
|
||||
}
|
||||
},
|
||||
"COMPANY1": {
|
||||
"COMPANY": "TH bingen (University of Applied Sciences)",
|
||||
"COMPANY2": {
|
||||
"COMPANY": "TH Bingen (University of Applied Sciences)",
|
||||
"ROLE": "Tutorial for fundamentals of Java programming",
|
||||
"TIME": "Apr. 2008 – Aug. 2008",
|
||||
"HIGHLIGHTS": {
|
||||
@@ -118,8 +122,8 @@
|
||||
"P3": "Provided assistance during practical programming exercises."
|
||||
}
|
||||
},
|
||||
"COMPANY0": {
|
||||
"COMPANY": "TH bingen (University of Applied Sciences)",
|
||||
"COMPANY1": {
|
||||
"COMPANY": "TH Bingen (University of Applied Sciences)",
|
||||
"ROLE": "Research Asssitent",
|
||||
"TIME": "Oct. 2007 – Apr. 2008",
|
||||
"HIGHLIGHTS": {
|
||||
@@ -128,6 +132,78 @@
|
||||
"P3": "Integration of the MIT Exhibit framework and preparation for CeBIT 2008."
|
||||
}
|
||||
}
|
||||
},
|
||||
"PROJECT": {
|
||||
"P2": {
|
||||
"TITLE": "Playground",
|
||||
"DESCRIPTION": "This project is, as the name suggests, a personal playground that will grow over time. It showcases various private projects I’m working on and documents their progress, key ideas, and milestones.",
|
||||
"LINK_EXTERNAL": "andreas-dahm.eu",
|
||||
"LINK_INTERNAL": "Project details",
|
||||
"HIGHLIGHTS": {
|
||||
"P1": "Using modern technologies and CI/CD pipelines (Angular 20+, Spring Boot 4, GitHub).",
|
||||
"P2": "Showcasing personal projects and improving algorithmic skills over time.",
|
||||
"P3": "Deepening knowledge in JavaScript/TypeScript, Angular, Spring Boot and related technologies through hands-on practice."
|
||||
}
|
||||
},
|
||||
"P1": {
|
||||
"TITLE": "El Mucho",
|
||||
"DESCRIPTION": "This is my first published game on Steam. I developed it together with my brother, fulfilling one of my personal goals: creating and releasing my own video game.",
|
||||
"LINK_EXTERNAL": "Steam Store",
|
||||
"LINK_INTERNAL": "Project details",
|
||||
"HIGHLIGHTS": {
|
||||
"P1": "Publishing a game on Steam and integrating the Steam API.",
|
||||
"P2": "Designing, planning and developing a complete game from scratch.",
|
||||
"P3": "Implementing complex algorithms, including a custom A* pathfinding system and game AI logic."
|
||||
}
|
||||
},
|
||||
"P0": {
|
||||
"TITLE": "Game Jams",
|
||||
"DESCRIPTION": "This section showcases several of my past game jam creations. Game jams are a great way to explore new game ideas and quickly validate whether a game loop works. The tight time constraints force you to focus, and it’s always exciting to see what can be achieved within such a short timeframe.",
|
||||
"LINK_EXTERNAL": "Itch.io Collection",
|
||||
"LINK_INTERNAL": "Project details",
|
||||
"HIGHLIGHTS": {
|
||||
"P1": "Planning a realistic project scope with a team that can be built within 48 hours.",
|
||||
"P2": "Learning to stay focused and work effectively under strict time constraints.",
|
||||
"P3": "Experiencing the joy of creating a playable game in a short timeframe and seeing others enjoy it."
|
||||
}
|
||||
}
|
||||
},
|
||||
"EDUCATION": {
|
||||
"E6": {
|
||||
"WHERE": "FH Bingen (University of Applied Sciences)",
|
||||
"WHEN": "2006 – 2010",
|
||||
"WHAT": "Diploma (FH), Applied Computer Science (final grade 1.4)"
|
||||
},
|
||||
"E5": {
|
||||
"WHERE": "FH Koblenz (University of Applied Sciences)",
|
||||
"WHEN": "2005 – 2006",
|
||||
"WHAT": "1 semester of Engineering Informatics"
|
||||
},
|
||||
"E4": {
|
||||
"WHERE": "BBS Montabaur",
|
||||
"WHEN": "2002 – 2005",
|
||||
"WHAT": "Apprenticeship as IT Specialist for Application Development"
|
||||
},
|
||||
"E3": {
|
||||
"WHERE": "BBS Andernach – Higher Vocational School (Computer Science)",
|
||||
"WHEN": "2000 – 2002",
|
||||
"WHAT": "University entrance qualification (Fachhochschulreife)"
|
||||
},
|
||||
"E2": {
|
||||
"WHERE": "BBS Andernach – Vocational School for Technology (Electrical Engineering)",
|
||||
"WHEN": "1998 – 2000",
|
||||
"WHAT": "Secondary school certificate (Realschulabschluss)"
|
||||
},
|
||||
"E1": {
|
||||
"WHERE": "Hauptschule Hinter Burg Mayen (Albert Schweitzer Realschule Plus)",
|
||||
"WHEN": "1995 – 1998",
|
||||
"WHAT": "Lower secondary school certificate (Hauptschulabschluss)"
|
||||
},
|
||||
"E0": {
|
||||
"WHERE": "Albert Schweitzer Realschule Mayen",
|
||||
"WHEN": "1993 – 1995",
|
||||
"WHAT": "No degree (transferred to lower secondary school)"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
66
src/assets/logos/logo_chamaeleon.svg
Normal file
66
src/assets/logos/logo_chamaeleon.svg
Normal file
@@ -0,0 +1,66 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 19.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Konstruktion_Kopie" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px"
|
||||
y="0px" viewBox="0 0 216 120" style="enable-background:new 0 0 216 120;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{fill:#58585A;}
|
||||
.st1{fill:#007CBF;}
|
||||
</style>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st0" d="M0.8,108.8V108c0-6.7,3.5-10.6,8.1-10.6c2,0,3.5,0.7,5,2l-2,3.4c-0.7-0.7-1.6-1.5-2.9-1.5c-2.3,0-4,2.6-4,7
|
||||
v0.3c0,4.5,1.6,7,4.1,6.9c1.3,0,2.1-0.7,2.9-1.6l2,3.1c-1.2,1.4-3,2.3-5.3,2.3C4,119.3,0.8,115.5,0.8,108.8z"/>
|
||||
<path class="st0" d="M16.7,90.5h4.1v10.2c1-1.8,2.4-3.3,4.9-3.3c3.3,0,5.3,2.5,5.3,6.6v15h-4.1v-13.9c0-2.6-1.1-4-2.9-4
|
||||
s-3.1,1.5-3.1,4v13.8h-4.1V90.5z"/>
|
||||
<path class="st0" d="M33.9,112.9v-0.4c0-4.5,2.5-6.8,6.2-6.8c1.5,0,2.7,0.4,3.9,0.8v-1.3c0-2.7-1.5-4-3.8-4c-1.7,0-3.2,0.8-4,1.3
|
||||
l-1.3-3.4c1.7-0.9,3.6-1.6,5.9-1.6c2.3,0,4.1,0.7,5.3,1.9c1.3,1.3,2,3.2,2,5.7v13.8H44v-2.5c-1,1.8-2.6,2.9-4.7,2.9
|
||||
C36.2,119.3,33.9,116.9,33.9,112.9z M44,112.4v-2.9c-0.8-0.4-1.9-0.6-2.9-0.6c-2,0-3.1,1.4-3.1,3.6v0.2c0,2.2,1.1,3.4,2.7,3.5
|
||||
C42.5,116.1,44,114.4,44,112.4z"/>
|
||||
<path class="st0" d="M51.9,97.7h4.1v2.9c1-1.9,2.5-3.3,4.8-3.3c2.1,0,3.7,1.1,4.6,3c1.1-1.6,2.6-3,5.1-3c3.1,0,5.4,2.2,5.4,6.6v15
|
||||
h-4.1v-13.8c0-2.7-1-4-2.8-4c-1.8,0-3,1.5-3,4.1v13.8h-4.2v-13.8c0-2.7-1-4-2.7-4c-1.8,0-3,1.6-3,4.1v13.8h-4.1V97.7z"/>
|
||||
<path class="st0" d="M78.9,112.9v-0.4c0-4.5,2.5-6.8,6.2-6.8c1.5,0,2.7,0.4,3.9,0.8v-1.3c0-2.7-1.5-4-3.8-4c-1.7,0-3.2,0.8-4,1.3
|
||||
l-1.3-3.4c1.7-0.9,3.6-1.6,5.9-1.6c2.3,0,4.1,0.7,5.3,1.9c1.3,1.3,2,3.2,2,5.7v13.8H89v-2.5c-1,1.8-2.6,2.9-4.7,2.9
|
||||
C81.3,119.3,78.9,116.9,78.9,112.9z M89,112.4v-2.9c-0.8-0.4-1.9-0.6-2.9-0.6c-2,0-3.1,1.4-3.1,3.6v0.2c0,2.2,1.1,3.4,2.7,3.5
|
||||
C87.5,116.1,89,114.4,89,112.4z"/>
|
||||
<path class="st0" d="M96.2,108.7v-0.6c0-6.7,3.3-10.8,7.6-10.8c4.7,0,7.3,4.2,7.3,10.8c0,0.2,0,1,0,1.9h-10.7
|
||||
c0.3,3.7,2.2,5.6,4.6,5.6c1.6,0,2.8-0.9,3.9-2l1.9,3.1c-1.8,1.6-3.7,2.5-6.1,2.5C99.9,119.3,96.2,115.5,96.2,108.7z M107.1,107
|
||||
c-0.1-3.6-1.3-6.1-3.3-6.1c-1.9,0-3.3,2.2-3.5,6.1H107.1z"/>
|
||||
<path class="st0" d="M114.4,90.5h4.1v28.4h-4.1V90.5z"/>
|
||||
<path class="st0" d="M122,108.7v-0.6c0-6.7,3.3-10.8,7.6-10.8c4.7,0,7.3,4.2,7.3,10.8c0,0.2,0,1,0,1.9h-10.7
|
||||
c0.3,3.7,2.2,5.6,4.6,5.6c1.6,0,2.8-0.9,3.9-2l1.9,3.1c-1.8,1.6-3.7,2.5-6.1,2.5C125.8,119.3,122,115.5,122,108.7z M132.9,107
|
||||
c-0.1-3.6-1.3-6.1-3.3-6.1c-1.9,0-3.3,2.2-3.5,6.1H132.9z"/>
|
||||
<path class="st0" d="M139.4,108.7v-0.7c0-6.5,3.4-10.7,8-10.7c4.6,0,8,4.1,8,10.6v0.7c0,6.5-3.4,10.6-8,10.6
|
||||
C142.7,119.3,139.4,115.2,139.4,108.7z M151.2,108.6v-0.4c0-4.3-1.6-7.1-3.9-7.1c-2.3,0-3.9,2.8-3.9,7.1v0.4
|
||||
c0,4.3,1.6,7.1,3.9,7.1C149.7,115.7,151.2,112.8,151.2,108.6z"/>
|
||||
<path class="st0" d="M158.7,97.7h4.1v2.9c1-1.8,2.4-3.3,4.9-3.3c3.3,0,5.3,2.5,5.3,6.6v15h-4.1v-13.9c0-2.6-1.1-4-2.9-4
|
||||
s-3.1,1.5-3.1,4v13.8h-4.1V97.7z"/>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M189.3,96l-6.5,22.9h3.9l1.4-5.1h6.1l1.4,5.1h4.1L193.1,96H189.3z M193.2,110.2H189l2.1-7.7L193.2,110.2z"/>
|
||||
<path class="st0" d="M208.3,106.1v3.5h3.5v5.4c-0.5,0.3-1.3,0.5-2,0.5c-3.1,0-5.1-3-5.1-7.8v-0.4c0-4.6,2-7.7,5-7.7
|
||||
c1.3,0,2.4,0.5,3.3,1.5l0.2,0.2l2.2-3.3l-0.2-0.1c-1.6-1.4-3.4-2-5.6-2c-5.4,0-9,4.6-9,11.4v0.4c0,7,3.4,11.4,8.9,11.4
|
||||
c2,0,3.9-0.6,5.9-1.9l0.1-0.1v-11.1H208.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<path class="st0" d="M92.2,50.7C93.8,33,107.1,18,125.4,14.9c21.7-3.6,42.3,11.1,45.9,32.8c0.2,1.3,0.4,2.6,0.5,4
|
||||
c0.4-5.3-0.4-9.6-0.4-9.6c-4.8-27-30.5-45.1-57.6-40.6C101.4,3.6,90.9,10,83.4,18.9c0.6-4.6,0.4-10.2-1.9-7.8
|
||||
c-3.2,3.3-13.2,6.4-16.5,7.1c0,0,0,0,0,0c-8.5,1.9-15.8,9-18.9,21.8c-3,12.1-14.5,20.2-14.6,20.3l0,0c7,8,26.7-3.2,26.9-3.3
|
||||
l0.9,1.8c-0.2,0.1-8.5,4.8-18.4,5.9c0,0,10.7,5.2,32-3.5c0,0,0,0,0,0c0,0,0.4-0.2,1.1-0.5c0.2-0.1,0.4-0.2,0.7-0.3c0,0,0,0,0,0
|
||||
C78.2,58.8,86.4,54.6,92.2,50.7z M64,40.9c-4.7,1.3-9.7-1.5-11-6.2c-1.3-4.7,1.5-9.7,6.2-11c4.7-1.3,9.7,1.5,11,6.2
|
||||
C71.5,34.6,68.7,39.6,64,40.9z"/>
|
||||
</g>
|
||||
<path class="st1" d="M89.3,21.2c-0.4-2.3-1-4.5-1.7-6.7c-1.5,1.4-2.9,2.9-4.2,4.4c0.6-4.6,0.4-10.2-1.9-7.8
|
||||
c-3.2,3.3-13.2,6.4-16.5,7.1c0,0,0,0,0,0c-8.5,1.9-15.8,9-18.9,21.8c-3,12.1-14.5,20.2-14.6,20.3l0,0c7,8,26.7-3.2,26.9-3.3l0.9,1.8
|
||||
c-0.2,0.1-8.5,4.8-18.4,5.9c0,0,0.7,0.3,1.9,0.7c2.7,0.6,5.4,0.9,8.2,0.9c2.5,0,5.5-0.3,8.9-1C79.7,60.7,92.7,41.5,89.3,21.2z
|
||||
M53,34.6c-1.3-4.7,1.5-9.7,6.2-11c4.7-1.3,9.7,1.5,11,6.2c1.3,4.7-1.5,9.7-6.2,11C59.2,42.2,54.3,39.4,53,34.6z"/>
|
||||
<path class="st1" d="M65.7,35.7c1.5-0.4,2.3-1.6,2-3.5c-0.1-1-1.1-2.4-3.3-2.1c-2.2,0.4-2.1,2.2-1.8,3.5
|
||||
C62.9,34.8,64.2,36.1,65.7,35.7z"/>
|
||||
<path class="st1" d="M171.3,47.8c-3.6-21.7-24.2-36.4-45.9-32.8c-18.3,3-31.6,18.1-33.2,35.8c0.2-0.2,0.5-0.3,0.7-0.5
|
||||
c0.8,0.3,2.6,0.5,5,0.6c-0.1,1.5-0.8,4.2-4.1,6.4C92,58.5,91,59.4,89,59.9c-3.3,0.8-6.8,2.9-7.3,3.7c-0.5,0.8-0.4,1-0.1,1.5
|
||||
c0.5,0.6,1.3,1,5.6,0.6c2.9-0.2,4.8-0.6,5.4-0.6c0.6-0.1,0.7-0.7,0.9-1.4c0.9-3.4,15.2-6.8,16.2-10.8c0.2-0.7,0.2-1.5,0.2-2.2
|
||||
c4.4-0.2,9.2-0.7,13.9-1.2c-0.4,0.7-0.7,1.4-0.9,2.1c-0.9,3.1-0.1,6.7,0.7,9.1c-4.1,1.1-6.4,2.8-6.4,3.8c0,1,3.8,1.5,6.9,1.4
|
||||
c2.3-0.1,5.1-0.1,5.6-0.7c0.4-0.4,0.6-0.7,0.1-1.9c-0.3-0.6-1.7-4.1,0.5-8.1c1.7-3,2.8-3.8,9.6-7.1c2.4-1.2,4.5-2.1,6.4-2.9
|
||||
c3.1-0.5,6.5-0.6,9.2,0.4c3.6,1.3,5.5,3.8,6.2,7.9c0.8,4.3-2.6,9.3-6.6,9.9l-1-1.9c3.5-0.6,5.8-3.9,5.3-7.4c-0.6-3.9-3-6.9-8.8-6.6
|
||||
c-2.8,0.2-4.2,1-6.4,2.6c-10.7,9.1,0.6,24.8,12.4,21.9c11.5-2.9,14.6-12.7,15.1-20.2C171.6,50.4,171.5,49.1,171.3,47.8z"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
@@ -27,12 +27,16 @@ $dark-theme: mat.define-theme((
|
||||
--app-fg: #{mat.get-theme-color($light-theme, on-surface)};
|
||||
--app-card-background: #fafafa;
|
||||
--app-logo-bg: #313131;
|
||||
--link-color: #38a7ff;
|
||||
--link-color-hover: #66bfff;
|
||||
}
|
||||
.dark {
|
||||
--app-bg: #{mat.get-theme-color($dark-theme, surface-container-low)};
|
||||
--app-fg: #{mat.get-theme-color($dark-theme, on-surface)};
|
||||
--app-card-background: #313131;
|
||||
--app-logo-bg: #313131;
|
||||
--link-color: #6dbcff;
|
||||
--link-color-hover: #9ad2ff;
|
||||
}
|
||||
|
||||
/* ---- global background and tests ---- */
|
||||
@@ -69,3 +73,15 @@ body {
|
||||
box-shadow 220ms ease,
|
||||
fill 220ms ease;
|
||||
}
|
||||
|
||||
/* links */
|
||||
a {
|
||||
color: var(--link-color);
|
||||
text-decoration: none;
|
||||
font-weight: 500;
|
||||
|
||||
&:hover {
|
||||
color: var(--link-color-hover);
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user