Feat: Add upload status badge styles and twig filter
This commit is contained in:
@@ -5,8 +5,10 @@ namespace App\Twig;
|
||||
use App\BusProNet\DataProvider\CountryDataProvider;
|
||||
use App\BusProNet\DataProvider\PickupDataProvider;
|
||||
use App\Entity\Teamer;
|
||||
use App\Entity\Upload;
|
||||
use Carbon\Carbon;
|
||||
use Symfony\Component\HttpFoundation\RequestStack;
|
||||
use Symfony\Contracts\Translation\TranslatorInterface;
|
||||
use Twig\Environment;
|
||||
use Twig\Extension\RuntimeExtensionInterface;
|
||||
use Twig\Extra\Intl\IntlExtension;
|
||||
@@ -16,6 +18,7 @@ class AppRuntime implements RuntimeExtensionInterface
|
||||
public function __construct(
|
||||
private readonly RequestStack $requestStack,
|
||||
private readonly IntlExtension $intlExtension,
|
||||
private readonly TranslatorInterface $translator,
|
||||
private readonly CountryDataProvider $countries,
|
||||
private readonly PickupDataProvider $pickups,
|
||||
private readonly string $environment
|
||||
@@ -94,6 +97,21 @@ class AppRuntime implements RuntimeExtensionInterface
|
||||
]);
|
||||
}
|
||||
|
||||
public function renderUploadStatusBadge(string $status): string
|
||||
{
|
||||
$label = $this->translator->trans('label.document.status.'.$status);
|
||||
$class = 'upload-status-badge ';
|
||||
$class .= match($status) {
|
||||
Upload::STATUS_NEW => 'upload-status-badge--new',
|
||||
Upload::STATUS_ERROR => 'upload-status-badge--error',
|
||||
Upload::STATUS_PAID => 'upload-status-badge--paid',
|
||||
Upload::STATUS_CHECKED => 'upload-status-badge--checked',
|
||||
default => 'upload-status-badge--default',
|
||||
};
|
||||
|
||||
return sprintf('<span class="%s">%s</span>', $class, $label);
|
||||
}
|
||||
|
||||
public function nl2List(string $content, string $class = 'list-disc pl-4'): string
|
||||
{
|
||||
$items = explode(PHP_EOL, $content);
|
||||
|
||||
Reference in New Issue
Block a user