Snapshot of main at 9f39a6e1e (2026-11-02)
This commit is contained in:
commit
6ccf1792d7
2580 files changed
+1040202
No files matched your search
@@ -0,0 +1,138 @@
|
||||
<x-guest-layout>
|
||||
<x-slot name="header">
|
||||
{{ trans_with_platform('@PLATFORM_NAME@ call') }}
|
||||
</x-slot>
|
||||
|
||||
<div class="py-0 md:py-12" id="custom-timebank-style">
|
||||
<div class="mx-auto max-w-7xl sm:px-6 lg:px-8">
|
||||
<div class="overflow-hidden shadow-xl sm:rounded-lg relative bg-{{ $tagColor ?? 'gray' }}-400">
|
||||
<div class="absolute inset-0 bg-black/50"></div>
|
||||
|
||||
{{-- Like button absolutely positioned top-right, matching event card full view --}}
|
||||
<div class="absolute top-14 right-4 md:right-10 lg:right-14 z-30">
|
||||
@livewire('reaction-button', [
|
||||
'typeName' => 'like',
|
||||
'showCounter' => true,
|
||||
'reactionCounter' => $call->loveReactant?->reactionCounters->firstWhere('reaction_type_id', 3)?->count ?? 0,
|
||||
'modelClass' => \App\Models\Call::class,
|
||||
'modelId' => $call->id,
|
||||
'size' => 'w-10 h-10',
|
||||
'inverseColors' => true,
|
||||
'redirectUrl' => url()->current(),
|
||||
], key('like-call-' . $call->id))
|
||||
</div>
|
||||
|
||||
<div class="relative p-6 sm:px-20 lg:px-32 lg:py-18">
|
||||
|
||||
{{-- Tag category badges + expiry --}}
|
||||
<div class="mb-2 mt-0 md:mt-6 lg:mt-12">
|
||||
<div class="flex flex-wrap items-center gap-2">
|
||||
@foreach ($tagCategories as $cat)
|
||||
<span class="bg-{{ $cat['color'] ?? 'gray' }}-400 inline-flex items-center rounded-md px-2 py-1 text-sm font-normal text-black">
|
||||
{{ $cat['name'] }}
|
||||
</span>
|
||||
@endforeach
|
||||
</div>
|
||||
@if ($call->till)
|
||||
<div class="mt-2 text-xs text-white/70">
|
||||
{{ __('Expires') }}: {{ $call->till->translatedFormat('l d F Y') }}
|
||||
</div>
|
||||
@endif
|
||||
@if ($call->is_suppressed)
|
||||
<div class="mt-0.5 text-xs text-red-400">
|
||||
{{ __('Publication blocked due to policy violation') }}
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
{{-- Title (tag name) --}}
|
||||
<h2 class="mt-4 lg:mt-8 text-3xl lg:text-5xl font-semibold leading-tight text-white">
|
||||
@if ($isDeleted)<span class="text-red-400">{{ __('DELETED') }}: </span>@elseif ($call->is_suppressed)<span class="text-red-400">{{ __('BLOCKED') }}: </span>@elseif ($call->is_paused)<span class="text-red-400">{{ __('PAUSED') }}: </span>@elseif ($isExpired)<span class="text-red-400">{{ __('EXPIRED') }}: </span>@endif{{ $call->tag?->translation?->name ?? $call->tag?->name }}
|
||||
</h2>
|
||||
|
||||
{{-- Location + expiry badges --}}
|
||||
@if ($callLocation || $expiryBadgeText)
|
||||
<div class="mt-3 flex flex-wrap items-center gap-2">
|
||||
@if ($callLocation)
|
||||
<h4 class="inline-block items-center rounded-sm bg-black px-2 pb-1 pt-0.5 text-sm lg:text-base font-normal uppercase text-white">
|
||||
{{ $callLocation }}
|
||||
</h4>
|
||||
@endif
|
||||
@if ($expiryBadgeText)
|
||||
<h4 class="inline-block items-center rounded-sm bg-black px-2 pb-1 pt-0.5 text-sm lg:text-base font-normal uppercase text-white">
|
||||
{{ $expiryBadgeText }}
|
||||
</h4>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Content --}}
|
||||
@if ($callDescription)
|
||||
<div class="mt-6">
|
||||
<div class="px-0 py-2 text-xl lg:text-2xl leading-normal lg:leading-loose font-bold text-white">
|
||||
{{ $callDescription }}
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
{{-- Callable profile block — hidden for private calls --}}
|
||||
@if ($call->is_public && ($call->callable?->name || $callableLocation))
|
||||
<div class="my-8 lg:my-12">
|
||||
<div class="flex items-center gap-4">
|
||||
@if ($call->callable?->profile_photo_url)
|
||||
<div class="h-16 w-16 flex-shrink-0 rounded-full outline outline-1 outline-offset-1 outline-white/60 overflow-hidden">
|
||||
<img src="{{ $call->callable->profile_photo_url }}"
|
||||
alt=""
|
||||
class="h-full w-full object-cover">
|
||||
</div>
|
||||
@endif
|
||||
<div>
|
||||
<div class="font-semibold text-lg text-white">{{ $call->callable?->name }}</div>
|
||||
@if ($callableLocation)
|
||||
<div class="text-sm text-white/70 mt-1">{{ $callableLocation }}</div>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
|
||||
{{-- Social share + respond button --}}
|
||||
<div class="relative flex items-end justify-between gap-8 pl-6 sm:pl-20 lg:pl-32 pr-4 md:pr-10 lg:pr-14 mb-12">
|
||||
{{-- Social share buttons (left, only when public and available) --}}
|
||||
@if (!$isDeleted && !$isExpired && !$call->is_suppressed && !$call->is_paused && !$call->callable?->isRemoved())
|
||||
<div class="flex flex-wrap gap-2">
|
||||
@if ($call->is_public)
|
||||
{!! Share::mastodon()
|
||||
->bluesky()
|
||||
->linkedin()
|
||||
->instagram()
|
||||
->facebook()
|
||||
->whatsapp()
|
||||
->text($call->tag?->translation?->name ?? $call->tag?->name ?? '')
|
||||
->render() !!}
|
||||
@endif
|
||||
@if($call->is_public)
|
||||
<a href="{{ route('call.pdf-a4-bw', ['id' => $call->id]) }}"
|
||||
target="_blank"
|
||||
title="{{ __('Print as PDF') }}"
|
||||
class="inline-flex items-center justify-center rounded-md border border-theme-border bg-theme-surface p-2 transition-all duration-200 hover:opacity-80 focus:outline-none focus:ring-2 focus:ring-theme-surface focus:ring-offset-2">
|
||||
<span class="inline-flex h-6 w-6 items-center justify-center">
|
||||
<x-icon name="printer" class="h-5 w-5" solid />
|
||||
</span>
|
||||
</a>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
{{-- Respond button (right) --}}
|
||||
<a href="{{ route('login') }}">
|
||||
<x-jetstream.button>
|
||||
{{ __('Respond') }}
|
||||
</x-jetstream.button>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</x-guest-layout>
|
||||
Reference in new issue
Block a user