git add .

git commit "Implement authentication flow and initialize home page hero section"
This commit is contained in:
2026-08-16 14:51:49 +03:30
parent d43e74b280
commit 6302570d75
19 changed files with 1276 additions and 303 deletions
+17
View File
@@ -0,0 +1,17 @@
<?php
namespace App\Http\Controllers;
use App\Models\City;
use Illuminate\Http\Request;
class CityController extends Controller
{
//
public function getCities($province)
{
return City::where('province_id', $province)
->orderBy('name')
->get();
}
}
@@ -0,0 +1,21 @@
<?php
namespace App\Http\Controllers;
use App\Models\Comment;
use Illuminate\Http\Request;
class CommentController extends Controller
{
public function index()
{
$comments=Comment::query()
->where('user_id',auth()->id())
->with('tour')
->latest()
->paginate(4);
return view('account.users.comments.index',compact('comments'));
}
}
+1 -1
View File
@@ -12,6 +12,6 @@ class DashboardController extends Controller
{
$user=Auth::User();
return view('users.dashboard',compact('user'));
return view('account.users.dashboard',compact('user'));
}
}
+34 -6
View File
@@ -2,21 +2,49 @@
namespace App\Http\Controllers;
use App\Models\Favorite;
use Illuminate\Http\Request;
class FavoriteController extends Controller
{
//
public function create()
public function index()
{
$favorites=Favorite::with('tour')
->where('user_id',auth()->id())
->latest()
->get();
return view('account.users.favorite.index',compact('favorites'));
}
public function store()
public function store(Request $request)
{
$request->validate([
'tour_id'=>[
'required',
'exists:tours,id'
],
]);
Favorite::firstOrCreate([
'user_id' => auth()->id(),
'tour_id' => $request->tour_id,
]);
return back()->with(
'success',
'تور به علاقه‌مندی‌ها اضافه شد.'
);
}
public function destroy(Favorite $favorite)
{
}
public function destroy()
{
$favorite->delete();
return back()->with(
'success',
'تور از علاقه‌مندی‌ها حذف شد.'
);
}
}
+8 -4
View File
@@ -3,6 +3,7 @@
namespace App\Http\Controllers;
use App\Http\Requests\ProfileUpdateRequest;
use App\Models\Province;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
@@ -14,7 +15,9 @@ class ProfileController extends Controller
{
$withoutHero=true;
$user=Auth::User();
return view('users.profile.edit',compact('user','withoutHero'));
$provinces=Province::orderBy('name')->get();
return view('account.users.profile.edit',compact('user','withoutHero','provinces'));
}
public function update(ProfileUpdateRequest $request)
@@ -22,9 +25,9 @@ class ProfileController extends Controller
$user=$request->user();
$inputs=$request->validated();
if (!empty($inputs['new_password'])){
$user->password=Hash::make($inputs['new_password']);
}
if ($request->filled('new_password')){
$inputs['password']=Hash::make($request->new_password);
}
unset(
$inputs['current_password'],
@@ -46,6 +49,7 @@ class ProfileController extends Controller
$inputs['profile_image'] = $imageName;
}
$user->update($inputs);
return back()->with([
+1 -2
View File
@@ -42,8 +42,7 @@ class ProfileUpdateRequest extends FormRequest
'national_code' => [
'required',
'ir_national_id',
Rule::unique('users', 'national_code')
Rule::unique('users', 'national_code')
->ignore($user->id),
],
+11
View File
@@ -0,0 +1,11 @@
<?php
if (!function_exists('getUserFullName')) {
function getUserFullName(?\App\Models\User $user = null): string
{
if (!$user) {
$user = auth()->user();
}
return $user->first_name . ' ' . $user->last_name;
}
}