@extends('layout.app') @section('content') @php $storedVoices = $storedVoices ?? collect(); $usableVoices = $usableVoices ?? $storedVoices; $hasUsableVoices = $usableVoices->isNotEmpty(); $storedVoiceOptions = $usableVoices->map(function ($voice) { return [ 'id' => $voice->id, 'label' => $voice->title ?? $voice->original_name, ]; })->values(); $storedVoiceTableData = $storedVoices->map(function ($voice) { return [ 'id' => $voice->id, 'title' => $voice->title, 'original_name' => $voice->original_name, 'file_size' => $voice->file_size, 'created_at' => optional($voice->created_at)->toIso8601String(), 'status' => $voice->status, ]; })->values(); @endphp @if(!$gateway) @endif
@csrf
@if($gateway)
Using Gateway: {{ $gateway->name }}
Convert to gsm | wav format → https://g711.org
অনুগ্রহ করে রাত ৮:০০ টার পরে কোন ভয়েস মেসেজ ক্যাম্পেইন চালাবেন না।
@endif
Switch between uploading a new audio file or selecting from the voice library.
Accepted formats: gsm | wav

Filter by customer due status
Choose to upload a fresh file or reuse a saved one.
Accepted formats: gsm | wav.
Enter 11 digit mobile number

Upload a new file or select one from the library.
Accepted formats: gsm | wav.
Select specific users or choose all

Send reminders using a fresh upload or a stored audio.
Accepted formats: gsm | wav.
Send reminders to customers expiring within these many days.
Store New Voice
Upload gsm | wav
Saved Voices
@forelse ($storedVoices as $voice) @empty @endforelse
ID Name Size Added Status Actions
#{{ $voice->id }} {{ $voice->title ?? $voice->original_name }}
{{ $voice->original_name }}
@if ($voice->file_size) {{ number_format($voice->file_size / 1024, 1) }} KB @else N/A @endif {{ optional($voice->created_at)->format('d M Y, h:i A') }} @if ($voice->status === \App\Models\VoiceBroadcast::STATUS_ENABLED) Enabled @else Disabled @endif
No voice saved yet. Upload one using the form on the left.
@endsection @section('ajax') @endsection