Startseiten/Feeds/Kategorie/Rechtsseiten ueberarbeitet, Kontakt-Modal durch schwebendes contact-launcher-Widget ersetzt, legal-language-notice ergaenzt; Platzhalter-SVGs + Theme-CSS angepasst. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
108 lines
5.9 KiB
PHP
108 lines
5.9 KiB
PHP
@extends('web.layouts.web-master')
|
|
|
|
@section('title', __('static.faq.meta_title'))
|
|
@section('meta_description', __('static.faq.meta_description'))
|
|
|
|
@php
|
|
// Host-aware Kontaktadresse: Hub (pressekonto) vs. Spokes. Betreiber-
|
|
// Postfach als Fallback, bis CONTACT_EMAIL_* gesetzt sind (R2.1).
|
|
$host = request()->getHost();
|
|
$faqBrandKey = str_contains($host, 'pressekonto')
|
|
? 'pressekonto'
|
|
: (str_contains($host, 'presseecho') ? 'presseecho' : 'businessportal24');
|
|
$faqContactEmail = config('domains.domains.'.$faqBrandKey.'.brand.contact_email') ?? 'info@businessportal24.com';
|
|
|
|
// FAQ-Inhalte als Datenstruktur (DRY), Texte aus lang/{de,en}/static.php.
|
|
// Antworten dürfen kontrolliertes HTML enthalten (nur eigene Literale,
|
|
// keine Nutzereingaben).
|
|
$faqCategories = [
|
|
[
|
|
'title' => __('static.faq.cat_start'),
|
|
'items' => [
|
|
['q' => __('static.faq.q_first_pm'), 'a' => __('static.faq.a_first_pm')],
|
|
['q' => __('static.faq.q_audience'), 'a' => __('static.faq.a_audience')],
|
|
['q' => __('static.faq.q_register_to_read'), 'a' => __('static.faq.a_register_to_read')],
|
|
['q' => __('static.faq.q_review_time'), 'a' => __('static.faq.a_review_time')],
|
|
],
|
|
],
|
|
[
|
|
'title' => __('static.faq.cat_account'),
|
|
'items' => [
|
|
['q' => __('static.faq.q_change_plan'), 'a' => __('static.faq.a_change_plan')],
|
|
['q' => __('static.faq.q_payment_methods'), 'a' => __('static.faq.a_payment_methods')],
|
|
['q' => __('static.faq.q_cancel_plan'), 'a' => __('static.faq.a_cancel_plan', ['url' => route('kuendigung')])],
|
|
['q' => __('static.faq.q_delete_account'), 'a' => __('static.faq.a_delete_account')],
|
|
],
|
|
],
|
|
[
|
|
'title' => __('static.faq.cat_content'),
|
|
'items' => [
|
|
['q' => __('static.faq.q_file_formats'), 'a' => __('static.faq.a_file_formats')],
|
|
['q' => __('static.faq.q_corrections'), 'a' => __('static.faq.a_corrections')],
|
|
['q' => __('static.faq.q_seo'), 'a' => __('static.faq.a_seo')],
|
|
['q' => __('static.faq.q_rejection'), 'a' => __('static.faq.a_rejection')],
|
|
],
|
|
],
|
|
[
|
|
'title' => __('static.faq.cat_newsroom'),
|
|
'items' => [
|
|
['q' => __('static.faq.q_newsroom'), 'a' => __('static.faq.a_newsroom')],
|
|
['q' => __('static.faq.q_stats'), 'a' => __('static.faq.a_stats')],
|
|
['q' => __('static.faq.q_api'), 'a' => __('static.faq.a_api', ['url' => route('api')])],
|
|
],
|
|
],
|
|
];
|
|
@endphp
|
|
|
|
@section('content')
|
|
<x-web.static-page
|
|
:eyebrow="__('static.faq.eyebrow')"
|
|
:title="__('static.faq.title')"
|
|
:lead="__('static.faq.lead')"
|
|
:breadcrumb="__('static.faq.breadcrumb')"
|
|
>
|
|
<div class="max-w-[820px] space-y-10">
|
|
@foreach ($faqCategories as $category)
|
|
<div>
|
|
<h2 class="font-serif text-[22px] font-semibold tracking-[-0.3px] text-ink m-0 mb-4">{{ $category['title'] }}</h2>
|
|
<div class="border border-bg-rule divide-y divide-bg-rule">
|
|
@foreach ($category['items'] as $item)
|
|
<details class="group">
|
|
<summary class="flex items-center justify-between gap-4 cursor-pointer select-none list-none px-5 py-4 text-[14px] font-semibold text-ink hover:bg-bg-elev transition-colors [&::-webkit-details-marker]:hidden">
|
|
<span class="pr-4">{{ $item['q'] }}</span>
|
|
<svg width="14" height="14" viewBox="0 0 24 24" fill="none" aria-hidden="true"
|
|
class="flex-shrink-0 text-ink-3 transition-transform duration-200 group-open:rotate-180">
|
|
<path d="M6 9l6 6 6-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" />
|
|
</svg>
|
|
</summary>
|
|
<div class="px-5 pb-5 -mt-1 text-[13.5px] leading-[1.65] text-ink-2 [&_a]:underline [&_a]:underline-offset-2 hover:[&_a]:text-ink">
|
|
{!! $item['a'] !!}
|
|
</div>
|
|
</details>
|
|
@endforeach
|
|
</div>
|
|
</div>
|
|
@endforeach
|
|
</div>
|
|
|
|
{{-- Abschluss-CTA: Frage nicht gefunden? --}}
|
|
<div class="max-w-[820px] mt-12 border-t border-bg-rule pt-8">
|
|
<h2 class="font-serif text-[22px] font-semibold tracking-[-0.3px] text-ink m-0">{{ __('static.faq.not_found') }}</h2>
|
|
<p class="text-[13.5px] leading-[1.6] text-ink-2 mt-2 mb-5 max-w-[560px]">
|
|
{{ __('static.faq.support_intro') }}
|
|
<a href="mailto:{{ $faqContactEmail }}" class="underline underline-offset-2 hover:text-ink">{{ $faqContactEmail }}</a>
|
|
{{ __('static.faq.support_outro') }}
|
|
</p>
|
|
<div class="flex flex-wrap gap-3">
|
|
<button type="button" x-data @click="$dispatch('open-contact-modal')"
|
|
class="inline-flex items-center justify-center gap-1.5 px-5 py-2.5 text-[12.5px] font-semibold text-white bg-brand hover:bg-brand-deep rounded-[2px] transition-colors cursor-pointer">
|
|
{{ __('static.faq.write_support') }}
|
|
</button>
|
|
<a href="{{ route('hilfe') }}"
|
|
class="inline-flex items-center justify-center gap-1.5 px-5 py-2.5 text-[12.5px] font-semibold text-ink border border-bg-rule-strong hover:bg-bg-elev rounded-[2px] transition-colors">
|
|
{{ __('static.faq.visit_help') }}
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</x-web.static-page>
|
|
@endsection
|