Files
Andreas Reinhold / reiniandClaude Sonnet 5 487176d345 Give each canonical layout a page of its own in the Layout section
Plan step 38: the Layout section's Overview keeps its breakpoint
table and live "This window" readout (now a shared
<x-showcase::breakpoint-readout> partial, and the five breakpoint
cards a real range-queried data-md-showcase-breakpoint-card instead
of Tailwind's max-medium:/medium:max-expanded: variants), but the
three canonical layouts move off it onto a page of their own:
/material/layout/{list-detail,supporting-pane,feed}
(ShowcaseController::layout(), routes/showcase.php), each built on
the real component, sharing one <x-section-nav> Sections::
layoutPages() feeds. The search index gains an entry per page with
its own URL, and the component-homes scan now also reads the three
pages' own source so <x-list-detail>, <x-supporting-pane> and
<x-feed> keep a home.

The whole section moves onto the layout components and md-* classes:
no bespoke Tailwind grid or table styling remains.

LayoutTest's browser test now visits the three dedicated pages
instead of one shared /material/layout; a new Feature test asserts
each page renders and is linked from the Layout section.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Qwx5USif3wFFmxtHg5U1g9
2026-09-15 04:22:38 +02:00

42 lines
2.1 KiB
PHP

{{-- The feed canonical layout on a page of its own (plan step 38): the same working demo the
Layout section's Overview linked from its own navigation, built on the real <x-feed>, with
the live breakpoint readout the Overview page has. --}}
@extends('livewire-material::showcase.layout')
@php
$code = <<<'BLADE'
<x-feed min-item="220px">
<x-card title="Harbour at dawn" subtitle="12 photos" variant="outlined">The boats before the ferry.</x-card>
<x-card title="Old town" subtitle="31 photos" variant="outlined">Every lane, twice.</x-card>
<x-card title="Lake swim" subtitle="4 videos" variant="outlined">Colder than it looks.</x-card>
<x-card title="Market" subtitle="18 photos" variant="outlined">Cheese, mostly.</x-card>
<x-card title="The long walk" subtitle="9 photos" variant="outlined">Up to the ridge and back.</x-card>
<x-card title="Train home" subtitle="3 photos" variant="outlined">Asleep by the second stop.</x-card>
</x-feed>
BLADE;
@endphp
@section('content')
<x-livewire-material::pane width="wide" data-md-showcase-page>
<x-livewire-material::stack gap="space300">
<x-livewire-material::stack as="header" gap="space50">
<p class="md-type-label-lg md-ink-variant">Foundations</p>
<h1 class="md-type-headline-lg">Layout</h1>
</x-livewire-material::stack>
<x-livewire-material::section-nav :items="array_values(\NoNameWeb\LivewireMaterial\Showcase\Sections::layoutPages())" label="Layout pages" />
<x-showcase::breakpoint-readout />
<p class="md-type-body-md md-ink-variant">
M3's feed: cards or items to browse, in columns that multiply as the room grows news, photos,
posts. One column below 600px, then as many equal columns of at least <code>min-item</code> as the
feed has room for.
</p>
<x-showcase::example title="Feed" :code="$code" stack />
</x-livewire-material::stack>
</x-livewire-material::pane>
@endsection