{{-- Colores del skin --}} {{-- Header Optimizado para Blog --}} @if (session('success'))
{!! theme()->getSvgIcon('icons/duotune/art/art005.svg', 'svg-icon svg-icon-2tx svg-icon-success me-4') !!}

{{ __('Noticia Actualizada') }}!

{{ session('success') }} {{ __('Ir a la lista de noticias') }}.
@endif
@if ($errors->any())

{{ __('Errores de validación') }}

    @foreach ($errors->all() as $error)
  • {{ $error }}
  • @endforeach
@endif
@csrf @method('PUT')

{{ __('Contenido de la Noticia') }} {{ __('Título y contenido principal') }}

@error('title')
{{ $message }}
@enderror
{{ __('El título aparecerá en la lista de noticias y en la página principal') }}
@error('content')
{{ $message }}
@enderror
{{ __('Usa el editor para formatear el texto, agregar imágenes, enlaces y más') }}

{{ __('Publicación') }} {{ __('Configura el estado y categoría') }}

@error('status')
{{ $message }}
@enderror
@error('category_id')
{{ $message }}
@enderror
Creado: {{ $post->created_at->format('d/m/Y H:i') }}
Actualizado: {{ $post->updated_at->format('d/m/Y H:i') }}
{{ __('Cancelar') }}

{{ __('Imagen Destacada') }} {{ __('Imagen principal de la noticia') }}

@php // Obtener demo activo para imagen por defecto $activeDemo = config('cd-system.theme.demo', 'demo-construction'); $demoName = str_replace('demo-', '', $activeDemo); // Función para obtener imagen por defecto del demo $getDefaultPostImage = function($index = 0) use ($demoName) { // Rotar entre las imágenes disponibles del demo $imageNumber = ($index % 3) + 1; $demoBlogImage = "cd-project/img/demos/{$demoName}/blog/blog-thumb-{$imageNumber}.jpg"; $demoGenericImage = "cd-project/img/demos/{$demoName}/generic/generic-1.jpg"; if (file_exists(public_path($demoBlogImage))) { return asset($demoBlogImage); } elseif (file_exists(public_path($demoGenericImage))) { return asset($demoGenericImage); } else { // Fallback a imagen genérica del sistema return asset('cd-project/img/meta-tags/og-image.png'); } }; // Determinar URL de imagen con fallback $imageUrl = null; $hasImage = false; if ($post->header) { // Determinar si es URL completa o path relativo if (str_starts_with($post->header, 'http://') || str_starts_with($post->header, 'https://')) { // URL completa (Cloudinary, CDN, etc.) - asumimos que existe $imageUrl = $post->header; $hasImage = true; } else { // Path relativo - verificar si existe $headerPath = str_starts_with($post->header, '/') ? ltrim($post->header, '/') : $post->header; if (file_exists(public_path($headerPath))) { $imageUrl = asset($headerPath); $hasImage = true; } else { // Imagen no existe, usar fallback $imageUrl = $getDefaultPostImage($post->id ?? 0); $hasImage = false; } } } else { // No hay header, usar imagen por defecto $imageUrl = $getDefaultPostImage($post->id ?? 0); $hasImage = false; } @endphp
{{ __('Imagen actual') }}
@if($hasImage) {{ __('Deja el campo vacío para mantener la imagen actual') }} @else {{ __('Imagen por defecto del demo. Sube una imagen para personalizarla.') }} @endif
@error('header')
{{ $message }}
@enderror
{{ __('Formatos aceptados:') }} JPG, JPEG, PNG, GIF, SVG
{{ __('Tamaño máximo:') }} 2MB

{{ __('Extracto') }} {{ __('Descripción breve para vista previa') }}

@error('description')
{{ $message }}
@enderror
{{ __('Este texto aparecerá en las tarjetas de noticias y en los resultados de búsqueda') }}