mirror of
https://github.com/LinkStackOrg/LinkStack.git
synced 2025-02-16 12:00:50 +01:00
Updated QR code on dashboard share menu
This commit is contained in:
parent
aab11565c0
commit
335cf79d93
@ -7,7 +7,6 @@
|
|||||||
"require": {
|
"require": {
|
||||||
"php": ">=8.0",
|
"php": ">=8.0",
|
||||||
"awssat/laravel-visits": "^6.0",
|
"awssat/laravel-visits": "^6.0",
|
||||||
"bacon/bacon-qr-code": "^2.0",
|
|
||||||
"codedge/laravel-selfupdater": "^3.6",
|
"codedge/laravel-selfupdater": "^3.6",
|
||||||
"cohensive/oembed": "^0.17",
|
"cohensive/oembed": "^0.17",
|
||||||
"doctrine/dbal": "^3.0",
|
"doctrine/dbal": "^3.0",
|
||||||
@ -20,6 +19,7 @@
|
|||||||
"laravel/tinker": "^2.5",
|
"laravel/tinker": "^2.5",
|
||||||
"livewire/livewire": "^2.12",
|
"livewire/livewire": "^2.12",
|
||||||
"rappasoft/laravel-livewire-tables": "^2.15",
|
"rappasoft/laravel-livewire-tables": "^2.15",
|
||||||
|
"simplesoftwareio/simple-qrcode": "~4",
|
||||||
"spatie/laravel-backup": "^8.17"
|
"spatie/laravel-backup": "^8.17"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
|
@ -1,9 +1,5 @@
|
|||||||
@php
|
@php
|
||||||
use BaconQrCode\Renderer\ImageRenderer;
|
use SimpleSoftwareIO\QrCode\Facades\QrCode;
|
||||||
use BaconQrCode\Renderer\Image\ImagickImageBackEnd;
|
|
||||||
use BaconQrCode\Renderer\RendererStyle\RendererStyle;
|
|
||||||
use BaconQrCode\Writer;
|
|
||||||
use BaconQrCode\Renderer\Image\SvgImageBackEnd;
|
|
||||||
use App\Models\User;
|
use App\Models\User;
|
||||||
$usrhandl = Auth::user()->littlelink_name;
|
$usrhandl = Auth::user()->littlelink_name;
|
||||||
@endphp
|
@endphp
|
||||||
@ -685,33 +681,57 @@ $usrhandl = Auth::user()->littlelink_name;
|
|||||||
</div>
|
</div>
|
||||||
@php
|
@php
|
||||||
try {
|
try {
|
||||||
$qrCodeData = url('@'.Auth::user()->littlelink_name);
|
$redirectURL = url('').'/'.'u/'.Auth::user()->id;
|
||||||
|
|
||||||
$renderer = new ImageRenderer(
|
if (extension_loaded('imagick')) {
|
||||||
new RendererStyle(400),
|
$imgSrc = QrCode::format('png')->size(1000)->generate($redirectURL);
|
||||||
new SvgImageBackEnd()
|
$imgSrc = base64_encode($imgSrc);
|
||||||
);
|
$imgSrc = 'data:image/png;base64,' . $imgSrc;
|
||||||
$writer = new Writer($renderer);
|
$imgType = 'png';
|
||||||
|
} else {
|
||||||
|
$imgSrc = QrCode::size(1000)->generate($redirectURL);
|
||||||
|
$imgSrc = base64_encode($imgSrc);
|
||||||
|
$imgSrc = 'data:image/svg+xml;base64,' . $imgSrc;
|
||||||
|
$imgType = 'svg';
|
||||||
|
}
|
||||||
|
|
||||||
$svgImageData = $writer->writeString($qrCodeData);
|
} catch(exception $e) {
|
||||||
|
$imgSrc = url('/assets/linkstack/images/themes/no-preview.png');
|
||||||
$svgImageBase64 = base64_encode($svgImageData);
|
$imgType = NULL;
|
||||||
|
}
|
||||||
$imgSrc = 'data:image/svg+xml;base64,' . $svgImageBase64;
|
|
||||||
} catch(exception $e) {echo '<p class="text-center pt-5">{{__("messages.QR code could not be generated")}}</p>'; if(auth()->user()->role == 'admin'){echo "<p class='ps-3'>{{__('messages.Reason:')}} <pre class='ps-4'>".$e->getMessage()."</pre></p>";}}
|
|
||||||
@endphp
|
@endphp
|
||||||
<div class="modal-body">
|
<div class="modal-body">
|
||||||
<div class="bd-example">
|
<div class="bd-example">
|
||||||
<img draggable="false" src="@php if(isset($imgSrc)){echo $imgSrc;} @endphp" style="width:100%;height:auto;" class="bd-placeholder-img img-thumbnail">
|
<img id="generatedImage" draggable="false" src="@php if(isset($imgSrc)){echo $imgSrc;} @endphp" style="width:100%;height:auto;" class="bd-placeholder-img img-thumbnail">
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-footer">
|
<div class="modal-footer">
|
||||||
|
@if($imgType == 'png')
|
||||||
|
<button type="button" class="btn btn-info" id="downloadButton">{{__('messages.Download')}}</button>
|
||||||
|
@endif
|
||||||
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{{__('messages.Close')}}</button>
|
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">{{__('messages.Close')}}</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
document.addEventListener("DOMContentLoaded", function() {
|
||||||
|
var downloadButton = document.getElementById("downloadButton");
|
||||||
|
var generatedImage = document.getElementById("generatedImage");
|
||||||
|
|
||||||
|
downloadButton.addEventListener("click", function() {
|
||||||
|
var format = generatedImage.getAttribute("data-format") || "png";
|
||||||
|
var downloadLink = document.createElement("a");
|
||||||
|
downloadLink.href = generatedImage.src;
|
||||||
|
downloadLink.download = "generated_image." + format;
|
||||||
|
document.body.appendChild(downloadLink);
|
||||||
|
downloadLink.click();
|
||||||
|
document.body.removeChild(downloadLink);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
<!-- Library Bundle Script -->
|
<!-- Library Bundle Script -->
|
||||||
<script src="{{asset('assets/js/core/libs.min.js')}}"></script>
|
<script src="{{asset('assets/js/core/libs.min.js')}}"></script>
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user