Add actual badge classes to bundle

This commit is contained in:
2024-08-08 14:15:09 +01:00
parent 8d85e6fa44
commit 36f3267fc6
5 changed files with 93 additions and 2 deletions

View File

@@ -4,11 +4,21 @@ declare(strict_types=1);
namespace Pcm\BadgeBundle\Twig\Component;
use Pcm\BadgeBundle\Interface\BadgeableInterface;
use Symfony\UX\TwigComponent\Attribute\AsTwigComponent;
#[AsTwigComponent(name: 'Pcm:Badge', template: "@PcmBadge/components/Badge.html.twig")]
final class Badge
{
public string $colour;
public string $baseClasses = 'rounded text-xs px-2 py-1 border min-w-max';
public string $finalClasses = '';
public function mount(BadgeableInterface $object): void
{
$palette = $object->getBadgeColour()->getPalette();
$this->finalClasses = sprintf('text-white %s %s %s', $palette->borderColourClass, $palette->backgroundColourClass, $this->baseClasses);
}
}