From 36f3267fc60a2201c19961168d3ae22e5cd9e766 Mon Sep 17 00:00:00 2001 From: Bradley Date: Thu, 8 Aug 2024 14:15:09 +0100 Subject: [PATCH] Add actual badge classes to bundle --- Resources/views/components/Badge.html.twig | 2 +- src/Enum/Badge.php | 46 ++++++++++++++++++++++ src/Interface/BadgeableInterface.php | 16 ++++++++ src/Model/BadgePalette.php | 19 +++++++++ src/Twig/Component/Badge.php | 12 +++++- 5 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 src/Enum/Badge.php create mode 100644 src/Interface/BadgeableInterface.php create mode 100644 src/Model/BadgePalette.php diff --git a/Resources/views/components/Badge.html.twig b/Resources/views/components/Badge.html.twig index 14a2da9..c75d9bd 100644 --- a/Resources/views/components/Badge.html.twig +++ b/Resources/views/components/Badge.html.twig @@ -1,4 +1,4 @@ -
+
{% block content %} {% endblock %}
diff --git a/src/Enum/Badge.php b/src/Enum/Badge.php new file mode 100644 index 0000000..b4657d5 --- /dev/null +++ b/src/Enum/Badge.php @@ -0,0 +1,46 @@ + new BadgePalette('text-red-600', 'border-red-600', 'bg-red-600'), + $this::MAROON => new BadgePalette('text-red-900', 'border-red-900', 'bg-red-900'), + $this::BLUE => new BadgePalette('text-sky-700', 'border-sky-700', 'bg-sky-700'), + $this::FOREST => new BadgePalette('text-green-800', 'border-green-800', 'bg-green-800'), + $this::GREEN => new BadgePalette('text-green-600', 'border-green-600', 'bg-green-600'), + $this::OCHRE => new BadgePalette('text-yellow-800', 'border-yellow-800', 'bg-yellow-800'), + $this::ORANGE => new BadgePalette('text-orange-500', 'border-orange-500', 'bg-orange-500'), + $this::AMBER => new BadgePalette('text-amber-500', 'border-amber-500', 'bg-amber-500'), + $this::ROSE => new BadgePalette('text-rose-600', 'border-rose-600', 'bg-rose-600'), + $this::GREY => new BadgePalette('text-neutral-400', 'border-neutral-400', 'bg-neutral-400'), + $this::YELLOW => new BadgePalette('text-yellow-500', 'border-yellow-500', 'bg-yellow-500'), + $this::STRIPE => new BadgePalette('text-indigo-500', 'border-indigo-500', 'bg-indigo-500'), + $this::BLACK => new BadgePalette('text-zinc-100', 'border-zinc-900', 'bg-zinc-900'), + $this::DEFAULT => new BadgePalette('text-primary', 'border-primary', 'bg-primary'), + }; + } +} + diff --git a/src/Interface/BadgeableInterface.php b/src/Interface/BadgeableInterface.php new file mode 100644 index 0000000..4b1f907 --- /dev/null +++ b/src/Interface/BadgeableInterface.php @@ -0,0 +1,16 @@ +getBadgeColour()->getPalette(); + + $this->finalClasses = sprintf('text-white %s %s %s', $palette->borderColourClass, $palette->backgroundColourClass, $this->baseClasses); + } }