Skip to content

feat(store): add official community swag store. - #18

Merged
jskampala merged 3 commits into
mainfrom
feature/online-store
Sep 5, 2026
Merged

jskampala merged 3 commits into
mainfrom
feature/online-store

Conversation

@GeoXhacker

Copy link
Copy Markdown
Collaborator

Key changes:

  • feat(store): create Next.js App Router store page at app/store/page.tsx with search, categories, FAQ, and brutalist hero banner
  • feat(store): add TypeScript definitions (types/store.ts) for products, variants, cart items, currencies, and orders
  • feat(store): create curated product catalog (data/storeProducts.ts) with custom SVG illustrations and Kampala-themed swag
  • feat(store): implement SSR-safe CartContext with localStorage persistence, UGX/USD live switching, promo discounts, and free gift tracker
  • feat(store): add ProductCard with inline size selector and stock counter
  • feat(store): add ProductDetailModal with specs, sizing, and community impact notice
  • feat(store): add slide-over CartDrawer with quantity adjustments and coupon validation
  • feat(store): add CheckoutModal with MTN MoMo, Airtel Money, Card, and Pay on Pickup options, plus Kampala Boda and meetup pickup delivery methods
  • feat(nav): update components/Layout.tsx with store navigation link, dynamic cart counter badge, and footer sitemap link
  • feat(providers): wrap application with CartProvider in components/Providers.tsx
  • deps: add canvas-confetti and @types/canvas-confetti for celebratory checkout animation

…rt drawer, and local Kampala checkout

Replicate official community merchandise store page at `/store` celebrating
JavaScript Kampala's 5th anniversary, with proceeds supporting community meetups,
student tickets, and maker grants across Uganda.

Key changes:
- feat(store): create Next.js App Router store page at `app/store/page.tsx` with search, categories, FAQ, and brutalist hero banner
- feat(store): add TypeScript definitions (`types/store.ts`) for products, variants, cart items, currencies, and orders
- feat(store): create curated product catalog (`data/storeProducts.ts`) with custom SVG illustrations and Kampala-themed swag
- feat(store): implement SSR-safe `CartContext` with localStorage persistence, UGX/USD live switching, promo discounts, and free gift tracker
- feat(store): add `ProductCard` with inline size selector and stock counter
- feat(store): add `ProductDetailModal` with specs, sizing, and community impact notice
- feat(store): add slide-over `CartDrawer` with quantity adjustments and coupon validation
- feat(store): add `CheckoutModal` with MTN MoMo, Airtel Money, Card, and Pay on Pickup options, plus Kampala Boda and meetup pickup delivery methods
- feat(nav): update `components/Layout.tsx` with store navigation link, dynamic cart counter badge, and footer sitemap link
- feat(providers): wrap application with `CartProvider` in `components/Providers.tsx`
- deps: add `canvas-confetti` and `@types/canvas-confetti` for celebratory checkout animation
@netlify

netlify Bot commented Sep 5, 2026

Copy link
Copy Markdown

Deploy Preview for jskampala ready!

Name Link
🔨 Latest commit 57476e6
🔍 Latest deploy log https://app.netlify.com/projects/jskampala/deploys/6a9bad4556fd050008d957d7
😎 Deploy Preview https://deploy-preview-18--jskampala.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.
🤖 Make changes Run an agent on this branch

To edit notification comments on pull requests, go to your Netlify project configuration.

@jskampala
jskampala merged commit 84d792a into main Sep 5, 2026
4 checks passed
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.

2 participants