feat: item browsing #49

Merged
addison merged 15 commits from feat/item-browsing into main 2025-12-27 08:19:16 -05:00
Owner
No description provided.
- Create ItemGrid.astro for displaying item cards in a responsive grid
- Create ItemListingFilters.astro for server-side filtering (type, category, search)
- Refactor /items page to use new components with breadcrumbs layout
- Fix missing status field in vendor profile item query
- Refactor vendor profile to use shared item listing components
- Refactor user profile to use shared item listing components
- Add category and search filtering to both profile pages
- User profile respects visibility based on connection status
feat(items): add archive toggle and search to manage items page
Some checks failed
ci.yml / feat(items): add archive toggle and search to manage items page (push) Failing after 0s
aee3b054ce
- Refactor manage items page to use ItemGrid and ItemListingFilters
- Add archive toggle to show/hide archived items
- Search functionality included via shared filter component
- Fix unused import in dashboard
feat(items): allow anonymous users to view item pages
Some checks failed
ci.yml / feat(items): allow anonymous users to view item pages (push) Failing after 0s
638f75923c
- Add /items and /items/not-found to public routes
- Anonymous users can now browse public items
fix(items): use static 'Items' title for items page
Some checks failed
ci.yml / fix(items): use static 'Items' title for items page (push) Failing after 0s
8c3542afde
fix(items): remove invalid client:only directive from Astro component
Some checks failed
ci.yml / fix(items): remove invalid client:only directive from Astro component (push) Failing after 0s
d650d9423e
ItemCard.astro is an Astro component, not React. The client:only
directive only works on framework components. The React components
inside ItemCard already have their own client directives.
fix(items): use data-selected attribute for category filter state
Some checks failed
ci.yml / fix(items): use data-selected attribute for category filter state (push) Failing after 0s
c7ca8264fd
Using class names to track selection state was unreliable. Now using
data-selected attribute which is explicitly set and toggled.
feat(items): use toggleable chips for type and category filters
Some checks failed
ci.yml / feat(items): use toggleable chips for type and category filters (push) Failing after 0s
8f756c980b
- Both type and category filters are now multi-select chip buttons
- Users can view multiple types (buy/sell) at once
- Removed dropdown for type filter in favor of consistent chip UI
- Add public RLS policies for category table
- Add public RLS policies for item table
- Add public RLS policies for item_image table
- Add public RLS policies for contact_info table

This enables anonymous browsing of public marketplace listings while still
restricting access to connections-only items and contact information.
fix: remove extra migration
Some checks failed
ci.yml / fix: remove extra migration (push) Failing after 0s
a0d5e03b1c
refactor(components): extract Chip component from ItemListingFilters
Some checks failed
ci.yml / refactor(components): extract Chip component from ItemListingFilters (push) Failing after 0s
ci.yml / refactor(components): extract Chip component from ItemListingFilters (pull_request) Failing after 0s
a3fe3fae8e
- Create reusable Chip.astro component for filter buttons
- Support configurable data attributes for flexibility
- Update ItemListingFilters to use Chip for type and category filters
- Reduces code duplication and improves maintainability
chore: debug for public viewing of items
Some checks failed
ci.yml / chore: debug for public viewing of items (push) Failing after 0s
ci.yml / chore: debug for public viewing of items (pull_request) Failing after 0s
ci.yml / feat: item browsing (#49) (pull_request) Failing after 0s
227856231c
addison deleted branch feat/item-browsing 2025-12-27 08:19:17 -05:00
addison referenced this pull request from a commit 2025-12-27 08:19:18 -05:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
kwila/market!49
No description provided.