@extends('layouts.admin') @section('title', 'AI Assistant Settings') @section('header', 'AI Assistant Settings') @section('content')
Assistant Controls
@csrf
When enabled, the customer app can show the voice button in bottom navigation.
Auto moves cart to the header only while the assistant is enabled.
Must be a Gemini Live audio model, not a generateContent text model.
Used by the admin Gemini generation test.
One-time welcome credit for each customer.
After reserved time ends, the app switches to fallback AI.
Example: 6 refreshes the Initial Free AI Minutes every 6 hours. Set 0 for one-time credit only.
Comma-separated phrases the app listens for while voice mode is active.
@php $geminiApiKey = $settings['assistant_gemini_api_key'] ?? ''; $maskedGeminiApiKey = !empty($geminiApiKey) ? substr($geminiApiKey, 0, 3) . str_repeat('*', 8) . substr($geminiApiKey, -3) : ''; @endphp
Stored only on Laravel. It is never returned to Flutter.

Workflow Flags
@foreach([ 'assistant_takeaway_enabled' => 'Takeaway Assistant', 'assistant_delivery_enabled' => 'Delivery Assistant', 'assistant_cart_enabled' => 'Cart Assistant', 'assistant_reorder_enabled' => 'Reorder Assistant', 'assistant_android_background_wake_enabled' => 'Android Background Wake Opt-in', 'assistant_store_audio_opt_in_required' => 'Require Opt-in Before Raw Audio Storage', ] as $key => $label)
@endforeach
@csrf Save the API key first, then test.
@endsection