Anpassunge

This commit is contained in:
aknuth 2025-01-07 17:48:36 +01:00
parent 74dbd9dc5a
commit c62edc9cc1
6 changed files with 226 additions and 180 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 66 KiB

BIN
public/favicon.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 114 KiB

View File

@ -1,5 +1,5 @@
// src/app/components/footer/footer.component.ts // src/app/components/footer/footer.component.ts
import { Component } from '@angular/core'; import { Component, Output, EventEmitter } from '@angular/core';
import { CommonModule } from '@angular/common'; import { CommonModule } from '@angular/common';
@Component({ @Component({
@ -21,12 +21,12 @@ import { CommonModule } from '@angular/common';
<div class="hidden md:flex space-x-4"> <div class="hidden md:flex space-x-4">
<button <button
class="text-gray-400 hover:text-white focus:outline-none" class="text-gray-400 hover:text-white focus:outline-none"
(click)="showPrivacyPolicy = true"> (click)="openPrivacyPolicy.emit()">
Privacy Policy Privacy Policy
</button> </button>
<button <button
class="text-gray-400 hover:text-white focus:outline-none" class="text-gray-400 hover:text-white focus:outline-none"
(click)="showTerms = true"> (click)="openTerms.emit()">
Terms of Service Terms of Service
</button> </button>
</div> </div>
@ -34,176 +34,22 @@ import { CommonModule } from '@angular/common';
<div class="container mx-auto px-6 mt-4 text-center md:hidden"> <div class="container mx-auto px-6 mt-4 text-center md:hidden">
<button <button
class="text-gray-400 hover:text-white mx-2 focus:outline-none" class="text-gray-400 hover:text-white mx-2 focus:outline-none"
(click)="showPrivacyPolicy = true"> (click)="openPrivacyPolicy.emit()">
Privacy Policy Privacy Policy
</button> </button>
<span class="text-gray-400">|</span> <span class="text-gray-400">|</span>
<button <button
class="text-gray-400 hover:text-white mx-2 focus:outline-none" class="text-gray-400 hover:text-white mx-2 focus:outline-none"
(click)="showTerms = true"> (click)="openTerms.emit()">
Terms of Service Terms of Service
</button> </button>
</div> </div>
<!-- Privacy Policy Modal -->
<div *ngIf="showPrivacyPolicy"
class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
<div class="bg-white rounded-lg w-11/12 md:w-3/4 lg:w-1/2 relative overflow-y-auto max-h-screen p-6">
<button
class="absolute top-4 right-4 text-gray-600 hover:text-gray-800 focus:outline-none"
(click)="showPrivacyPolicy = false">
<i class="fas fa-times"></i>
</button>
<div class="p-4 text-gray-800">
<h2 class="text-3xl font-bold mb-4 text-gray-800">Privacy Policy</h2>
<p class="text-gray-700 mb-4">
At Bay Area Affiliates, Inc., we are committed to protecting your privacy.
This Privacy Policy outlines how we collect, use, disclose, and safeguard your
information when you visit our website and use our services.
</p>
<h3 class="text-2xl font-semibold mb-2">
Information We Collect
</h3>
<p class="text-gray-700 mb-4">
We may collect personal information such as your name,
email address, phone number, and other relevant details
when you contact us for our IT support services.
</p>
<h3 class="text-2xl font-semibold mb-2">
How We Use Your Information
</h3>
<p class="text-gray-700 mb-4">
Your information is used to provide and improve our
services, respond to your inquiries, and communicate
important updates. We do not sell or rent your personal
information to third parties.
</p>
<h3 class="text-2xl font-semibold mb-2">Data Security</h3>
<p class="text-gray-700 mb-4">
We implement a variety of security measures to maintain
the safety of your personal information. However, no
method of transmission over the internet or electronic
storage is 100% secure.
</p>
<h3 class="text-2xl font-semibold mb-2">Your Consent</h3>
<p class="text-gray-700 mb-4">
By using our website and services, you consent to our
Privacy Policy.
</p>
<h3 class="text-2xl font-semibold mb-2">
Changes to Our Privacy Policy
</h3>
<p class="text-gray-700 mb-4">
We reserve the right to update our Privacy Policy at any
time. Any changes will be effective immediately upon
posting on this page.
</p>
<h3 class="text-2xl font-semibold mb-2">Contact Us</h3>
<p class="text-gray-700 mb-4">
If you have any questions regarding this Privacy Policy,
please contact us at
<a
href="mailto:info&#64;bayareaaffiliates.com"
class="text-blue-600 underline"
>info&#64;bayareaaffiliates.com</a
>.
</p>
</div>
</div>
</div>
<!-- Terms of Service Modal -->
<div *ngIf="showTerms"
class="fixed inset-0 bg-black bg-opacity-50 flex items-center justify-center z-50">
<div class="bg-white rounded-lg w-11/12 md:w-3/4 lg:w-1/2 relative overflow-y-auto max-h-screen p-6">
<button
class="absolute top-4 right-4 text-gray-600 hover:text-gray-800 focus:outline-none"
(click)="showTerms = false">
<i class="fas fa-times"></i>
</button>
<div class="p-4 text-gray-800">
<h2 class="text-3xl font-bold mb-4 text-gray-800">Terms of Service</h2>
<p class="text-gray-700 mb-4">
Welcome to Bay Area Affiliates, Inc. By accessing our website and using our
IT support services, you agree to comply with and be bound by the following
Terms of Service.
</p>
<h3 class="text-2xl font-semibold mb-2">
Service Description
</h3>
<p class="text-gray-700 mb-4">
Bay Area Affiliates, Inc. provides comprehensive IT
support services, including hardware and software
support, network infrastructure, server repair, remote
support, web services, virtualization solutions, and
more.
</p>
<h3 class="text-2xl font-semibold mb-2">
User Responsibilities
</h3>
<p class="text-gray-700 mb-4">
Users are responsible for maintaining the
confidentiality of their account information and for all
activities that occur under their account. Users agree
to provide accurate and complete information when using
our services.
</p>
<h3 class="text-2xl font-semibold mb-2">Payment Terms</h3>
<p class="text-gray-700 mb-4">
All services rendered by Bay Area Affiliates, Inc. are
subject to payment terms agreed upon in the service
contract. Late payments may incur additional fees.
</p>
<h3 class="text-2xl font-semibold mb-2">
Limitation of Liability
</h3>
<p class="text-gray-700 mb-4">
Bay Area Affiliates, Inc. shall not be liable for any
indirect, incidental, or consequential damages arising
from the use of our services. Our total liability is
limited to the amount paid for the services rendered.
</p>
<h3 class="text-2xl font-semibold mb-2">Termination</h3>
<p class="text-gray-700 mb-4">
Either party may terminate the service agreement at any
time with written notice. Upon termination, users must
cease using all services provided by Bay Area
Affiliates, Inc.
</p>
<h3 class="text-2xl font-semibold mb-2">Governing Law</h3>
<p class="text-gray-700 mb-4">
These Terms of Service are governed by and construed in
accordance with the laws of the State of Texas, without
regard to its conflict of law principles.
</p>
<h3 class="text-2xl font-semibold mb-2">
Changes to Terms
</h3>
<p class="text-gray-700 mb-4">
Bay Area Affiliates, Inc. reserves the right to modify
these Terms of Service at any time. Any changes will be
effective immediately upon posting on our website.
Continued use of our services constitutes acceptance of
the updated terms.
</p>
<h3 class="text-2xl font-semibold mb-2">Contact Us</h3>
<p class="text-gray-700 mb-4">
If you have any questions about these Terms of Service,
please contact us at
<a
href="mailto:info&#64;bayareaaffiliates.com"
class="text-blue-600 underline"
>info&#64;bayareaaffiliates.com</a
>.
</p>
</div>
</div>
</div>
</footer> </footer>
` `
}) })
export class FooterComponent { export class FooterComponent {
currentYear = new Date().getFullYear(); currentYear = new Date().getFullYear();
showPrivacyPolicy = false;
showTerms = false; @Output() openPrivacyPolicy = new EventEmitter<void>();
} @Output() openTerms = new EventEmitter<void>();
}

View File

@ -9,15 +9,29 @@ import { CommonModule } from '@angular/common';
template: ` template: `
<header class="bg-white shadow"> <header class="bg-white shadow">
<div class="container mx-auto px-6 py-4 flex justify-between items-center"> <div class="container mx-auto px-6 py-4 flex justify-between items-center">
<div class="text-2xl font-bold text-blue-900"> <!-- Logo und Label -->
Bay Area Affiliates, Inc. <div class="flex items-center">
<img
src="assets/logo.webp"
alt="Bay Area Affiliates Logo"
class="h-8 w-auto mr-3"
loading="lazy"
/>
<div class="text-2xl font-bold text-blue-900">
Bay Area Affiliates, Inc.
</div>
</div> </div>
<!-- Hamburger Menü für mobile Geräte -->
<button <button
(click)="toggleMenu()" (click)="toggleMenu()"
class="md:hidden text-blue-900 focus:outline-none" class="md:hidden text-blue-900 focus:outline-none"
aria-label="Menü öffnen"
> >
<i class="fas fa-bars"></i> <i class="fas fa-bars"></i>
</button> </button>
<!-- Navigation -->
<nav [class.hidden]="!isMenuOpen" class="hidden md:block w-full md:w-auto"> <nav [class.hidden]="!isMenuOpen" class="hidden md:block w-full md:w-auto">
<ul class="flex flex-col md:flex-row md:space-x-6"> <ul class="flex flex-col md:flex-row md:space-x-6">
<li> <li>
@ -47,4 +61,4 @@ export class HeaderComponent {
toggleMenu() { toggleMenu() {
this.isMenuOpen = !this.isMenuOpen; this.isMenuOpen = !this.isMenuOpen;
} }
} }

View File

@ -33,19 +33,205 @@ import { ServicesComponent } from './services.component';
<app-call2action></app-call2action> <app-call2action></app-call2action>
<app-blog></app-blog> <app-blog></app-blog>
<app-contact></app-contact> <app-contact></app-contact>
<app-footer></app-footer> <app-footer
` (openPrivacyPolicy)="openPrivacy('privacy')"
(openTerms)="openPrivacy('terms')"
></app-footer>
<!-- Overlay -->
<div *ngIf="isDrawerOpen"
class="fixed inset-0 bg-black bg-opacity-50 z-40"
(click)="closeDrawer()"></div>
<!-- Privacy Policy Drawer -->
<div
[ngClass]="{
'translate-x-0': activeDrawer === 'privacy',
'-translate-x-full': activeDrawer !== 'privacy'
}"
class="fixed top-0 left-0 h-full w-1/3 bg-white shadow-lg transform transition-transform duration-300 ease-in-out z-50 overflow-y-auto">
<div class="p-6">
<button
class="absolute top-4 right-4 text-gray-600 hover:text-gray-800 focus:outline-none"
(click)="closeDrawer()">
<i class="fas fa-times"></i>
</button>
<div class="text-gray-800">
<h2 class="text-3xl font-bold mb-4">Privacy Policy</h2>
<p class="text-gray-700 mb-4">
<!-- Dein Privacy Policy Inhalt hier -->
At Bay Area Affiliates, Inc., we are committed to protecting your privacy.
This Privacy Policy outlines how we collect, use, disclose, and safeguard your
information when you visit our website and use our services.
</p>
<h3 class="text-2xl font-semibold mb-2">
Information We Collect
</h3>
<p class="text-gray-700 mb-4">
We may collect personal information such as your name,
email address, phone number, and other relevant details
when you contact us for our IT support services.
</p>
<h3 class="text-2xl font-semibold mb-2">
How We Use Your Information
</h3>
<p class="text-gray-700 mb-4">
Your information is used to provide and improve our
services, respond to your inquiries, and communicate
important updates. We do not sell or rent your personal
information to third parties.
</p>
<h3 class="text-2xl font-semibold mb-2">Data Security</h3>
<p class="text-gray-700 mb-4">
We implement a variety of security measures to maintain
the safety of your personal information. However, no
method of transmission over the internet or electronic
storage is 100% secure.
</p>
<h3 class="text-2xl font-semibold mb-2">Your Consent</h3>
<p class="text-gray-700 mb-4">
By using our website and services, you consent to our
Privacy Policy.
</p>
<h3 class="text-2xl font-semibold mb-2">
Changes to Our Privacy Policy
</h3>
<p class="text-gray-700 mb-4">
We reserve the right to update our Privacy Policy at any
time. Any changes will be effective immediately upon
posting on this page.
</p>
<h3 class="text-2xl font-semibold mb-2">Contact Us</h3>
<p class="text-gray-700 mb-4">
If you have any questions regarding this Privacy Policy,
please contact us at
<a
href="mailto:info&#64;bayareaaffiliates.com"
class="text-blue-600 underline"
>info&#64;bayareaaffiliates.com</a
>.
</p>
</div>
</div>
</div>
<!-- Terms of Service Drawer -->
<div
[ngClass]="{
'translate-x-0': activeDrawer === 'terms',
'-translate-x-full': activeDrawer !== 'terms'
}"
class="fixed top-0 left-0 h-full w-1/3 bg-white shadow-lg transform transition-transform duration-300 ease-in-out z-50 overflow-y-auto">
<div class="p-6">
<button
class="absolute top-4 right-4 text-gray-600 hover:text-gray-800 focus:outline-none"
(click)="closeDrawer()">
<i class="fas fa-times"></i>
</button>
<div class="text-gray-800">
<h2 class="text-3xl font-bold mb-4">Terms of Service</h2>
<p class="text-gray-700 mb-4">
<!-- Dein Terms of Service Inhalt hier -->
Welcome to Bay Area Affiliates, Inc. By accessing our website and using our
IT support services, you agree to comply with and be bound by the following
Terms of Service.
</p>
<h3 class="text-2xl font-semibold mb-2">
Service Description
</h3>
<p class="text-gray-700 mb-4">
Bay Area Affiliates, Inc. provides comprehensive IT
support services, including hardware and software
support, network infrastructure, server repair, remote
support, web services, virtualization solutions, and
more.
</p>
<h3 class="text-2xl font-semibold mb-2">
User Responsibilities
</h3>
<p class="text-gray-700 mb-4">
Users are responsible for maintaining the
confidentiality of their account information and for all
activities that occur under their account. Users agree
to provide accurate and complete information when using
our services.
</p>
<h3 class="text-2xl font-semibold mb-2">Payment Terms</h3>
<p class="text-gray-700 mb-4">
All services rendered by Bay Area Affiliates, Inc. are
subject to payment terms agreed upon in the service
contract. Late payments may incur additional fees.
</p>
<h3 class="text-2xl font-semibold mb-2">
Limitation of Liability
</h3>
<p class="text-gray-700 mb-4">
Bay Area Affiliates, Inc. shall not be liable for any
indirect, incidental, or consequential damages arising
from the use of our services. Our total liability is
limited to the amount paid for the services rendered.
</p>
<h3 class="text-2xl font-semibold mb-2">Termination</h3>
<p class="text-gray-700 mb-4">
Either party may terminate the service agreement at any
time with written notice. Upon termination, users must
cease using all services provided by Bay Area
Affiliates, Inc.
</p>
<h3 class="text-2xl font-semibold mb-2">Governing Law</h3>
<p class="text-gray-700 mb-4">
These Terms of Service are governed by and construed in
accordance with the laws of the State of Texas, without
regard to its conflict of law principles.
</p>
<h3 class="text-2xl font-semibold mb-2">
Changes to Terms
</h3>
<p class="text-gray-700 mb-4">
Bay Area Affiliates, Inc. reserves the right to modify
these Terms of Service at any time. Any changes will be
effective immediately upon posting on our website.
Continued use of our services constitutes acceptance of
the updated terms.
</p>
<h3 class="text-2xl font-semibold mb-2">Contact Us</h3>
<p class="text-gray-700 mb-4">
If you have any questions about these Terms of Service,
please contact us at
<a
href="mailto:info&#64;bayareaaffiliates.com"
class="text-blue-600 underline"
>info&#64;bayareaaffiliates.com</a
>.
</p>
</div>
</div>
</div>
`,
styles: [`
/* Optional: Zusätzliche Styles, falls benötigt */
`]
}) })
export class LandingPageComponent { export class LandingPageComponent implements OnInit {
// ngOnInit() { activeDrawer: 'privacy' | 'terms' | null = null;
// AOS.init({
// duration: 1000, get isDrawerOpen(): boolean {
// once: true return this.activeDrawer !== null;
// }); }
// }
// ngAfterViewInit(): void { ngOnInit(): void {
// setTimeout(() => { AOS.init();
// AOS.refresh(); }
// }, 500);
// } openPrivacy(drawer: 'privacy' | 'terms'): void {
this.activeDrawer = drawer;
// Optional: Disable scrolling when drawer is open
document.body.classList.add('overflow-hidden');
}
closeDrawer(): void {
this.activeDrawer = null;
// Optional: Re-enable scrolling when drawer is closed
document.body.classList.remove('overflow-hidden');
}
} }

BIN
src/assets/logo.webp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB