diff --git a/app/Http/Controllers/Dashboard/CategoryController.php b/app/Http/Controllers/Dashboard/CategoryController.php index b26f160..bccc10c 100644 --- a/app/Http/Controllers/Dashboard/CategoryController.php +++ b/app/Http/Controllers/Dashboard/CategoryController.php @@ -9,6 +9,7 @@ use App\Models\Category; use App\Repository\Interfaces\CategoryRepository; use Illuminate\Http\RedirectResponse; use Illuminate\View\View; +use Inertia\Response as InertiaResponse; class CategoryController { @@ -21,42 +22,35 @@ class CategoryController { $validate = $request->validated(); if ($this->categoryRepository->update($category, $validate)) { - return back()->with('message', 'Zaktualizowano kategorię!'); + return back() + ->with('success', 'Zaktualizowano kategorię!'); } - return back()->withError(['message_error', 'Wystąpił błąd podczas aktualizacji!']); + return back() + ->with(['error', 'Wystąpił błąd podczas aktualizacji!']); } public function store(CategoryRequest $request) { - // $validate = $request->validated(); - // if ($category = $this->categoryRepository->create($validate)) { - // return redirect() - // ->route('admin.category.update', compact('category')) - // ->with('message', 'Utworzono kategorię!'); - // } - - // return back()->withError(['message_error', 'Wystąpił błąd podczas tworzenia!']); - $category = $this->categoryRepository->create($request->validated()); return redirect() ->route('admin.category.update', compact('category')) ->with('message', 'Utworzono kategorię!'); } - public function create(): View + public function create(): InertiaResponse { - return view('dashboard.categories.create'); + return inertia('Categories/Create'); } - public function edit(Category $category): View + public function edit(Category $category): InertiaResponse { - return view('dashboard.categories.edit', compact('category')); + return inertia('Categories/Edit', compact('category')); } - public function delete(Category $category): View + public function delete(Category $category): InertiaResponse { - return view('dashboard.categories.delete', compact('category')); + return inertia('Categories/ConfirmDelete', compact('category')); } public function destroy(Category $category): RedirectResponse @@ -64,7 +58,9 @@ class CategoryController $name = $category->name; $category->delete(); - return redirect()->route('admin.home')->with('message', 'Usunięto kategorię "'. $name .'"'); + return redirect() + ->route('admin.home') + ->with('info', 'Usunięto kategorię "'. $name .'"'); } } diff --git a/app/Http/Controllers/Dashboard/ProjectController.php b/app/Http/Controllers/Dashboard/ProjectController.php index 307b78d..c4b7cf5 100644 --- a/app/Http/Controllers/Dashboard/ProjectController.php +++ b/app/Http/Controllers/Dashboard/ProjectController.php @@ -1,5 +1,7 @@ parseToArray($data); - if (!$category->default && isset($data['default']) && $data['default'] === true) + if (!$category->default && $data['default'] === true) $this->unsetDefault(); return $category @@ -58,7 +58,7 @@ class CategoryRepository implements CategoryRepositoryInterface public function create(array $data = []): Category { $data = $this->parseToArray($data); - if (isset($data['default']) && $data['default'] === true) + if ($data['default'] === true) $this->unsetDefault(); return $this->category @@ -85,18 +85,12 @@ class CategoryRepository implements CategoryRepositoryInterface if (isset($data['priority']) && !is_integer($data['priority'])) $toSave['priority'] = (int)$data['priority']; - if ( - isset($data['default']) && - in_array($data['default'], ['yes', 'on', 1, true]) - ) $toSave['default'] = true; - else $toSave['default'] = false; + $toSave['default'] = $data['default']; - if ( - (isset($toSave['default']) && $toSave['default'] === true) || - (isset($data['visible']) && - in_array($data['visible'], ['yes', 'on', 1, true])) - ) $toSave['visible'] = true; - else $toSave['visible'] = false; + if ($toSave['default'] === true) + $toSave['visible'] = true; + else + $toSave['visible'] = $data['visible']; return $toSave; } diff --git a/resources/js/Pages/Categories/ConfirmDelete.vue b/resources/js/Pages/Categories/ConfirmDelete.vue new file mode 100644 index 0000000..fae0ba0 --- /dev/null +++ b/resources/js/Pages/Categories/ConfirmDelete.vue @@ -0,0 +1,37 @@ + + + + + + + Usuwanie kategorii + + + Na pewno usunąć kategorię o nazwie {{ category.name }}? + + Anuluj + Usuń kategorię {{ category.name }} + + + + diff --git a/resources/js/Pages/Categories/Create.vue b/resources/js/Pages/Categories/Create.vue new file mode 100644 index 0000000..a93c504 --- /dev/null +++ b/resources/js/Pages/Categories/Create.vue @@ -0,0 +1,64 @@ + + + + + + + Nowa kategoria + + + + + + + + + Dodaj kategorię + + + + diff --git a/resources/js/Pages/Categories/Edit.vue b/resources/js/Pages/Categories/Edit.vue new file mode 100644 index 0000000..f68a109 --- /dev/null +++ b/resources/js/Pages/Categories/Edit.vue @@ -0,0 +1,78 @@ + + + + + + + Edytuj {{ category.name }} + + + + + + + + + Aktualizuj kategorię + + + + diff --git a/resources/js/Share/CategoriesList.vue b/resources/js/Share/CategoriesList.vue index e5344c4..c0fac8f 100644 --- a/resources/js/Share/CategoriesList.vue +++ b/resources/js/Share/CategoriesList.vue @@ -9,16 +9,33 @@ defineProps({ - - Categories + + Kategorie + - {{ category.name }} + {{ category.name }} + + + + diff --git a/resources/js/Share/Components/Input.vue b/resources/js/Share/Components/Input.vue index 02cffaa..0be3f9d 100644 --- a/resources/js/Share/Components/Input.vue +++ b/resources/js/Share/Components/Input.vue @@ -20,7 +20,7 @@ defineProps({ default: null, } }); -defineEmits(['update:modelValue']); +defineEmits(['update:model-value']); @@ -32,19 +32,21 @@ defineEmits(['update:modelValue']); :id="id" :class="['w-full min-w-full max-w-full h-[200px] min-h-[200px] px-2.5 py-2 border-b-2 rounded-md', error ? 'border-red-300 focus:border-red-400 hover:border-red-500 outline-none text-red-900 placeholder-red-400' : 'border-neutral-300 focus:border-neutral-400 hover:border-neutral-500 outline-none text-gray-900 placeholder-gray-400']" :value="modelValue" - @input="$emit('update:modelValue', $event.target.value)" + @input="$emit('update:model-value', $event.target.value)" :placeholder="placeholder"> {{ error }} diff --git a/resources/js/Share/ProjectsList.vue b/resources/js/Share/ProjectsList.vue index 5493bfb..f82ba94 100644 --- a/resources/js/Share/ProjectsList.vue +++ b/resources/js/Share/ProjectsList.vue @@ -11,7 +11,11 @@ defineProps({ Projekty - Dodaj nowy +
Na pewno usunąć kategorię o nazwie {{ category.name }}?