some progress: users slugs, bookmarks page, upvotes page, design

This commit is contained in:
Doar Mihai
2026-02-14 17:06:03 +02:00
parent 67de095a03
commit cf6310dc7e
16 changed files with 419 additions and 71 deletions
+27 -27
View File
@@ -2,13 +2,13 @@
@section('content')
<!-- Hero Section -->
<div class="bg-gradient-to-br from-primary-50 to-white py-20">
<div class="bg-gradient-to-br from-primary-50 to-white dark:from-gray-900 dark:to-gray-800 py-20">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center">
<h1 class="text-4xl font-extrabold text-gray-900 sm:text-5xl md:text-6xl">
Discover the Best <span class="text-primary-600">Tech Products</span> from Europe
<h1 class="text-4xl font-extrabold text-gray-900 dark:text-white sm:text-5xl md:text-6xl">
Discover the Best <span class="text-primary-600 dark:text-primary-400">Tech Products</span> from Europe
</h1>
<p class="mt-3 max-w-md mx-auto text-base text-gray-500 sm:text-lg md:mt-5 md:text-xl md:max-w-3xl">
<p class="mt-3 max-w-md mx-auto text-base text-gray-500 dark:text-gray-400 sm:text-lg md:mt-5 md:text-xl md:max-w-3xl">
The premier platform for discovering innovative tech products, tools, and services built by European makers and entrepreneurs.
</p>
<div class="mt-5 max-w-md mx-auto sm:flex sm:justify-center md:mt-8">
@@ -21,14 +21,14 @@
@auth
<div class="mt-3 rounded-md shadow sm:mt-0 sm:ml-3">
<a href="{{ route('products.create') }}"
class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-primary-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10">
class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-primary-600 dark:text-primary-400 bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700 md:py-4 md:text-lg md:px-10">
Submit Your Product
</a>
</div>
@else
<div class="mt-3 rounded-md shadow sm:mt-0 sm:ml-3">
<a href="{{ route('register') }}"
class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-primary-600 bg-white hover:bg-gray-50 md:py-4 md:text-lg md:px-10">
class="w-full flex items-center justify-center px-8 py-3 border border-transparent text-base font-medium rounded-md text-primary-600 dark:text-primary-400 bg-white dark:bg-gray-800 hover:bg-gray-50 dark:hover:bg-gray-700 md:py-4 md:text-lg md:px-10">
Get Started
</a>
</div>
@@ -40,14 +40,14 @@
<!-- Trending Products Section -->
@if($trendingProducts->count() > 0)
<div class="bg-white py-16">
<div class="bg-white dark:bg-gray-900 py-16">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between mb-8">
<div>
<h2 class="text-3xl font-extrabold text-gray-900">
<h2 class="text-3xl font-extrabold text-gray-900 dark:text-white">
🔥 Trending This Week
</h2>
<p class="mt-2 text-lg text-gray-600">Most popular products of the last 7 days</p>
<p class="mt-2 text-lg text-gray-600 dark:text-gray-400">Most popular products of the last 7 days</p>
</div>
</div>
@@ -62,17 +62,17 @@
<!-- Categories Section -->
@if($categories->count() > 0)
<div class="bg-gray-50 py-16">
<div class="bg-gray-50 dark:bg-gray-800 py-16">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="text-center mb-12">
<h2 class="text-3xl font-extrabold text-gray-900">Browse by Category</h2>
<p class="mt-2 text-lg text-gray-600">Explore products in your favorite categories</p>
<h2 class="text-3xl font-extrabold text-gray-900 dark:text-white">Browse by Category</h2>
<p class="mt-2 text-lg text-gray-600 dark:text-gray-400">Explore products in your favorite categories</p>
</div>
<div class="grid grid-cols-2 gap-4 sm:grid-cols-3 lg:grid-cols-4">
@foreach($categories as $category)
<a href="{{ route('products.index', ['category' => $category->id]) }}"
class="group relative bg-white rounded-lg border border-gray-200 hover:border-primary-500 hover:shadow-md transition-all p-6 flex flex-col items-center justify-center text-center">
class="group relative bg-white dark:bg-gray-800 rounded-lg border border-gray-200 dark:border-gray-700 hover:border-primary-500 hover:shadow-md transition-all p-6 flex flex-col items-center justify-center text-center">
<div class="mb-3">
<div class="w-12 h-12 rounded-lg bg-primary-100 group-hover:bg-primary-200 flex items-center justify-center">
<svg class="h-6 w-6 text-primary-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
@@ -81,13 +81,13 @@
</div>
</div>
<h3 class="text-sm font-semibold text-gray-900 group-hover:text-primary-600">{{ $category->name }}</h3>
<p class="mt-1 text-xs text-gray-500">{{ $category->products_count }} {{ Str::plural('product', $category->products_count) }}</p>
<p class="mt-1 text-xs text-gray-500 dark:text-gray-400">{{ $category->products_count }} {{ Str::plural('product', $category->products_count) }}</p>
</a>
@endforeach
</div>
<div class="mt-10 text-center">
<a href="{{ route('products.index') }}" class="text-primary-600 hover:text-primary-700 font-medium">
<a href="{{ route('products.index') }}" class="text-primary-600 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-300 font-medium">
View all products →
</a>
</div>
@@ -97,16 +97,16 @@
<!-- Recent Products Section -->
@if($recentProducts->count() > 0)
<div class="bg-white py-16">
<div class="bg-white dark:bg-gray-900 py-16">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="flex items-center justify-between mb-8">
<div>
<h2 class="text-3xl font-extrabold text-gray-900">
<h2 class="text-3xl font-extrabold text-gray-900 dark:text-white">
✨ Recently Added
</h2>
<p class="mt-2 text-lg text-gray-600">Fresh products from the community</p>
<p class="mt-2 text-lg text-gray-600 dark:text-gray-400">Fresh products from the community</p>
</div>
<a href="{{ route('products.index') }}" class="text-primary-600 hover:text-primary-700 font-medium hidden sm:block">
<a href="{{ route('products.index') }}" class="text-primary-600 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-300 font-medium hidden sm:block">
See all →
</a>
</div>
@@ -118,7 +118,7 @@
</div>
<div class="mt-10 text-center sm:hidden">
<a href="{{ route('products.index') }}" class="text-primary-600 hover:text-primary-700 font-medium">
<a href="{{ route('products.index') }}" class="text-primary-600 dark:text-primary-400 hover:text-primary-700 dark:hover:text-primary-300 font-medium">
See all products →
</a>
</div>
@@ -160,29 +160,29 @@
</div>
<!-- Social Proof / Stats Section (Optional) -->
<div class="bg-gray-50 py-12">
<div class="bg-gray-50 dark:bg-gray-800 py-12">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
<div class="grid grid-cols-1 gap-8 sm:grid-cols-3">
<div class="text-center">
<div class="text-4xl font-extrabold text-primary-600">
{{ App\Models\Product::approved()->count() }}+
</div>
<div class="mt-2 text-lg font-medium text-gray-900">Products Listed</div>
<div class="mt-1 text-sm text-gray-500">Discover amazing tools</div>
<div class="mt-2 text-lg font-medium text-gray-900 dark:text-white">Products Listed</div>
<div class="mt-1 text-sm text-gray-500 dark:text-gray-400">Discover amazing tools</div>
</div>
<div class="text-center">
<div class="text-4xl font-extrabold text-primary-600">
{{ App\Models\User::count() }}+
</div>
<div class="mt-2 text-lg font-medium text-gray-900">Community Members</div>
<div class="mt-1 text-sm text-gray-500">Join the community</div>
<div class="mt-2 text-lg font-medium text-gray-900 dark:text-white">Community Members</div>
<div class="mt-1 text-sm text-gray-500 dark:text-gray-400">Join the community</div>
</div>
<div class="text-center">
<div class="text-4xl font-extrabold text-primary-600">
{{ App\Models\Category::count() }}+
</div>
<div class="mt-2 text-lg font-medium text-gray-900">Categories</div>
<div class="mt-1 text-sm text-gray-500">Find your niche</div>
<div class="mt-2 text-lg font-medium text-gray-900 dark:text-white">Categories</div>
<div class="mt-1 text-sm text-gray-500 dark:text-gray-400">Find your niche</div>
</div>
</div>
</div>