@extends('admin.layouts.app') @section('title', 'General Settings') @push('styles') @endpush @section('content')

General Settings

Manage site info, branding, API credentials, messaging providers, and AI tools.

@if($errors->any())
@endif
@csrf
Site Information & Branding @php $siteLogoRaw = $settings['site']['logo'] ?? ''; $siteLogoPreview = $siteLogoRaw ? ((str_starts_with($siteLogoRaw, 'http://') || str_starts_with($siteLogoRaw, 'https://')) ? $siteLogoRaw : asset('storage/' . ltrim($siteLogoRaw, '/'))) : ''; $faviconRaw = $settings['site']['favicon'] ?? ''; $faviconPreview = $faviconRaw ? ((str_starts_with($faviconRaw, 'http://') || str_starts_with($faviconRaw, 'https://')) ? $faviconRaw : asset('storage/' . ltrim($faviconRaw, '/'))) : ''; @endphp
@php $oldSocialLabels = old('site_social_label'); $oldSocialUrls = old('site_social_url'); $savedSocialLinks = $settings['site']['social_links'] ?? []; $socialRows = []; if (is_array($oldSocialLabels) || is_array($oldSocialUrls)) { $maxRows = max(count($oldSocialLabels ?? []), count($oldSocialUrls ?? [])); for ($i = 0; $i < $maxRows; $i++) { $socialRows[] = [ 'label' => trim((string) (($oldSocialLabels[$i] ?? ''))), 'url' => trim((string) (($oldSocialUrls[$i] ?? ''))), ]; } } else { foreach ($savedSocialLinks as $link) { $socialRows[] = [ 'label' => trim((string) ($link['label'] ?? '')), 'url' => trim((string) ($link['url'] ?? '')), ]; } } if (empty($socialRows)) { $socialRows[] = ['label' => 'Facebook', 'url' => 'https://facebook.com']; } @endphp

Admin can add/remove social icons from top header.

@if($siteLogoPreview) Site logo @endif @if($siteLogoRaw)

Current: {{ $siteLogoRaw }}

@endif
@if($faviconPreview) Favicon @endif @if($faviconRaw)

Current: {{ $faviconRaw }}

@endif
Theme Colors

These colors are applied globally across admin panel and public website components.

Admin Path & API

Set ADMIN_PATH=your-custom-path in .env, then run php artisan optimize:clear.

Returns public site name, logo, favicon, and contact info.

Set TINYMCE_API_KEY=your-key in .env, then run php artisan optimize:clear.

SMS Provider (BulkSMSBD)
Email Provider (SMTP / Resend)
Email Templates @php $emailLogoPath = ($settings['email_templates']['logo'] ?? '') ?: ($settings['site']['logo'] ?? ''); $emailLogoUrl = $emailLogoPath ? asset('storage/' . ltrim($emailLogoPath, '/')) : ''; @endphp

This logo appears in all outgoing email templates. If empty, site logo is used.

@if($emailLogoUrl)
Email Logo Current logo
@endif

Available placeholders: {{name}}, {{email}}, {{phone}}, {{site_name}}, {{action_url}}, {{lead_id}}, {{lead_label}}, {{actor_name}}, {{old_status}}, {{new_status}}, {{otp}}.

Live Preview

Subject


Rendered Email

Email style/template fixed (company standard). Admin will edit subject + content only.

AI Provider (OpenAI / Gemini)
Login Security (Admin / Employee OTP)
For SMS OTP, set a phone number in Team Member profile. If phone is missing, secure login will be blocked.
@endsection @push('scripts') @endpush