Update logic

This commit is contained in:
brabli
2026-04-30 12:17:08 +01:00
parent b4cf626468
commit 93258abd38
+17 -3
View File
@@ -31,6 +31,18 @@ final class Badge
*/
public function mount(?BadgeableInterface $obj = null, ?string $class = null, ?string $colour = null, ?string $label = null, bool $outline = false, ?string $icon = null): void
{
if (!$icon) {
$this->icon = null;
} else if ("1" === $icon) {
$this->icon = $obj->getBadgeIcon();
if (null === $this->icon) {
throw new \RuntimeException("Missing an icon name.");
}
} else {
$this->icon = $icon;
}
$this->label = $label;
if (!$obj && !$colour) {
@@ -45,8 +57,6 @@ final class Badge
$palette = $obj->getBadgeColour()->getPalette();
}
dump($icon);
if ($colour) {
$cases = array_map(fn (BadgeColour $b) => strtolower($b->name), BadgeColour::cases());
@@ -62,11 +72,15 @@ final class Badge
$merger = TailwindMerge::instance();
if (true === $outline) {
$classes = sprintf('bg-white %s %s %s %s', $palette->borderColourClass, $palette->textColourClass, $this->baseClasses, $class);
$classes = sprintf('bg-white %s/30 %s %s %s', $palette->borderColourClass, $palette->textColourClass, $this->baseClasses, $class);
} else {
$classes = sprintf('text-white %s %s %s %s', $palette->borderColourClass, $palette->backgroundColourClass, $this->baseClasses, $class);
}
if ($this->icon !== null) {
$classes = sprintf("flex gap-1 items-center %s", $classes);
}
$this->finalClasses = $merger->merge(trim($classes));
}
}