Compare commits

..

4 Commits

Author SHA1 Message Date
Christoph Hagen
5bad3524cf Update Data.swift 2025-01-31 22:17:30 +01:00
Christoph Hagen
7471f06c52 Don't use links until bug is fixed 2023-12-05 14:47:52 +01:00
Christoph Hagen
828162ee36 Create .gitignore 2023-12-03 09:23:55 +01:00
Christoph Hagen
f1f770c859 Update city 2023-12-03 09:23:47 +01:00
3 changed files with 29 additions and 23 deletions

2
.gitignore vendored Normal file
View File

@@ -0,0 +1,2 @@
.DS_Store

View File

@@ -32,13 +32,19 @@ let cvInfoEnglish = CVInfo(
imageName: "Cover", imageName: "Cover",
name: "Christoph Hagen", name: "Christoph Hagen",
tagLine: "Problem solver and creative mind with a favour for interdisciplinary work.", tagLine: "Problem solver and creative mind with a favour for interdisciplinary work.",
place: "Würzburg, Germany", place: "Munich, Germany",
ageText: "Age 32", ageText: "Age 33",
web: "christophhagen.de", web: "christophhagen.de",
email: "jobs@christophhagen.de", email: "jobs@christophhagen.de",
phone: "Upon Request", phone: "Upon Request",
github: "github.com/christophhagen"), github: "github.com/christophhagen"),
work: .init(title: "Work experience", items: [ work: .init(title: "Work experience", items: [
CareerStation(
time: "May 2024 - Present",
location: "Oberpfaffenhofen, Germany",
title: "German Aerospace Center",
subtitle: "Software Developer",
text: "Development of the mission control system of the LUNA moon simulator hall for robotic experiments and astronaut training."),
CareerStation( CareerStation(
time: "Jul 2020 - Jul 2023", time: "Jul 2020 - Jul 2023",
location: "Braunschweig, Germany", location: "Braunschweig, Germany",
@@ -57,12 +63,6 @@ let cvInfoEnglish = CVInfo(
title: "National Institute of Informatics", title: "National Institute of Informatics",
subtitle: "Research Intern (Intelligent Robotics)", subtitle: "Research Intern (Intelligent Robotics)",
text: "Topic: Concept Acquisition through interactions between Humans and Robots"), text: "Topic: Concept Acquisition through interactions between Humans and Robots"),
CareerStation(
time: "Sep 2014 - Nov 2016",
location: "Würzburg, Germany",
title: "Julius-Maximilians-Universität",
subtitle: "Research & Teaching Assistant",
text: "Teaching exercises and robotics workshops, design of a modular robot arm connector.")
]), ]),
education: .init(title: "Education", items: [ education: .init(title: "Education", items: [
CareerStation( CareerStation(
@@ -124,13 +124,19 @@ let cvInfoGerman = CVInfo(
imageName: "Cover", imageName: "Cover",
name: "Christoph Hagen", name: "Christoph Hagen",
tagLine: "Problemlöser und kreativer Kopf mit einer Vorliebe für interdisziplinäre Arbeit.", tagLine: "Problemlöser und kreativer Kopf mit einer Vorliebe für interdisziplinäre Arbeit.",
place: "Würzburg", place: "München",
ageText: "32 Jahre", ageText: "33 Jahre",
web: "christophhagen.de", web: "christophhagen.de",
email: "jobs@christophhagen.de", email: "jobs@christophhagen.de",
phone: "Auf Anfrage", phone: "Auf Anfrage",
github: "github.com/christophhagen"), github: "github.com/christophhagen"),
work: .init(title: "Berufserfahrung", items: [ work: .init(title: "Berufserfahrung", items: [
CareerStation(
time: "Mai 2024 - Heute",
location: "Oberpfaffenhofen",
title: "Deutsches Zentrum für Luft- und Raumfahrt",
subtitle: "Softwareentwickler",
text: "Entwicklung des Missionskontrollsystems der LUNA Mondsimulationshalle für robotische Experimente und Astronautentraining."),
CareerStation( CareerStation(
time: "Jul 2020 - Jul 2023", time: "Jul 2020 - Jul 2023",
location: "Braunschweig", location: "Braunschweig",
@@ -148,13 +154,7 @@ let cvInfoGerman = CVInfo(
location: "Tokio, Japan", location: "Tokio, Japan",
title: "National Institute of Informatics", title: "National Institute of Informatics",
subtitle: "Praktikant (Intelligente Robotik)", subtitle: "Praktikant (Intelligente Robotik)",
text: "Thema: Concept Acquisition through interactions between Humans and Robots"), text: "Thema: Concept Acquisition through interactions between Humans and Robots")
CareerStation(
time: "Sep 2014 - Nov 2016",
location: "Würzburg",
title: "Julius-Maximilians-Universität",
subtitle: "Übungsleiter und wissenschaftlicher Mitarbeiter",
text: "Leitung von Übungen und Robotikworkshops, Entwurf einer modularen Verbindung für einen Roboterarm.")
]), ]),
education: .init(title: "Bildung", items: [ education: .init(title: "Bildung", items: [
CareerStation( CareerStation(

View File

@@ -53,25 +53,29 @@ struct TopView: View {
lineWidth: style.imageBorderWidth) lineWidth: style.imageBorderWidth)
VStack(alignment: .trailing) { VStack(alignment: .trailing) {
LeftImageLabel(systemSymbol: .globe) { LeftImageLabel(systemSymbol: .globe) {
Link(info.web, destination: URL(string: "https://" + info.web)!) Text(info.web)
//Link(info.web, destination: URL(string: "https://" + info.web)!)
} }
.frame(maxHeight: style.iconHeight) .frame(maxHeight: style.iconHeight)
Spacer() Spacer()
LeftImageLabel(systemSymbol: .envelope) { LeftImageLabel(systemSymbol: .envelope) {
Link(info.email, destination: URL(string: "mailto:" + info.email)!) Text(info.email)
.disabled(!isValidEmail) //Link(info.email, destination: URL(string: "mailto:" + info.email)!)
//.disabled(!isValidEmail)
} }
.frame(maxHeight: style.iconHeight) .frame(maxHeight: style.iconHeight)
Spacer() Spacer()
LeftImageLabel(systemSymbol: .phone) { LeftImageLabel(systemSymbol: .phone) {
Link(info.phone, destination: URL(string: "tel:" + info.phone)!) Text(info.phone)
.disabled(!isValidPhoneNumber) //Link(info.phone, destination: URL(string: "tel:" + info.phone)!)
//.disabled(!isValidPhoneNumber)
} }
.frame(maxHeight: style.iconHeight) .frame(maxHeight: style.iconHeight)
Spacer() Spacer()
HStack(spacing: 0) { HStack(spacing: 0) {
Spacer() Spacer()
Link(info.github, destination: URL(string: "https://" + info.github)!) Text(info.github)
//Link(info.github, destination: URL(string: "https://" + info.github)!)
Image("Github") Image("Github")
.resizable() .resizable()
.aspectRatio(1.0, contentMode: .fit) .aspectRatio(1.0, contentMode: .fit)