@extends('adminlte::page') @section('title', 'Settings') @section('content_header')

Settings

@endsection @section('content') @if(session('status'))
{{ session('status') }}
@endif @if($errors->any())
@endif
@csrf
Organization Name
Organization Website
Timezone
Date Format
Currency Code
Google Maps API Key Used on the public Offices page to render Google Maps. Create an API key with the Maps JavaScript API enabled. Keep this key secure.
Fixed Footer (sticky)
Compact Mode
Dark Mode
Table Density
Home Hero Background
@if(!empty($settings['home_hero_bg_path'])) @php $hp = $settings['home_hero_bg_path']; $isUrl = preg_match('~^https?://~i', $hp); $src = $isUrl ? $hp : '/'.$hp; $exists = $isUrl ? true : file_exists(public_path($hp)); @endphp
Hero Background
@unless($exists) File not found at public/{{ $hp }}. Ensure storage symlink exists and upload succeeded. @endunless @endif
Recommended: 1920×800 or wider (landscape). Max 4MB. Types: png, jpg, jpeg, webp. Stored under public/storage/site/.
Default Landing Page After login, redirect to this page.
Enable WhatsApp via Wablast
Base URL Example: https://wablast.example.com
API Key / Token
Secret Key (optional) If your device uses token.secret authorization, fill the secret key here.
Sender (optional)
Timeout (s)
Internal WhatsApp Group ID (WAG) Use your WhatsApp Group ID (JID), e.g. 1203XXXXXXXXXXX@g.us. We'll normalize it automatically. This app sends via send-message with isGroup=true. ID grup dari Wablas (bukan link undangan). Digunakan untuk broadcast internal. @if(!empty($normalizedGroupId)) Normalized Group ID: {{ $normalizedGroupId }} (sent as group with isGroup=true) @endif
Broadcast ke WAG saat ada Case/Task/Court Date baru
Broadcast ke WAG untuk Konsultasi Baru
Kirim reminder jadwal sidang ke WAG
Placeholders: {name}, {subject}, {practice}, {email}, {phone}, {message}, {url}
Placeholders: {name}, {subject}, {advisory}, {firm}
Placeholders: {case_number}, {case_title}, {client_name}, {by}, {url}
Placeholders: {task_title}, {case_number}, {case_title}, {assignee}, {due}, {url}
Placeholders: {hearing_type}, {court_name}, {when}, {case_number}, {case_title}, {url}
Placeholders: {hearing_type}, {court_name}, {when}, {changes}, {case_number}, {case_title}, {url}
Placeholders: {prefix} (Today/H-#), {hearing_type}, {court_name}, {when}, {case_number}, {case_title}, {url}
Default PPN Rate (%)
Default PPh 23 Rate (%)
Default Tax Inclusive (Harga sudah termasuk PPN)
Ketentuan umum Indonesia: PPN 11% (saat ini), PPh 23 umumnya 2% untuk jasa tertentu. Pastikan sesuai kasus Anda.
Enable AI (ChatGPT/OpenAI-compatible)
Base URL Use a compatible endpoint if you proxy the API.
API Key
Model Example: gpt-4o-mini, gpt-4o, gpt-4.1, o4-mini, etc.
Temperature
Timeout (s)
AI Auto-reply for New Consultation
If client provides WhatsApp number, send a polite AI-generated first response.
Include AI Summary in WAG Broadcast
Adds a short AI summary at the end of internal WAG message.
CC internal saat mengirim balasan konsultasi
Jika aktif, email internal firma akan di-CC saat advisory dikirim ke klien.
System Prompt: Client Auto-reply
System Prompt: Internal Summary
System Prompt: Lawyer Draft Reply
QA Check (enable)
System Prompt: QA Check
Law Firm Name
Address
Phone
Email
Website
Bank Name
Bank Account Name
Bank Account Number
Firm Logo
@if(!empty($settings['firm_logo_path'])) @php $lp = $settings['firm_logo_path']; $isUrl = preg_match('~^https?://~i', $lp); $src = $isUrl ? $lp : '/'.$lp; $exists = $isUrl ? true : file_exists(public_path($lp)); @endphp
Logo
@unless($exists) File not found at public/{{ $lp }}. Pastikan symlink storage sudah aktif dan file berhasil diupload. @endunless @endif
Max 2MB. Types: png, jpg, jpeg, webp. Stored under public/storage/firm/. Pastikan sudah menjalankan storage:link.
@csrf

Diagnostics

Use these tools to verify your Wablas configuration.

@if(!empty($normalizedGroupId))
Normalized WAG ID: {{ $normalizedGroupId }}
@endif
@csrf
Send Test WAG
@csrf
@csrf
@csrf
@endsection