2026-05-02 00:04:55 +03:00
|
|
|
@extends('layouts.app')
|
2026-05-01 02:36:25 +03:00
|
|
|
|
2026-05-02 00:04:55 +03:00
|
|
|
@section('title', 'Dashboard - JobifyGarden')
|
|
|
|
|
|
|
|
|
|
@section('header')
|
|
|
|
|
<h1 class="text-xl font-semibold text-gray-900">My Dashboard</h1>
|
|
|
|
|
@endsection
|
|
|
|
|
|
|
|
|
|
@section('content')
|
|
|
|
|
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8">
|
|
|
|
|
|
|
|
|
|
{{-- Welcome --}}
|
|
|
|
|
<div class="mb-8">
|
|
|
|
|
<h2 class="text-2xl font-bold text-gray-900">Welcome back, {{ $user->name }}</h2>
|
|
|
|
|
<p class="mt-1 text-sm text-gray-500">Here's a summary of your activity on JobifyGarden.</p>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{{-- Stats --}}
|
|
|
|
|
<div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-6 mb-8">
|
|
|
|
|
<div class="bg-white rounded-lg shadow-sm border border-gray-200 p-6">
|
|
|
|
|
<p class="text-sm font-medium text-gray-500">Saved Jobs</p>
|
|
|
|
|
<p class="mt-2 text-3xl font-bold text-emerald-600">{{ $savedJobs->count() }}</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="bg-white rounded-lg shadow-sm border border-gray-200 p-6">
|
|
|
|
|
<p class="text-sm font-medium text-gray-500">Job Alerts</p>
|
|
|
|
|
<p class="mt-2 text-3xl font-bold text-emerald-600">{{ $jobAlerts->count() }}</p>
|
|
|
|
|
</div>
|
|
|
|
|
<div class="bg-white rounded-lg shadow-sm border border-gray-200 p-6">
|
|
|
|
|
<p class="text-sm font-medium text-gray-500">Member Since</p>
|
|
|
|
|
<p class="mt-2 text-xl font-bold text-gray-700">{{ $user->created_at->format('M Y') }}</p>
|
2026-05-01 02:36:25 +03:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2026-05-02 00:04:55 +03:00
|
|
|
|
|
|
|
|
{{-- Saved Jobs --}}
|
|
|
|
|
<div class="bg-white rounded-lg shadow-sm border border-gray-200 mb-8">
|
|
|
|
|
<div class="px-6 py-4 border-b border-gray-200 flex items-center justify-between">
|
|
|
|
|
<h3 class="text-lg font-semibold text-gray-900">Saved Jobs</h3>
|
|
|
|
|
<a href="{{ route('bookmarks') }}" class="text-sm text-emerald-600 hover:text-emerald-700 font-medium">View all</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
@if($savedJobs->isEmpty())
|
|
|
|
|
<div class="px-6 py-10 text-center">
|
|
|
|
|
<svg class="mx-auto h-10 w-10 text-gray-300" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
|
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 5a2 2 0 012-2h10a2 2 0 012 2v16l-7-4.5L5 21V5z"/>
|
|
|
|
|
</svg>
|
|
|
|
|
<p class="mt-3 text-sm text-gray-500">No saved jobs yet. <a href="{{ route('jobs.index') }}" class="text-emerald-600 hover:underline">Browse jobs</a></p>
|
|
|
|
|
</div>
|
|
|
|
|
@else
|
|
|
|
|
<ul class="divide-y divide-gray-100">
|
|
|
|
|
@foreach($savedJobs->take(5) as $job)
|
|
|
|
|
<li class="px-6 py-4 flex items-center justify-between hover:bg-gray-50">
|
|
|
|
|
<div class="min-w-0">
|
|
|
|
|
<a href="{{ route('jobs.show', $job->slug) }}" class="text-sm font-medium text-gray-900 hover:text-emerald-600 truncate block">
|
|
|
|
|
{{ $job->title }}
|
|
|
|
|
</a>
|
|
|
|
|
<p class="text-xs text-gray-500 mt-0.5">{{ $job->company }}@if($job->location) · {{ $job->location }}@endif</p>
|
|
|
|
|
</div>
|
|
|
|
|
@if($job->job_type)
|
|
|
|
|
<span class="ml-4 flex-shrink-0 inline-flex items-center px-2.5 py-0.5 rounded-full text-xs font-medium bg-emerald-100 text-emerald-800">
|
|
|
|
|
{{ $job->job_type }}
|
|
|
|
|
</span>
|
|
|
|
|
@endif
|
|
|
|
|
</li>
|
|
|
|
|
@endforeach
|
|
|
|
|
</ul>
|
|
|
|
|
@endif
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
{{-- Quick Links --}}
|
|
|
|
|
<div class="grid grid-cols-1 sm:grid-cols-2 gap-4">
|
|
|
|
|
<a href="{{ route('jobs.index') }}" class="bg-white rounded-lg shadow-sm border border-gray-200 p-5 flex items-center gap-4 hover:border-emerald-300 transition-colors">
|
|
|
|
|
<div class="flex-shrink-0 h-10 w-10 bg-emerald-50 rounded-lg flex items-center justify-center">
|
|
|
|
|
<svg class="h-5 w-5 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
|
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"/>
|
|
|
|
|
</svg>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<p class="text-sm font-medium text-gray-900">Browse Jobs</p>
|
|
|
|
|
<p class="text-xs text-gray-500">Find new opportunities</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
|
|
<a href="{{ route('profile.edit') }}" class="bg-white rounded-lg shadow-sm border border-gray-200 p-5 flex items-center gap-4 hover:border-emerald-300 transition-colors">
|
|
|
|
|
<div class="flex-shrink-0 h-10 w-10 bg-emerald-50 rounded-lg flex items-center justify-center">
|
|
|
|
|
<svg class="h-5 w-5 text-emerald-600" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
|
|
|
|
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z"/>
|
|
|
|
|
</svg>
|
|
|
|
|
</div>
|
|
|
|
|
<div>
|
|
|
|
|
<p class="text-sm font-medium text-gray-900">Edit Profile</p>
|
|
|
|
|
<p class="text-xs text-gray-500">Update your information</p>
|
|
|
|
|
</div>
|
|
|
|
|
</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
@endsection
|