Skip to content

Conversation

@darkzmaj
Copy link

Ready to merge

- Added new Price filter card with 3 options: All Prices, Free Only, Premium Only
- Implemented filtering logic based on minimum platform price
- Integrates seamlessly with existing search and type filters
- No backend API changes required
…emplate binding; ensure paid-only/free-only filtering
Replace arrow functions with proper ProxyServerOptions objects for devProxy configuration
Copilot AI review requested due to automatic review settings December 21, 2025 19:55
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds price filtering functionality to the browse page, allowing users to filter extensions by pricing (free vs paid). Additionally, it includes improvements to the development proxy configuration to support switching between local and remote API targets via environment variables.

  • Adds a price filter slider to the browse page that toggles between showing only free or only paid extensions
  • Implements helper functions getMinPrice and isFree to determine extension pricing based on platform prices
  • Updates dev proxy configuration to use DEV_API_TARGET environment variable for flexible API targeting

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated 6 comments.

File Description
apps/frontend/src/pages/browse/index.vue Adds price filtering logic with maxPrice field, getMinPrice and isFree helper functions, and price-based filtering in computed property
apps/frontend/src/components/ui/browse/Filters.vue Implements price filter UI with range slider component and custom styling for slider thumb and track
apps/frontend/nuxt.config.ts Updates dev proxy configuration to use DEV_API_TARGET environment variable with fallback to localhost
apps/frontend/.env.example Documents the new DEV_API_TARGET environment variable with default value

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +164 to +166
const isFree = (extension: Extension): boolean => {
return getMinPrice(extension) === 0
}
Copy link

Copilot AI Dec 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The isFree function is defined but never used in the codebase. Consider removing it or using it in place of the inline check at line 196 where 'minPrice === 0' is evaluated, which would improve code reusability and maintainability.

Copilot uses AI. Check for mistakes.
Comment on lines +106 to +107
target: process.env.DEV_API_TARGET?.replace(/\/$/, '') || 'http://localhost:8000',
changeOrigin: true,
Copy link

Copilot AI Dec 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The proxy target URL transformation is incomplete. The original target was 'http://localhost:8000/api' but now it's 'http://localhost:8000'. When proxying '/api' requests, the path '/api' will be appended to the target, resulting in 'http://localhost:8000/api' which matches the original behavior. However, if DEV_API_TARGET is set to 'https://blueprint.zip', requests to '/api/endpoint' will be proxied to 'https://blueprint.zip/api/endpoint', which may be incorrect if the API is actually at 'https://blueprint.zip/api'. Verify that this path handling is intentional and matches your API structure.

Copilot uses AI. Check for mistakes.
darkzmaj and others added 4 commits December 21, 2025 21:01
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant