Go to file
fazli 272362cfdf fix(product): detail page price now matches list tiles + fresher feeds
Single-product page showed basePrice with no discount while list tiles
showed the cheapest variant's discounted price. Cause: the detail view
defaulted selectedColor/selectedSize to the first in-stock color and the
first in-stock size independently — a combo that often isn't a real
variant, so no variant matched and it fell back to basePrice / no sale.

- ProductDetailView: derive a `defaultVariant` (cheapest in-stock variant
  by final price, == the tile's min/discount price) and use it for the
  initial selection, the initial displayed price, and the fallback when no
  exact color/size combo is matched. A shared `pricingOf` helper applies
  the same discount rule everywhere. Detail price now matches the tile.
- use-home-hooks: drop staleTime 5m -> 60s on the For You / discounts /
  top-sellers feeds so price/discount edits show up promptly in lists.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-22 19:55:11 +00:00
app fix(product): detail page price now matches list tiles + fresher feeds 2026-06-22 19:55:11 +00:00
docs first 2026-04-29 01:44:16 +03:30
k8s first 2026-04-29 01:44:16 +03:30
public feat(notifications): web push opt-in + unread nav badges 2026-06-17 14:02:56 +03:30
scripts first 2026-04-29 01:44:16 +03:30
src/api/types first 2026-04-29 01:44:16 +03:30
.dockerignore first 2026-04-29 01:44:16 +03:30
.env.development first 2026-04-29 01:44:16 +03:30
.env.example first 2026-04-29 01:44:16 +03:30
.env.production first 2026-04-29 01:44:16 +03:30
.eslintrc.cjs first 2026-04-29 01:44:16 +03:30
.gitignore first 2026-04-29 01:44:16 +03:30
bun.lock first 2026-04-29 01:44:16 +03:30
components.json first 2026-04-29 01:44:16 +03:30
DEPLOYMENT.md first 2026-04-29 01:44:16 +03:30
docker-compose.yml first 2026-04-29 01:44:16 +03:30
Dockerfile first 2026-04-29 01:44:16 +03:30
Dockerfile.dev first 2026-04-29 01:44:16 +03:30
generate-types.ps1 first 2026-04-29 01:44:16 +03:30
generate-types.sh first 2026-04-29 01:44:16 +03:30
openapi-generator-cli.jar first 2026-04-29 01:44:16 +03:30
package-lock.json first 2026-04-29 01:44:16 +03:30
package.json first 2026-04-29 01:44:16 +03:30
postcss.config.js first 2026-04-29 01:44:16 +03:30
README.md first commit 2026-04-29 01:42:54 +03:30
tailwind.config.ts first 2026-04-29 01:44:16 +03:30
tsconfig.json first 2026-04-29 01:44:16 +03:30
vite.config.ts first 2026-04-29 01:44:16 +03:30

Welcome to Remix - yay!

Development

Run the dev server:

npm run dev

Deployment

First, build your app for production:

npm run build

Then run the app in production mode:

npm start

Now you'll need to pick a host to deploy it to.

DIY

If you're familiar with deploying Node applications, the built-in Remix app server is production-ready.

Make sure to deploy the output of npm run build

  • build/server
  • build/client

Styling

This template comes with Tailwind CSS already configured for a simple default starting experience. You can use whatever css framework you prefer. See the Vite docs on css for more information.