A lot of things

This commit is contained in:
2026-06-16 16:21:43 +02:00
parent 4f9f6c63b3
commit 7e1e26f20b
126 changed files with 7917 additions and 204 deletions

View File

@@ -0,0 +1,40 @@
<?php /** @var \App\Models\Entry $entry */ ?>
@if($featuredEntries->isNotEmpty())
<section class="home-section">
<div class="home-section-header">
<h2 class="home-section-title">
<i data-lucide="star" size="16"></i>
Featured entries
</h2>
</div>
<div class="featured-entries-grid">
@foreach($featuredEntries as $entry)
<a href="{{ route('entries.show', [ 'section' => $entry->type, 'entry' => $entry ]) }}" class="featured-entry-card">
<div class="featured-entry-cover">
@if($entry->main_image)
<img src="{{ Storage::url($entry->main_image) }}"
alt="{{ $entry->title }}"
loading="lazy">
@endif
<span class="featured-entry-star">
{{ \App\View\Components\EntryCard::ENTRY_TYPES_BADGE[ $entry->type ] }}
</span>
</div>
<div class="featured-entry-body">
@if(!empty($entry->getRealPlatform()))
<span class="featured-entry-platform">{{ $entry->getRealPlatform()->name }}</span>
@endif
<div class="featured-entry-title">{{ $entry->title }}</div>
<div class="featured-entry-meta">
@if($entry->user_id)
<x-xf-username-link :user-id="$entry->user_id"/>
@endif
· {{ $entry->featured_at->format('M Y') }}
</div>
</div>
</a>
@endforeach
</div>
</section>
@endif

View File

@@ -0,0 +1,34 @@
<?php /** @var \App\Models\News $news */ ?>
<section class="home-section">
<div class="home-section-header">
<h2 class="home-section-title">
<i data-lucide="newspaper" size="16"></i>
Latest news
</h2>
<a href="{{ route('news.index') }}" class="home-section-more">
See all <i data-lucide="arrow-right" size="12"></i>
</a>
</div>
<div class="news-strip">
@foreach($latestNews as $news)
<a href="{{ route('news.show', $news) }}" class="news-strip-card">
<div class="news-strip-cover"
@if($news->gallery->first())
style="background-image: url('{{ Storage::url($news->gallery()->first()->image) }}')"
@endif>
<span class="news-strip-date">
{{ $news->created_at->format('M j') }}
</span>
</div>
<div class="news-strip-body">
<span class="news-strip-badge">News</span>
<h3 class="news-strip-title">{{ $news->title }}</h3>
<span class="news-strip-meta">
{{ $news->created_at->diffForHumans() }}
</span>
</div>
</a>
@endforeach
</div>
</section>

View File

@@ -0,0 +1,103 @@
@php $currentDay = null; @endphp
<div class="activity-timeline" id="activity-timeline">
@forelse($items as $item)
@php
$day = $item->date->format('Y-m-d');
$dayLabel = $item->date->isToday() ? 'Today'
: ($item->date->isYesterday() ? 'Yesterday'
: $item->date->format('M d, Y'));
@endphp
@if($day !== $currentDay)
@php $currentDay = $day; @endphp
<div class="activity-day-sep">
<span class="activity-day-label">{{ $dayLabel }}</span>
<div class="activity-day-line"></div>
</div>
@endif
<div class="activity-tl-item" data-type="{{ $item->type }}">
<div class="activity-tl-left">
<div class="activity-tl-dot activity-tl-dot--{{ $item->type }}">
@if($item->type === 'entry')
<i data-lucide="database" size="14"></i>
@elseif($item->type === 'news')
<i data-lucide="newspaper" size="14"></i>
@elseif($item->type === 'message')
<i data-lucide="message-square" size="14"></i>
@elseif($item->type === 'thread')
<i data-lucide="messages-square" size="14"></i>
@elseif($item->type === 'club')
<i data-lucide="balloon" size="14"></i>
@else
<i data-lucide="target" size="14"></i>
@endif
</div>
<div class="activity-tl-line"></div>
</div>
<a
href="{{ $item->url }}"
class="activity-tl-card"
>
@if( !empty($item->image) )
<div class="activity-tl-thumb activity-tl-thumb--{{ $item->type }}">
<img src="{{ $item->image }}" alt="{{ $item->title }}" loading="lazy">
</div>
@endif
<div class="activity-tl-body">
<span class="activity-tl-badge activity-tl-badge--{{ $item->type }}">
{{ $item->badge }}
</span>
<div class="activity-tl-card-title">{{ $item->title }}</div>
@if(!empty($item->excerpt))
<div class="activity-tl-card-description">
{{ $item->excerpt }}
</div>
@endif
<div class="activity-tl-meta">
@if(!empty($item->user_id))
<span>
<i data-lucide="user" size="11"></i>
<x-xf-username-link :user-id="$item->user_id"/>
</span>
@elseif(!empty($item->author))
<span>
<i data-lucide="users" size="11"></i>
{{ $item->author }}
</span>
@endif
@if(!empty($item->meta))
<span>
<i data-lucide="monitor" size="11"></i>
{{ $item->meta }}
</span>
@endif
</div>
</div>
<div class="activity-tl-time">
@if($item->date->isToday())
{{ $item->date->format('g:i A') }}
@elseif($item->date->isYesterday())
Yesterday {{ $item->date->format('g:i A') }}
@elseif($item->date->diffInDays() < 7)
{{ $item->date->format('D g:i A') }}
@else
{{ $item->date->format('M j, g:i A') }}
@endif
</div>
</a>
</div>
@empty
<div class="activity-tl-empty">
<i data-lucide="inbox" size="36"></i>
<p>No recent activity.</p>
</div>
@endforelse
</div>