Implement banners - #30
Merged
Merged
Conversation
- BannerStatusEnum, Banner model, migration, factory, seeder - BannerResource + pages (redirects to index after save) - BannerResourceTest (6 passing tests) - Updated ShoFlow db doc.md: banners section now documents polymorphic images - Updated IMPLEMENTATION.md: Banners marked done - Updated AGENTS.md: reference to CACHE.md added - Added CACHE.md: register of identified but not-yet-implemented cache keys Co-authored-by: Cursor <cursoragent@cursor.com>
Published updated Livewire JS assets, CSP variants, source maps, and views via vendor:publish. Co-authored-by: Cursor <cursoragent@cursor.com>
- Add booted() deleting event to cascade-delete images when a banner is deleted - Fix @Property Image|null for featuredImage (can be null when no images exist) - Remove redundant imageable_type/imageable_id from withImages() factory state Co-authored-by: Cursor <cursoragent@cursor.com>
- Catalog: Products, Varieties, Categories, Brands - Promotions: Discounts, Coupons - Attribute, Content, Address: unchanged Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
- Validate required attribute groups before product is saved (beforeCreate/beforeSave with halt()), fixing the timing bug where validation ran after the record was written - Move validation out of saveRelationshipsUsing into page lifecycle hooks - Add ProductResource::missingRequiredGroups() static helper shared by both pages - Remove dehydrated(false) so attributes state is available in beforeCreate/beforeSave - Strip attributes from form data in mutateFormDataBefore* to prevent fill() conflict - Remove // todo comment from attribute_group_category migration - Product tests: add pivot sync, required-group blocking, variety_counts sync - Variety tests: add variety_counts sync on create, delete, and resource delete Co-authored-by: Cursor <cursoragent@cursor.com>
- Add nullable attribute_id FK to varieties migration (nullOnDelete) - Variety::booted() saving event auto-populates attribute_value and color from the linked Attribute record when attribute_id is set - Add Variety::attribute() BelongsTo relationship - VarietyResource: replace attribute_value/color TextInputs with a reactive attribute_id Select filtered by the product's attribute_group_id - ProductResource variety repeater: same Select using ../../attribute_group_id - VarietyFactory: attribute_id defaults to null, withAttribute() state added - Add test: auto-fills attribute_value and color from attribute - Fix: use Filament\Schemas\Components\Utilities\Get (not Filament\Forms\Get) for reactive options closures; document in AGENTS.md - Update ShoFlow db doc.md and IMPLEMENTATION.md Co-authored-by: Cursor <cursoragent@cursor.com>
- Add $subheading to List pages: Products, Varieties, Discounts, Coupons, Attributes, AttributeGroups, AttributeGroupCategories - Add hintIconTooltip to all key form fields across ProductResource, VarietyResource, DiscountResource, CouponResource, AttributeResource, AttributeGroupResource, AttributeGroupCategoryResource - Fix null label TypeError in Discount/Coupon variety selects by using getOptionLabelFromRecordUsing with Product — Variety format and null fallback - Add navigationSort to Attribute group: Ancestors(1), AttributeGroups(2), AttributeGroupCategories(3), Attributes(4) - Make attribute_group_id searchable and live in ProductResource - Remove Fieldset wrapper from variety repeater to fix reactive path resolution - Development migration rule: update existing migrations + migrate:fresh (documented in AGENTS.md) - Note cron jobs for discount/coupon expiry in IMPLEMENTATION.md Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
- Fix import order in VarietyResource (Pint unary_operator_spaces) - Add declare(strict_types=1) to config/livewire.php (Pint) - Use fully-qualified Collection return type alias in ProductResource (Pint) - Type-hint closure parameter as mixed in missingRequiredGroups (type coverage 100%) - Replace nullsafe ?-> with -> for non-nullable product relation in Discount/CouponResource (PHPStan) Co-authored-by: Cursor <cursoragent@cursor.com>
bahman026
force-pushed
the
implement_banners
branch
from
June 20, 2026 00:20
c28669b to
ea71fb6
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.