diff --git a/app/Http/Controllers/VideoController.php b/app/Http/Controllers/VideoController.php
index cae07d0..711df84 100644
--- a/app/Http/Controllers/VideoController.php
+++ b/app/Http/Controllers/VideoController.php
@@ -23,7 +23,7 @@ class VideoController extends Controller
public function index()
{
- $videos = Video::public()->latest()->paginate(12);
+ $videos = Video::public()->latest()->get();
return view('videos.index', compact('videos'));
}
@@ -42,7 +42,7 @@ class VideoController extends Controller
->orWhere('description', 'like', "%{$query}%");
})
->latest()
- ->paginate(12);
+ ->get();
return view('videos.index', compact('videos', 'query'));
}
@@ -491,7 +491,7 @@ class VideoController extends Controller
->where('status', 'ready')
->with('user')
->latest()
- ->paginate(12);
+ ->get();
return view('videos.shorts', compact('videos'));
}
diff --git a/resources/views/emails/video-uploaded.blade.php b/resources/views/emails/video-uploaded.blade.php
index 2ef248b..82a2240 100644
--- a/resources/views/emails/video-uploaded.blade.php
+++ b/resources/views/emails/video-uploaded.blade.php
@@ -1,14 +1,41 @@
+
+
+
+
diff --git a/resources/views/layouts/partials/confirm-delete-modal.blade.php b/resources/views/layouts/partials/confirm-delete-modal.blade.php
new file mode 100644
index 0000000..2d5bc51
--- /dev/null
+++ b/resources/views/layouts/partials/confirm-delete-modal.blade.php
@@ -0,0 +1,29 @@
+
diff --git a/resources/views/videos/index.blade.php b/resources/views/videos/index.blade.php
index dd65722..9cb64e3 100644
--- a/resources/views/videos/index.blade.php
+++ b/resources/views/videos/index.blade.php
@@ -1,6 +1,7 @@
@extends('layouts.app')
-@section('title', isset($query) ? 'Search: ' . $query . ' | ' . config('app.name') : 'Video Gallery | ' . config('app.name'))
+@section('title', isset($query) ? 'Search: ' . $query . ' | ' . config('app.name') : 'Video Gallery | ' .
+ config('app.name'))
@section('extra_styles')
@endsection
@@ -203,118 +210,129 @@
Search results for "{{ $query }}"
{{ $videos->total() }} videos found
- @endif
-
- @if($videos->isEmpty())
-
-
- @isset($query)
-
No results found
-
Try different keywords or browse all videos.
- @else
-
No videos yet
-
Be the first to upload a video!
- @endisset
- @auth
-
-
- Upload Video
-
- @else
-
-
- Login to Upload
-
- @endauth
-
- @else
-
- @foreach($videos as $video)
-
- @endforeach
-
-
- {{ $videos->links() }}
- @endif
-
- @include('layouts.partials.share-modal')
-@endsection
+ @endif
+
+ @if ($videos->isEmpty())
+
+
+ @isset($query)
+
No results found
+
Try different keywords or browse all videos.
+ @else
+
No videos yet
+
Be the first to upload a video!
+ @endisset
+ @auth
+
+
+ Upload Video
+
+ @else
+
+
+ Login to Upload
+
+ @endauth
+
+ @else
+
+ @foreach ($videos as $video)
+
+ @endforeach
+
+
+ @endif
+
+ @include('layouts.partials.share-modal')
+ @endsection
@section('scripts')
-
+ function stopVideo(card) {
+ const video = card.querySelector('video');
+ if (video) {
+ video.pause();
+ video.currentTime = 0;
+ video.classList.remove('active');
+ }
+ }
+
+ // Mobile touch support for hover-like behavior
+ document.addEventListener('touchstart', function(e) {
+ const card = e.target.closest('.yt-video-card');
+ if (card) {
+ // Stop any other playing videos first
+ document.querySelectorAll('.yt-video-card').forEach(function(otherCard) {
+ if (otherCard !== card) {
+ stopVideo(otherCard);
+ }
+ });
+ playVideo(card);
+ }
+ }, {
+ passive: true
+ });
+
+ document.addEventListener('touchend', function(e) {
+ const card = e.target.closest('.yt-video-card');
+ if (card) {
+ stopVideo(card);
+ }
+ }, {
+ passive: true
+ });
+
@endsection
-
-
+
+ .yt-video-thumb {
+ border-radius: 8px;
+ }
+
+ .yt-video-info {
+ gap: 8px;
+ margin-top: 8px;
+ }
+
+ .yt-channel-icon {
+ width: 28px;
+ height: 28px;
+ }
+
+ .yt-video-title {
+ font-size: 13px;
+ }
+
+ .yt-channel-name,
+ .yt-video-meta {
+ font-size: 11px;
+ }
+
+ .search-info {
+ padding: 12px;
+ }
+
+ .search-info h2 {
+ font-size: 16px;
+ }
+ }
+
diff --git a/resources/views/videos/shorts.blade.php b/resources/views/videos/shorts.blade.php
index 0486101..7617e44 100644
--- a/resources/views/videos/shorts.blade.php
+++ b/resources/views/videos/shorts.blade.php
@@ -3,351 +3,348 @@
@section('title', 'Shorts - ' . config('app.name'))
@section('content')
-
-
-
-
-
-
-
- @forelse($videos as $video)
-
- @empty
-
-
-
+
+
+
+
+
+
+
+
+ @forelse($videos as $video)
+
+ @empty
+
+ @endforelse
+
+
-
- @if($videos->hasPages())
-
- @endif
-
-
+ @media (max-width: 600px) {
+ .shorts-container {
+ grid-template-columns: 1fr;
+ max-width: 320px;
+ margin: 0 auto;
+ }
+
+ .shorts-header {
+ text-align: center;
+ }
+
+ .shorts-brand {
+ justify-content: center;
+ }
+ }
+
@endsection
-
diff --git a/resources/views/videos/show.blade.php b/resources/views/videos/show.blade.php
index 85074f3..f900bcb 100644
--- a/resources/views/videos/show.blade.php
+++ b/resources/views/videos/show.blade.php
@@ -492,7 +492,8 @@
@auth
-