Update logic
This commit is contained in:
@@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user