@extends('layouts.admin') @section('title', $segment->name) @section('content') @php $status = $segment->status ?? 'active'; $tone = $status === 'archived' ? 'muted' : ($segment->isStale() ? 'warning' : 'success'); @endphp Segments Export members
@csrf
Edit
@csrf
@if(session('status'))
{{ session('status') }}
@endif
Estimated {{ number_format($segment->estimated_count ?? 0) }} {{ $segment->estimated_at?->diffForHumans() ?? 'Never estimated' }}
Materialized {{ number_format($segment->memberships_count) }} {{ $segment->materialized_at?->diffForHumans() ?? 'Not materialized' }}
Status {{ $segment->isStale() && $status === 'active' ? 'Stale' : ucfirst($status) }} Created {{ $segment->created_at?->format('M j, Y') }}
Owner {{ $segment->createdBy?->name ?? '—' }} {{ $segment->notes ? \Illuminate\Support\Str::limit($segment->notes, 40) : 'No notes' }}
@foreach($ruleChips as $i => $chip) {{ $chip }} @endforeach
View raw query definition
{{ json_encode($segment->query_def ?? [], JSON_PRETTY_PRINT) }}
@if(request('q')) Clear @endif
@forelse($members as $membership) @php $customer = $membership->customer; @endphp @empty @endforelse
Customer Email Orders Joined
{{ $customer?->name ?: '—' }} {{ $customer?->email }} {{ $customer?->orders_count ?? 0 }} {{ $customer?->created_at?->format('M j, Y') }} @if($customer) Open @endif
No materialized members yet.
@csrf
{{ $members->links() }}
@csrf
Edit rules Export CSV @if($status !== 'archived')
@csrf
@endif
@csrf @method('DELETE')
  1. 1. Rules define who matches right now.
  2. 2. Estimate counts matches without writing memberships.
  3. 3. Materialize snapshots members into this segment.
  4. 4. Export or use the list in CRM workflows.
@endsection