Skip to content

Commit

Permalink
Use FurtherInformation element in HtmlOutput
Browse files Browse the repository at this point in the history
  • Loading branch information
sprain committed Oct 1, 2023
1 parent 65f5b6a commit d60e5b1
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 1 deletion.
13 changes: 12 additions & 1 deletion src/PaymentPart/Output/HtmlOutput/HtmlOutput.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,11 @@
namespace Sprain\SwissQrBill\PaymentPart\Output\HtmlOutput;

use Sprain\SwissQrBill\PaymentPart\Output\AbstractOutput;
use Sprain\SwissQrBill\PaymentPart\Output\Element\FurtherInformation;
use Sprain\SwissQrBill\PaymentPart\Output\Element\Placeholder;
use Sprain\SwissQrBill\PaymentPart\Output\Element\Text;
use Sprain\SwissQrBill\PaymentPart\Output\Element\Title;
use Sprain\SwissQrBill\PaymentPart\Output\HtmlOutput\Template\FurtherInformationElementTemplate;
use Sprain\SwissQrBill\PaymentPart\Output\HtmlOutput\Template\PlaceholderElementTemplate;
use Sprain\SwissQrBill\PaymentPart\Output\HtmlOutput\Template\PrintableStylesTemplate;
use Sprain\SwissQrBill\PaymentPart\Output\HtmlOutput\Template\TextElementTemplate;
Expand Down Expand Up @@ -133,11 +135,12 @@ private function hideSeparatorContentIfPrintable(string $paymentPart): string
return $paymentPart;
}

private function getContentElement(Title|Text|Placeholder $element): string
private function getContentElement(FurtherInformation|Title|Text|Placeholder $element): string
{
# https://github.com/phpstan/phpstan/issues/4451
# @phpstan-ignore-next-line
return match (get_class($element)) {
FurtherInformation::class => $this->getFurtherInformationElement($element),
Title::class => $this->getTitleElement($element),
Text::class => $this->getTextElement($element),
Placeholder::class => $this->getPlaceholderElement($element)
Expand All @@ -160,6 +163,14 @@ private function getTextElement(Text $element): string
return $elementString;
}

private function getFurtherInformationElement(FurtherInformation $element): string
{
$elementTemplate = FurtherInformationElementTemplate::TEMPLATE;
$elementString = str_replace('{{ text }}', nl2br($element->getText()), $elementTemplate);

return $elementString;
}

private function getPlaceholderElement(Placeholder $element): string
{
$elementTemplate = PlaceholderElementTemplate::TEMPLATE;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?php declare(strict_types=1);

namespace Sprain\SwissQrBill\PaymentPart\Output\HtmlOutput\Template;

class FurtherInformationElementTemplate
{
public const TEMPLATE = <<<EOT
<p>{{ text }}</p>
EOT;
}

0 comments on commit d60e5b1

Please sign in to comment.