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
|
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;
|
$this->label = $label;
|
||||||
|
|
||||||
if (!$obj && !$colour) {
|
if (!$obj && !$colour) {
|
||||||
@@ -45,8 +57,6 @@ final class Badge
|
|||||||
$palette = $obj->getBadgeColour()->getPalette();
|
$palette = $obj->getBadgeColour()->getPalette();
|
||||||
}
|
}
|
||||||
|
|
||||||
dump($icon);
|
|
||||||
|
|
||||||
if ($colour) {
|
if ($colour) {
|
||||||
$cases = array_map(fn (BadgeColour $b) => strtolower($b->name), BadgeColour::cases());
|
$cases = array_map(fn (BadgeColour $b) => strtolower($b->name), BadgeColour::cases());
|
||||||
|
|
||||||
@@ -62,11 +72,15 @@ final class Badge
|
|||||||
$merger = TailwindMerge::instance();
|
$merger = TailwindMerge::instance();
|
||||||
|
|
||||||
if (true === $outline) {
|
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 {
|
} else {
|
||||||
$classes = sprintf('text-white %s %s %s %s', $palette->borderColourClass, $palette->backgroundColourClass, $this->baseClasses, $class);
|
$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));
|
$this->finalClasses = $merger->merge(trim($classes));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user