presseportale/resources/views/web/faq.blade.php
Kevin Adametz d1939f6f2a Web-Frontend: Umbau Spokes/Hub, Kontakt-Widget (contact-launcher)
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>
2026-07-09 15:45:58 +00:00

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