improve: text and design for the imprint

This commit is contained in:
2026-05-14 14:14:20 +02:00
parent afcee10431
commit 3bc31ec45f
6 changed files with 105 additions and 35 deletions
+3 -1
View File
@@ -16,9 +16,11 @@
<div class="hero-visual"> <div class="hero-visual">
<div class="portrait-highlight legal-contact-box"> <div class="portrait-highlight legal-contact-box">
<p class="hero-contact-title">{{ content().imprint.provider }}</p> <p class="hero-contact-title">{{ content().imprint.provider }}</p>
<p class="legal-provider-name">{{ global.firstname }} {{ global.lastname }} / Lechner Systems</p> <p class="legal-provider-name">{{ global.firstname }} {{ global.lastname }}</p>
<p>- Lechner Systems -</p>
<p>{{ global.address.street }} {{ global.address.houseNumber }}</p> <p>{{ global.address.street }} {{ global.address.houseNumber }}</p>
<p>{{ global.address.zip }} {{ global.address.city }}</p> <p>{{ global.address.zip }} {{ global.address.city }}</p>
<p>{{ global.address.state }}</p>
<p>{{ global.address.country }}</p> <p>{{ global.address.country }}</p>
<hr /> <hr />
<p class="hero-contact-title">{{ content().imprint.directContact }}</p> <p class="hero-contact-title">{{ content().imprint.directContact }}</p>
+3 -2
View File
@@ -5,7 +5,7 @@ export const global: Global = {
lastname: 'Lechner', lastname: 'Lechner',
contactMail: 'fraujulian@lechner.top', contactMail: 'fraujulian@lechner.top',
abuseMail: 'abuse@lechner-systems.at', abuseMail: 'abuse@lechner-systems.at',
contactPhone: '+43 (0) 660 9254001', contactPhone: '+43 660 9254001',
hrefContactPhone: '+436609254001', hrefContactPhone: '+436609254001',
birthdate: '2009-03-03', birthdate: '2009-03-03',
address: { address: {
@@ -13,6 +13,7 @@ export const global: Global = {
houseNumber: 9, houseNumber: 9,
zip: 3380, zip: 3380,
city: 'Pöchlarn', city: 'Pöchlarn',
country: 'Austria', state: 'Niederösterreich',
country: 'Österreich',
}, },
}; };
+1
View File
@@ -3,6 +3,7 @@ export interface ImprintData {
houseNumber: number; houseNumber: number;
zip: number; zip: number;
city: string; city: string;
state: string;
country: string; country: string;
} }
+15 -15
View File
@@ -48,45 +48,45 @@ export const deLanguage: LanguagePack = {
legalEyebrow: 'Rechtliches', legalEyebrow: 'Rechtliches',
title: 'Impressum & Datenschutz', title: 'Impressum & Datenschutz',
intro: intro:
'Rechtliche Informationen zu dieser Website nach österreichischem Recht, inklusive Datenschutzinformationen für Websites von {{firstname}} {{lastname}} (Lechner Systems).', 'Rechtliche Informationen nach österreichischem Recht sowie Datenschutzinformationen gemäß DSGVO für diese Website von {{firstname}} {{lastname}}, handelnd unter Lechner Systems.',
backToPortfolio: 'Zurück zum Portfolio', backToPortfolio: 'Zurück zum Portfolio',
provider: 'Anbieter', provider: 'Anbieter',
directContact: 'Direkter Kontakt', directContact: 'Direkter Kontakt',
phone: 'Telefon', phone: 'Telefon',
contact: 'Kontakt', contact: 'E-Mail',
abuse: 'Missbrauch', abuse: 'Abuse E-Mail',
scopeEyebrow: 'Geltungsbereich', scopeEyebrow: 'Geltungsbereich',
scopeTitle: 'Geltungsbereich dieser Hinweise', scopeTitle: 'Geltungsbereich dieser Hinweise',
scopeLeft: scopeLeft:
'Diese Hinweise gelten für diese Website und, sofern dort keine spezielleren Hinweise veröffentlicht sind, auch für andere Websites von Julian Lechner unter dem Namen Lechner Systems.', 'Diese Angaben gelten für diese Portfolio-Website und für Inhalte, die unmittelbar über diese Domain bereitgestellt werden. Für verlinkte externe Websites gelten die Hinweise der jeweiligen Betreiber.',
scopeRight: scopeRight:
'Diese Website informiert über Projekte, technische Dienstleistungen, Kontaktmöglichkeiten und berufliche Arbeit in Softwareentwicklung, IT und verwandten digitalen Dienstleistungen.', 'Die Website dient der Darstellung von Projekten, technischen Dienstleistungen und Kontaktmöglichkeiten im Bereich Softwareentwicklung, IT und digitale Systeme. Ein Vertragsabschluss erfolgt nicht automatisch über diese Website.',
privacyEyebrow: 'Datenschutz', privacyEyebrow: 'Datenschutz',
privacyTitle: 'Datenschutz & Datenverarbeitung', privacyTitle: 'Datenschutz & Datenverarbeitung',
privacyLeftParagraphs: [ privacyLeftParagraphs: [
'Verantwortlicher für die Datenverarbeitung im Sinne der DSGVO ist {{firstname}} {{lastname}}, erreichbar unter {{contactMail}} sowie telefonisch unter {{contactPhone}}.', 'Verantwortlicher für die Datenverarbeitung im Sinne der Datenschutz-Grundverordnung (DSGVO) ist {{firstname}} {{lastname}}, erreichbar unter {{contactMail}} sowie telefonisch unter {{contactPhone}}.',
'In der aktuellen Umsetzung dieses Webprojekts verwendet diese Website kein eigenes Tracking, keine Analyse-Cookies, keine Marketing-Cookies und keine langfristigen persönlichen Nutzungsprofile.', 'Diese Website verwendet nach aktuellem Stand kein eigenes Tracking, keine Analyse-Cookies, keine Marketing-Cookies und keine langfristigen persönlichen Nutzungsprofile.',
'Beim informatorischen Zugriff auf die Website können technisch notwendige Verbindungs- und Serverdaten für Betrieb, IT-Sicherheit, Missbrauchsprävention und Fehleranalyse verarbeitet werden.', 'Beim Aufruf der Website können technisch notwendige Server- und Verbindungsdaten verarbeitet werden, insbesondere IP-Adresse, Datum und Uhrzeit des Zugriffs, angeforderte Ressource, übertragene Datenmenge, Browser- und Betriebssysteminformationen sowie Referrer, soweit diese Daten vom Browser übermittelt werden.',
], ],
privacyRightParagraphs: [ privacyRightParagraphs: [
'Wenn du mich per E-Mail oder Telefon kontaktierst, werden die von dir angegebenen Daten zur Bearbeitung deiner Anfrage und zur Kommunikation verarbeitet.', 'Die Verarbeitung erfolgt zur Bereitstellung der Website, zur Sicherstellung der technischen Stabilität und Sicherheit, zur Missbrauchsprävention, zur Fehleranalyse sowie zur Bearbeitung von Kontaktanfragen. Rechtsgrundlagen sind insbesondere Art. 6 Abs. 1 lit. f DSGVO und, bei vorvertraglicher Kommunikation, Art. 6 Abs. 1 lit. b DSGVO.',
'Personenbezogene Daten werden nur weitergegeben, wenn es gesetzlich erforderlich ist, zur Durchsetzung rechtlicher Ansprüche benötigt wird oder ausdrücklich von dir veranlasst wurde.', 'Wenn du per E-Mail oder Telefon Kontakt aufnimmst, werden die von dir übermittelten Angaben zur Bearbeitung der Anfrage und zur weiteren Kommunikation verarbeitet. Eine Weitergabe personenbezogener Daten erfolgt nur, wenn sie gesetzlich erforderlich ist, zur Rechtsdurchsetzung benötigt wird oder von dir veranlasst wurde.',
'Daten werden nur so lange gespeichert, wie es für Kommunikation, Bearbeitung von Anfragen und gesetzliche Aufbewahrungspflichten erforderlich ist.', 'Personenbezogene Daten werden nur so lange gespeichert, wie es für die genannten Zwecke, gesetzliche Aufbewahrungspflichten oder die Abwehr und Durchsetzung rechtlicher Ansprüche erforderlich ist.',
], ],
rightsEyebrow: 'Rechte', rightsEyebrow: 'Rechte',
rightsTitle: 'Betroffenenrechte & Beschwerden', rightsTitle: 'Betroffenenrechte & Beschwerden',
rightsLeft: rightsLeft:
'Betroffene Personen haben im Rahmen der gesetzlichen Vorgaben das Recht auf Auskunft, Berichtigung, Löschung, Einschränkung der Verarbeitung, Datenübertragbarkeit und Widerspruch.', 'Betroffene Personen haben im Rahmen der gesetzlichen Voraussetzungen Rechte auf Auskunft, Berichtigung, Löschung, Einschränkung der Verarbeitung, Datenübertragbarkeit und Widerspruch. Soweit eine Verarbeitung auf Einwilligung beruht, kann diese Einwilligung jederzeit mit Wirkung für die Zukunft widerrufen werden.',
rightsRight: rightsRight:
'Beschwerden können bei der österreichischen Datenschutzbehörde eingereicht werden: Barichgasse 40-42, 1030 Wien, E-Mail dsb@dsb.gv.at, Website dsb.gv.at.', 'Beschwerden können bei der österreichischen Datenschutzbehörde eingebracht werden: Barichgasse 40-42, 1030 Wien, E-Mail dsb@dsb.gv.at, Website dsb.gv.at.',
copyrightEyebrow: 'Urheberrecht', copyrightEyebrow: 'Urheberrecht',
copyrightTitle: 'Urheberrecht, externe Links & anwendbares Recht', copyrightTitle: 'Urheberrecht, externe Links & anwendbares Recht',
copyrightLeftParagraphs: [ copyrightLeftParagraphs: [
'Alle Inhalte dieser Website, einschließlich Texte, Bilder, Grafiken, Fotos, Layouts, Quellcode und sonstige Werke, sind urheberrechtlich geschützt, sofern nicht anders angegeben.', 'Alle Inhalte dieser Website, einschließlich Texte, Bilder, Grafiken, Fotos, Layouts, Quellcode und sonstige Werke, sind urheberrechtlich geschützt, sofern nicht anders angegeben.',
'Jede Nutzung außerhalb der gesetzlichen Ausnahmen benötigt eine vorherige schriftliche Zustimmung des jeweiligen Rechteinhabers.', 'Jede Nutzung außerhalb der gesetzlichen Schranken des Urheberrechts benötigt eine vorherige schriftliche Zustimmung des jeweiligen Rechteinhabers.',
], ],
copyrightRightParagraphs: [ copyrightRightParagraphs: [
'Diese Website kann Links zu externen Websites enthalten. Für deren Inhalte sind ausschließlich die jeweiligen Betreiber verantwortlich.', 'Diese Website kann Links zu externen Websites enthalten. Für deren Inhalte, Datenschutzpraxis und technische Sicherheit sind ausschließlich die jeweiligen Betreiber verantwortlich.',
'Es gilt ausschließlich österreichisches Recht, sofern keine zwingenden Verbraucherschutzbestimmungen etwas anderes vorgeben.', 'Es gilt ausschließlich österreichisches Recht, sofern keine zwingenden Verbraucherschutzbestimmungen etwas anderes vorgeben.',
], ],
}, },
+13 -13
View File
@@ -48,35 +48,35 @@ export const enLanguage: LanguagePack = {
legalEyebrow: 'Legal', legalEyebrow: 'Legal',
title: 'Imprint & Privacy', title: 'Imprint & Privacy',
intro: intro:
'Legal information for this website under Austrian law, including privacy information for websites operated by {{firstname}} {{lastname}} (Lechner Systems).', 'Legal information under Austrian law and privacy information under the GDPR for this website operated by {{firstname}} {{lastname}}, trading as Lechner Systems.',
backToPortfolio: 'Back to portfolio', backToPortfolio: 'Back to portfolio',
provider: 'Provider', provider: 'Provider',
directContact: 'Direct Contact', directContact: 'Direct Contact',
phone: 'Phone', phone: 'Phone',
contact: 'Contact', contact: 'Email',
abuse: 'Abuse', abuse: 'Abuse Email',
scopeEyebrow: 'Scope', scopeEyebrow: 'Scope',
scopeTitle: 'Scope Of These Notices', scopeTitle: 'Scope Of These Notices',
scopeLeft: scopeLeft:
'These notices apply to this website and, unless a more specific notice is published there, to other websites operated by Julian Lechner under the name Lechner Systems.', 'These notices apply to this portfolio website and to content made available directly through this domain. Linked third-party websites are subject to the notices of their respective operators.',
scopeRight: scopeRight:
'This website provides information about projects, technical services, contact options, and professional work in software engineering, IT, and related digital services.', 'The website presents projects, technical services, and contact options in the field of software engineering, IT, and digital systems. No contract is concluded automatically through this website.',
privacyEyebrow: 'Privacy', privacyEyebrow: 'Privacy',
privacyTitle: 'Privacy And Data Processing', privacyTitle: 'Privacy And Data Processing',
privacyLeftParagraphs: [ privacyLeftParagraphs: [
'The controller for data processing within the meaning of the GDPR is {{firstname}} {{lastname}}, reachable at {{contactMail}} and by phone at {{contactPhone}}.', 'The controller for data processing within the meaning of the General Data Protection Regulation (GDPR) is {{firstname}} {{lastname}}, reachable at {{contactMail}} and by phone at {{contactPhone}}.',
'As currently implemented in this web project, this website does not use its own tracking, analytics cookies, marketing cookies, or long-term personal usage profiling.', 'As currently implemented, this website does not use its own tracking, analytics cookies, marketing cookies, or long-term personal usage profiling.',
'For informational website access, technically necessary connection and server data may be processed for operation, IT security, abuse prevention, and troubleshooting.', 'When the website is accessed, technically necessary server and connection data may be processed, especially IP address, access date and time, requested resource, transferred data volume, browser and operating system information, and referrer where this data is transmitted by the browser.',
], ],
privacyRightParagraphs: [ privacyRightParagraphs: [
'If you contact me by email or phone, the data you provide is processed to handle your request and maintain communication.', 'Processing takes place to provide the website, maintain technical stability and security, prevent abuse, analyze errors, and handle contact requests. The legal bases include Art. 6(1)(f) GDPR and, for pre-contractual communication, Art. 6(1)(b) GDPR.',
'Personal data is disclosed only where legally required, needed for legal claims, or explicitly initiated by you.', 'If you contact me by email or phone, the information you provide is processed to handle your request and continue communication. Personal data is disclosed only where legally required, needed for legal claims, or initiated by you.',
'Data is stored only as long as required for communication, request handling, and legal retention duties.', 'Personal data is stored only as long as necessary for the stated purposes, statutory retention duties, or the establishment, exercise, or defense of legal claims.',
], ],
rightsEyebrow: 'Rights', rightsEyebrow: 'Rights',
rightsTitle: 'Data Subject Rights And Complaints', rightsTitle: 'Data Subject Rights And Complaints',
rightsLeft: rightsLeft:
'Subject to statutory requirements, data subjects have the right of access, rectification, erasure, restriction of processing, data portability, and objection.', 'Subject to statutory requirements, data subjects have rights of access, rectification, erasure, restriction of processing, data portability, and objection. Where processing is based on consent, that consent may be withdrawn at any time with effect for the future.',
rightsRight: rightsRight:
'Complaints can be submitted to the Austrian Data Protection Authority: Barichgasse 40-42, 1030 Vienna, email dsb@dsb.gv.at, website dsb.gv.at.', 'Complaints can be submitted to the Austrian Data Protection Authority: Barichgasse 40-42, 1030 Vienna, email dsb@dsb.gv.at, website dsb.gv.at.',
copyrightEyebrow: 'Copyright', copyrightEyebrow: 'Copyright',
@@ -86,7 +86,7 @@ export const enLanguage: LanguagePack = {
'Any use beyond statutory exceptions requires prior written consent of the respective rights holder.', 'Any use beyond statutory exceptions requires prior written consent of the respective rights holder.',
], ],
copyrightRightParagraphs: [ copyrightRightParagraphs: [
'This website may contain links to third-party websites. Their operators are solely responsible for those contents.', 'This website may contain links to third-party websites. Their operators are solely responsible for their contents, privacy practices, and technical security.',
'Austrian law applies exclusively, unless mandatory consumer protection provisions require otherwise.', 'Austrian law applies exclusively, unless mandatory consumer protection provisions require otherwise.',
], ],
}, },
+70 -4
View File
@@ -887,19 +887,23 @@ hr {
gap: var(--space-5); gap: var(--space-5);
} }
.legal-hero {
grid-template-columns: minmax(0, 1fr) minmax(260px, 0.72fr);
}
.legal-hero .back-link { .legal-hero .back-link {
margin-bottom: 0; margin-bottom: 0;
} }
.legal-hero h1 { .legal-hero h1 {
font-size: clamp(2.6rem, 6vw, 4.6rem); font-size: clamp(2.7rem, 6vw, 5.1rem);
max-width: 12ch; max-width: 11ch;
} }
.legal-intro { .legal-intro {
max-width: 46rem; max-width: 38rem;
margin: var(--space-4) 0 0; margin: var(--space-4) 0 0;
font-size: 1.05rem; font-size: clamp(1.02rem, 1.7vw, 1.16rem);
line-height: 1.8; line-height: 1.8;
} }
@@ -907,6 +911,10 @@ hr {
margin-top: var(--space-5); margin-top: var(--space-5);
} }
.legal-section .story-grid {
align-items: start;
}
.legal-provider-name { .legal-provider-name {
margin: 0; margin: 0;
font-size: 1.1rem; font-size: 1.1rem;
@@ -919,6 +927,7 @@ hr {
display: grid; display: grid;
gap: 0.5rem; gap: 0.5rem;
width: 100%; width: 100%;
align-self: stretch;
justify-items: start; justify-items: start;
text-align: left; text-align: left;
} }
@@ -929,6 +938,10 @@ hr {
line-height: 1.6; line-height: 1.6;
} }
.legal-contact-box .hero-contact-title {
text-align: left;
}
.site-footer { .site-footer {
padding: 0 0 var(--space-6); padding: 0 0 var(--space-6);
content-visibility: auto; content-visibility: auto;
@@ -1003,6 +1016,19 @@ hr {
justify-content: flex-start; justify-content: flex-start;
max-width: none; max-width: none;
} }
.legal-hero {
gap: var(--space-4);
}
.legal-hero .hero-copy {
display: grid;
gap: var(--space-4);
}
.legal-hero .hero-actions {
margin-top: 0;
}
} }
@media (max-width: 700px) { @media (max-width: 700px) {
@@ -1023,6 +1049,10 @@ hr {
padding: clamp(1rem, 4vw, 1.2rem); padding: clamp(1rem, 4vw, 1.2rem);
} }
.imprint-page {
gap: var(--space-4);
}
.hero-copy h1, .hero-copy h1,
.legal-hero h1 { .legal-hero h1 {
max-width: none; max-width: none;
@@ -1037,6 +1067,42 @@ hr {
display: contents; display: contents;
} }
.legal-hero .hero-copy {
display: grid;
}
.legal-hero h1 {
font-size: clamp(2.35rem, 11vw, 3.55rem);
line-height: 0.98;
}
.legal-intro {
margin-top: var(--space-3);
font-size: 1rem;
line-height: 1.68;
}
.legal-section {
margin-top: var(--space-4);
padding: clamp(1rem, 4vw, 1.2rem);
border-radius: var(--radius-lg);
}
.legal-section .story-grid {
gap: var(--space-3);
}
.legal-contact-box {
padding: var(--space-3);
border-radius: var(--radius-lg);
border: 1px solid var(--border-soft);
background: rgba(255, 255, 255, 0.04);
}
.legal-contact-box p {
line-height: 1.5;
}
.hero-copy-main { .hero-copy-main {
order: 1; order: 1;
} }