JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr{ gilour

File "LinkeableQrResponse.php"

Full Path: /home/markqprx/iniasli.pro/app-20260222054312/Actions/Link/LinkeableQrResponse.php
File size: 977 bytes
MIME-type: text/x-php
Charset: utf-8

<?php

namespace App\Actions\Link;

use App\Models\Biolink;
use App\Models\Link;
use App\Models\LinkGroup;
use BaconQrCode\Renderer\Image\SvgImageBackEnd;
use BaconQrCode\Renderer\ImageRenderer;
use BaconQrCode\Renderer\RendererStyle\RendererStyle;
use BaconQrCode\Writer;
use Symfony\Component\HttpFoundation\StreamedResponse;

class LinkeableQrResponse
{
    public function make(LinkGroup|Link|Biolink $linkeable): StreamedResponse
    {
        $renderer = new ImageRenderer(
            new RendererStyle(256),
            new SvgImageBackEnd(),
        );
        $writer = new Writer($renderer);
        $response = $writer->writeString("$linkeable->short_url?source=qr");

        return response()->stream(
            function () use ($response) {
                echo $response;
            },
            200,
            [
                'Content-Type' => 'image/svg+xml',
                'Content-Length: ' . strlen($response),
            ],
        );
    }
}