From 9cb808dee6775ff7e3c82eb294c65d04b2e7e8fc Mon Sep 17 00:00:00 2001 From: Benjamin Nussbaum Date: Tue, 13 May 2025 20:57:39 +0200 Subject: [PATCH] feat: added recipe Sunrise/Sunset --- database/seeders/ExampleRecipesSeeder.php | 19 +++++ resources/views/flux/icon/sunrise.blade.php | 48 +++++++++++++ resources/views/recipes/sunrise-sunset.liquid | 69 +++++++++++++++++++ 3 files changed, 136 insertions(+) create mode 100644 resources/views/flux/icon/sunrise.blade.php create mode 100644 resources/views/recipes/sunrise-sunset.liquid diff --git a/database/seeders/ExampleRecipesSeeder.php b/database/seeders/ExampleRecipesSeeder.php index 50dc77b..0e6bcce 100644 --- a/database/seeders/ExampleRecipesSeeder.php +++ b/database/seeders/ExampleRecipesSeeder.php @@ -106,5 +106,24 @@ class ExampleRecipesSeeder extends Seeder 'flux_icon_name' => 'thermometer', ] ); + + Plugin::updateOrCreate( + [ + 'uuid' => 'be5f7e1f-3ad8-4d66-93b2-36f7d6dcbd80', + 'name' => 'Sunrise/Sunset', + 'user_id' => $user_id, + 'data_payload' => null, + 'data_stale_minutes' => 720, + 'data_strategy' => 'polling', + 'polling_url' => 'https://suntracker.me/?lat=48.2083&lon=16.3731', + 'polling_verb' => 'get', + 'polling_header' => null, + 'render_markup' => null, + 'render_markup_view' => 'recipes.sunrise-sunset', + 'detail_view_route' => null, + 'icon_url' => null, + 'flux_icon_name' => 'sunrise', + ] + ); } } diff --git a/resources/views/flux/icon/sunrise.blade.php b/resources/views/flux/icon/sunrise.blade.php new file mode 100644 index 0000000..e078da6 --- /dev/null +++ b/resources/views/flux/icon/sunrise.blade.php @@ -0,0 +1,48 @@ +{{-- Credit: Lucide (https://lucide.dev) --}} + +@props([ + 'variant' => 'outline', +]) + +@php +if ($variant === 'solid') { + throw new \Exception('The "solid" variant is not supported in Lucide.'); +} + +$classes = Flux::classes('shrink-0') + ->add(match($variant) { + 'outline' => '[:where(&)]:size-6', + 'solid' => '[:where(&)]:size-6', + 'mini' => '[:where(&)]:size-5', + 'micro' => '[:where(&)]:size-4', + }); + +$strokeWidth = match ($variant) { + 'outline' => 2, + 'mini' => 2.25, + 'micro' => 2.5, +}; +@endphp + +class($classes) }} + data-flux-icon + xmlns="http://www.w3.org/2000/svg" + viewBox="0 0 24 24" + fill="none" + stroke="currentColor" + stroke-width="{{ $strokeWidth }}" + stroke-linecap="round" + stroke-linejoin="round" + aria-hidden="true" + data-slot="icon" +> + + + + + + + + + diff --git a/resources/views/recipes/sunrise-sunset.liquid b/resources/views/recipes/sunrise-sunset.liquid new file mode 100644 index 0000000..3622f17 --- /dev/null +++ b/resources/views/recipes/sunrise-sunset.liquid @@ -0,0 +1,69 @@ + + + + + + + + + plugin + + + +
+
+
+ +
+ +
+
+ Sunrise + + {{ data.today.sunrise }} + +
+
+ +
+
+ Sunset + + {{ data.today.sunset }} + +
+
+
+ + +
+ + + +
+
+ Tomorrow +
+
+ ↑ {{ data.tomorrow.sunrise }} +
+
+ ↓ {{ data.tomorrow.sunset }} +
+
+
+
+
+
+ +
+ Sunrise & Sunset +
+
+
+ +