How to render SVG file on HTMLString
class LeaveApprovalStatsOverview extends BaseWidget
{
....
private function createDescription(LeaveStatus $firstStatus, LeaveStatus $secondStatus): HtmlString
{
return new HtmlString(
view('components.leave-status-description', compact('firstStatus', 'secondStatus'))->render()
);
}
private function createLabel(int $first, int $second): HtmlString
{
return new HtmlString(
view('components.leave-count-label', compact('first', 'second'))->render()
);
}
}class LeaveApprovalStatsOverview extends BaseWidget
{
....
private function createDescription(LeaveStatus $firstStatus, LeaveStatus $secondStatus): HtmlString
{
return new HtmlString(
view('components.leave-status-description', compact('firstStatus', 'secondStatus'))->render()
);
}
private function createLabel(int $first, int $second): HtmlString
{
return new HtmlString(
view('components.leave-count-label', compact('first', 'second'))->render()
);
}
}leave-status-description:
<div class='flex'>
<div class='flex justify-center' style='color: {{ $firstStatus->getColorHex() }};'>
<span>
{{ $firstStatus->getLabel() }}
</span>
<span>
{{ $firstStatus->getIconSvg() }}
</span>
</div>
<span class='px-1'>/</span>
<div class='flex justify-center' style='color: {{ $secondStatus->getColorHex() }};'>
<span>
{{ $secondStatus->getLabel() }}
</span>
<span>
{{ $secondStatus->getIconSvg() }}
</span>
</div>
</div><div class='flex'>
<div class='flex justify-center' style='color: {{ $firstStatus->getColorHex() }};'>
<span>
{{ $firstStatus->getLabel() }}
</span>
<span>
{{ $firstStatus->getIconSvg() }}
</span>
</div>
<span class='px-1'>/</span>
<div class='flex justify-center' style='color: {{ $secondStatus->getColorHex() }};'>
<span>
{{ $secondStatus->getLabel() }}
</span>
<span>
{{ $secondStatus->getIconSvg() }}
</span>
</div>
</div>leave-count-label:
<div class='flex space-x-2'>
<span>{{ $first }}</span>
<span class='px-1'>/</span>
<span>{{ $second }}</span>
</div><div class='flex space-x-2'>
<span>{{ $first }}</span>
<span class='px-1'>/</span>
<span>{{ $second }}</span>
</div>