diff --git a/app/Http/Controllers/Auth/RegisterController.php b/app/Http/Controllers/Auth/RegisterController.php index ed1a5e0..69efd5f 100644 --- a/app/Http/Controllers/Auth/RegisterController.php +++ b/app/Http/Controllers/Auth/RegisterController.php @@ -3,8 +3,8 @@ namespace App\Http\Controllers\Auth; use App\Http\Controllers\Controller; -use App\Providers\RouteServiceProvider; use App\Models\User; +use App\Providers\RouteServiceProvider; use Illuminate\Foundation\Auth\RegistersUsers; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Validator; diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 7cbc2c3..6c50be3 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -2,8 +2,6 @@ namespace App\Http\Controllers; -use Illuminate\Http\Request; - class HomeController extends Controller { /** diff --git a/app/Http/Controllers/MessageController.php b/app/Http/Controllers/MessageController.php new file mode 100644 index 0000000..2fc348c --- /dev/null +++ b/app/Http/Controllers/MessageController.php @@ -0,0 +1,34 @@ +sortByDesc('id'); + return view('messages.index', compact('messages')); + } + + public function show(Message $message) + { + return view('messages.show', compact('message')); + } + + public function store(Request $request) + { + $message= Message::create($request->validated()); + + return redirect()->route('messages.index'); + } + + public function destroy(Message $message) + { + $message->delete(); + return redirect(route('messages.index')); + } +} diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 73ce775..d7a3cce 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -2,8 +2,8 @@ namespace App\Http\Controllers; -use Illuminate\Support\Facades\Hash; use App\Http\Requests\ProfileUpdateRequest; +use Illuminate\Support\Facades\Hash; class ProfileController extends Controller { diff --git a/app/Http/Requests/ProfileUpdateRequest.php b/app/Http/Requests/ProfileUpdateRequest.php index 52a7583..ec2dc83 100644 --- a/app/Http/Requests/ProfileUpdateRequest.php +++ b/app/Http/Requests/ProfileUpdateRequest.php @@ -2,9 +2,9 @@ namespace App\Http\Requests; -use Illuminate\Validation\Rule; -use Illuminate\Support\Facades\Auth; use Illuminate\Foundation\Http\FormRequest; +use Illuminate\Support\Facades\Auth; +use Illuminate\Validation\Rule; class ProfileUpdateRequest extends FormRequest { @@ -28,4 +28,4 @@ protected function prepareForValidation() $this->request->remove('password'); } } -} \ No newline at end of file +} diff --git a/app/Models/Message.php b/app/Models/Message.php new file mode 100644 index 0000000..204afeb --- /dev/null +++ b/app/Models/Message.php @@ -0,0 +1,12 @@ +id(); + $table->string('name'); + $table->string('email'); + $table->string('phone'); + $table->text('content'); + $table->timestamps(); + $table->softDeletes(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('messages'); + } +}; diff --git a/package-lock.json b/package-lock.json index 2cd1680..7e436fd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1203,7 +1203,8 @@ "version": "1.78.1", "resolved": "https://registry.npmjs.org/@tabler/icons/-/icons-1.78.1.tgz", "integrity": "sha512-QT/94Hufvzn4PxsEyN9NTh96XmNaGGgMh7sKcBZ2216pE9B+Ala98KpdNwTKKBlEvRvHw9y14zW4qFYzxGOhZw==", - "dev": true + "dev": true, + "requires": {} }, "adjust-sourcemap-loader": { "version": "4.0.0", @@ -1263,7 +1264,8 @@ "version": "5.1.3", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz", "integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q==", - "dev": true + "dev": true, + "requires": {} }, "braces": { "version": "3.0.2", diff --git a/resources/views/layouts/navigation.blade.php b/resources/views/layouts/navigation.blade.php index 64e24a4..653db44 100644 --- a/resources/views/layouts/navigation.blade.php +++ b/resources/views/layouts/navigation.blade.php @@ -3,11 +3,19 @@ - \ No newline at end of file + diff --git a/resources/views/messages/index.blade.php b/resources/views/messages/index.blade.php new file mode 100644 index 0000000..df6953c --- /dev/null +++ b/resources/views/messages/index.blade.php @@ -0,0 +1,53 @@ +@extends('layouts.app') + +@section('content') +
+ + +
+
+
+ + + + + + + + + + + + @foreach ($messages as $message) + + + + + + + + @endforeach + +
idnamephonereceived at
{{ $message->id }}{{ $message->name }}{{ $message->phone }}{{ $message->created_at }} +
+
+ @csrf @method('DELETE') + +
+
+
+ {{ $messages->links() }} +
+
+@endsection + + + diff --git a/resources/views/messages/show.blade.php b/resources/views/messages/show.blade.php new file mode 100644 index 0000000..1d11a72 --- /dev/null +++ b/resources/views/messages/show.blade.php @@ -0,0 +1,22 @@ +@extends('layouts.app') + +@section('title', 'Messages' . ' - ' . $message->name) + +@section('content') +
+
+
+
+

{{ $message->name }}

+

+

Email: {{ $message->email }}

+

Phone: {{ $message->phone }}

+
+

Message content:

+

{{ $message->content }}

+

+
+
+
+
+@endsection diff --git a/routes/web.php b/routes/web.php index b3acaba..50f7d12 100644 --- a/routes/web.php +++ b/routes/web.php @@ -1,7 +1,9 @@ name('home'); +Route::post('/contact-us', [\App\Http\Controllers\MessageController::class, 'store'])->name('messages.store'); + + Route::middleware('auth')->group(function () { Route::view('about', 'about')->name('about'); - Route::get('users', [\App\Http\Controllers\UserController::class, 'index'])->name('users.index'); - Route::get('profile', [\App\Http\Controllers\ProfileController::class, 'show'])->name('profile.show'); Route::put('profile', [\App\Http\Controllers\ProfileController::class, 'update'])->name('profile.update'); + Route::get('messages', [\App\Http\Controllers\MessageController::class, 'index'])->name('messages.index'); + Route::get('messages/{message}', [\App\Http\Controllers\MessageController::class, 'show'])->name('messages.show'); + Route::delete('messages/{message}', [\App\Http\Controllers\MessageController::class, 'destroy'])->name('messages.destroy'); });