Compare commits
12 Commits
38467a8bc2
...
master
Author | SHA1 | Date | |
---|---|---|---|
46204cd8d3 | |||
51d9d2898e | |||
8c4b2ad17c | |||
1282cde58d | |||
a95416518b | |||
6a553e315a | |||
a7a12999fe | |||
17170b52c5 | |||
646f4b0e87 | |||
7d025bb4bf | |||
3af5905eac | |||
b651fb7a91 |
7
LICENSE
Normal file
7
LICENSE
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Copyright (C) 2025 Niklas Birk
|
||||||
|
|
||||||
|
Dieses Programm ist freie Software: Sie können es unter den Bedingungen der GNU General Public License, Version 3, die mit diesem Programm ausgeliefert wird, weiterverbreiten und/oder modifizieren.
|
||||||
|
|
||||||
|
Dieses Programm wird in der Hoffnung, dass es Ihnen nützlich sein wird, aber ohne jegliche Garantie, sogar ohne die implizite Garantie der Marktfähigkeit oder der Eignung für einen bestimmten Zweck, weitergegeben.
|
||||||
|
|
||||||
|
Sie sollten eine Kopie der Lizenz zusammen mit diesem Programm erhalten haben. Falls nicht, siehe <http://www.gnu.org/licenses/>.
|
16835
package-lock.json
generated
16835
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
12
package.json
12
package.json
@ -3,14 +3,14 @@
|
|||||||
"version": "0.1.0",
|
"version": "0.1.0",
|
||||||
"private": true,
|
"private": true,
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@nextui-org/react": "^1.0.0-beta.9",
|
"@nextui-org/react": "^1.0.0-beta.13",
|
||||||
"@testing-library/jest-dom": "^5.16.4",
|
"@testing-library/jest-dom": "^5.16.5",
|
||||||
"@testing-library/react": "^13.3.0",
|
"@testing-library/react": "^14.0.0",
|
||||||
"@testing-library/user-event": "^13.5.0",
|
"@testing-library/user-event": "^14.4.3",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
"react-scripts": "5.0.1",
|
"react-scripts": "^5.0.1",
|
||||||
"web-vitals": "^2.1.4"
|
"web-vitals": "^3.3.2"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"start": "react-scripts start",
|
"start": "react-scripts start",
|
||||||
|
@ -1,66 +1,117 @@
|
|||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="en">
|
<html lang="de">
|
||||||
<head>
|
<head>
|
||||||
<meta charset="UTF-8">
|
<meta charset="UTF-8">
|
||||||
<title>Title</title>
|
<title>Impressum und Datenschutz</title>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
font-family: 'Fira Code', monospace;
|
||||||
|
background-color: #282a36;
|
||||||
|
color: #f8f8f2;
|
||||||
|
max-width: 900px;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 2rem;
|
||||||
|
}
|
||||||
|
h1, h2 {
|
||||||
|
color: #bd93f9;
|
||||||
|
border-bottom: 1px solid #44475a;
|
||||||
|
padding-bottom: 0.3em;
|
||||||
|
}
|
||||||
|
h3 {
|
||||||
|
color: #50fa7b;
|
||||||
|
margin-top: 1.2em;
|
||||||
|
}
|
||||||
|
a {
|
||||||
|
color: #8be9fd;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
code {
|
||||||
|
background: #44475a;
|
||||||
|
color: #f1fa8c;
|
||||||
|
padding: 0.2em 0.4em;
|
||||||
|
border-radius: 4px;
|
||||||
|
}
|
||||||
|
ol {
|
||||||
|
padding-left: 1.2rem;
|
||||||
|
}
|
||||||
|
footer {
|
||||||
|
margin-top: 3rem;
|
||||||
|
border-top: 1px solid #44475a;
|
||||||
|
padding-top: 1rem;
|
||||||
|
color: #6272a4;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div class='impressum'>
|
|
||||||
<h1>Impressum</h1>
|
<h1 id="impressum">Impressum</h1>
|
||||||
<p>Angaben gemäß § 5 TMG</p>
|
|
||||||
<p>
|
<p>
|
||||||
Niklas Birk <br>
|
Angaben gemäß § 5 TMG:<br>
|
||||||
Agricolastraße 16<br>
|
<strong>Niklas Birk</strong><br>
|
||||||
09599 Freiberg <br>
|
Wiesertsweiler 26<br>
|
||||||
|
88069 Tettnang<br>
|
||||||
|
E-Mail: <a href="mailto:me@niklas-birk.de">me@niklas-birk.de</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>
|
<p>
|
||||||
<strong>Kontakt:</strong> <br>
|
Verantwortlich für den Inhalt nach § 55 Abs. 2 RStV:<br>
|
||||||
Telefon: 0173-5147078<br>
|
<strong>Niklas Birk</strong> (Anschrift wie oben)
|
||||||
E-Mail: <a href='mailto:niklas.birk@niklas-birk.de'>niklas.birk@niklas-birk.de</a>
|
|
||||||
</p>
|
</p>
|
||||||
<p>
|
|
||||||
<strong>Haftungsausschluss: </strong>
|
<h2>Datenschutzerklärung</h2>
|
||||||
<br><br>
|
<ol>
|
||||||
<strong>Haftung für Inhalte</strong>
|
<li>
|
||||||
<br><br>
|
<h3>Allgemeines</h3>
|
||||||
Die Inhalte unserer Seiten wurden mit größter Sorgfalt erstellt.
|
<p>Diese Website verarbeitet keine personenbezogenen Daten über das technisch notwendige Maß hinaus. Kein Tracking, keine Logfiles.</p>
|
||||||
Für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte können wir jedoch keine Gewähr übernehmen.
|
</li>
|
||||||
Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen
|
<li>
|
||||||
Gesetzen verantwortlich.
|
<h3>Verantwortlicher</h3>
|
||||||
Nach §§ 8 bis 10 TMG sind wir als Diensteanbieter jedoch nicht verpflichtet, übermittelte oder gespeicherte
|
<p>siehe <a href="#impressum">Impressum</a>.</p>
|
||||||
fremde Informationen zu überwachen oder nach Umständen zu forschen, die auf eine rechtswidrige Tätigkeit
|
</li>
|
||||||
hinweisen.
|
<li>
|
||||||
Verpflichtungen zur Entfernung oder Sperrung der Nutzung von Informationen nach den allgemeinen Gesetzen bleiben
|
<h3>Cookies</h3>
|
||||||
hiervon unberührt.
|
<p>Es werden nur essentielle Cookies gesetzt:</p>
|
||||||
Eine diesbezügliche Haftung ist jedoch erst ab dem Zeitpunkt der Kenntnis einer konkreten Rechtsverletzung
|
<ul>
|
||||||
möglich.
|
<li><code>i_like_gitea</code> – Sitzungs-Cookie von Gitea</li>
|
||||||
Bei Bekanntwerden von entsprechenden Rechtsverletzungen werden wir diese Inhalte umgehend entfernen.
|
<li><code>_csrf</code> – Schutz vor Cross-Site Request Forgery</li>
|
||||||
<br><br>
|
</ul>
|
||||||
<strong>Haftung für Links</strong>
|
</li>
|
||||||
<br><br>
|
<li>
|
||||||
Unser Angebot enthält Links zu externen Webseiten Dritter, auf deren Inhalte wir keinen Einfluss haben.
|
<h3>Hosting</h3>
|
||||||
Deshalb können wir für diese fremden Inhalte auch keine Gewähr übernehmen.
|
<p>Die Website wird auf einem virtuellen Server der STRATO AG, Pascalstraße 10, 10587 Berlin, betrieben. Der Server wird ausschließlich von mir administriert. STRATO kann jedoch im Rahmen der technischen Infrastruktur automatisch Meta-Daten wie IP-Adressen kurzzeitig verarbeiten (z.B. zur Gefahrenabwehr). Eine darüber hinausgehende Verarbeitung personenbezogener Daten erfolgt meinerseits nicht.</p>
|
||||||
Für die Inhalte der verlinkten Seiten ist stets der jeweilige Anbieter oder Betreiber der Seiten verantwortlich.
|
</li>
|
||||||
Die verlinkten Seiten wurden zum Zeitpunkt der Verlinkung auf mögliche Rechtsverstöße überprüft.
|
<li>
|
||||||
Rechtswidrige Inhalte waren zum Zeitpunkt der Verlinkung nicht erkennbar.
|
<h3>Keine Server-Logs</h3>
|
||||||
Eine permanente inhaltliche Kontrolle der verlinkten Seiten ist jedoch ohne konkrete Anhaltspunkte einer
|
<p>Der Webserver speichert keine IP-Adressen oder Zeitstempel.</p>
|
||||||
Rechtsverletzung nicht zumutbar.
|
</li>
|
||||||
Bei Bekanntwerden von Rechtsverletzungen werden wir derartige Links umgehend entfernen.
|
<li>
|
||||||
<br><br>
|
<h3>Deine Rechte</h3>
|
||||||
<strong>Datenschutz</strong>
|
<p>Da keine Daten gespeichert werden, sind Auskunft, Berichtigung oder Löschung in der Praxis nicht erforderlich.</p>
|
||||||
<br><br>
|
</li>
|
||||||
Die Nutzung unserer Webseite ist in der Regel ohne Angabe personenbezogener Daten möglich.
|
</ol>
|
||||||
Soweit auf unseren Seiten personenbezogene Daten (beispielsweise Name, Anschrift oder eMail-Adressen) erhoben
|
|
||||||
werden, erfolgt dies, soweit möglich, stets auf freiwilliger Basis.
|
<h2>Haftungsausschluss</h2>
|
||||||
Diese Daten werden ohne Ihre ausdrückliche Zustimmung nicht an Dritte weitergegeben. <br>
|
<ol>
|
||||||
Wir weisen darauf hin, dass die Datenübertragung im Internet (z.B. bei der Kommunikation per E-Mail)
|
<li>
|
||||||
Sicherheitslücken aufweisen kann.
|
<h3>Inhalte</h3>
|
||||||
Ein lückenloser Schutz der Daten vor dem Zugriff durch Dritte ist nicht möglich. <br>
|
<p>Ich übernehme keine Gewähr für die Richtigkeit, Vollständigkeit und Aktualität der Inhalte.</p>
|
||||||
Der Nutzung von im Rahmen der Impressumspflicht veröffentlichten Kontaktdaten durch Dritte zur Übersendung von
|
</li>
|
||||||
nicht ausdrücklich angeforderter Werbung und Informationsmaterialien wird hiermit ausdrücklich widersprochen.
|
<li>
|
||||||
Die Betreiber der Seiten behalten sich ausdrücklich rechtliche Schritte im Falle der unverlangten Zusendung von
|
<h3>Links</h3>
|
||||||
Werbeinformationen, etwa durch Spam-Mails, vor.<br>
|
<p>Externe Links führen zu Inhalten Dritter, für die ich keine Haftung übernehme.</p>
|
||||||
</p>
|
</li>
|
||||||
</div>
|
</ol>
|
||||||
|
|
||||||
|
<h2>Urheberrecht und Lizenz</h2>
|
||||||
|
<p>Alle Inhalte dieser Website und die zugehörigen Software-Projekte sind lizenziert unter der <a href="https://www.gnu.org/licenses/gpl-3.0.html" target="_blank">GNU General Public License, Version 3 (GPL v3)</a>.</p>
|
||||||
|
|
||||||
|
<footer>
|
||||||
|
<p>Letzte Aktualisierung: April 2025 • Dracula Vibes</p>
|
||||||
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
@ -10,7 +10,12 @@
|
|||||||
name="Niklas Birk"
|
name="Niklas Birk"
|
||||||
/>
|
/>
|
||||||
<link href="%PUBLIC_URL%/manifest.json" rel="manifest"/>
|
<link href="%PUBLIC_URL%/manifest.json" rel="manifest"/>
|
||||||
|
<link href="https://mathstodon.xyz/@SirNik" rel="me">
|
||||||
|
|
||||||
<title>Niklas Birk</title>
|
<title>Niklas Birk</title>
|
||||||
|
<meta name="description"
|
||||||
|
content="Das ist die Website von Niklas Birk, B.Sc. und angehender Diplom-Mathematiker.
|
||||||
|
Hier findest du Links zu meinem eigenen Git-Repository und meinen Inhalten zur Mathematik.">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<noscript>You need to enable JavaScript to run this app.</noscript>
|
<noscript>You need to enable JavaScript to run this app.</noscript>
|
||||||
|
Binary file not shown.
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
BIN
src/assets/niklas-birk-logo.png
Executable file → Normal file
BIN
src/assets/niklas-birk-logo.png
Executable file → Normal file
Binary file not shown.
Before Width: | Height: | Size: 44 KiB After Width: | Height: | Size: 56 KiB |
@ -1,53 +1,51 @@
|
|||||||
import {Card, Col, Text} from "@nextui-org/react";
|
import {Button, Card, Col, Row, Text} from "@nextui-org/react";
|
||||||
|
|
||||||
function ServiceCard(props) {
|
function ServiceCard(props) {
|
||||||
return (
|
return (
|
||||||
<Card isPressable>
|
<Card isPressable isHoverable onClick={() => window.open(props.url)}>
|
||||||
<Card.Header css={{ position: "absolute", zIndex: 1, top: 5}}>
|
<Card.Header css={{ position: "absolute", zIndex: 1, top: 5 }}>
|
||||||
<Col>
|
<Col>
|
||||||
<Text size={12} weight="bold" transform="uppercase">
|
<Text color='$draculaCyan' size={12} weight="bold" transform="uppercase">
|
||||||
{props.introText}
|
{props.introText}
|
||||||
</Text>
|
</Text>
|
||||||
<Text h3>
|
<Text color='$draculaCyan' h3>
|
||||||
{props.serviceText}
|
{props.serviceText}
|
||||||
</Text>
|
</Text>
|
||||||
<Text size={12} weight="bold" transform="uppercase">
|
<Text color='$draculaCyan' size={12} weight="bold" transform="uppercase">
|
||||||
{props.vendorText}
|
{props.vendorText}
|
||||||
</Text>
|
</Text>
|
||||||
</Col>
|
</Col>
|
||||||
</Card.Header>
|
</Card.Header>
|
||||||
<Card.Body css={{ p: 0 }}>
|
<Card.Body>
|
||||||
<Card.Image
|
<Card.Image
|
||||||
src={props.logo}
|
src={props.logo}
|
||||||
// width="50%"
|
|
||||||
// height="50%"
|
|
||||||
objectFit="fill"
|
objectFit="fill"
|
||||||
alt="Card example background"
|
alt="Card example background"
|
||||||
/>
|
/>
|
||||||
</Card.Body>
|
</Card.Body>
|
||||||
{/*<Card.Footer*/}
|
<Card.Footer
|
||||||
{/* isBlurred*/}
|
isBlurred
|
||||||
{/* css={{*/}
|
css={{
|
||||||
{/* position: "absolute",*/}
|
position: "absolute",
|
||||||
{/* bgBlur: "$draculaCurrentLine",*/}
|
bgBlur: "$draculaCurrentLineAlpha",
|
||||||
{/* borderTop: "$borderWeights$light solid rgba(255, 255, 255, 0.2)",*/}
|
borderTop: "$borderWeights$light solid rgba(248, 248, 248, 0.5)",
|
||||||
{/* bottom: 0,*/}
|
bottom: 0,
|
||||||
{/* zIndex: 1,*/}
|
zIndex: 1
|
||||||
{/* }}>*/}
|
}}>
|
||||||
{/* <Row justify="center">*/}
|
<Row justify="center">
|
||||||
{/* <Button flat auto rounded color="primary">*/}
|
<Button auto rounded color="primary" onClick={() => window.open(props.url)}>
|
||||||
{/* <Text*/}
|
<Text
|
||||||
{/* css={{*/}
|
css={{
|
||||||
{/* color: "inherit"*/}
|
color: "inherit"
|
||||||
{/* }}*/}
|
}}
|
||||||
{/* size={12}*/}
|
size={12}
|
||||||
{/* weight="bold"*/}
|
weight="bold"
|
||||||
{/* transform="uppercase">*/}
|
transform="uppercase">
|
||||||
{/* Zu den Repositories*/}
|
{props.buttonText}
|
||||||
{/* </Text>*/}
|
</Text>
|
||||||
{/* </Button>*/}
|
</Button>
|
||||||
{/* </Row>*/}
|
</Row>
|
||||||
{/*</Card.Footer>*/}
|
</Card.Footer>
|
||||||
</Card>
|
</Card>
|
||||||
|
|
||||||
// <div id="niklas-birk-root">
|
// <div id="niklas-birk-root">
|
||||||
|
@ -6,39 +6,25 @@ import blogLogo from "../assets/blog_logo.png";
|
|||||||
function Services() {
|
function Services() {
|
||||||
return (
|
return (
|
||||||
<Grid.Container gap={2} justify="center">
|
<Grid.Container gap={2} justify="center">
|
||||||
<Grid xs={3}>
|
<Grid>
|
||||||
<ServiceCard
|
<ServiceCard
|
||||||
introText="Meine self-hosted"
|
introText="Meine self-hosted"
|
||||||
serviceText="git Repositories"
|
serviceText="git Repositories"
|
||||||
vendorText="mit Gitea"
|
vendorText="mit Gitea"
|
||||||
logo={gitLogo} />
|
logo={gitLogo}
|
||||||
|
buttonText="Zu den Repositories"
|
||||||
|
url='https://git.niklas-birk.de' />
|
||||||
</Grid>
|
</Grid>
|
||||||
<Grid xs={3}>
|
<Grid>
|
||||||
<ServiceCard
|
<ServiceCard
|
||||||
introText="Mein self-hosted"
|
introText="Mein self-hosted"
|
||||||
serviceText="Blog"
|
serviceText="Blog"
|
||||||
vendorText="über Mathematik"
|
vendorText="über Mathematik"
|
||||||
logo={blogLogo} />
|
logo={blogLogo}
|
||||||
|
buttonText="Zum Blog"
|
||||||
|
url='https://math.niklas-birk.de' />
|
||||||
</Grid>
|
</Grid>
|
||||||
</Grid.Container>
|
</Grid.Container>
|
||||||
|
|
||||||
// <div id="niklas-birk-root">
|
|
||||||
// <img id="logo" alt="Ein Logo von Niklas Birk" src={logo}/>
|
|
||||||
// <div>
|
|
||||||
// <h1>Work in Progress</h1>
|
|
||||||
// Das ist eine Seite im Aufbau.
|
|
||||||
// <br/><br/>
|
|
||||||
// Wichtige links:
|
|
||||||
// <ul>
|
|
||||||
// <li> Mail an <a href="mailto://niklas.birk@niklas-birk.de"> niklas.birk@niklas-birk.de </a></li>
|
|
||||||
// <li> Meine self-hosted git repositories bei <a href="https://git.niklas-birk.de">Gitea</a></li>
|
|
||||||
// <li> Mein self-hosted <a href="https://blog.niklas-birk.de">Blog</a></li>
|
|
||||||
// <li> Meine self-hosted <a href="https://survey.niklas-birk.de">Umfragen</a></li>
|
|
||||||
// <li> ...</li>
|
|
||||||
// </ul>
|
|
||||||
// </div>
|
|
||||||
// <a href={process.env.PUBLIC_URL + 'impressum.html'}>Impressum und Datenschutz</a>
|
|
||||||
// </div>
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user