@extends('layouts.app')
@section('title', 'Settings')
@section('content')
@php
$tabs = [
'branding' => ['label' => 'Branding', 'icon' => 'sparkles'],
'notifications' => ['label' => 'Notifications', 'icon' => 'alerts'],
'sms' => ['label' => 'SMS Gateway', 'icon' => 'messages'],
'email' => ['label' => 'Email Gateway', 'icon' => 'mail'],
'payments' => ['label' => 'Payments', 'icon' => 'bolt'],
'integrations' => ['label' => 'Integrations', 'icon' => 'bolt'],
'sounds' => ['label' => 'Sounds', 'icon' => 'signal'],
'departments' => ['label' => 'Departments', 'icon' => 'users'],
'roles' => ['label' => 'Roles', 'icon' => 'shield'],
'backup' => ['label' => 'Backup', 'icon' => 'database'],
'audit' => ['label' => 'Audit', 'icon' => 'clipboard'],
'theme' => ['label' => 'Theme', 'icon' => 'sun'],
'maintenance' => ['label' => 'Maintenance', 'icon' => 'wrench'],
'security' => ['label' => 'Security', 'icon' => 'shield'],
];
@endphp
@if (!empty($isPlatformBranding)) Platform name, logo, and favicon shown when companies have not unlocked custom branding. @else Customize your company name, logo, and favicon on the web portal and mobile apps. @endif
@if (empty($brandingUnlocked) && empty($isPlatformBranding))Custom branding is a one-time add-on ({{ \App\Support\Currency::format((float) ($brandingAddonPrice ?? 1), $brandingAddonCurrency ?? 'USD') }}). After payment, your logo and app name appear on the dashboard and registered devices.
@if (auth()->user()?->isAdmin()) @elseAsk a company admin to unlock this add-on.
@endifControl which events generate dashboard alerts, and whether this company keeps SMS history.
@include('partials.log-deletion-request-form')Configure outbound SMS for alerts and test messages. Arkesel is supported.
Override SMTP settings used for alerts and verification emails. Leave disabled to use server `.env` mail config.
Enable any combination of payment methods for company registration and trial conversion. Credentials are stored at platform level.
@elsePayment methods are enabled by the platform Super Admin.
@if (!empty($availablePaymentGateways))Currently available: {{ collect($availablePaymentGateways)->pluck('label')->join(', ') }}.
@elseNo payment methods are available right now.
@endifGateway credentials and webhook secrets are not available to company admins.
@endifOutbound webhooks and device request signing.
Upload custom sounds, set the active alert, preview, rename, or delete.
{{ $sound->name }}
@if ($sound->is_active) Active @endif @if ($sound->is_builtin) Built-in @endif@if ($sound->is_builtin) Synthetic two-tone chime (no file) @elseif ($sound->fileSize()) {{ number_format($sound->fileSize() / 1024, 1) }} KB @else File missing @endif
Create departments, assign devices to them, and assign users so they only see their department's messages on the dashboard.
@if ($departments->isEmpty())No departments yet. Create one above, then assign it when adding or editing users.
@else{{ $department->name }}
{{ $department->users_count }} {{ Str::plural('user', $department->users_count) }} · {{ $department->devices_count }} {{ Str::plural('device', $department->devices_count) }}
Create roles and control which pages they can access and which actions they can perform. Assign roles when adding or editing users.
@if (auth()->user()->hasAction('roles.manage')) @endif @if ($roles->isEmpty())No roles yet.
@else{{ $role->name }}
@if ($role->is_system) System @endif{{ $role->description }}
@endif{{ $role->users_count }} {{ Str::plural('user', $role->users_count) }} · {{ count($rolePages) }} pages · {{ count($roleActions) }} actions
Pages
Actions
Create and download SQL backups of your {{ $appName }} data.
No backups yet. Create your first backup above.
@else{{ $backup['name'] }}
{{ number_format($backup['size'] / 1024, 1) }} KB · {{ date('M d, Y H:i', $backup['created_at']) }}
Recent administrative actions and system changes.
| Time | User | Action | Category | Description |
|---|---|---|---|---|
| {{ $log->created_at->format('M d, H:i') }} | {{ $log->user?->name ?? 'System' }} | {{ $log->action }} | {{ $log->category }} | {{ $log->description }} |
| No audit entries yet. | ||||
Set the default appearance for all users. Users can override with the theme toggle.
Protect logins, two-factor authentication, and device/API hardening.
When enabled, non-admin users see a maintenance page. Admins can still access the dashboard.
@if ($settings['maintenance_mode'])