Add LadillLink helper for ladl.link public QR paths.
Deploy Ladill Merchant / deploy (push) Successful in 34s
Deploy Ladill Merchant / deploy (push) Successful in 34s
Storefront and landing views use publicPath() so menu, shop, and booking pages resolve asset URLs on ladl.link. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+10
-13
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
|
use App\Support\LadillLink;
|
||||||
use App\Support\Qr\QrStyleDefaults;
|
use App\Support\Qr\QrStyleDefaults;
|
||||||
use App\Support\Qr\QrTypeCatalog;
|
use App\Support\Qr\QrTypeCatalog;
|
||||||
use App\Support\Qr\QrWifiPayload;
|
use App\Support\Qr\QrWifiPayload;
|
||||||
@@ -82,23 +83,19 @@ class QrCode extends Model
|
|||||||
|
|
||||||
public function publicUrl(): string
|
public function publicUrl(): string
|
||||||
{
|
{
|
||||||
return self::publicBaseUrl() . '/q/' . $this->short_code;
|
return LadillLink::url($this->short_code);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function publicPath(string $suffix = ''): string
|
||||||
|
{
|
||||||
|
return $suffix === ''
|
||||||
|
? $this->publicUrl()
|
||||||
|
: LadillLink::path($this->short_code, $suffix);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Base URL for public QR links. Always the short platform domain
|
|
||||||
* (ladill.com) — never the signed-in account/product host — so printed
|
|
||||||
* codes and shared links stay short and host-independent of where the QR
|
|
||||||
* was created.
|
|
||||||
*/
|
|
||||||
public static function publicBaseUrl(): string
|
public static function publicBaseUrl(): string
|
||||||
{
|
{
|
||||||
$appUrl = (string) config('app.url');
|
return LadillLink::baseUrl();
|
||||||
$scheme = parse_url($appUrl, PHP_URL_SCHEME) ?: 'https';
|
|
||||||
$host = (string) config('app.platform_domain')
|
|
||||||
?: (parse_url($appUrl, PHP_URL_HOST) ?: 'ladill.com');
|
|
||||||
|
|
||||||
return $scheme . '://' . $host;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,26 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Support;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Canonical short-link URLs for the Ladill platform (ladl.link).
|
||||||
|
*/
|
||||||
|
final class LadillLink
|
||||||
|
{
|
||||||
|
public static function baseUrl(): string
|
||||||
|
{
|
||||||
|
$domain = (string) config('link.public_domain', 'ladl.link');
|
||||||
|
|
||||||
|
return 'https://'.$domain;
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function url(string $slug): string
|
||||||
|
{
|
||||||
|
return rtrim(self::baseUrl(), '/').'/'.ltrim($slug, '/');
|
||||||
|
}
|
||||||
|
|
||||||
|
public static function path(string $slug, string $suffix): string
|
||||||
|
{
|
||||||
|
return self::url($slug).'/'.ltrim($suffix, '/');
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user