@extends('layouts.admin')
@section('title','Content & engagement') @section('heading','Content & engagement')
@section('content')
Canonical slug, audience and publication state remain on the base page. Missing translations safely fall back to the base language. Sections are rendered in order by the native app. Audience, service and schedule are enforced by Laravel. No configured sections. The app uses its safe default composition until sections are added.Localized FAQ variants
Localized page variants
@foreach($pages as $page)@foreach($page->translations as $translation)Page Locale Title @endforeach @endforeach{{$page->slug}} {{$translation->locale}} {{$translation->title}} Audience navigation composer
@forelse($contentNavigation as $nav)Label Audience/locale Destination Parent Status @empty{{$nav->label}} {{$nav->audience}} / {{$nav->locale?:'all'}} {{$nav->destination_type}} · {{$nav->destination}} {{$nav->parent?->label?:'Top level'}} {{$nav->is_active?'Active':'Archived'}} @if($nav->is_active&&!$nav->children_count)@endif @endforelseNo configured content navigation. Role onboarding slides
Onboarding slide operations
@forelse($onboardingSlides as $slide)Slide Audience/version Schedule Status @empty{{$slide->title}}
{{$slide->image_path}}{{$slide->audience}} / v{{$slide->version}} {{$slide->starts_at?:'Now'}} → {{$slide->ends_at?:'Open'}} {{$slide->is_active?'Active':'Archived'}} @if($slide->is_active)@endif @endforelseNo onboarding slides. @foreach($errors->all() as $error)
Customer home composer
Home section operations
{{$section->name}} · {{$section->type}} · order {{$section->sort_order}}
Images must be hosted locally. Audience and schedule are enforced by the API.
| Creative | Audience | Schedule | Status | |
|---|---|---|---|---|
| {{ $banner->title }} {{ $banner->image_path }} | {{ $banner->audience }} / {{ $banner->service_type ?: 'all services' }} | {{ $banner->starts_at?->format('Y-m-d H:i') ?: 'Immediately' }} → {{ $banner->ends_at?->format('Y-m-d H:i') ?: 'Open' }} | ||
| No banners. | ||||
| Content | Kind / audience | Publication | |
|---|---|---|---|
| {{ $page->title }} /{{ $page->slug }} · version {{ $page->version }} | {{ $page->type }} / {{ $page->audience }} | {{ $page->published_at?->format('Y-m-d H:i') ?: 'Draft' }} | |
| {{ $category->name }} {{ $category->faqs->count() }} questions | FAQ / {{ $category->audience }} | {{ $category->is_active?'Published':'Hidden' }} |
| Customer | Target | Review | Verification | Decision |
|---|---|---|---|---|
| {{ $review->user?->name }} | {{ $review->target_type }} #{{ $review->target_id }} | {{ $review->rating }}/5 {{ $review->title }} {{ $review->body }} | {{ $review->is_verified?'Verified':'Unverified' }} {{ $review->source_type }} #{{ $review->source_id }} | |
| No reviews awaiting moderation. | ||||
| Campaign | Discount | Schedule | Products | |
|---|---|---|---|---|
| {{ $campaign->name }} | {{ $campaign->discount_percent }}% | {{ $campaign->starts_at->format('Y-m-d H:i') }} → {{ $campaign->ends_at->format('Y-m-d H:i') }} | {{ $campaign->products->pluck('name')->join(', ') }} | |
| No campaigns. | ||||
Every change is audited. Checkout revalidates the schedule and promotional price under a database lock.