fix: asd
This commit is contained in:
61
pages/index.vue
Normal file
61
pages/index.vue
Normal file
@@ -0,0 +1,61 @@
|
||||
<template>
|
||||
<main class="flex-1 flex flex-col justify-center px-6 py-24">
|
||||
<div class="max-w-4xl mx-auto w-full">
|
||||
<!-- Hero -->
|
||||
<div class="mb-20 opacity-0 animate-fade-in">
|
||||
<h1
|
||||
class="font-mono font-bold text-4xl sm:text-5xl lg:text-6xl tracking-tight leading-[1.1]"
|
||||
>
|
||||
Bennet Gallein IT Solutions<span
|
||||
class="animate-blink text-white/60"
|
||||
>_</span
|
||||
>
|
||||
</h1>
|
||||
<p class="mt-6 text-white/50 text-lg max-w-xl leading-relaxed">
|
||||
Software, Infrastructure & APIs.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Projects -->
|
||||
<section>
|
||||
<h2
|
||||
class="font-mono text-xs text-white/30 uppercase tracking-widest mb-6 opacity-0 animate-fade-in delay-200"
|
||||
>
|
||||
Projects
|
||||
</h2>
|
||||
<div class="grid gap-4">
|
||||
<div class="opacity-0 animate-fade-in-up delay-300">
|
||||
<ProjectCard
|
||||
title="Software Shop"
|
||||
domain="bennetgallein.de"
|
||||
url="https://bennetgallein.de"
|
||||
description="Custom software solutions and digital products."
|
||||
/>
|
||||
</div>
|
||||
<div class="opacity-0 animate-fade-in-up delay-400">
|
||||
<ProjectCard
|
||||
title="Remote Backups"
|
||||
domain="remote-backups.com"
|
||||
url="https://remote-backups.com"
|
||||
description="Infrastructure as a Service – secure, managed backup solutions."
|
||||
/>
|
||||
</div>
|
||||
<div class="opacity-0 animate-fade-in-up delay-500">
|
||||
<ProjectCard
|
||||
title="VAT API"
|
||||
domain="vat-api.eu"
|
||||
url="https://vat-api.eu"
|
||||
description="EU VAT validation and calculation as an API."
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</main>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
useHead({
|
||||
title: "Bennet Gallein IT Solutions",
|
||||
});
|
||||
</script>
|
||||
88
pages/legal-notice.vue
Normal file
88
pages/legal-notice.vue
Normal file
@@ -0,0 +1,88 @@
|
||||
<template>
|
||||
<main class="flex-1 px-6 py-24">
|
||||
<div class="max-w-3xl mx-auto w-full">
|
||||
<NuxtLink
|
||||
to="/"
|
||||
class="inline-flex items-center gap-2 font-mono text-sm text-white/40 hover:text-white transition-colors duration-200 mb-12"
|
||||
>
|
||||
<svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5L3 12m0 0l7.5-7.5M3 12h18" />
|
||||
</svg>
|
||||
Back
|
||||
</NuxtLink>
|
||||
|
||||
<article class="opacity-0 animate-fade-in prose-legal">
|
||||
<h1 class="font-mono font-bold text-3xl sm:text-4xl mb-12">Legal Notice</h1>
|
||||
|
||||
<section class="mb-10">
|
||||
<h2 class="font-mono font-medium text-lg mb-3 text-white/80">Information pursuant to § 5 TMG</h2>
|
||||
<div class="text-white/60 leading-relaxed space-y-1">
|
||||
<p>Bennet Gallein</p>
|
||||
<p>Bennet Gallein IT Solutions</p>
|
||||
<p>Elbinger Str. 18</p>
|
||||
<p>21339 Lüneburg</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="mb-10">
|
||||
<h2 class="font-mono font-medium text-lg mb-3 text-white/80">Contact</h2>
|
||||
<div class="text-white/60 leading-relaxed space-y-1">
|
||||
<p>Phone: +49 1772489624</p>
|
||||
<p>Email: me@bennetgallein.de</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="mb-10">
|
||||
<h2 class="font-mono font-medium text-lg mb-3 text-white/80">VAT ID</h2>
|
||||
<div class="text-white/60 leading-relaxed space-y-1">
|
||||
<p>
|
||||
VAT identification number pursuant to § 27a of the German VAT Act:<br />
|
||||
DE320525917
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="mb-10">
|
||||
<h2 class="font-mono font-medium text-lg mb-3 text-white/80">Responsible for content pursuant to § 55 para. 2 RStV</h2>
|
||||
<div class="text-white/60 leading-relaxed space-y-1">
|
||||
<p>Bennet Gallein</p>
|
||||
<p>Elbinger Str. 18</p>
|
||||
<p>21339 Lüneburg</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="mb-10">
|
||||
<h2 class="font-mono font-medium text-lg mb-3 text-white/80">EU Dispute Resolution</h2>
|
||||
<div class="text-white/60 leading-relaxed">
|
||||
<p>
|
||||
The European Commission provides a platform for online dispute resolution (ODR):
|
||||
<a
|
||||
href="https://ec.europa.eu/consumers/odr/"
|
||||
target="_blank"
|
||||
rel="noopener noreferrer"
|
||||
class="text-white/80 underline underline-offset-4 hover:text-white transition-colors"
|
||||
>https://ec.europa.eu/consumers/odr/</a>.
|
||||
</p>
|
||||
<p class="mt-2">Our email address can be found above in the legal notice.</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="mb-10">
|
||||
<h2 class="font-mono font-medium text-lg mb-3 text-white/80">Consumer Dispute Resolution</h2>
|
||||
<div class="text-white/60 leading-relaxed">
|
||||
<p>
|
||||
We are not willing or obliged to participate in dispute resolution proceedings
|
||||
before a consumer arbitration board.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
</article>
|
||||
</div>
|
||||
</main>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
useHead({
|
||||
title: 'Legal Notice – Bennet Gallein IT Solutions',
|
||||
})
|
||||
</script>
|
||||
176
pages/privacy-policy.vue
Normal file
176
pages/privacy-policy.vue
Normal file
@@ -0,0 +1,176 @@
|
||||
<template>
|
||||
<main class="flex-1 px-6 py-24">
|
||||
<div class="max-w-3xl mx-auto w-full">
|
||||
<NuxtLink
|
||||
to="/"
|
||||
class="inline-flex items-center gap-2 font-mono text-sm text-white/40 hover:text-white transition-colors duration-200 mb-12"
|
||||
>
|
||||
<svg class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10.5 19.5L3 12m0 0l7.5-7.5M3 12h18" />
|
||||
</svg>
|
||||
Back
|
||||
</NuxtLink>
|
||||
|
||||
<article class="opacity-0 animate-fade-in prose-legal">
|
||||
<h1 class="font-mono font-bold text-3xl sm:text-4xl mb-12">Privacy Policy</h1>
|
||||
|
||||
<section class="mb-10">
|
||||
<div class="text-white/60 leading-relaxed space-y-3">
|
||||
<p>
|
||||
Unless stated otherwise below, providing your personal data is neither legally
|
||||
nor contractually required. You are not obligated to provide data, and there are
|
||||
no consequences for not doing so.
|
||||
</p>
|
||||
<p>
|
||||
"Personal data" refers to all information relating to an identified or identifiable
|
||||
natural person.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="mb-10">
|
||||
<h2 class="font-mono font-medium text-lg mb-3 text-white/80">Server Log Files</h2>
|
||||
<div class="text-white/60 leading-relaxed space-y-3">
|
||||
<p>
|
||||
You can visit this website without providing any personal information. Each time
|
||||
this website is accessed, usage data is transmitted by your internet browser and
|
||||
stored in log files (server log files). This stored data includes, for example:
|
||||
</p>
|
||||
<ul class="list-disc list-inside space-y-1 ml-2">
|
||||
<li>Name of the page accessed</li>
|
||||
<li>Date and time of access</li>
|
||||
<li>IP address</li>
|
||||
<li>Amount of data transferred</li>
|
||||
<li>Requesting provider</li>
|
||||
</ul>
|
||||
<p>
|
||||
Processing is carried out pursuant to Art. 6 para. 1 lit. f GDPR based on our
|
||||
legitimate interest in ensuring uninterrupted operation of the website and improving
|
||||
our services.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="mb-10">
|
||||
<h2 class="font-mono font-medium text-lg mb-3 text-white/80">Contact</h2>
|
||||
<div class="text-white/60 leading-relaxed space-y-3">
|
||||
<h3 class="font-mono text-sm font-medium text-white/60 mb-2 mt-4">Data Controller</h3>
|
||||
<div class="space-y-1">
|
||||
<p>Bennet Gallein</p>
|
||||
<p>Bennet Gallein IT Solutions</p>
|
||||
<p>Elbinger Str. 18</p>
|
||||
<p>21339 Lüneburg</p>
|
||||
<p class="mt-2">Phone: +49 1772489624</p>
|
||||
<p>Email: me@bennetgallein.de</p>
|
||||
</div>
|
||||
|
||||
<h3 class="font-mono text-sm font-medium text-white/60 mb-2 mt-6">Contact via Email</h3>
|
||||
<p>
|
||||
When you contact us via email, we only collect the personal data you provide
|
||||
(name, email address, message text). Processing serves to handle and respond
|
||||
to your inquiry.
|
||||
</p>
|
||||
<p>
|
||||
If the contact relates to pre-contractual measures or an existing contract,
|
||||
processing is carried out pursuant to Art. 6 para. 1 lit. b GDPR. In all other
|
||||
cases, processing is based on Art. 6 para. 1 lit. f GDPR. You have the right to
|
||||
object to this processing based on your particular situation.
|
||||
</p>
|
||||
<p>
|
||||
Your email address is used exclusively for processing your inquiry. Data is
|
||||
deleted after statutory retention periods expire, unless you have consented to
|
||||
further processing.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="mb-10">
|
||||
<h2 class="font-mono font-medium text-lg mb-3 text-white/80">Cookies</h2>
|
||||
<div class="text-white/60 leading-relaxed space-y-3">
|
||||
<p>
|
||||
Our website uses cookies — small text files that are stored by your browser
|
||||
on your device. Cookies contain characteristic strings that enable browser
|
||||
identification upon revisiting the site.
|
||||
</p>
|
||||
<p>
|
||||
We use only technically necessary cookies to make our website user-friendly,
|
||||
effective, and secure. Some functions of the website require the browser to be
|
||||
recognized across page changes.
|
||||
</p>
|
||||
<p>
|
||||
Cookie usage is based on § 25 para. 2 TTDSG. Processing of personal data
|
||||
occurs pursuant to Art. 6 para. 1 lit. f GDPR, based on our legitimate interest
|
||||
in ensuring website functionality and an effective service design.
|
||||
</p>
|
||||
<p>
|
||||
You have the right to object to this processing based on your particular
|
||||
situation. You can manage or delete cookies at any time through your browser
|
||||
settings, though this may limit website functionality.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="mb-10">
|
||||
<h2 class="font-mono font-medium text-lg mb-3 text-white/80">Data Subject Rights & Storage Duration</h2>
|
||||
|
||||
<h3 class="font-mono text-sm font-medium text-white/60 mb-2 mt-4">Storage Duration</h3>
|
||||
<div class="text-white/60 leading-relaxed space-y-3">
|
||||
<p>
|
||||
After complete fulfillment of the purpose, data is retained considering legal,
|
||||
tax, and commercial retention requirements, then deleted upon expiration of
|
||||
those periods, unless you have consented to further processing.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h3 class="font-mono text-sm font-medium text-white/60 mb-2 mt-6">Your Rights</h3>
|
||||
<div class="text-white/60 leading-relaxed space-y-3">
|
||||
<p>
|
||||
Where the legal requirements are met, you have the following rights under
|
||||
Art. 15–20 GDPR: right to access, right to correction, right to deletion,
|
||||
right to restriction of processing, and right to data portability.
|
||||
</p>
|
||||
<p>
|
||||
Additionally, under Art. 21 para. 1 GDPR, you have the right to object to
|
||||
processing based on Art. 6 para. 1 lit. f GDPR, as well as to processing for
|
||||
direct marketing purposes.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h3 class="font-mono text-sm font-medium text-white/60 mb-2 mt-6">Right to Lodge a Complaint</h3>
|
||||
<div class="text-white/60 leading-relaxed space-y-3">
|
||||
<p>
|
||||
Under Art. 77 GDPR, you have the right to lodge a complaint with the supervisory
|
||||
authority if you believe that the processing of your personal data violates the law.
|
||||
</p>
|
||||
<div class="mt-2 space-y-1">
|
||||
<p class="text-white/80 font-medium">Competent Supervisory Authority:</p>
|
||||
<p>Landesbeauftragte für den Datenschutz Niedersachsen</p>
|
||||
<p>Prinzenstraße 5</p>
|
||||
<p>30159 Hannover</p>
|
||||
<p class="mt-2">Phone: +49 511 1204500</p>
|
||||
<p>Fax: +49 511 1204599</p>
|
||||
<p>Email: poststelle@lfd.niedersachsen.de</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<h3 class="font-mono text-sm font-medium text-white/60 mb-2 mt-6">Right to Object</h3>
|
||||
<div class="text-white/60 leading-relaxed">
|
||||
<p>
|
||||
Where processing is based on Art. 6 para. 1 lit. f GDPR, you have the right to
|
||||
object at any time on grounds relating to your particular situation. Following
|
||||
your objection, processing will cease unless there are compelling legitimate
|
||||
grounds that override your interests, or the processing serves to assert,
|
||||
exercise, or defend legal claims.
|
||||
</p>
|
||||
</div>
|
||||
</section>
|
||||
</article>
|
||||
</div>
|
||||
</main>
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
useHead({
|
||||
title: 'Privacy Policy – Bennet Gallein IT Solutions',
|
||||
})
|
||||
</script>
|
||||
Reference in New Issue
Block a user