@php $primary = $setting?->primary_color ?: '#124a61'; $accent = $setting?->accent_color ?: '#2e86ab'; $company = $setting?->company_name ?: __('Print Shop'); $logo = $setting?->logoSrc(); $money = fn ($n) => $currency . ' ' . number_format((float) $n, 2); $stepCount = count($stepLabels); // A counter shop with no price list has nothing to sell; a quote shop needs // no price list at all, so only block the counter lane on missing pricing. $blocked = ! $isQuoteLane && ! $hasPricing; @endphp
{{ $company }}
@if ($step === 0){{ __('What can we do for you?') }}
@elseif ($service && $services->count() > 1) {{-- Always reachable, on every step. Burying this at the bottom of the form meant a customer who tapped the wrong tile had no obvious way out. --}} @else{{ $service?->name ?: __('Quick print request') }}
@endif{{ __('Upload your documents or photos. You can add several.') }}
@include('livewire.portal.partials.intake-uploader', ['retentionNote' => __('Your files are automatically deleted 24 hours after you submit.')]) {{-- ========================= QUESTIONS (quote lane) ========================= --}} @elseif ($stepKey === 'questions'){{ __('Rough answers are fine, we will confirm everything in the quote.') }}
{{ $message }}
@enderror{{ $message }}
@enderror{{ $help }}
@endif @error('answers.'.$i){{ $message }}
@enderror{{ $service?->requires_files ? __('Attach your artwork') : __('Artwork or a reference photo (optional)') }}
@include('livewire.portal.partials.intake-uploader', ['retentionNote' => __('We keep your artwork while we work on your quote.')]){{ $isQuoteLane ? __('So we can send you the quote.') : __('So we know whose print this is.') }}
{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderror{{ __('Add a voice note') }}
{{ __('Recording') }}
{{ $message }}
@enderror{{ __('The price updates as you choose.') }}
{{ $message }}
@enderror{{ $message }}
@enderror{{ $message }}
@enderror@php($shownPages = max(1, (int) $pages)) @php($shownCopies = max(1, (int) $copies)) {{ $money($unitPrice) }} × {{ $shownPages }} {{ trans_choice('{1}page|[2,*]pages', $shownPages) }} × {{ $shownCopies }} {{ trans_choice('{1}copy|[2,*]copies', $shownCopies) }}
@if ($bulkTier)
{{ __('Choose a size and paper type to see the price.') }}
@endif{{ __('Bulk pricing') }}
{{ __('Pay at the counter or send via EcoCash.') }}
{{ __('Send EcoCash to') }}
@if ($setting?->print_ecocash_number){{ $setting->print_ecocash_number }}
@if ($setting?->print_ecocash_name){{ $setting->print_ecocash_name }}
@endif{{ __('Send :amount, then upload your confirmation below.', ['amount' => $money($total)]) }}
@else{{ __('Ask a staff member for the EcoCash number.') }}
@endif
{{ __('Please pay :amount in cash when you collect your prints.', ['amount' => $money($total)]) }}
@endif {{-- ============================== CONFIRM (quote lane) ============================== --}} @elseif ($stepKey === 'confirm'){{ __('We will price it and come back to you.') }}
{{ __('Your request') }}
{{ $service?->name }}
{{ $message }}
@enderror
{{ __('No payment now. We will price this and send you a quote :when. Nothing is booked in until you accept it.', ['when' => $service?->leadTimeLabel() ?: __('shortly')]) }}
{{ __('Powered by') }} {{ $company }}