{{-- Service Unavailable Error --}} @if(!$serviceAvailable)

{{ __('user.ai_unavailable_title') }}

{{ $serviceError }}

@if(auth()->user()->isAdmin()) {{ __('user.ai_go_to_settings') }} @else

{{ __('user.ai_contact_admin') }}

@endif
@else @if(!empty($displayMessages))

{{ __('user.ai_assistant') }}

{{ $providerInfo['providerName'] ?? 'AI' }} @if($providerInfo['usingOwnKey'] ?? false) ({{ __('user.ai_your_api_key') }}) @endif

@if(!($providerInfo['usingOwnKey'] ?? false) && !($providerInfo['unlimitedTokens'] ?? false))

{{ __('user.ai_tokens_remaining') }}

{{ number_format($providerInfo['remainingTokens'] ?? 0) }} / {{ number_format($providerInfo['monthlyLimit'] ?? 0) }}

@elseif($providerInfo['unlimitedTokens'] ?? false)
{{ __('user.unlimited') }}
@endif
@endif
@if(empty($displayMessages))
{{-- Settings button for welcome screen (only when sidebar is hidden) --}} @if(auth()->user()->plan?->allowsUserAiApiKey()) @endif

{{ __('user.ai_welcome_title') }}

{{ __('user.ai_welcome_subtitle') }}

@else @foreach($displayMessages as $index => $msg)
@if($msg['role'] === 'assistant')
@endif
@if($msg['role'] === 'assistant') @if($msg['isStreaming'] ?? false) {{-- Streaming placeholder --}}
@elseif($msg['typewriter'] ?? false) {{-- Typewriter effect for non-streaming --}}
@else
{!! \Illuminate\Support\Str::markdown($msg['content'], ['renderer' => ['soft_break' => "
\n"]]) !!}
@endif @else

{{ $msg['content'] }}

@endif
@if($msg['role'] === 'user')
@endif
@endforeach @if($isLoading && !$streamingEnabled)
{{ __('user.ai_thinking') }}
@endif @endif
@if(!empty($displayMessages))
@endif {{-- Typewriter effect for non-streaming responses --}} @script @endscript @if($streamingEnabled) @script @endscript @endif @endif {{-- End serviceAvailable check --}}