Add sports-match type, device tracking, profile visits, and share refactor
- New SportsMatch model/controller and sports UI components/modal - Move share-modal to a reusable x-share-modal/x-share-button component - Add VideoSharedWithUser notification and share-to-members flow - Device/user-agent tracking on views, downloads, share accesses - ProfileVisit model + migration; subscription source tracking - Email thumbnail support; remove stale TODO files
This commit is contained in:
1 parent
6aae6f86b6
commit
73527f3781
61 files changed
+4014
-636
No files matched your search
@@ -2,6 +2,34 @@
|
||||
|
||||
@section('title', $playlist->name . ' | ' . config('app.name'))
|
||||
|
||||
@push('head')
|
||||
@php
|
||||
$plDesc = trim($playlist->description ?? '');
|
||||
if ($plDesc === '') {
|
||||
$plDesc = $playlist->video_count . ' videos' . ($playlist->user ? ' • by ' . $playlist->user->name : '');
|
||||
}
|
||||
$plShareUrl = route('playlists.showByToken', $playlist->share_token);
|
||||
// Use the dedicated OG endpoint so previews always get a 1200x630 JPG under the
|
||||
// size/format limits of WhatsApp/Telegram/Discord/etc.
|
||||
$plOgImage = route('playlists.ogImage', $playlist);
|
||||
@endphp
|
||||
<meta property="og:title" content="{{ $playlist->name }}">
|
||||
<meta property="og:description" content="{{ Str::limit(strip_tags($plDesc), 200) }}">
|
||||
<meta property="og:image" content="{{ $plOgImage }}">
|
||||
<meta property="og:image:secure_url" content="{{ $plOgImage }}">
|
||||
<meta property="og:image:type" content="image/jpeg">
|
||||
<meta property="og:image:width" content="1200">
|
||||
<meta property="og:image:height" content="630">
|
||||
<meta property="og:image:alt" content="{{ $playlist->name }}">
|
||||
<meta property="og:url" content="{{ $plShareUrl }}">
|
||||
<meta property="og:type" content="music.playlist">
|
||||
<meta property="og:site_name" content="{{ config('app.name') }}">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:title" content="{{ $playlist->name }}">
|
||||
<meta name="twitter:description" content="{{ Str::limit(strip_tags($plDesc), 200) }}">
|
||||
<meta name="twitter:image" content="{{ $plOgImage }}">
|
||||
@endpush
|
||||
|
||||
@section('extra_styles')
|
||||
<style>
|
||||
/* ══════════════════════════════════════════════
|
||||
|
||||
Reference in new issue
Block a user