Initial commit

This commit is contained in:
Ronald Huynen
2026-03-23 21:37:59 +01:00
commit 2547717edb
2193 changed files with 972171 additions and 0 deletions

View File

@@ -0,0 +1,108 @@
<div>
@if($posts->isEmpty())
@if($fallbackText)
<p class="text-theme-primary">{{ $fallbackText }}</p>
@else
<div class="overflow-hidden bg-theme-background shadow-xl sm:rounded-lg">
<div class="px-3 sm:px-0">
<div class="max-w-4xl mx-auto my-12 p-4">
<div class=" mt-48 mb-36 flex flex-col items-center justify-center">
<h1 class="text-3xl font-bold text-theme-primary dark:text-gray-200">{{ __('Sorry') }}</h1>
<p class="text-lg text-theme-secondary dark:text-theme-muted mt-4">{{ __('No page available in your language at the moment') }}</p>
{{-- Only show button if locales are different AND fallback content actually exists --}}
@if(trim(app()->getLocale()) !== trim($fallbackLocale) && $fallbackExists)
<x-jetstream.button wire:click="loadFallback" wire:loading.attr="disabled" class="mt-6">
<span wire:loading.remove wire:target="loadFallback">
{{ __('messages.view_in_language', ['lang' => trim($fallbackLocale)]) }}
</span>
<span wire:loading wire:target="loadFallback">
{{ __('Loading...') }}
</span>
</x-jetstream.button>
@endif
</div>
</div>
</div>
</div>
@endif
@else
<div>
@foreach($posts as $post)
<div class="overflow-hidden bg-theme-background shadow-xl sm:rounded-lg mb-3">
<div class="px-3 sm:px-0">
<div class="max-w-4xl mx-auto my-12 p-4">
<livewire:posts.manage-actions :post="$post" />
<!-- Title Static Post-->
@if (isset($post->translations[0]->title))
<h2 class="text-3xl font-semibold my-12 text-theme-primary dark:text-white">{{ $post->translations[0]->title }}</h2>
@endif
<!-- Intro / excerpt Static Post-->
@if (isset($post->translations[0]->excerpt))
<p class="text-xl font-medium my-12 leading-loose text-theme-primary dark:text-theme-muted">{{ $post->translations[0]->excerpt }}</p>
@endif
@if($post->hasMedia('*'))
<img src="{{ $post->getFirstMediaUrl('*') }}" alt="{{ $post->getFirstMedia('*')->getCustomProperty('caption') }}" class="{{ $imageClass }}">
@php
$locale = $post->translations[0]->locale;
$imageCaption = $post->getFirstMedia('*')->getCustomProperty('caption-' . $locale);
// Fallback to other locales if caption not found
if (!$imageCaption) {
$fallbackLocales = array_keys(config('laravellocalization.supportedLocales'));
foreach ($fallbackLocales as $fallbackLocale) {
$imageCaption = $post->getFirstMedia('*')->getCustomProperty('caption-' . $fallbackLocale);
if ($imageCaption) {
break;
}
}
}
$imageOwner = $post->getFirstMedia('*')->getCustomProperty('owner');
$captionParts = array_filter([$imageCaption, $imageOwner]);
$captionText = implode(' ', $captionParts);
@endphp
@if ($captionText)
<div class="mt-1 lg:mt-2 text-right text-3xs lg:text-xs text-theme-secondary">
{{ $captionText }}
</div>
@endif
@endif
<!-- Content Static Post-->
@if (isset($post->translations[0]->content) && strlen(trim(strip_tags($post->translations[0]->content))) > 0)
<div class="text-theme-primary max-w-2xl mx-auto mt-12 mb-16 p-4 post bg-theme-background dark:bg-theme-primary">
<div class="post-content font-base font-normal leading-loose ">
{!! \App\Helpers\StringHelper::sanitizeHtml($post->translations[0]->content) !!}
</div>
</div>
@endif
@php
$update = Illuminate\Support\Carbon::createFromTimeStamp(strtotime($post->translations[0]->updated_at))->isoFormat('LL');
@endphp
@if (!$hideAuthor )
<div class="text-sm font-light mb-12 text-theme-primary">
{{ str_replace(['@AUTHOR@', '@DATE@'], [timebank_config('posts.site-content-writer'), $update], __('Written by @AUTHOR@ on @DATE@')) }}
</div>
@endif
@if ($versionInfo)
<div class="text-sm text-theme-secondary mb-12 space-y-1">
<div>{{ __('Current version') }}: {{ $versionInfo['version'] }}</div>
<div>{{ __('Released') }}: {{ $versionInfo['release_date'] }}</div>
<div>{{ __('Licence') }}: {{ $versionInfo['licence'] }}</div>
@if ($versionInfo['changelog_url'])
<div><a href="{{ $versionInfo['changelog_url'] }}" class="text-theme-brand underline" target="_blank" rel="noopener">{{ __('Changelog') }}</a></div>
@endif
</div>
@endif
<livewire:posts.manage-actions :post="$post" />
</div>
</div>
</div>
@endforeach
</div>
@endif
</div>