From 9826f8980610495ac6b3a11fdc86f0ca58d1d757 Mon Sep 17 00:00:00 2001 From: iridium34 Date: Mon, 10 Mar 2025 20:02:13 +0100 Subject: [PATCH] Added ColorController & Views --- app/Http/Controllers/ColorController.php | 91 +++++++++++++++++++++ app/Http/Controllers/FilamentController.php | 64 +++++++++++++++ resources/views/colors/create.blade.php | 36 ++++++++ resources/views/colors/edit.blade.php | 31 +++++++ resources/views/colors/index.blade.php | 30 +++++++ resources/views/colors/show.blade.php | 31 +++++++ resources/views/components/navbar.blade.php | 1 + routes/web.php | 3 + 8 files changed, 287 insertions(+) create mode 100644 app/Http/Controllers/ColorController.php create mode 100644 app/Http/Controllers/FilamentController.php create mode 100644 resources/views/colors/create.blade.php create mode 100644 resources/views/colors/edit.blade.php create mode 100644 resources/views/colors/index.blade.php create mode 100644 resources/views/colors/show.blade.php diff --git a/app/Http/Controllers/ColorController.php b/app/Http/Controllers/ColorController.php new file mode 100644 index 0000000..dcdaea7 --- /dev/null +++ b/app/Http/Controllers/ColorController.php @@ -0,0 +1,91 @@ +validate([ + 'name' => 'required|string|max:255', + 'hex' => 'required|string|max:255' + ]); + + $color = new Color(); + $color->name = $request->name; + $color->hex = $request->hex; + $color->save(); + + return redirect()->route('colors.index'); + } + + /** + * Display the specified resource. + */ + public function show(string $id) + { + // show single color + $color = Color::find($id); + return view('colors.show', compact('color')); + } + + /** + * Show the form for editing the specified resource. + */ + public function edit(string $id) + { + // edit color + $color = Color::find($id); + return view('colors.edit', compact('color')); + } + + /** + * Update the specified resource in storage. + */ + public function update(Request $request, string $id) + { + // update color + $color = Color::find($id); + $color->name = $request->name; + $color->hex = $request->hex; + $color->save(); + return redirect()->route('colors.show', $color->id); + } + + /** + * Remove the specified resource from storage. + */ + public function destroy(string $id) + { + // delete color + $color = Color::find($id); + $color->delete(); + return redirect()->route('colors.index'); + } +} diff --git a/app/Http/Controllers/FilamentController.php b/app/Http/Controllers/FilamentController.php new file mode 100644 index 0000000..de51503 --- /dev/null +++ b/app/Http/Controllers/FilamentController.php @@ -0,0 +1,64 @@ + + + {{ __('Create Colors') }} + + + +
+ Back + Submit +
+
+ + +
+
+
+
+ @csrf +
+ + +
+ +
+ + +
+
+ Cancel + +
+
+
+
+
+ diff --git a/resources/views/colors/edit.blade.php b/resources/views/colors/edit.blade.php new file mode 100644 index 0000000..94c252d --- /dev/null +++ b/resources/views/colors/edit.blade.php @@ -0,0 +1,31 @@ + + + {{ __('Edit Colors') }} + + + +
+
+
+
+ @csrf + @method('PUT') +
+ + +
+ +
+ + +
+ +
+ Cancel + +
+
+
+
+
+
diff --git a/resources/views/colors/index.blade.php b/resources/views/colors/index.blade.php new file mode 100644 index 0000000..01bd752 --- /dev/null +++ b/resources/views/colors/index.blade.php @@ -0,0 +1,30 @@ + + + {{ __('Colors') }} + + + +
+ Create +
+
+ +
+
+
+ + +
+
+
+
diff --git a/resources/views/colors/show.blade.php b/resources/views/colors/show.blade.php new file mode 100644 index 0000000..b6ae298 --- /dev/null +++ b/resources/views/colors/show.blade.php @@ -0,0 +1,31 @@ + + + {{ $color->name }} + + + +
+ Back + Edit + Delete +
+
+ +
+
+
+
+
Hex Code
+
+ {{ $color->hex }} +
+
+ + +
+
+
+
diff --git a/resources/views/components/navbar.blade.php b/resources/views/components/navbar.blade.php index d2714d8..55d5440 100644 --- a/resources/views/components/navbar.blade.php +++ b/resources/views/components/navbar.blade.php @@ -9,6 +9,7 @@ Manufacturers Filaments Types + Colors diff --git a/routes/web.php b/routes/web.php index 01985a5..5a62a2e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -2,6 +2,7 @@ use Illuminate\Support\Facades\Route; use App\Http\Controllers\FilamentTypeController; +use App\Http\Controllers\ColorController; Route::get('/', function () { return view('welcome'); @@ -20,5 +21,7 @@ Route::middleware([ // Filament Types Route::resource('types', FilamentTypeController::class); + // Colors + Route::resource('colors', ColorController::class); });