Commit Graph

59 Commits

Author SHA1 Message Date
Unchained
3aaad57076 fix: Parse Saleor JSON description format to plain text
- Add parseDescription() helper to extract text from EditorJS JSON
- Update getLocalizedProduct to use parsed description
- Fix product descriptions showing raw JSON on frontend
2026-03-21 13:06:14 +02:00
Unchained
01d553bfea fix: Add error boundary to handle browser extension errors
- Create ErrorBoundary component to catch extension errors
- Ignore TronLink and other chrome-extension errors
- Prevent extension conflicts from crashing the app
2026-03-21 13:02:55 +02:00
Unchained
a47698d5ca fix(saleor): Fix remaining WooCommerce references and configuration
- Fix syntax error in Checkout.ts (extra semicolon)
- Update NewHero.tsx to use Saleor types and store
- Update page.tsx to use Saleor getProducts
- Add Saleor API domain to next.config.ts images config
2026-03-21 13:00:16 +02:00
Unchained
1b733c63d5 feat(saleor): Phase 5 - Remove WooCommerce
- Remove @woocommerce/woocommerce-rest-api dependency
- Delete src/lib/woocommerce.ts
- Delete src/stores/cartStore.ts (replaced by saleorCheckoutStore)
- Clean up package.json dependencies
- Project now fully migrated to Saleor GraphQL API
2026-03-21 12:45:56 +02:00
Unchained
d43481716d feat(saleor): Phase 4 - Checkout Flow
- Create checkout page with form validation
- Implement shipping/billing address forms
- Add Cash on Delivery (COD) payment method
- Integrate Saleor checkout completion mutation
- Add order success page with confirmation
- Handle checkout errors gracefully
- Display order summary with line items
2026-03-21 12:45:09 +02:00
Unchained
8b3389725e feat(saleor): Phase 3 - Cart Migration
- Create Saleor checkout store (Zustand + persist)
- Update CartDrawer to use Saleor checkout
- Update Header to use Saleor checkout store
- Update ProductDetail with Add to Cart functionality
- Add checkout initialization on app load
- Handle checkout line add/update/delete operations
- Add error handling and loading states
2026-03-21 12:42:41 +02:00
Unchained
5706792980 feat(saleor): Phase 2 - Product Migration
- Update ProductCard to use Saleor Product type
- Update products listing page to fetch from Saleor
- Update product detail page with Saleor integration
- Add language switching support (SR/EN)
- Add SEO metadata generation
- Implement static params generation for all product slugs
- Add availability checking based on variant quantity
2026-03-21 12:38:24 +02:00
Unchained
7b94537670 feat(saleor): Phase 1 - GraphQL Client Setup
- Add Apollo Client for Saleor GraphQL API
- Create GraphQL fragments (Product, Variant, Checkout)
- Create GraphQL queries (Products, Checkout)
- Create GraphQL mutations (Checkout operations)
- Add TypeScript types for Saleor entities
- Add product helper functions
- Install @apollo/client and graphql dependencies

Part of WordPress/WooCommerce → Saleor migration
2026-03-21 12:36:21 +02:00
Unchained
db1914d69b test: verify full auto-deploy pipeline
Some checks failed
Build and Deploy / build (push) Has been cancelled
2026-03-07 12:37:05 +02:00
Unchained
2c6889ad20 fix: revert to init container deployment with webhook auto-restart
Some checks failed
Build and Deploy / build (push) Has been cancelled
- Init containers clone and build fresh code on each pod start
- Webhook triggers kubectl rollout restart on git push
- This provides true auto-deploy without requiring Docker registry
2026-03-07 12:35:30 +02:00
Unchained
97a9fcf7d5 test: verify auto-deploy webhook triggers pod restart
Some checks failed
Build and Deploy / build (push) Has been cancelled
2026-03-07 12:33:23 +02:00
Unchained
9b0d82da30 Add Gitea Actions workflow for CI/CD
Some checks failed
Build and Deploy / build (push) Has been cancelled
2026-03-07 12:28:00 +02:00
Unchained
44e033c7ae temp: remove workflow for initial push 2026-03-07 12:27:11 +02:00
Unchained
8f3bcebbf6 feat: implement full CI/CD pipeline with GitHub Actions and Flux
Some checks failed
Build and Deploy / build (push) Has been cancelled
- Add GitHub Actions workflow to build and push Docker images to GHCR
- Add Dockerfile for multi-stage builds
- Update deployment to use GHCR images
- Add GHCR authentication secrets
- Configure Flux ImageRepository, ImagePolicy, and ImageUpdateAutomation
- Remove init container approach in favor of proper Docker builds

Auto-deploy flow:
1. Push to master triggers GitHub Actions
2. GitHub Actions builds image with commit hash tag
3. Image pushed to ghcr.io/unchainedio/manoon-headless
4. Flux ImageRepository detects new image
5. Flux ImageUpdateAutomation updates kustomization.yaml
6. Flux Kustomization applies new deployment
7. Kubernetes restarts pods with new image
2026-03-07 12:26:37 +02:00
Unchained
2c27fc65d0 Revert to init container approach
The Docker-based CI/CD approach is the industry standard but requires:
- Proper container registry (GHCR, Docker Hub) with HTTPS
- Or complex local registry setup with containerd HTTP configuration

The init container approach works reliably for now. To enable auto-deploy:
1. Flux detects git changes in 30s (via webhook)
2. Kustomization applies new config
3. Manually run: kubectl rollout restart deployment/storefront -n manoonoils

For true auto-deploy, consider:
- Setting up GHCR with proper auth
- Using GitHub Actions to build/push images
- Using Flux ImageUpdateAutomation

Or simpler: A post-deploy webhook that triggers rollout restart.
2026-03-07 11:33:07 +02:00
Unchained
8f2b214c9f deploy: use registry ClusterIP instead of DNS name 2026-03-07 11:23:23 +02:00
Unchained
c4ff39394e deploy: use local registry image 2026-03-07 11:21:24 +02:00
Unchained
c3b3e133a8 fix: yaml indentation in deployment.yaml 2026-03-07 11:10:45 +02:00
Unchained
81d74ced0c feat: migrate to standard Docker-based CI/CD deployment
- Add Dockerfile for building Next.js images
- Replace init-container deployment with standard deployment
- Add kustomization with image tag tracking
- Add deploy.sh script for CI/CD pipeline

This enables proper GitOps auto-deployment:
1. Build image with commit hash tag
2. Push to GHCR
3. Update kustomization.yaml image tag
4. Flux detects change and restarts pods
2026-03-07 11:09:59 +02:00
Unchained
467b513b67 feat: add gitRevision annotation for auto-restart on git changes 2026-03-07 11:06:15 +02:00
Unchained
c1038245e8 test: verify auto-deploy with ConfigMap trigger 2026-03-07 11:02:49 +02:00
Unchained
ee391a7b8d feat: add deployment-metadata configmap to trigger pod restarts on git changes 2026-03-07 11:01:04 +02:00
Unchained
5ce35817a1 feat: add git revision annotation to force pod restart on updates 2026-03-07 10:57:58 +02:00
Unchained
81580de2a5 test: verify flux auto-deploy webhook 2026-03-07 10:55:48 +02:00
Unchained
2129e1c115 Replace ManoonOils text logo with image logo in header and footer 2026-03-07 10:38:00 +02:00
Unchained
103309e0ff Fix broken image in StatsSection - use manoon-luksuzni-set product image 2026-03-07 07:27:15 +02:00
Unchained
2dc837b0e9 Add queryStringAuth to WooCommerce API for better authentication 2026-03-07 07:12:34 +02:00
Unchained
214547362c Remove secret from deployment - must be created manually with real credentials 2026-03-07 07:04:31 +02:00
Unchained
a1090e0e2c Fix kustomization.yaml - use deployment-nodejs.yaml 2026-03-07 06:31:35 +02:00
Unchained
72fe1d4079 Remove Docker-related files - using pure Node.js deployment 2026-03-07 06:20:00 +02:00
Unchained
e1120f617e Remove middleware temporarily to fix routing 2026-03-06 21:04:27 +02:00
Unchained
236eb628d2 Fix i18n: use localePrefix: never to serve default locale at root 2026-03-06 20:59:48 +02:00
Unchained
d88d77b082 Fix i18n routing: use shared routing config 2026-03-06 20:52:53 +02:00
Unchained
c065b5ee17 Fix probes: use /favicon.ico instead of static dir 2026-03-06 20:50:09 +02:00
Unchained
bd423dbcc6 Fix health probes - use /_next/static/ path 2026-03-06 20:40:45 +02:00
Unchained
ee8902b843 Working Node.js deployment - use npm install instead of ci 2026-03-06 20:40:08 +02:00
Unchained
ba0e789b80 Fix Node.js deployment: add debug output, increase resources for npm install 2026-03-06 20:32:14 +02:00
Unchained
d8fe9337bb Update Node.js deployment with resource limits for k3s 2026-03-06 19:34:29 +02:00
Unchained
ced136fb4d Add pure Node.js deployment without Docker 2026-03-06 19:10:56 +02:00
Unchained
cac26e73ce Add Docker-less Node.js deployment config 2026-03-06 18:56:22 +02:00
Unchained
0fab8b6d42 Restore multilingual support: / for sr, /en for en with browser detection 2026-03-06 18:51:38 +02:00
Unchained
2c8cf68e89 Refactor WooCommerce API to lazy initialization for build compatibility 2026-03-06 16:34:49 +02:00
Unchained
c45aefde6e Add error handling to sitemap.ts for build time 2026-03-06 16:34:00 +02:00
Unchained
42793da45f Remove 'en' locale from i18n routing config 2026-03-06 16:33:31 +02:00
Unchained
8aa849f4ba Add error handling for API calls during build time 2026-03-06 16:30:54 +02:00
Unchained
40b80b1ad0 Fix product page: disable static generation, use dynamic rendering 2026-03-06 16:26:44 +02:00
Unchained
7d23176b6a Remove /en routes to fix build - using sr locale only 2026-03-06 16:24:06 +02:00
Unchained
5df87cbb9d Revert to Docker image deployment 2026-03-06 16:19:41 +02:00
Unchained
0f5f009512 Update deployment to use Node.js image directly, no Docker required 2026-03-06 16:18:32 +02:00
Unchained
9cd8b19787 Redesign homepage with moumoujus-inspired layout
- Add AnnouncementBar with marquee animation
- Add NewHero with floating product card
- Add StatsSection with large stat numbers
- Add FeaturesSection with icons
- Add TestimonialsSection with cards
- Add NewsletterSection with signup form
- Update Header styling for new design
- Update globals.css with marquee animations
- Update page.tsx to use new components

All existing WooCommerce functionality preserved
2026-03-06 16:05:50 +02:00