From d9727388d053d5906009d72319cfa34f95d43520 Mon Sep 17 00:00:00 2001 From: Duncan McClean Date: Fri, 16 May 2025 12:37:40 +0100 Subject: [PATCH] Collection icons --- src/Collections/Collection.php | 2 ++ tests/Collections/CollectionTest.php | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/Collections/Collection.php b/src/Collections/Collection.php index ad6d26a0..305e2e63 100644 --- a/src/Collections/Collection.php +++ b/src/Collections/Collection.php @@ -15,6 +15,7 @@ public static function fromModel(Model $model) { return (new static) ->title($model->title ?? null) + ->icon($model->settings['icon'] ?? null) ->routes($model->settings['routes'] ?? null) ->requiresSlugs($model->settings['slugs'] ?? true) ->titleFormats($model->settings['title_formats'] ?? null) @@ -55,6 +56,7 @@ public static function makeModelFromContract(Contract $source) ]); $model->settings = array_merge($model->settings ?? [], [ + 'icon' => $source->icon, 'routes' => $source->routes, 'slugs' => $source->requiresSlugs(), 'title_formats' => collect($source->titleFormats())->filter(), diff --git a/tests/Collections/CollectionTest.php b/tests/Collections/CollectionTest.php index 02bd3ef3..9299f7d0 100644 --- a/tests/Collections/CollectionTest.php +++ b/tests/Collections/CollectionTest.php @@ -20,6 +20,7 @@ public function it_finds_collection() 'title' => 'Blog', 'handle' => 'blog', 'settings' => [ + 'icon' => 'crane', 'routes' => '/blog/{slug}', 'slugs' => true, 'dated' => true, @@ -33,6 +34,7 @@ public function it_finds_collection() $this->assertTrue($model->is($find->model())); $this->assertEquals('blog', $find->handle()); $this->assertEquals('Blog', $find->title()); + $this->assertEquals('crane', $find->icon()); $this->assertEquals('/blog/{slug}', $find->route('en')); $this->assertTrue($find->requiresSlugs()); $this->assertTrue($find->dated());