Some checks failed
PR Fast Feedback / fast-feedback (pull_request) Failing after 1m0s
Implemented the output contract and readiness semantics for review packs. Also added spec 348. Includes changes to ChooseEnvironment, CustomerReviewWorkspace, GenerateReviewPackJob and related blade views. Added comprehensive tests.
2.6 KiB
2.6 KiB
Implementation Plan: Spec 348 - Choose Environment Enterprise Selector
Branch: 348-choose-environment-enterprise-selector | Date: 2026-06-02 | Spec: specs/348-choose-environment-enterprise-selector/spec.md
Summary
Productize the existing /admin/choose-environment selector so it behaves like an enterprise context-selection surface: stable layout, immediate secondary actions, search for larger workspaces, localized search states, and no raw technical badge overflow.
Technical Context
- Language/Version: PHP 8.4.15, Laravel 12.52.x.
- Primary Dependencies: Filament 5.2.x, Livewire 4.1.x, Tailwind CSS 4.x, Pest 4.x.
- Storage: PostgreSQL; no schema change.
- Testing: Pest Feature tests.
- Constraints: No provider calls during render, no new persistence, no new route, no destructive action.
Implementation Approach
- Extend
ChooseEnvironmentwith a localsearchproperty and a filtered collection helper. - Replace the dynamic card grid with a single-column selector layout that fits the Filament simple-layout container.
- Move
Add environmentandSwitch workspaceinto the top selector header as neutral secondary actions. - Add a localized search box, result count, clear action, and no-results state.
- Hide the default raw
managed_environmentkind label while preserving non-default short labels such asDEV. - Add stable test IDs for selector, filter, actions, result list, no-results state, and environment cards.
- Extend focused Feature coverage for markup and Livewire search behavior.
UI / Surface Guardrail Plan
- Affected surface:
UI-004/admin/choose-environment. - Native vs custom: existing custom Blade in a Filament Page; no new component family.
- Action hierarchy: environment card selection remains the primary page purpose; Add/Switch remain neutral secondary actions.
- Status semantics: lifecycle status remains a badge; status colors are not applied to buttons.
- Dangerous actions: none.
Validation Plan
- Run
cd apps/platform && ./vendor/bin/sail artisan test tests/Feature/Workspaces/ChooseEnvironmentPageTest.php --compact. - Run
cd apps/platform && ./vendor/bin/sail pint app/Filament/Pages/ChooseEnvironment.php tests/Feature/Workspaces/ChooseEnvironmentPageTest.php. - Run
git diff --check. - Verify in the in-app browser at
/admin/choose-environmentfor current, mobile, and desktop viewports.
Deployment Impact
- Env vars: none.
- Migrations: none.
- Queues / scheduler: none.
- Storage: none.
- Assets: no Filament asset registration; normal Vite/Tailwind build applies.
filament:assetsis not newly required by this change.