diff --git a/app/Http/Controllers/DayController.php b/app/Http/Controllers/DayController.php index e9de17f..439dc2f 100644 --- a/app/Http/Controllers/DayController.php +++ b/app/Http/Controllers/DayController.php @@ -35,7 +35,7 @@ public function create(Request $request): View return view('day.create', [ 'day' => new Day(['date' => $validated['initial'] ?? date('Y-m-d')]), 'categories' => Category::orderBy('order')->get(), - 'tags' => $request->user()->tags + 'tags' => $request->user()->tags()->whereNull('archived_at')->get() ]); } diff --git a/app/Http/Controllers/TagController.php b/app/Http/Controllers/TagController.php index ac5c548..580940f 100644 --- a/app/Http/Controllers/TagController.php +++ b/app/Http/Controllers/TagController.php @@ -55,6 +55,7 @@ public function edit(Tag $tag): View public function update(TagEditRequest $request, Tag $tag): RedirectResponse { $tag->fill($request->validated()); + $tag->archived_at = $request->has('archive') ? now() : null; $tag->save(); return redirect()->route('tags.index'); diff --git a/app/Http/Requests/TagEditRequest.php b/app/Http/Requests/TagEditRequest.php index 68918db..993e6a4 100644 --- a/app/Http/Requests/TagEditRequest.php +++ b/app/Http/Requests/TagEditRequest.php @@ -18,7 +18,8 @@ public function rules(): array { return [ 'name' => ['required'], - 'color' => ['required', 'size:7', 'starts_with:#'] + 'color' => ['required', 'size:7', 'starts_with:#'], + 'archive' => ['sometimes', 'required', 'boolean'] ]; } } diff --git a/database/migrations/2023_08_19_163302_add_archived_at_to_tags_table.php b/database/migrations/2023_08_19_163302_add_archived_at_to_tags_table.php new file mode 100644 index 0000000..fa46d54 --- /dev/null +++ b/database/migrations/2023_08_19_163302_add_archived_at_to_tags_table.php @@ -0,0 +1,28 @@ +timestamp('archived_at')->nullable()->default(null); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('tags', function (Blueprint $table) { + $table->dropColumn('archived_at'); + }); + } +}; diff --git a/resources/views/tag/widgets/edit_tag.blade.php b/resources/views/tag/widgets/edit_tag.blade.php index d13521a..553add0 100644 --- a/resources/views/tag/widgets/edit_tag.blade.php +++ b/resources/views/tag/widgets/edit_tag.blade.php @@ -4,6 +4,15 @@ @include('tag.partials.edit') +
+
+ archived_at != null))> + +
+
+