Web (R3.2): Marketing-Platzhalterseiten zurueckgebaut
team/partner/karriere/presse (erfundene Personen, Fake-Partner, Bewerben-Buttons ohne Ziel) samt Routen entfernt (User-Entscheidung 03.07.: lieber weniger Seiten, aber ehrlich). Altes Scaffold (livewire web.burger-menu/header/footer) wurde nur von diesen Seiten genutzt und ist mit raus. Legacy-.html-Links: team/partner/karriere -> 301 Startseite; presse/* behaelt die bestehende 301-Regel auf /faq. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
770fda7d30
commit
7d2a312713
9 changed files with 19 additions and 1436 deletions
|
|
@ -1,290 +0,0 @@
|
|||
<?php
|
||||
|
||||
use Livewire\Volt\Component;
|
||||
|
||||
new class extends Component {
|
||||
public $isOpen = false;
|
||||
public $openSections = [];
|
||||
|
||||
public function toggleMenu()
|
||||
{
|
||||
$this->isOpen = !$this->isOpen;
|
||||
}
|
||||
|
||||
public function toggleSection($section)
|
||||
{
|
||||
if (in_array($section, $this->openSections)) {
|
||||
$this->openSections = array_diff($this->openSections, [$section]);
|
||||
} else {
|
||||
$this->openSections[] = $section;
|
||||
}
|
||||
}
|
||||
|
||||
public function isSectionOpen($section)
|
||||
{
|
||||
return in_array($section, $this->openSections);
|
||||
}
|
||||
}; ?>
|
||||
|
||||
<div
|
||||
x-data="{ isOpen: $wire.entangle('isOpen') }"
|
||||
@toggle-mobile-menu.window="$wire.toggleMenu()"
|
||||
>
|
||||
<!-- Overlay -->
|
||||
<div
|
||||
x-show="isOpen"
|
||||
x-transition:enter="transition ease-out duration-300"
|
||||
x-transition:enter-start="opacity-0"
|
||||
x-transition:enter-end="opacity-100"
|
||||
x-transition:leave="transition ease-in duration-200"
|
||||
x-transition:leave-start="opacity-100"
|
||||
x-transition:leave-end="opacity-0"
|
||||
@click="$wire.toggleMenu()"
|
||||
class="fixed inset-0 bg-black/50 backdrop-blur-sm z-[60]"
|
||||
x-cloak
|
||||
></div>
|
||||
|
||||
<!-- Slide-out Menu -->
|
||||
<div
|
||||
x-show="isOpen"
|
||||
x-transition:enter="transition ease-out duration-300 transform"
|
||||
x-transition:enter-start="-translate-x-full"
|
||||
x-transition:enter-end="translate-x-0"
|
||||
x-transition:leave="transition ease-in duration-200 transform"
|
||||
x-transition:leave-start="translate-x-0"
|
||||
x-transition:leave-end="-translate-x-full"
|
||||
class="fixed left-0 top-0 h-full w-80 sm:w-96 bg-white dark:bg-zinc-900 shadow-2xl z-[70] overflow-y-auto transition-colors duration-200"
|
||||
x-cloak
|
||||
>
|
||||
<!-- Header -->
|
||||
<div class="sticky top-0 bg-white dark:bg-zinc-900 border-b border-zinc-200 dark:border-zinc-800 p-4 flex items-center justify-between transition-colors duration-200">
|
||||
<div class="flex items-center gap-2">
|
||||
<span class="w-1 h-6 bg-gradient-to-b from-[var(--color-primary)] to-[var(--color-secondary)] rounded-full"></span>
|
||||
<h2 class="text-lg font-semibold text-zinc-900 dark:text-zinc-100">Navigation</h2>
|
||||
</div>
|
||||
<button
|
||||
@click="$wire.toggleMenu()"
|
||||
class="p-2 hover:bg-zinc-100 dark:hover:bg-zinc-800 rounded-lg transition-colors"
|
||||
aria-label="Menü schließen"
|
||||
>
|
||||
<svg class="h-6 w-6 text-zinc-600 dark:text-zinc-400" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<!-- Navigation -->
|
||||
<nav class="p-6 space-y-6">
|
||||
<!-- Portal Section -->
|
||||
<div>
|
||||
<div class="py-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100">Portal</div>
|
||||
<div class="space-y-1">
|
||||
<a href="/" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Startseite
|
||||
</a>
|
||||
<a href="/kategorien" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Kategorien
|
||||
</a>
|
||||
<a href="/suche" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Suche
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Services Section -->
|
||||
<div>
|
||||
<button
|
||||
wire:click="toggleSection('services')"
|
||||
class="flex items-center justify-between w-full py-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100 hover:text-[var(--color-primary)] transition-colors"
|
||||
>
|
||||
<span class="flex items-center gap-2">
|
||||
<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"></path>
|
||||
</svg>
|
||||
Services
|
||||
</span>
|
||||
<svg
|
||||
class="h-4 w-4 transition-transform {{ $this->isSectionOpen('services') ? 'rotate-180' : '' }}"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
|
||||
</svg>
|
||||
</button>
|
||||
@if($this->isSectionOpen('services'))
|
||||
<div class="mt-2 space-y-1 pl-6">
|
||||
<a href="/veroeffentlichen" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Pressemitteilung veröffentlichen
|
||||
</a>
|
||||
<a href="/newsrooms" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Newsrooms
|
||||
</a>
|
||||
<a href="/preise" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Preise & Leistungen
|
||||
</a>
|
||||
<a href="/api" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
API & Integrationen
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- Über uns Section -->
|
||||
<div>
|
||||
<button
|
||||
wire:click="toggleSection('about')"
|
||||
class="flex items-center justify-between w-full py-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100 hover:text-[var(--color-primary)] transition-colors"
|
||||
>
|
||||
<span class="flex items-center gap-2">
|
||||
<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z"></path>
|
||||
</svg>
|
||||
Über uns
|
||||
</span>
|
||||
<svg
|
||||
class="h-4 w-4 transition-transform {{ $this->isSectionOpen('about') ? 'rotate-180' : '' }}"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
|
||||
</svg>
|
||||
</button>
|
||||
@if($this->isSectionOpen('about'))
|
||||
<div class="mt-2 space-y-1 pl-6">
|
||||
<a href="/ueber-uns" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Über Business Portal
|
||||
</a>
|
||||
<a href="/team" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Team
|
||||
</a>
|
||||
<a href="/partner" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Partner
|
||||
</a>
|
||||
<a href="/karriere" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Karriere
|
||||
</a>
|
||||
<a href="/presse" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Presse
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- Hilfe & Support Section -->
|
||||
<div>
|
||||
<button
|
||||
wire:click="toggleSection('support')"
|
||||
class="flex items-center justify-between w-full py-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100 hover:text-[var(--color-primary)] transition-colors"
|
||||
>
|
||||
<span class="flex items-center gap-2">
|
||||
<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"></path>
|
||||
</svg>
|
||||
Hilfe & Support
|
||||
</span>
|
||||
<svg
|
||||
class="h-4 w-4 transition-transform {{ $this->isSectionOpen('support') ? 'rotate-180' : '' }}"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
|
||||
</svg>
|
||||
</button>
|
||||
@if($this->isSectionOpen('support'))
|
||||
<div class="mt-2 space-y-1 pl-6">
|
||||
<a href="/faq" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
FAQ
|
||||
</a>
|
||||
<a href="/hilfe" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Hilfe-Center
|
||||
</a>
|
||||
<a href="/kontakt" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Kontakt
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
<!-- Rechtliches Section -->
|
||||
<div>
|
||||
<button
|
||||
wire:click="toggleSection('legal')"
|
||||
class="flex items-center justify-between w-full py-2 text-sm font-semibold text-zinc-900 dark:text-zinc-100 hover:text-[var(--color-primary)] transition-colors"
|
||||
>
|
||||
<span class="flex items-center gap-2">
|
||||
<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M9 12l2 2 4-4m5.618-4.016A11.955 11.955 0 0112 2.944a11.955 11.955 0 01-8.618 3.04A12.02 12.02 0 003 9c0 5.591 3.824 10.29 9 11.622 5.176-1.332 9-6.03 9-11.622 0-1.042-.133-2.052-.382-3.016z"></path>
|
||||
</svg>
|
||||
Rechtliches
|
||||
</span>
|
||||
<svg
|
||||
class="h-4 w-4 transition-transform {{ $this->isSectionOpen('legal') ? 'rotate-180' : '' }}"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
viewBox="0 0 24 24"
|
||||
>
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M19 9l-7 7-7-7"></path>
|
||||
</svg>
|
||||
</button>
|
||||
@if($this->isSectionOpen('legal'))
|
||||
<div class="mt-2 space-y-1 pl-6">
|
||||
<a href="/impressum" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Impressum
|
||||
</a>
|
||||
<a href="/datenschutz" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Datenschutz
|
||||
</a>
|
||||
<a href="/agb" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
AGB
|
||||
</a>
|
||||
<a href="/cookies" class="block py-2 text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-100 hover:translate-x-1 transition-all">
|
||||
Cookie-Richtlinien
|
||||
</a>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Footer Actions -->
|
||||
<div class="sticky bottom-0 bg-white dark:bg-zinc-900 border-t border-zinc-200 dark:border-zinc-800 p-6 space-y-3 transition-colors duration-200">
|
||||
<a
|
||||
href="/veroeffentlichen"
|
||||
class="block w-full text-center px-4 py-3 text-sm font-medium text-white bg-gradient-to-r from-[var(--color-primary)] to-[var(--color-secondary)] hover:from-[var(--color-primary)]/90 hover:to-[var(--color-secondary)]/90 rounded-lg shadow-md hover:shadow-lg transition-all"
|
||||
>
|
||||
Pressemitteilung veröffentlichen
|
||||
</a>
|
||||
<div class="flex gap-2">
|
||||
<a
|
||||
href="/login"
|
||||
class="flex-1 text-center px-4 py-2 text-sm font-medium text-zinc-700 dark:text-zinc-300 border border-zinc-300 dark:border-zinc-700 hover:bg-zinc-50 dark:hover:bg-zinc-800 rounded-lg transition-all"
|
||||
>
|
||||
Anmelden
|
||||
</a>
|
||||
<a
|
||||
href="/register"
|
||||
class="flex-1 text-center px-4 py-2 text-sm font-medium text-zinc-700 dark:text-zinc-300 border border-zinc-300 dark:border-zinc-700 hover:bg-zinc-50 dark:hover:bg-zinc-800 rounded-lg transition-all"
|
||||
>
|
||||
Registrieren
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Contact Info -->
|
||||
<div class="px-6 pb-6">
|
||||
<div class="p-4 bg-zinc-50 dark:bg-zinc-800 rounded-lg transition-colors duration-200">
|
||||
<div class="flex items-center gap-2 text-sm text-zinc-600 dark:text-zinc-400 mb-2">
|
||||
<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>
|
||||
</svg>
|
||||
<span>Kontakt</span>
|
||||
</div>
|
||||
<a href="mailto:info@businessportal.de" class="text-sm text-zinc-900 dark:text-zinc-100 hover:text-[var(--color-primary)] transition-colors">
|
||||
info@businessportal.de
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1,184 +0,0 @@
|
|||
<?php
|
||||
|
||||
use Livewire\Volt\Component;
|
||||
|
||||
new class extends Component {
|
||||
public $darkMode = false;
|
||||
|
||||
public function mount()
|
||||
{
|
||||
// Check if user has a preference stored
|
||||
$this->darkMode = false;
|
||||
}
|
||||
|
||||
public function toggleTheme()
|
||||
{
|
||||
$this->darkMode = !$this->darkMode;
|
||||
$this->dispatch('theme-changed', darkMode: $this->darkMode);
|
||||
}
|
||||
}; ?>
|
||||
|
||||
<div x-data="{ darkMode: $wire.entangle('darkMode') }" x-init="darkMode = localStorage.getItem('theme') === 'dark';
|
||||
$watch('darkMode', value => {
|
||||
localStorage.setItem('theme', value ? 'dark' : 'light');
|
||||
if (value) {
|
||||
document.documentElement.classList.add('dark');
|
||||
} else {
|
||||
document.documentElement.classList.remove('dark');
|
||||
}
|
||||
});
|
||||
// Initialize theme on load
|
||||
if (darkMode) {
|
||||
document.documentElement.classList.add('dark');
|
||||
}">
|
||||
<footer
|
||||
class="bg-zinc-100 glow-soft dark:bg-zinc-900 border-t border-zinc-200 dark:border-zinc-800 py-8 mt-auto transition-colors duration-200">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="grid grid-cols-2 md:grid-cols-4 gap-8 mb-8">
|
||||
<div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-3">Unternehmen</h3>
|
||||
<ul class="space-y-2">
|
||||
<li><a href="/ueber-uns"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">Über
|
||||
uns</a></li>
|
||||
<li><a href="/kontakt"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">Kontakt</a>
|
||||
</li>
|
||||
<li><a href="/presse"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">Presse</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-3">Services</h3>
|
||||
<ul class="space-y-2">
|
||||
<li><a href="/preise"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">Preise</a>
|
||||
</li>
|
||||
<li><a href="/newsrooms"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">Newsrooms</a>
|
||||
</li>
|
||||
<li><a href="/api"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">API</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-3">Rechtliches</h3>
|
||||
<ul class="space-y-2">
|
||||
<li><a href="/impressum"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">Impressum</a>
|
||||
</li>
|
||||
<li><a href="/datenschutz"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">Datenschutz</a>
|
||||
</li>
|
||||
<li><a href="/agb"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">AGB</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-3">Folgen Sie uns</h3>
|
||||
<ul class="space-y-2">
|
||||
<li><a href="https://linkedin.com" target="_blank" rel="noopener"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">LinkedIn</a>
|
||||
</li>
|
||||
<li><a href="https://twitter.com" target="_blank" rel="noopener"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">Twitter</a>
|
||||
</li>
|
||||
<li><a href="/rss"
|
||||
class="text-sm text-zinc-600 dark:text-zinc-400 hover:text-zinc-900 dark:hover:text-zinc-200 transition-colors">RSS</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@php
|
||||
$theme = config('app.theme', 'businessportal24');
|
||||
$isPresseecho = $theme === 'presseecho';
|
||||
$isBusinessportal24 = $theme === 'businessportal24';
|
||||
$currentYear = date('Y');
|
||||
$siteName = $isPresseecho ? 'Presseecho' : 'Business Portal';
|
||||
@endphp
|
||||
|
||||
<!-- Cross-Link für Presseecho -->
|
||||
@if ($isPresseecho)
|
||||
<div
|
||||
class="mb-6 p-5 bg-gradient-to-r from-[var(--color-primary)]/5 to-[var(--color-secondary)]/5 dark:from-[var(--color-primary)]/10 dark:to-[var(--color-secondary)]/10 rounded-lg border border-[var(--color-primary)]/10">
|
||||
<div class="flex items-center justify-between gap-4 flex-wrap">
|
||||
<div>
|
||||
<p class="text-sm font-semibold text-zinc-900 dark:text-zinc-100 mb-1">
|
||||
Für maximale Reichweite?
|
||||
</p>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
Besuchen Sie unser reichweitenstarkes Portal <strong
|
||||
class="text-zinc-900 dark:text-zinc-100">Businessportal24</strong>
|
||||
</p>
|
||||
</div>
|
||||
<a href="https://businessportal24.test"
|
||||
class="inline-flex items-center gap-2 px-5 py-2.5 text-sm font-medium text-white bg-gradient-to-r from-[var(--color-primary)] to-[var(--color-secondary)] hover:from-[var(--color-primary)]/90 hover:to-[var(--color-secondary)]/90 rounded-lg shadow-md hover:shadow-lg transition-all whitespace-nowrap">
|
||||
Zu Businessportal24
|
||||
<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M14 5l7 7m0 0l-7 7m7-7H3"></path>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if ($isBusinessportal24)
|
||||
<div
|
||||
class="mb-6 p-5 bg-gradient-to-r from-[var(--color-primary)]/5 to-[var(--color-secondary)]/5 dark:from-[var(--color-primary)]/10 dark:to-[var(--color-secondary)]/10 rounded-lg border border-[var(--color-primary)]/10">
|
||||
<div class="flex items-center justify-between gap-4 flex-wrap">
|
||||
<div>
|
||||
<p class="text-sm font-semibold text-zinc-900 dark:text-zinc-100 mb-1">
|
||||
Für maximale Reichweite?
|
||||
</p>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
Besuchen Sie unser reichweitenstarkes Portal <strong
|
||||
class="text-zinc-900 dark:text-zinc-100">presseecho</strong>
|
||||
</p>
|
||||
</div>
|
||||
<a href="https://presseecho.test"
|
||||
class="inline-flex items-center gap-2 px-5 py-2.5 text-sm font-medium text-white bg-gradient-to-r from-[var(--color-primary)] to-[var(--color-secondary)] hover:from-[var(--color-primary)]/90 hover:to-[var(--color-secondary)]/90 rounded-lg shadow-md hover:shadow-lg transition-all whitespace-nowrap">
|
||||
Zu Presseecho
|
||||
<svg class="h-4 w-4" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M14 5l7 7m0 0l-7 7m7-7H3"></path>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="pt-6 border-t border-zinc-200 dark:border-zinc-700">
|
||||
<div class="flex flex-col md:flex-row items-center justify-between gap-4">
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">© {{ $currentYear }} {{ $siteName }}. Alle
|
||||
Rechte vorbehalten.</p>
|
||||
|
||||
<!-- Theme Toggle -->
|
||||
<button @click="darkMode = !darkMode"
|
||||
class="inline-flex items-center gap-2 px-4 py-2 text-sm font-medium text-zinc-700 dark:text-zinc-300 hover:bg-zinc-100 dark:hover:bg-zinc-800 border border-zinc-200 dark:border-zinc-600 rounded-lg transition-all"
|
||||
aria-label="Theme wechseln">
|
||||
<!-- Sun Icon (zeigt in Dark Mode) -->
|
||||
<svg x-show="darkMode" class="h-5 w-5" fill="none" stroke="currentColor" viewBox="0 0 24 24"
|
||||
x-cloak>
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M12 3v1m0 16v1m9-9h-1M4 12H3m15.364 6.364l-.707-.707M6.343 6.343l-.707-.707m12.728 0l-.707.707M6.343 17.657l-.707.707M16 12a4 4 0 11-8 0 4 4 0 018 0z">
|
||||
</path>
|
||||
</svg>
|
||||
<!-- Moon Icon (zeigt in Light Mode) -->
|
||||
<svg x-show="!darkMode" class="h-5 w-5" fill="none" stroke="currentColor"
|
||||
viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M20.354 15.354A9 9 0 018.646 3.646 9.003 9.003 0 0012 21a9.003 9.003 0 008.354-5.646z">
|
||||
</path>
|
||||
</svg>
|
||||
<span x-text="darkMode ? 'Hell' : 'Dunkel'"></span>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
</div>
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
<?php
|
||||
|
||||
use Livewire\Volt\Component;
|
||||
|
||||
new class extends Component {
|
||||
public $searchQuery = '';
|
||||
public $showMobileSearch = false;
|
||||
|
||||
public function search()
|
||||
{
|
||||
// Implementierung der Suchlogik
|
||||
$this->dispatch('search-pressed', query: $this->searchQuery);
|
||||
}
|
||||
}; ?>
|
||||
|
||||
<div>
|
||||
<header
|
||||
class="sticky top-0 z-50 bg-white dark:bg-zinc-900 border-b border-zinc-200/50 dark:border-zinc-800/50 shadow-sm backdrop-blur-sm transition-colors duration-200">
|
||||
<!-- Brand Accent Bar -->
|
||||
<div
|
||||
class="h-1 bg-gradient-to-r from-[var(--color-primary)] via-[var(--color-secondary)] to-[var(--color-primary)]">
|
||||
</div>
|
||||
|
||||
<div class="container mx-auto px-4 h-16 flex items-center justify-between gap-4">
|
||||
<!-- Burger Menu + Logo -->
|
||||
<div class="flex items-center gap-3">
|
||||
<!-- Burger Menu Button (immer sichtbar) -->
|
||||
<button @click="$dispatch('toggle-mobile-menu')"
|
||||
class="p-2 hover:bg-zinc-100 dark:hover:bg-zinc-800 border border-zinc-200 dark:border-zinc-600 rounded-lg transition-colors"
|
||||
aria-label="Menü öffnen">
|
||||
<svg class="h-6 w-6 text-zinc-900 dark:text-zinc-100" fill="none" stroke="currentColor"
|
||||
viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M4 6h16M4 12h16M4 18h16"></path>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<a href="/" class="flex-shrink-0 flex items-center gap-3">
|
||||
@php
|
||||
$theme = config('app.theme', 'businessportal24');
|
||||
|
||||
// Versuche verschiedene Logo-Namenskonventionen
|
||||
$logoVariants = [
|
||||
"images/{$theme}-logo.svg",
|
||||
'images/' . str_replace('24', '', $theme) . '-logo.svg', // businessportal-logo.svg
|
||||
];
|
||||
|
||||
$logoPath = null;
|
||||
foreach ($logoVariants as $variant) {
|
||||
if (file_exists(public_path($variant))) {
|
||||
$logoPath = $variant;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$altText = ucfirst(str_replace(['24', '-'], [' ', ' '], $theme));
|
||||
@endphp
|
||||
|
||||
@if ($logoPath)
|
||||
<img src="{{ asset($logoPath) }}" alt="{{ $altText }}"
|
||||
class="h-12 w-auto dark:brightness-0 dark:invert">
|
||||
@else
|
||||
<div
|
||||
class="h-10 w-10 rounded-lg bg-gradient-to-br from-[var(--color-primary)] to-[var(--color-secondary)] flex items-center justify-center shadow-md">
|
||||
<span class="text-white font-bold text-lg">{{ strtoupper(substr($theme, 0, 2)) }}</span>
|
||||
</div>
|
||||
@endif
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Search - Desktop -->
|
||||
<div class="hidden md:flex flex-1 max-w-xl">
|
||||
<form wire:submit.prevent="search" class="relative w-full">
|
||||
<svg class="absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-zinc-400" fill="none"
|
||||
stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
|
||||
</svg>
|
||||
<input type="search" wire:model="searchQuery" placeholder="Pressemitteilungen durchsuchen..."
|
||||
class="pl-10 w-full rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-zinc-100 px-4 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent transition-all" />
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<!-- Search Icon - Mobile -->
|
||||
<button @click="$wire.showMobileSearch = !$wire.showMobileSearch"
|
||||
class="md:hidden p-2 hover:bg-zinc-100 dark:hover:bg-zinc-800 rounded-lg transition-colors">
|
||||
<svg class="h-5 w-5 text-zinc-900 dark:text-zinc-100" fill="none" stroke="currentColor"
|
||||
viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<!-- CTA Buttons - Domain-specific -->
|
||||
<div class="flex items-center gap-2">
|
||||
@php
|
||||
$theme = config('app.theme', 'businessportal24');
|
||||
$isPresseecho = $theme === 'presseecho';
|
||||
@endphp
|
||||
|
||||
@if ($isPresseecho)
|
||||
<!-- Presseecho: Dezente Navigation -->
|
||||
<a href="/login"
|
||||
class="hidden sm:inline-flex items-center px-4 py-2 text-sm font-medium text-zinc-700 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-zinc-100 hover:bg-zinc-100 dark:hover:bg-zinc-800 rounded-lg transition-colors">
|
||||
Anmelden
|
||||
</a>
|
||||
<a href="/beitrag-einreichen"
|
||||
class="inline-flex items-center px-4 py-2 text-sm font-medium text-zinc-700 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-zinc-100 hover:bg-zinc-100 dark:hover:bg-zinc-800 rounded-lg transition-colors border border-zinc-300 dark:border-zinc-700">
|
||||
Beitrag einreichen
|
||||
</a>
|
||||
@else
|
||||
<!-- Businessportal24: Prominenter CTA -->
|
||||
<a href="/login"
|
||||
class="hidden sm:inline-flex items-center px-4 py-2 text-sm font-medium text-zinc-700 dark:text-zinc-300 hover:text-zinc-900 dark:hover:text-zinc-100 hover:bg-zinc-100 dark:hover:bg-zinc-800 rounded-lg transition-colors">
|
||||
Anmelden
|
||||
</a>
|
||||
<a href="/veroeffentlichen"
|
||||
class="inline-flex items-center px-4 py-2 text-sm font-medium text-white bg-gradient-to-r from-[var(--color-primary)] to-[var(--color-secondary)] hover:from-[var(--color-primary)]/90 hover:to-[var(--color-secondary)]/90 rounded-lg shadow-md hover:shadow-lg transition-all">
|
||||
Veröffentlichen
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Mobile Search Bar -->
|
||||
<div x-show="$wire.showMobileSearch" x-transition:enter="transition ease-out duration-200"
|
||||
x-transition:enter-start="opacity-0 -translate-y-2" x-transition:enter-end="opacity-100 translate-y-0"
|
||||
x-transition:leave="transition ease-in duration-150" x-transition:leave-start="opacity-100 translate-y-0"
|
||||
x-transition:leave-end="opacity-0 -translate-y-2"
|
||||
class="md:hidden border-t border-zinc-200 dark:border-zinc-800 px-4 py-3 bg-white dark:bg-zinc-900" x-cloak>
|
||||
<form wire:submit.prevent="search" class="relative">
|
||||
<svg class="absolute left-3 top-1/2 -translate-y-1/2 h-4 w-4 text-zinc-400 dark:text-zinc-500"
|
||||
fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2"
|
||||
d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path>
|
||||
</svg>
|
||||
<input type="search" wire:model="searchQuery" placeholder="Pressemitteilungen durchsuchen..."
|
||||
class="pl-10 w-full rounded-lg border border-zinc-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-zinc-900 dark:text-zinc-100 px-4 py-2 text-sm focus:outline-none focus:ring-2 focus:ring-[var(--color-primary)] focus:border-transparent transition-all" />
|
||||
</form>
|
||||
</div>
|
||||
</header>
|
||||
</div>
|
||||
|
|
@ -1,197 +0,0 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@php
|
||||
$brandConfig = \App\Support\WebPortalContext::fromRequest()->domainConfig['brand'] ?? [];
|
||||
$brandLabel = ($brandConfig['name'] ?? 'businessportal').($brandConfig['accent'] ?? '24');
|
||||
@endphp
|
||||
|
||||
@section('title', 'Karriere – '.$brandLabel)
|
||||
@section('meta_description', 'Karriere bei '.$brandLabel.' – Einstiegsmöglichkeiten und Kontakt für Bewerbungen.')
|
||||
|
||||
@section('content')
|
||||
|
||||
<main class="min-h-screen flex flex-col bg-white dark:bg-zinc-950 transition-colors duration-200">
|
||||
<livewire:web.burger-menu />
|
||||
<livewire:web.header />
|
||||
|
||||
<!-- Hero Section -->
|
||||
<section class="relative overflow-hidden text-white py-20 animate-fade-in"
|
||||
style="background: var(--gradient-hero);">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-3xl mx-auto text-center">
|
||||
<h1 class="text-4xl md:text-5xl font-bold mb-6 animate-fade-in-up">
|
||||
Karriere bei Business Portal
|
||||
</h1>
|
||||
<p class="text-xl text-white/90 leading-relaxed animate-fade-in-up animation-delay-200">
|
||||
Werde Teil eines dynamischen Teams und gestalte die Zukunft der Unternehmenskommunikation
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Why Join Section -->
|
||||
<section class="py-16 bg-white dark:bg-zinc-950 transition-colors duration-200">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Warum Business Portal?
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6">
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-[var(--color-primary)]/10 to-[var(--color-secondary)]/10 rounded-full flex items-center justify-center mb-4">
|
||||
<svg class="h-8 w-8 text-[var(--color-primary)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-3">
|
||||
Wachstum & Entwicklung
|
||||
</h3>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
Kontinuierliche Weiterbildung und klare Karrierepfade
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-[var(--color-primary)]/10 to-[var(--color-secondary)]/10 rounded-full flex items-center justify-center mb-4">
|
||||
<svg class="h-8 w-8 text-[var(--color-primary)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-3">
|
||||
Flexible Arbeitszeiten
|
||||
</h3>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
Work-Life-Balance mit Remote- und Hybrid-Optionen
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-[var(--color-primary)]/10 to-[var(--color-secondary)]/10 rounded-full flex items-center justify-center mb-4">
|
||||
<svg class="h-8 w-8 text-[var(--color-primary)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M17 20h5v-2a3 3 0 00-5.356-1.857M17 20H7m10 0v-2c0-.656-.126-1.283-.356-1.857M7 20H2v-2a3 3 0 015.356-1.857M7 20v-2c0-.656.126-1.283.356-1.857m0 0a5.002 5.002 0 019.288 0M15 7a3 3 0 11-6 0 3 3 0 016 0zm6 3a2 2 0 11-4 0 2 2 0 014 0zM7 10a2 2 0 11-4 0 2 2 0 014 0z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-3">
|
||||
Tolles Team
|
||||
</h3>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
Arbeite mit motivierten Profis in einem inspirierenden Umfeld
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Open Positions Section -->
|
||||
<section class="py-16 bg-zinc-50/50 dark:bg-zinc-900/50 transition-colors duration-200">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Offene Stellen
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div class="space-y-4">
|
||||
<!-- Job 1 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<div class="flex justify-between items-start mb-4">
|
||||
<div>
|
||||
<h3 class="font-semibold text-lg text-zinc-900 dark:text-zinc-100 mb-2">
|
||||
Senior Full-Stack Developer (m/w/d)
|
||||
</h3>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<span class="px-3 py-1 bg-[var(--color-primary)]/10 text-[var(--color-primary)] text-xs rounded-full">Vollzeit</span>
|
||||
<span class="px-3 py-1 bg-zinc-100 dark:bg-zinc-800 text-zinc-600 dark:text-zinc-400 text-xs rounded-full">Remote möglich</span>
|
||||
<span class="px-3 py-1 bg-zinc-100 dark:bg-zinc-800 text-zinc-600 dark:text-zinc-400 text-xs rounded-full">Berlin</span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" class="px-4 py-2 text-sm font-medium text-white rounded-lg transition-all" style="background: var(--gradient-hero);">
|
||||
Bewerben
|
||||
</a>
|
||||
</div>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
Wir suchen einen erfahrenen Full-Stack Developer für unser Engineering-Team...
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Job 2 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<div class="flex justify-between items-start mb-4">
|
||||
<div>
|
||||
<h3 class="font-semibold text-lg text-zinc-900 dark:text-zinc-100 mb-2">
|
||||
Content Manager (m/w/d)
|
||||
</h3>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<span class="px-3 py-1 bg-[var(--color-primary)]/10 text-[var(--color-primary)] text-xs rounded-full">Vollzeit</span>
|
||||
<span class="px-3 py-1 bg-zinc-100 dark:bg-zinc-800 text-zinc-600 dark:text-zinc-400 text-xs rounded-full">Berlin</span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" class="px-4 py-2 text-sm font-medium text-white rounded-lg transition-all" style="background: var(--gradient-hero);">
|
||||
Bewerben
|
||||
</a>
|
||||
</div>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
Verstärke unser Content-Team und gestalte redaktionelle Prozesse...
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<!-- Job 3 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<div class="flex justify-between items-start mb-4">
|
||||
<div>
|
||||
<h3 class="font-semibold text-lg text-zinc-900 dark:text-zinc-100 mb-2">
|
||||
Customer Success Manager (m/w/d)
|
||||
</h3>
|
||||
<div class="flex flex-wrap gap-2">
|
||||
<span class="px-3 py-1 bg-[var(--color-primary)]/10 text-[var(--color-primary)] text-xs rounded-full">Vollzeit</span>
|
||||
<span class="px-3 py-1 bg-zinc-100 dark:bg-zinc-800 text-zinc-600 dark:text-zinc-400 text-xs rounded-full">Remote möglich</span>
|
||||
<span class="px-3 py-1 bg-zinc-100 dark:bg-zinc-800 text-zinc-600 dark:text-zinc-400 text-xs rounded-full">München</span>
|
||||
</div>
|
||||
</div>
|
||||
<a href="#" class="px-4 py-2 text-sm font-medium text-white rounded-lg transition-all" style="background: var(--gradient-hero);">
|
||||
Bewerben
|
||||
</a>
|
||||
</div>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">
|
||||
Betreue unsere Kunden und hilf ihnen, das Maximum aus unserer Plattform herauszuholen...
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA Section -->
|
||||
<section class="py-16 text-white" style="background: var(--gradient-hero);">
|
||||
<div class="container mx-auto px-4 text-center">
|
||||
<h2 class="text-3xl font-bold mb-4">
|
||||
Initiativbewerbung
|
||||
</h2>
|
||||
<p class="text-xl text-white/90 mb-8 max-w-2xl mx-auto">
|
||||
Du passt nicht zu den offenen Stellen, möchtest aber trotzdem Teil unseres Teams werden?
|
||||
</p>
|
||||
<a href="/kontakt" class="inline-flex items-center justify-center px-8 py-4 text-sm font-medium bg-white text-[var(--color-primary)] hover:bg-zinc-100 rounded-lg shadow-md hover:shadow-lg transition-all">
|
||||
Kontakt aufnehmen
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<livewire:web.footer />
|
||||
</main>
|
||||
|
||||
@endsection
|
||||
|
||||
@push('styles')
|
||||
<style>
|
||||
:root {
|
||||
--color-primary: {{ $domainConfig['color_scheme']['primary'] ?? '#cf3628' }};
|
||||
--color-secondary: {{ $domainConfig['color_scheme']['secondary'] ?? '#f0834a' }};
|
||||
}
|
||||
[x-cloak] { display: none !important; }
|
||||
</style>
|
||||
@endpush
|
||||
|
|
@ -1,117 +0,0 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@php
|
||||
$brandConfig = \App\Support\WebPortalContext::fromRequest()->domainConfig['brand'] ?? [];
|
||||
$brandLabel = ($brandConfig['name'] ?? 'businessportal').($brandConfig['accent'] ?? '24');
|
||||
@endphp
|
||||
|
||||
@section('title', 'Partner – '.$brandLabel)
|
||||
@section('meta_description', 'Partner und Kooperationen von '.$brandLabel.' im Überblick.')
|
||||
|
||||
@section('content')
|
||||
|
||||
<main class="min-h-screen flex flex-col bg-white dark:bg-zinc-950 transition-colors duration-200">
|
||||
<livewire:web.burger-menu />
|
||||
<livewire:web.header />
|
||||
|
||||
<!-- Hero Section -->
|
||||
<section class="relative overflow-hidden text-white py-20 animate-fade-in"
|
||||
style="background: var(--gradient-hero);">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-3xl mx-auto text-center">
|
||||
<h1 class="text-4xl md:text-5xl font-bold mb-6 animate-fade-in-up">
|
||||
Unsere Partner
|
||||
</h1>
|
||||
<p class="text-xl text-white/90 leading-relaxed animate-fade-in-up animation-delay-200">
|
||||
Gemeinsam mit starken Partnern gestalten wir die Zukunft der Unternehmenskommunikation
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Partner Categories Section -->
|
||||
<section class="py-16 bg-white dark:bg-zinc-950 transition-colors duration-200">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Medienpartner
|
||||
</h2>
|
||||
<p class="text-lg text-zinc-600 dark:text-zinc-400">
|
||||
Führende Medien und Verlage im DACH-Raum
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-2 md:grid-cols-4 gap-8 mb-16">
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 flex items-center justify-center hover:shadow-lg transition-all">
|
||||
<span class="text-zinc-600 dark:text-zinc-400 font-semibold">Partner 1</span>
|
||||
</div>
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 flex items-center justify-center hover:shadow-lg transition-all">
|
||||
<span class="text-zinc-600 dark:text-zinc-400 font-semibold">Partner 2</span>
|
||||
</div>
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 flex items-center justify-center hover:shadow-lg transition-all">
|
||||
<span class="text-zinc-600 dark:text-zinc-400 font-semibold">Partner 3</span>
|
||||
</div>
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 flex items-center justify-center hover:shadow-lg transition-all">
|
||||
<span class="text-zinc-600 dark:text-zinc-400 font-semibold">Partner 4</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Technologie-Partner
|
||||
</h2>
|
||||
<p class="text-lg text-zinc-600 dark:text-zinc-400">
|
||||
Innovative Technologie-Unternehmen
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-2 md:grid-cols-4 gap-8">
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 flex items-center justify-center hover:shadow-lg transition-all">
|
||||
<span class="text-zinc-600 dark:text-zinc-400 font-semibold">Tech Partner 1</span>
|
||||
</div>
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 flex items-center justify-center hover:shadow-lg transition-all">
|
||||
<span class="text-zinc-600 dark:text-zinc-400 font-semibold">Tech Partner 2</span>
|
||||
</div>
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 flex items-center justify-center hover:shadow-lg transition-all">
|
||||
<span class="text-zinc-600 dark:text-zinc-400 font-semibold">Tech Partner 3</span>
|
||||
</div>
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 flex items-center justify-center hover:shadow-lg transition-all">
|
||||
<span class="text-zinc-600 dark:text-zinc-400 font-semibold">Tech Partner 4</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Partner werden Section -->
|
||||
<section class="py-16 bg-zinc-50/50 dark:bg-zinc-900/50 transition-colors duration-200">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-4xl mx-auto text-center">
|
||||
<h2 class="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Partner werden
|
||||
</h2>
|
||||
<p class="text-lg text-zinc-600 dark:text-zinc-400 mb-8">
|
||||
Interessiert an einer Partnerschaft? Kontaktieren Sie uns für weitere Informationen.
|
||||
</p>
|
||||
<a href="/kontakt" class="inline-flex items-center justify-center px-8 py-4 text-sm font-medium text-white rounded-lg shadow-md hover:shadow-lg transition-all" style="background: var(--gradient-hero);">
|
||||
Kontakt aufnehmen
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<livewire:web.footer />
|
||||
</main>
|
||||
|
||||
@endsection
|
||||
|
||||
@push('styles')
|
||||
<style>
|
||||
:root {
|
||||
--color-primary: {{ $domainConfig['color_scheme']['primary'] ?? '#cf3628' }};
|
||||
--color-secondary: {{ $domainConfig['color_scheme']['secondary'] ?? '#f0834a' }};
|
||||
}
|
||||
[x-cloak] { display: none !important; }
|
||||
</style>
|
||||
@endpush
|
||||
|
|
@ -1,200 +0,0 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@php
|
||||
$brandConfig = \App\Support\WebPortalContext::fromRequest()->domainConfig['brand'] ?? [];
|
||||
$brandLabel = ($brandConfig['name'] ?? 'businessportal').($brandConfig['accent'] ?? '24');
|
||||
@endphp
|
||||
|
||||
@section('title', 'Presse – '.$brandLabel)
|
||||
@section('meta_description', 'Presseinformationen und Kontakt für Medienanfragen zu '.$brandLabel.'.')
|
||||
|
||||
@section('content')
|
||||
|
||||
<main class="min-h-screen flex flex-col bg-white dark:bg-zinc-950 transition-colors duration-200">
|
||||
<livewire:web.burger-menu />
|
||||
<livewire:web.header />
|
||||
|
||||
<!-- Hero Section -->
|
||||
<section class="relative overflow-hidden text-white py-20 animate-fade-in"
|
||||
style="background: var(--gradient-hero);">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-3xl mx-auto text-center">
|
||||
<h1 class="text-4xl md:text-5xl font-bold mb-6 animate-fade-in-up">
|
||||
Presse
|
||||
</h1>
|
||||
<p class="text-xl text-white/90 leading-relaxed animate-fade-in-up animation-delay-200">
|
||||
Aktuelle Informationen und Materialien für die Presse
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Press Contact Section -->
|
||||
<section class="py-16 bg-white dark:bg-zinc-950 transition-colors duration-200">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Pressekontakt
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-8 transition-colors duration-200">
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
|
||||
<div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-4">Presseabteilung</h3>
|
||||
<div class="space-y-3">
|
||||
<div class="flex items-start gap-3">
|
||||
<svg class="h-5 w-5 text-[var(--color-primary)] flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>
|
||||
</svg>
|
||||
<span class="text-zinc-600 dark:text-zinc-400">presse@businessportal.de</span>
|
||||
</div>
|
||||
<div class="flex items-start gap-3">
|
||||
<svg class="h-5 w-5 text-[var(--color-primary)] flex-shrink-0 mt-0.5" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z"></path>
|
||||
</svg>
|
||||
<span class="text-zinc-600 dark:text-zinc-400">+49 (0) 30 1234567-89</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-4">Ansprechpartnerin</h3>
|
||||
<p class="text-zinc-600 dark:text-zinc-400 mb-2">Lisa Müller</p>
|
||||
<p class="text-sm text-zinc-500 dark:text-zinc-500">Head of Communications</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Press Releases Section -->
|
||||
<section class="py-16 bg-zinc-50/50 dark:bg-zinc-900/50 transition-colors duration-200">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Aktuelle Pressemitteilungen
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div class="space-y-6">
|
||||
<!-- Press Release 1 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<div class="text-sm text-zinc-500 dark:text-zinc-500 mb-2">15. Januar 2025</div>
|
||||
<h3 class="font-semibold text-lg text-zinc-900 dark:text-zinc-100 mb-3">
|
||||
Business Portal erreicht 15.000 registrierte Unternehmen
|
||||
</h3>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400 mb-4">
|
||||
Die führende Plattform für Unternehmenskommunikation im DACH-Raum verzeichnet weiteres Wachstum...
|
||||
</p>
|
||||
<a href="#" class="text-[var(--color-primary)] hover:underline text-sm font-medium">
|
||||
Weiterlesen →
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Press Release 2 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<div class="text-sm text-zinc-500 dark:text-zinc-500 mb-2">10. Dezember 2024</div>
|
||||
<h3 class="font-semibold text-lg text-zinc-900 dark:text-zinc-100 mb-3">
|
||||
Neue KI-Features für optimierte Presseveröffentlichungen
|
||||
</h3>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400 mb-4">
|
||||
Business Portal integriert fortschrittliche KI-Technologie zur Optimierung von Pressemitteilungen...
|
||||
</p>
|
||||
<a href="#" class="text-[var(--color-primary)] hover:underline text-sm font-medium">
|
||||
Weiterlesen →
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Press Release 3 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<div class="text-sm text-zinc-500 dark:text-zinc-500 mb-2">5. November 2024</div>
|
||||
<h3 class="font-semibold text-lg text-zinc-900 dark:text-zinc-100 mb-3">
|
||||
Business Portal erweitert API-Funktionen
|
||||
</h3>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400 mb-4">
|
||||
Neue REST-API ermöglicht nahtlose Integration in bestehende Unternehmens-Systeme...
|
||||
</p>
|
||||
<a href="#" class="text-[var(--color-primary)] hover:underline text-sm font-medium">
|
||||
Weiterlesen →
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Press Kit Section -->
|
||||
<section class="py-16 bg-white dark:bg-zinc-950 transition-colors duration-200">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Presse-Kit
|
||||
</h2>
|
||||
<p class="text-zinc-600 dark:text-zinc-400">
|
||||
Logos, Bilder und Materialien zum Download
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-6">
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-3">Logos</h3>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400 mb-4">
|
||||
Offizielle Logos in verschiedenen Formaten und Farben
|
||||
</p>
|
||||
<a href="#" class="inline-flex items-center text-[var(--color-primary)] hover:underline text-sm font-medium">
|
||||
Download (ZIP, 2.5 MB) →
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-3">Pressemappen</h3>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400 mb-4">
|
||||
Umfassende Informationen über Business Portal
|
||||
</p>
|
||||
<a href="#" class="inline-flex items-center text-[var(--color-primary)] hover:underline text-sm font-medium">
|
||||
Download (PDF, 5.2 MB) →
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-3">Screenshots</h3>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400 mb-4">
|
||||
Hochauflösende Screenshots der Plattform
|
||||
</p>
|
||||
<a href="#" class="inline-flex items-center text-[var(--color-primary)] hover:underline text-sm font-medium">
|
||||
Download (ZIP, 8.1 MB) →
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 hover:shadow-lg transition-all">
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-3">Factsheet</h3>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400 mb-4">
|
||||
Kompakte Übersicht mit Zahlen und Fakten
|
||||
</p>
|
||||
<a href="#" class="inline-flex items-center text-[var(--color-primary)] hover:underline text-sm font-medium">
|
||||
Download (PDF, 1.2 MB) →
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<livewire:web.footer />
|
||||
</main>
|
||||
|
||||
@endsection
|
||||
|
||||
@push('styles')
|
||||
<style>
|
||||
:root {
|
||||
--color-primary: {{ $domainConfig['color_scheme']['primary'] ?? '#cf3628' }};
|
||||
--color-secondary: {{ $domainConfig['color_scheme']['secondary'] ?? '#f0834a' }};
|
||||
}
|
||||
[x-cloak] { display: none !important; }
|
||||
</style>
|
||||
@endpush
|
||||
|
|
@ -1,296 +0,0 @@
|
|||
@extends('web.layouts.web-master')
|
||||
|
||||
@php
|
||||
$brandConfig = \App\Support\WebPortalContext::fromRequest()->domainConfig['brand'] ?? [];
|
||||
$brandLabel = ($brandConfig['name'] ?? 'businessportal').($brandConfig['accent'] ?? '24');
|
||||
@endphp
|
||||
|
||||
@section('title', 'Unser Team – '.$brandLabel)
|
||||
@section('meta_description', 'Das Team hinter '.$brandLabel.'.')
|
||||
|
||||
@section('content')
|
||||
|
||||
<main class="min-h-screen flex flex-col bg-white dark:bg-zinc-950 transition-colors duration-200">
|
||||
<!-- Burger Menu Component -->
|
||||
<livewire:web.burger-menu />
|
||||
|
||||
<!-- Header Component -->
|
||||
<livewire:web.header />
|
||||
|
||||
<!-- Hero Section -->
|
||||
<section class="relative overflow-hidden text-white py-20 animate-fade-in"
|
||||
style="background: var(--gradient-hero);">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-3xl mx-auto text-center">
|
||||
<h1 class="text-4xl md:text-5xl font-bold mb-6 animate-fade-in-up">
|
||||
Unser Team
|
||||
</h1>
|
||||
<p class="text-xl text-white/90 leading-relaxed animate-fade-in-up animation-delay-200">
|
||||
Leidenschaftliche Experten aus PR, Technologie und Medien arbeiten gemeinsam an der Zukunft der Unternehmenskommunikation
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<!-- Decorative Pattern -->
|
||||
<div class="absolute top-0 right-0 opacity-10">
|
||||
<svg width="404" height="384" fill="none" viewBox="0 0 404 384">
|
||||
<defs>
|
||||
<pattern id="pattern-hero-team" x="0" y="0" width="20" height="20" patternUnits="userSpaceOnUse">
|
||||
<rect x="0" y="0" width="4" height="4" fill="currentColor"/>
|
||||
</pattern>
|
||||
</defs>
|
||||
<rect width="404" height="384" fill="url(#pattern-hero-team)"/>
|
||||
</svg>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Leadership Section -->
|
||||
<section class="py-16 bg-white dark:bg-zinc-950 transition-colors duration-200">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Führungsteam
|
||||
</h2>
|
||||
<p class="text-zinc-600 dark:text-zinc-400 max-w-2xl mx-auto">
|
||||
Visionäre Führung mit jahrzehntelanger Erfahrung
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-6xl mx-auto">
|
||||
<!-- Leader 1 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-8 text-center hover:shadow-lg transition-all">
|
||||
<div class="w-32 h-32 bg-gradient-to-br from-[var(--color-primary)]/20 to-[var(--color-secondary)]/20 rounded-full flex items-center justify-center mx-auto mb-6">
|
||||
<svg class="h-16 w-16 text-[var(--color-primary)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="font-bold text-xl text-zinc-900 dark:text-zinc-100 mb-2">
|
||||
Dr. Michael Weber
|
||||
</h3>
|
||||
<p class="text-[var(--color-primary)] font-medium mb-4">Gründer & CEO</p>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400 mb-4">
|
||||
15+ Jahre Erfahrung in PR und Unternehmenskommunikation. Ehemaliger Chefredakteur bei führenden Wirtschaftsmedien.
|
||||
</p>
|
||||
<div class="flex justify-center gap-3">
|
||||
<a href="#" class="text-zinc-400 hover:text-[var(--color-primary)] transition-colors">
|
||||
<svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Leader 2 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-8 text-center hover:shadow-lg transition-all">
|
||||
<div class="w-32 h-32 bg-gradient-to-br from-[var(--color-primary)]/20 to-[var(--color-secondary)]/20 rounded-full flex items-center justify-center mx-auto mb-6">
|
||||
<svg class="h-16 w-16 text-[var(--color-primary)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="font-bold text-xl text-zinc-900 dark:text-zinc-100 mb-2">
|
||||
Sarah Hoffmann
|
||||
</h3>
|
||||
<p class="text-[var(--color-primary)] font-medium mb-4">Chief Technology Officer</p>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400 mb-4">
|
||||
Expertin für digitale Plattformen und Skalierung. Zuvor Tech Lead bei mehreren erfolgreichen Start-ups.
|
||||
</p>
|
||||
<div class="flex justify-center gap-3">
|
||||
<a href="#" class="text-zinc-400 hover:text-[var(--color-primary)] transition-colors">
|
||||
<svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Leader 3 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-8 text-center hover:shadow-lg transition-all">
|
||||
<div class="w-32 h-32 bg-gradient-to-br from-[var(--color-primary)]/20 to-[var(--color-secondary)]/20 rounded-full flex items-center justify-center mx-auto mb-6">
|
||||
<svg class="h-16 w-16 text-[var(--color-primary)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="font-bold text-xl text-zinc-900 dark:text-zinc-100 mb-2">
|
||||
Thomas Schneider
|
||||
</h3>
|
||||
<p class="text-[var(--color-primary)] font-medium mb-4">Head of Customer Success</p>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400 mb-4">
|
||||
Spezialist für Kundenzufriedenheit mit Fokus auf langfristige Partnerschaften und Account Management.
|
||||
</p>
|
||||
<div class="flex justify-center gap-3">
|
||||
<a href="#" class="text-zinc-400 hover:text-[var(--color-primary)] transition-colors">
|
||||
<svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24">
|
||||
<path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Departments Section -->
|
||||
<section class="py-16 bg-zinc-50/50 dark:bg-zinc-900/50 transition-colors duration-200">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Unsere Teams
|
||||
</h2>
|
||||
<p class="text-zinc-600 dark:text-zinc-400 max-w-2xl mx-auto">
|
||||
Engagierte Profis in allen Bereichen
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 max-w-6xl mx-auto">
|
||||
<!-- Department 1 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 text-center hover:shadow-lg transition-all">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-[var(--color-primary)]/10 to-[var(--color-secondary)]/10 rounded-full flex items-center justify-center mx-auto mb-4">
|
||||
<svg class="h-8 w-8 text-[var(--color-primary)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 20l4-16m4 4l4 4-4 4M6 16l-4-4 4-4"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-2">
|
||||
Engineering
|
||||
</h3>
|
||||
<p class="text-2xl font-bold text-[var(--color-primary)] mb-2">12</p>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">Entwickler & DevOps</p>
|
||||
</div>
|
||||
|
||||
<!-- Department 2 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 text-center hover:shadow-lg transition-all">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-[var(--color-primary)]/10 to-[var(--color-secondary)]/10 rounded-full flex items-center justify-center mx-auto mb-4">
|
||||
<svg class="h-8 w-8 text-[var(--color-primary)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-2">
|
||||
Content & Redaktion
|
||||
</h3>
|
||||
<p class="text-2xl font-bold text-[var(--color-primary)] mb-2">8</p>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">Redakteure & Lektoren</p>
|
||||
</div>
|
||||
|
||||
<!-- Department 3 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 text-center hover:shadow-lg transition-all">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-[var(--color-primary)]/10 to-[var(--color-secondary)]/10 rounded-full flex items-center justify-center mx-auto mb-4">
|
||||
<svg class="h-8 w-8 text-[var(--color-primary)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-2">
|
||||
Customer Success
|
||||
</h3>
|
||||
<p class="text-2xl font-bold text-[var(--color-primary)] mb-2">15</p>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">Support & Account Manager</p>
|
||||
</div>
|
||||
|
||||
<!-- Department 4 -->
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-6 text-center hover:shadow-lg transition-all">
|
||||
<div class="w-16 h-16 bg-gradient-to-br from-[var(--color-primary)]/10 to-[var(--color-secondary)]/10 rounded-full flex items-center justify-center mx-auto mb-4">
|
||||
<svg class="h-8 w-8 text-[var(--color-primary)]" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7h8m0 0v8m0-8l-8 8-4-4-6 6"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<h3 class="font-semibold text-zinc-900 dark:text-zinc-100 mb-2">
|
||||
Sales & Marketing
|
||||
</h3>
|
||||
<p class="text-2xl font-bold text-[var(--color-primary)] mb-2">10</p>
|
||||
<p class="text-sm text-zinc-600 dark:text-zinc-400">Sales & Marketing Experten</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Values Section -->
|
||||
<section class="py-16 bg-white dark:bg-zinc-950 transition-colors duration-200">
|
||||
<div class="container mx-auto px-4">
|
||||
<div class="max-w-4xl mx-auto">
|
||||
<div class="text-center mb-12">
|
||||
<h2 class="text-3xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Was uns antreibt
|
||||
</h2>
|
||||
<p class="text-zinc-600 dark:text-zinc-400">
|
||||
Die Werte, die unser Team vereinen
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-8">
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-8 transition-colors duration-200">
|
||||
<h3 class="text-xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Innovation & Exzellenz
|
||||
</h3>
|
||||
<p class="text-zinc-600 dark:text-zinc-400">
|
||||
Wir streben nach kontinuierlicher Verbesserung und technologischer Innovation, um unseren Kunden die beste Plattform zu bieten.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-8 transition-colors duration-200">
|
||||
<h3 class="text-xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Kundenfokus
|
||||
</h3>
|
||||
<p class="text-zinc-600 dark:text-zinc-400">
|
||||
Der Erfolg unserer Kunden ist unser Erfolg. Wir hören zu, verstehen Bedürfnisse und liefern maßgeschneiderte Lösungen.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-8 transition-colors duration-200">
|
||||
<h3 class="text-xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Zusammenarbeit
|
||||
</h3>
|
||||
<p class="text-zinc-600 dark:text-zinc-400">
|
||||
Wir glauben an die Kraft der Zusammenarbeit – intern im Team und mit unseren Kunden und Partnern.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="bg-white dark:bg-zinc-900 rounded-xl border border-zinc-200 dark:border-zinc-800 p-8 transition-colors duration-200">
|
||||
<h3 class="text-xl font-bold text-zinc-900 dark:text-zinc-100 mb-4">
|
||||
Transparenz & Integrität
|
||||
</h3>
|
||||
<p class="text-zinc-600 dark:text-zinc-400">
|
||||
Ehrlichkeit und Transparenz sind die Grundlage für Vertrauen und langfristige Partnerschaften.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA Section -->
|
||||
<section class="py-16 text-white" style="background: var(--gradient-hero);">
|
||||
<div class="container mx-auto px-4 text-center">
|
||||
<div class="flex justify-center mb-6">
|
||||
<svg class="h-16 w-16" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 13.255A23.931 23.931 0 0112 15c-3.183 0-6.22-.62-9-1.745M16 6V4a2 2 0 00-2-2h-4a2 2 0 00-2 2v2m4 6h.01M5 20h14a2 2 0 002-2V8a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z"></path>
|
||||
</svg>
|
||||
</div>
|
||||
<h2 class="text-3xl font-bold mb-4">
|
||||
Werde Teil unseres Teams
|
||||
</h2>
|
||||
<p class="text-xl text-white/90 mb-8 max-w-2xl mx-auto">
|
||||
Wir suchen leidenschaftliche Menschen, die mit uns die Zukunft der Unternehmenskommunikation gestalten möchten
|
||||
</p>
|
||||
<a href="/karriere" class="inline-flex items-center justify-center px-8 py-4 text-sm font-medium bg-white text-[var(--color-primary)] hover:bg-zinc-100 rounded-lg shadow-md hover:shadow-lg transition-all">
|
||||
Offene Stellen ansehen
|
||||
</a>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- Footer Component -->
|
||||
<livewire:web.footer />
|
||||
</main>
|
||||
|
||||
@endsection
|
||||
|
||||
@push('styles')
|
||||
<style>
|
||||
/* Domain-spezifische Color-Variablen für Inline-Styles */
|
||||
:root {
|
||||
--color-primary: {{ $domainConfig['color_scheme']['primary'] ?? '#cf3628' }};
|
||||
--color-secondary: {{ $domainConfig['color_scheme']['secondary'] ?? '#f0834a' }};
|
||||
}
|
||||
|
||||
/* Alpine.js Cloak */
|
||||
[x-cloak] {
|
||||
display: none !important;
|
||||
}
|
||||
</style>
|
||||
@endpush
|
||||
|
|
@ -117,6 +117,7 @@ $htmlRedirect = static function (string $edition, string $path) {
|
|||
}
|
||||
|
||||
// Legacy-Slugs des Altsystems (meist englisch) -> neue deutsche Pfade.
|
||||
// team/partner/karriere: Seiten wurden zurückgebaut (R3.2) -> Startseite.
|
||||
$staticAliases = [
|
||||
'pricelist' => 'preise',
|
||||
'service' => 'veroeffentlichen',
|
||||
|
|
@ -124,12 +125,15 @@ $htmlRedirect = static function (string $edition, string $path) {
|
|||
'imprint' => 'impressum',
|
||||
'terms' => 'agb',
|
||||
'privacypolicy' => 'datenschutz',
|
||||
'team' => '',
|
||||
'partner' => '',
|
||||
'karriere' => '',
|
||||
];
|
||||
|
||||
// Bereits saubere Zielpfade der neuen Struktur (Pfad bleibt erhalten).
|
||||
$staticPages = [
|
||||
'preise', 'faq', 'kontakt', 'ueber-uns', 'veroeffentlichen',
|
||||
'suche', 'newsrooms', 'api', 'team', 'partner', 'karriere',
|
||||
'suche', 'newsrooms', 'api',
|
||||
'hilfe', 'impressum', 'datenschutz', 'agb', 'cookies',
|
||||
];
|
||||
|
||||
|
|
@ -201,10 +205,6 @@ Route::prefix('{edition}')->whereIn('edition', SetEdition::EDITIONS)->group(func
|
|||
Route::get('newsrooms', NewsroomsController::class)->name('newsrooms');
|
||||
Route::get('newsroom/{slug}', NewsroomDetailController::class)->name('newsroom');
|
||||
Route::view('api', 'web.api')->name('api');
|
||||
Route::view('team', 'web.team')->name('team');
|
||||
Route::view('partner', 'web.partner')->name('partner');
|
||||
Route::view('karriere', 'web.karriere')->name('karriere');
|
||||
Route::view('presse', 'web.presse')->name('presse');
|
||||
Route::view('hilfe', 'web.hilfe')->name('hilfe');
|
||||
Route::view('impressum', 'web.impressum')->name('impressum');
|
||||
|
||||
|
|
|
|||
|
|
@ -78,11 +78,20 @@ test('the hub sitemap lists the landing and legal pages but no archive content',
|
|||
->not->toContain('newsroom');
|
||||
});
|
||||
|
||||
test('marketing pages carry brand-aware titles instead of the hardcoded legacy brand', function () {
|
||||
test('the retired marketing placeholder pages are no longer routed', function (string $page) {
|
||||
/** @var TestCase $this */
|
||||
$response = $this->get('https://presseecho.test/de/team')->assertSuccessful();
|
||||
// R3.2: Seiten mit Fake-Inhalten zurückgebaut; Legacy-.html-Links
|
||||
// laufen per Alias auf die Startseite.
|
||||
$this->get('https://presseecho.test/de/'.$page)->assertNotFound();
|
||||
$this->get('https://presseecho.test/de/'.$page.'.html')
|
||||
->assertRedirect('https://presseecho.test/de');
|
||||
})->with(['team', 'partner', 'karriere']);
|
||||
|
||||
expect($response->getContent())
|
||||
->toContain('<title>Unser Team – presseecho</title>')
|
||||
->not->toContain('Business Portal 24');
|
||||
test('the retired presse page keeps its legacy redirect to the faq', function () {
|
||||
/** @var TestCase $this */
|
||||
// Die alte Ratgeber-Strecke /de/presse/* buendelt weiterhin 301 auf /faq
|
||||
// (bestehende SEO-Regel im Legacy-Redirect-Helper).
|
||||
$this->get('https://presseecho.test/de/presse')->assertNotFound();
|
||||
$this->get('https://presseecho.test/de/presse.html')
|
||||
->assertRedirect('https://presseecho.test/de/faq');
|
||||
});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue