Add custom company logo upload and simplify kiosk branding.
Deploy Ladill Frontdesk / deploy (push) Successful in 23s

Show Ladill Frontdesk or uploaded logo top-left on kiosk; allow logo upload in onboarding and organization settings.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-06-27 21:49:17 +00:00
co-authored by Cursor
parent 0e28b59b10
commit dfda39df6e
9 changed files with 172 additions and 27 deletions
@@ -6,6 +6,7 @@ use App\Http\Controllers\Controller;
use App\Http\Controllers\Frontdesk\Concerns\ScopesToAccount;
use App\Models\Branch;
use App\Services\Frontdesk\FrontdeskPermissions;
use App\Support\OrganizationBranding;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\View\View;
@@ -51,6 +52,8 @@ class SettingsController extends Controller
'notification_channels.*' => ['string', 'in:'.implode(',', array_keys(config('frontdesk.notification_channels')))],
'notification_events' => ['nullable', 'array'],
'report_daily_recipients' => ['nullable', 'string', 'max:2000'],
'logo' => ['nullable', 'image', 'mimes:jpeg,png,jpg,webp,svg', 'max:2048'],
'remove_logo' => ['nullable', 'boolean'],
]);
$settings = $organization->settings ?? [];
@@ -81,9 +84,21 @@ class SettingsController extends Controller
);
}
$logoPath = $organization->logo_path;
if ($request->boolean('remove_logo')) {
OrganizationBranding::deleteStoredLogo($organization);
$logoPath = null;
}
if ($request->hasFile('logo')) {
$logoPath = OrganizationBranding::storeLogo($organization, $request->file('logo'));
}
$organization->update([
'name' => $validated['name'],
'timezone' => $validated['timezone'],
'logo_path' => $logoPath,
'settings' => $settings,
]);