@extends('admin.layouts.app') @section('title', $project->exists ? 'Modifier une réalisation' : 'Nouvelle réalisation') @section('content')

{{ $project->exists ? $project->title : 'Nouvelle réalisation' }}

@if ($project->exists)

Adresse : /gallery/{{ $project->slug }}aperçu

@else

Créez d'abord la fiche — vous ajouterez les photos juste après.

@endif
← Toutes les réalisations
@csrf @if ($project->exists) @method('PUT') @endif
@error('title')

{{ $message }}

@enderror

Ex. « Hôtel particulier — Paris VIIᵉ ». L'adresse de la page se crée automatiquement.

@php($currentCategory = old('category', $project->category)) @error('category')

{{ $message }}

@enderror

Sert de filtre sur la page Gallery (bouton « All » + catégories).

@error('location')

{{ $message }}

@enderror
@error('year')

{{ $message }}

@enderror
@error('excerpt')

{{ $message }}

@enderror

Affiché en tête de l'article. Facultatif mais recommandé.

@error('tile_size')

{{ $message }}

@enderror

La place que prend ce projet dans la grille « Réalisations ».

@error('status')

{{ $message }}

@enderror

Présentation de l'article

Composez la page du projet — chaque réglage est sans risque, essayez et regardez l'aperçu.

@error('header_style')

{{ $message }}

@enderror
@error('photo_layout')

{{ $message }}

@enderror
@error('cover_focus')

{{ $message }}

@enderror

La partie de la photo qui reste visible quand elle est recadrée — appliqué à la vignette de la galerie ET à l'en-tête de l'article.

@error('body')

{{ $message }}

@enderror

Affiché après l'introduction. Une ligne vide = un nouveau paragraphe. Facultatif.

@error('quote')

{{ $message }}

@enderror

Affichée en grand entre le récit et les photos (les guillemets sont ajoutés automatiquement). Facultatif.

@error('quote_author')

{{ $message }}

@enderror

Fiche projet

Jusqu'à {{ \App\Models\Project::MAX_DETAILS }} informations clés affichées en colonnes élégantes (ex. Surface → 460 m², Matières → Soie & velours, Durée → 6 mois). Laissez vide pour ne rien afficher.

@php($detailRows = old('details', $project->details ?? []))
@for ($i = 0; $i < \App\Models\Project::MAX_DETAILS; $i++)
@error('details.' . $i . '.label')

{{ $message }}

@enderror @error('details.' . $i . '.value')

{{ $message }}

@enderror
@endfor

Photo de couverture

@if ($project->cover) Couverture actuelle

Pour remplacer cette photo, choisissez un fichier ci-dessous puis enregistrez.

@endif @error('cover_upload')

{{ $message }}

@enderror

Cette photo sert de vignette dans la galerie et d'en-tête de l'article (sauf en-tête « Bandeau », qui n'affiche pas de photo — la vignette la garde quand même). Formats : JPG, PNG, WEBP · Taille max : {{ media_max_upload_label() }}. Pour un bel en-tête, préférez une photo large (à partir de 1200 px), mais toutes les tailles sont acceptées.

Annuler
@if ($project->exists)

Photos de l'article

Ajoutez les photos du projet — vous pouvez en envoyer plusieurs à la fois. Chaque photo peut être « Standard » (deux par ligne) ou « Grande » (pleine largeur), avec une légende facultative. La taille par photo s'applique à la mise en page Mosaïque (en « Colonnes » et « Pleine largeur », toutes les photos suivent la mise en page choisie).

@csrf
@error('photos')

{{ $message }}

@enderror @error('photos.*')

{{ $message }}

@enderror @php($manualOrder = \App\Support\GallerySettings::isManualPhotoOrder())

Ordre des photos : {{ \App\Support\GallerySettings::photoOrderLabel() }}. @if ($manualOrder) Utilisez les flèches ▲▼ pour les réordonner. @else L'ordre est automatique — passez en organisation manuelle pour les réordonner vous-même. @endif

@forelse ($project->orderedPhotos() as $photo)
@if ($manualOrder)
@csrf
@csrf
@endif
@csrf @method('PUT')
@csrf @method('DELETE')
@empty
Aucune photo pour l'instant — ajoutez-en ci-dessus.
@endforelse
@endif @endsection