Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
301 commits
Select commit Hold shift + click to select a range
4418201
feat: enhance category navigation and UI
KaiUweCZE Oct 5, 2025
8dc4fe7
refactor(routes): rename category param to handle and prefix paths wi…
KaiUweCZE Oct 6, 2025
7dfdd70
feat(products): add product prefetching and detail hooks
KaiUweCZE Oct 6, 2025
fc95834
change folder structure and router strategy
KaiUweCZE Oct 7, 2025
a638230
init detail product page and components
KaiUweCZE Oct 7, 2025
b6f9b9b
feat(types): add extended product types and transform logic
KaiUweCZE Oct 8, 2025
b02c916
feat(data): add missing handle fields to featured products array
KaiUweCZE Oct 8, 2025
930d4dd
feat(product): split product fields and use detailed/list constants, …
KaiUweCZE Oct 8, 2025
c4dee68
feat(css): add button green triangle decoration and import global.css
KaiUweCZE Oct 8, 2025
fb9de6a
feat(variant): add selectVariant util to pick variant from URL for de…
KaiUweCZE Oct 8, 2025
92c6deb
feat(next): add, docs, and expand image qualities
KaiUweCZE Oct 9, 2025
bd51cfa
feat(tokens): add icons, reorganize imports, refine tokens
KaiUweCZE Oct 9, 2025
67864e0
feat(product-info): add product info panel with variant, detail page …
KaiUweCZE Oct 9, 2025
1d13b39
feat(products): add tax-free pricing and flexible price formatter
KaiUweCZE Oct 9, 2025
aaaca46
feat(ui): add LinkButtonWithTooltip component to wrap links in toolti…
KaiUweCZE Oct 9, 2025
74157bd
refactor(grid): add link navigation and product prefetching, adjust l…
KaiUweCZE Oct 9, 2025
69c2fb0
refactor(n1 route to /kategorie, add TopSales component, and remove r…
KaiUweCZE Oct 9, 2025
29d5f5b
feat(date): add useDate hook with formatting and addDays utilities
KaiUweCZE Oct 9, 2025
a654f97
feat(gallery): add responsive Gallery component with thumbnails and C…
KaiUweCZE Oct 9, 2025
6d1cb08
wip: debug prefetching
KaiUweCZE Oct 9, 2025
5fa6dac
add category map, include images and category fields in product
KaiUweCZE Oct 16, 2025
7b1898e
feat: add breadcrumb builders and producer parsing utils
KaiUweCZE Oct 16, 2025
acd22fb
add responsive vars and new icon utilities
KaiUweCZE Oct 16, 2025
fcee7e3
fix(layout): adjust product grid spacing and card layout
KaiUweCZE Oct 16, 2025
f88f810
feat(product-detail): add product table and sizes components
KaiUweCZE Oct 16, 2025
a0b9701
feat(product-page): add breadcrumbs, table, sizes and tabs content
KaiUweCZE Oct 16, 2025
165d55b
feat(next): upgrade Next/React, enable React Compiler and caching
KaiUweCZE Oct 16, 2025
05aef45
feat(loggers): add unified dev-only logging utilities
KaiUweCZE Oct 21, 2025
b61ae43
feat(prefetch): add prioritized, delayed page prefetching with logging
KaiUweCZE Oct 21, 2025
c78c9e9
refactor: add prefetch logging and reduce product delay
KaiUweCZE Oct 21, 2025
b911854
feat(prefetch): add root-category prefetching and async guards
KaiUweCZE Oct 21, 2025
172bc5f
chore(deps add react-query-devtools pin types
KaiUweCZE Oct 21, 2025
01f0c16
feat(provider): add React Query DevTools in development
KaiUweCZE Oct 21, 2025
42cc4f3
refactor(prefetch): prefetch all root categories on-category pages
KaiUweCZE Oct 21, 2025
2d4e33a
feat(logging): add fetch timing and cache logging for products
KaiUweCZE Oct 21, 2025
bc3bb18
feat(prefetch): simplify children prefetch & add logging
KaiUweCZE Oct 21, 2025
7a8a200
feat(grid): standardize badge props and add UI imports for controls
KaiUweCZE Oct 24, 2025
f73b5cf
chore(next): upgrade Next to 16.0.0 and tidy configs
KaiUweCZE Oct 30, 2025
c4774fb
refactor(category): remove leftover debug logging in Top Sales component
KaiUweCZE Oct 31, 2025
de31428
feat(header): rewrite default grid by flex utilities in Header.Contai…
KaiUweCZE Oct 31, 2025
8424d49
feat(n1): implement AbortSignal cancellation and root categories opti…
KaiUweCZE Oct 31, 2025
7204a32
chore(n1): update UI library imports and types
KaiUweCZE Oct 31, 2025
c3c03d4
feat(n1): add hover prefetch hook and wire aside cancel on leave
KaiUweCZE Nov 4, 2025
36d1afa
feat: fix imports, cleanup prefetch logic and add product cacheLife
KaiUweCZE Nov 4, 2025
f4c7f45
feat(prefetch): centralized prefetch timing and behavior config for
KaiUweCZE Nov 4, 2025
1c936db
prepare enhanced token system
KaiUweCZE Nov 6, 2025
5c34491
refactor(n1): remove optimization hooks due to React compiler
KaiUweCZE Nov 6, 2025
2c1ce44
refactor(n1/tokens): set typhography tokens
KaiUweCZE Nov 7, 2025
3b215d4
feat(products): add RelatedProducts component to show 4 similar items…
KaiUweCZE Nov 10, 2025
ba7bb51
refactor(n1/ui): minor changes for better design
KaiUweCZE Nov 10, 2025
a0b3122
minor refactor tokens
KaiUweCZE Nov 17, 2025
a0fd6e4
refactor(transform):Avoid duplicate product images based on file name
KaiUweCZE Nov 17, 2025
8e35066
feat(n1): add related products and skeletons
KaiUweCZE Nov 17, 2025
a81d68d
feat(auth): add auth hooks, service, and query keys; enable medusa debug
KaiUweCZE Nov 13, 2025
830ae91
feat(auth): add login form + query keys for orders/cart/customer
KaiUweCZE Nov 13, 2025
7d9f54d
feat(user): add UserDataProvider to prefetch user data and merge carts
KaiUweCZE Nov 13, 2025
cdcea11
feat(auth): add registration form and password validation
KaiUweCZE Nov 17, 2025
13e7e71
refactor(auth): DRY improvements - reusable components and utilities
KaiUweCZE Nov 17, 2025
235c5f7
refactor(auth): remove doc comments and streamline auth/token utilities
KaiUweCZE Nov 17, 2025
8810136
feat(customer): add address management and data prefetch
KaiUweCZE Nov 19, 2025
4d3be7b
feat(cart): add cart/login popovers and cart item component
KaiUweCZE Nov 13, 2025
4e24fb1
feat(cart): tidy imports, fix props/handlers, and update UI markup
KaiUweCZE Nov 13, 2025
ab9f48c
feat(cart): add debounce and hleper utilities
KaiUweCZE Nov 17, 2025
a3163a5
refactor(cart): implement optimistic updates and metadata
KaiUweCZE Nov 17, 2025
dd691df
feat(cart): implement quantity controls with inventory tracking
KaiUweCZE Nov 17, 2025
6e311d1
fix(cart): validate quantity, clamp updates, add debug click handler
KaiUweCZE Nov 18, 2025
2b98b55
feat(cart): implement cart completion and error handling
KaiUweCZE Nov 19, 2025
ba2e96f
feat(checkout): add modular checkout hooks
KaiUweCZE Nov 19, 2025
a4cf864
feat(cart): add cart/login popovers and cart item component
KaiUweCZE Nov 13, 2025
ffa7dfa
feat(orders): add orders list and detail functionality
KaiUweCZE Nov 19, 2025
f05e91a
feat(cart): implement quantity controls with inventory tracking
KaiUweCZE Nov 17, 2025
503cce9
refactor: add security headers, wrap header with provider, tidy config
KaiUweCZE Nov 20, 2025
cbfb7ab
feat(checkout): improve payment flow and debounce hook
KaiUweCZE Nov 24, 2025
9cf9c55
refactor: add CZK defaults, tax, cache times and price helpers
KaiUweCZE Nov 24, 2025
b9aa81e
feat(toast): add shipping & payment toasts and stock details
KaiUweCZE Nov 24, 2025
f8de342
feat(header): show profile link when authenticated, add auth state to…
KaiUweCZE Nov 25, 2025
c364563
feat(tokens): add surface-alpha and select/checkbox vars for light modes
KaiUweCZE Nov 25, 2025
da0f46a
feat(ucet): address list, add/edit and delete UI components
KaiUweCZE Nov 25, 2025
b620bfb
chore(tsconfig): restrict includes to src and exclude build dirs
KaiUweCZE Nov 25, 2025
ec92f14
chore: switch UI imports from @new-engine/ui to @techsio/ui-kit and u…
KaiUweCZE Nov 25, 2025
4089133
feat(n1): add token validation script
KaiUweCZE Nov 26, 2025
2595037
refactor(tokens): add light variants, spacing and layout tokens
KaiUweCZE Nov 26, 2025
de045c5
refactor(n1): use n1 token system
KaiUweCZE Nov 26, 2025
1f153b7
feat(account): introduce AccountLayout and refactor profile page
KaiUweCZE Nov 27, 2025
2dbfe09
feat(context): add AccountProvider and useAccountContext hook for tab…
KaiUweCZE Nov 27, 2025
1b08b17
feat(address-book): improve address list UI and formatting
KaiUweCZE Nov 27, 2025
8c8a21d
feat(orders): add order card components and table header
KaiUweCZE Nov 27, 2025
0c1445b
feat(cache): use userData cache for user queries and simplify order f…
KaiUweCZE Nov 27, 2025
855ec23
feat(order-detail): add order detail page
KaiUweCZE Nov 27, 2025
01453e2
feat(format): add postal, order status and phone utils
KaiUweCZE Nov 27, 2025
264b10d
refactor(account): prefetch orders, expose customer, and simplify ord…
KaiUweCZE Nov 28, 2025
1ac1587
refactor(customer): unify customer profile query key
KaiUweCZE Nov 28, 2025
1fd0c73
refactor(account): move auth flow to account layout and simplify
KaiUweCZE Nov 28, 2025
19307dd
refactor: consolidate and rename order status utilities
KaiUweCZE Nov 28, 2025
d3c2156
fix(login): invalidate customer profile on login success
KaiUweCZE Nov 29, 2025
b9c7938
feat(date): replace useDate hook with format utils for delivery date …
KaiUweCZE Nov 29, 2025
7ad3e97
feat(cart): format item price using tax-included formatter
KaiUweCZE Nov 30, 2025
d9b2216
feat(header): implement mobile menu with accordion and routing
KaiUweCZE Nov 30, 2025
99b3a3a
refactor: improve responsivity
KaiUweCZE Nov 30, 2025
e92f036
chore: remove redundant comments, rename, fix imports
KaiUweCZE Nov 30, 2025
f26288b
add mobile breadcrumb path and responsive breadcrumb layout
KaiUweCZE Dec 1, 2025
ee52fa3
fix: remove stray debug logs and unused onClick handlers to clean pro…
KaiUweCZE Dec 1, 2025
f1d4f17
feat(auth): add auth-specific toasts and show them on register/logout
KaiUweCZE Dec 1, 2025
368bb49
refactor(ucet/layout): adjust account layout spacing and responsive g…
KaiUweCZE Dec 1, 2025
c33c866
feat(header): add responsive hook to auto-close mobile menu on desktop
KaiUweCZE Dec 1, 2025
467c010
add accordion tokens, header container and new order icons
KaiUweCZE Dec 1, 2025
aff187d
adjust header layout, mobile menu SSR, and page spacing
KaiUweCZE Dec 2, 2025
e2ea202
fix(form): show validation error message by removing invisible class
KaiUweCZE Dec 2, 2025
cec21ab
add COUNTRY_OPTIONS for shipping countries and labels
KaiUweCZE Dec 3, 2025
07aa5b3
make address cards auto-height and align controls
KaiUweCZE Dec 3, 2025
7e912ca
feat(address-picker): add AddressPicker component with select UI and …
KaiUweCZE Dec 3, 2025
639b0e5
feat: add SaveAddressPanel to save or update customer address on change
KaiUweCZE Dec 3, 2025
7d46f85
feat(errors): add AddressValidationError class for address checks
KaiUweCZE Dec 3, 2025
ce41bad
wip: add address form and fields with validation and mutations
KaiUweCZE Dec 3, 2025
39e1c6c
add react-hook-form to n1 dependencies for form handling
KaiUweCZE Dec 3, 2025
3bbf098
refactor: fix address UI, use up-to-date form values and show errors …
KaiUweCZE Dec 4, 2025
48b352a
refactor(auth+addresses): format fns, sort addresses, and validate fo…
KaiUweCZE Dec 4, 2025
61269b1
fix(address-list): show validation error messages in toasts on API fa…
KaiUweCZE Dec 4, 2025
e0dad10
feat(analytics): add MetaPixel, GoogleTag and Heureka integrations
KaiUweCZE Dec 5, 2025
fcacb0b
feat(cart): add checkout shipping hook and shipping address UI
KaiUweCZE Nov 20, 2025
d46f973
refactor(pokladna): enhance pokladna sections
KaiUweCZE Nov 23, 2025
8ddabbe
feat(test-orders): remove deprecated components
KaiUweCZE Nov 24, 2025
ad73b5f
feat(address): add centralized address validation and formatting
KaiUweCZE Nov 24, 2025
26ee4c1
refactor order-summary
KaiUweCZE Nov 24, 2025
4915984
feat(orders): add order detail page and checkout review component
KaiUweCZE Nov 24, 2025
8cc4869
feat(cart): add stock validation and payment helpers
KaiUweCZE Nov 24, 2025
5342719
fix(cart): debug console.log from cart item component
KaiUweCZE Nov 24, 2025
2ebc902
feat(address): import new customer-service type and normalize union f…
KaiUweCZE Nov 25, 2025
8ac5c50
chore: switch UI imports from @new-engine/ui to @techsio/ui-kit and u…
KaiUweCZE Nov 25, 2025
d665850
fix(ui): remove redundant background utility from payment fallback el…
KaiUweCZE Nov 26, 2025
3142423
refactor(ui): refine checkout option styles and selection behavior
KaiUweCZE Nov 27, 2025
0f0cea9
fix(address-helpers): update import path for StoreCustomerAddress
KaiUweCZE Nov 27, 2025
c061490
use shared date formatter in checkout review component
KaiUweCZE Nov 28, 2025
68c1642
remove debug onClick console.log
KaiUweCZE Dec 1, 2025
3e7c687
feat(checkout): add checkout context and address form utilities
KaiUweCZE Dec 3, 2025
2e381f7
refactor(checkout): prevent form reset after address save by init flag
KaiUweCZE Dec 4, 2025
7593eb5
feat(analytics): add purchase/initiate-checkout & Heureka tracking
KaiUweCZE Dec 5, 2025
89917a3
feat(analytics): add Leadhub tracking for purchases, cart and login
KaiUweCZE Dec 8, 2025
26b0d12
docs: simplify CLAUDE.md to concise Next.js 16 guide with rules and c…
KaiUweCZE Dec 8, 2025
35f058f
feat(feed): add Medusa product XML feed endpoint for SHOPITEMs
KaiUweCZE Dec 8, 2025
58fdb52
refactor(form): replace inputs with FormField and add validation rules
KaiUweCZE Dec 8, 2025
d0cc4aa
refactor(checkout): integrate form submission, fix address save and p…
KaiUweCZE Dec 9, 2025
791a1cf
refactor(address-validation): centralize rules and tighten formats, t…
KaiUweCZE Dec 9, 2025
6a0cf3f
fix: remove debug logs and cleanup unused code in category and cart p…
KaiUweCZE Dec 9, 2025
8d23c34
refactor(analytics): add Google Ads tracking and rename item fields i…
KaiUweCZE Dec 11, 2025
78ec1e9
refactor(product): add precise stock types and compute stock value fr…
KaiUweCZE Dec 14, 2025
e4781fe
Merge remote-tracking branch 'origin/refactor/analytics-simplify' int…
KaiUweCZE Dec 15, 2025
3764a67
feat(ppl): add PPL pickup dialog and widget components for selecting
KaiUweCZE Dec 16, 2025
3f4622e
refactor(n1/analytics): implement new version of libs/analytics
KaiUweCZE Dec 16, 2025
68bc103
Merge branch 'feat/n1' of https://github.com/NMIT-WR/new-engine into …
KaiUweCZE Dec 16, 2025
75f91e5
files relocation
KaiUweCZE Dec 16, 2025
eb76677
Merge branch 'master' into feat/n1
KaiUweCZE Dec 16, 2025
161b782
fix: remove redundant break in category path builder
KaiUweCZE Dec 16, 2025
aa7827e
fix(ui): replace hardcoded ms-1 with token in Label component
BleedingDev Dec 16, 2025
7348df4
fix(n1): replace Button inside Link with LinkButton in cart
BleedingDev Dec 16, 2025
b720bd6
fix(n1): replace Button inside Link with LinkButton + fix lint issues
BleedingDev Dec 16, 2025
d809341
fix(home): remove hardcoded featuredProducts array
KaiUweCZE Dec 16, 2025
1c91e83
fix(product-page): normalize tab labels to lowercase and render upper…
KaiUweCZE Dec 16, 2025
5591770
chore: sync pnpm-lock.yaml with n1 app dependencies
BleedingDev Dec 16, 2025
3b2462c
style: apply biome formatting to frontend-demo and ui components
BleedingDev Dec 16, 2025
52d83cd
fix: remove unused variable
BleedingDev Dec 16, 2025
7a661e5
Merge pull request #211 from NMIT-WR/fix/68-button-in-link-n1
BleedingDev Dec 16, 2025
885602e
fix(category): use Next.js notFound() for invalid category routes
KaiUweCZE Dec 17, 2025
043e4a3
remove redundant code comments
KaiUweCZE Dec 17, 2025
de8a6ad
Merge master into feat/n1
KaiUweCZE Dec 17, 2025
8ee94d7
feat(n1): migrate forms to TanStack Form with reusable field components
KaiUweCZE Dec 18, 2025
1bd89e9
Merge master into n1/tanstack-form
KaiUweCZE Dec 18, 2025
9eb7333
fix(n1): ppl widget geolocation, window typing, i18n
BleedingDev Dec 18, 2025
0ce3202
ci: disable Nx Cloud in CI
BleedingDev Dec 18, 2025
8c4bb40
fix(n1): address CodeRabbit feedback
BleedingDev Dec 18, 2025
839dd87
fix(n1): show validation errors only after field blur
KaiUweCZE Dec 18, 2025
8828566
chore(n1): clean up form components
KaiUweCZE Dec 18, 2025
0464e25
mend
KaiUweCZE Dec 18, 2025
225f4e3
mend
KaiUweCZE Dec 18, 2025
6cfbcfc
mend
KaiUweCZE Dec 18, 2025
2e6555f
fix(n1): prevent isDirty staying true after address save
KaiUweCZE Dec 18, 2025
541ee61
remove barrel file
KaiUweCZE Dec 18, 2025
e09b53b
refactor(n1): reuse AddressForm component in address-list
KaiUweCZE Dec 18, 2025
52ef73b
refactor(n1): migrate login-form to TanStack Form
KaiUweCZE Dec 18, 2025
2a965e8
refactor(n1): centralize validation messages
KaiUweCZE Dec 18, 2025
22430f5
fix(n1): address PR review feedback for checkout form
KaiUweCZE Dec 18, 2025
74f11a1
refactor(n1): centralize PASSWORD_REQUIREMENTS labels
KaiUweCZE Dec 18, 2025
4efb97c
Merge origin/master into feat/n1
BleedingDev Dec 18, 2025
ed7745f
fix(n1): use checkbox atom in checkout forms
BleedingDev Dec 18, 2025
2c16ec6
Merge pull request #243 from NMIT-WR/fix/n1-build-issues
BleedingDev Dec 18, 2025
e259782
fix(n1): use Next.js loading/error for product page
BleedingDev Dec 18, 2025
c3e6143
fix(n1): use loading/error for product route
BleedingDev Dec 18, 2025
0b0b026
Adopt suspense boundaries for N1 data loading
BleedingDev Dec 19, 2025
0bbb5dd
remove unused assets
KaiUweCZE Dec 19, 2025
5702205
refactor(n1): simplify image imports with direct asset references
KaiUweCZE Dec 19, 2025
01bcdd5
fix(n1): correct PPL widget event listener and script initialization
KaiUweCZE Dec 19, 2025
93348a4
refactor(n1): clean up PPL widget components
KaiUweCZE Dec 19, 2025
b613bef
Add type-safe language detection with PPL-supported languages validation
KaiUweCZE Dec 19, 2025
b841bf6
Merge pull request #235 from NMIT-WR/schaltwerk/issue-223-nextjs-load…
BleedingDev Dec 19, 2025
b7e35b4
Merge remote-tracking branch 'origin/master' into pr-237
BleedingDev Dec 19, 2025
fa98d81
Merge origin/feat/n1 into pr-237
BleedingDev Dec 19, 2025
552b1c3
fix: address form review feedback
BleedingDev Dec 20, 2025
3662f2d
feat(n1): add PPL Parcel pickup point selection to checkout
KaiUweCZE Dec 20, 2025
5f63d98
refactor(n1): separate billing and shipping addresses in checkout
KaiUweCZE Dec 20, 2025
236cd52
refactor(n1): improve PPL checkout UX and code organization
KaiUweCZE Dec 20, 2025
fd89ac6
chore(n1): apply biome formatting
KaiUweCZE Dec 20, 2025
ce180c2
refactor(n1/pokladna)? remove unused hook
KaiUweCZE Dec 20, 2025
12f9893
fix(n1): use billingAddress instead of shippingAddress in save panel
KaiUweCZE Dec 20, 2025
7c65051
refactor(n1): add selectedOption to useCheckoutShipping, remove dupli…
KaiUweCZE Dec 20, 2025
be4e522
refactor(n1): use DEFAULT_ADDRESS spread in addressToFormData
KaiUweCZE Dec 20, 2025
dc87ccc
style(n1): format components CSS
KaiUweCZE Dec 20, 2025
876c57c
refactor(n1/pokladna): clean up type inference in page.tsx
KaiUweCZE Dec 20, 2025
221f645
refactor(n1): use async/await in PplWidget geolocation check
KaiUweCZE Dec 21, 2025
ea95268
fix(n1): allow geolocation in permissions-policy header
KaiUweCZE Dec 21, 2025
18a59af
enable allowHighAccuracy
KaiUweCZE Dec 21, 2025
fae6166
refactor(forms): enhance TextField with external error handling
KaiUweCZE Dec 22, 2025
39d0426
refactor(forms): integrate FormInput and Select errorText
KaiUweCZE Dec 23, 2025
d3ce604
refactor(checkout): inline submit button text ternary
KaiUweCZE Dec 23, 2025
4ad5ac9
refactor(forms): unify address conversion and fix types
KaiUweCZE Dec 23, 2025
bc3552e
refactor(checkout): use type inference for CheckoutForm
KaiUweCZE Dec 23, 2025
ae8b87c
fix(forms): use form components for register
BleedingDev Dec 25, 2025
c7e4695
refactor(forms): unify validation with shared factory functions
KaiUweCZE Dec 29, 2025
0ee6cff
remove obvious comments
KaiUweCZE Dec 29, 2025
2c86667
fix(addresses): centralize cleaning to fix postal code validation
KaiUweCZE Dec 30, 2025
52549bc
Merge pull request #237 from NMIT-WR/n1/tanstack-form
BleedingDev Dec 30, 2025
d3a49d8
Merge branch 'master' into feat/n1
KaiUweCZE Jan 2, 2026
151ba36
merge feat/n1 into schaltwerk
KaiUweCZE Jan 2, 2026
013faf0
remove duplicated import
KaiUweCZE Jan 3, 2026
9b64827
fix: migrate Select to compound pattern and fix TypeScript errors
KaiUweCZE Jan 3, 2026
a664f3d
fix: update emailValidator to accept undefined values
KaiUweCZE Jan 3, 2026
3212229
fix(n1): address PR review feedback for checkout components
KaiUweCZE Jan 4, 2026
f02d272
fix(n1): address PR review feedback - callback stability and data san…
KaiUweCZE Jan 4, 2026
bdae034
Merge remote-tracking branch 'origin/master' into schaltwerk/issue-21…
BleedingDev Jan 5, 2026
9f1d0eb
fix select in steps stories
KaiUweCZE Jan 6, 2026
9cc2198
Merge pull request #239 from NMIT-WR/schaltwerk/issue-219-ppl-widget-fix
BleedingDev Jan 6, 2026
fa938f2
merge master into feat/n1
KaiUweCZE Jan 15, 2026
b621a06
remove unused files and exports
KaiUweCZE Jan 15, 2026
cd9da89
chore(n1): remove unused exports and package metadata
KaiUweCZE Jan 15, 2026
8677e36
refactor: deduplicate utils based on jscpd
KaiUweCZE Jan 15, 2026
f3fef27
remove deadcode
KaiUweCZE Jan 15, 2026
1cd6cea
remove unused imports
KaiUweCZE Jan 15, 2026
af6ea91
Merge origin/master into feat/n1
BleedingDev Jan 20, 2026
18015f4
fix(n1): cleanup for PR197
BleedingDev Jan 19, 2026
cf5a3d3
fix: address review nits and ui build
BleedingDev Jan 19, 2026
8885566
chore(n1): align biome and overrides
BleedingDev Jan 19, 2026
d8e9fdf
fix: address coderabbit feedback
BleedingDev Jan 19, 2026
9dd12a6
fix(pr197): lint cleanup and storybook build fixes
BleedingDev Jan 19, 2026
d845285
Revert js-sdk pin
BleedingDev Jan 20, 2026
883a688
fix(pr197): resolve build and review issues
BleedingDev Jan 20, 2026
eac6d99
refactor(ucet): remove account-menu and simplify layout
KaiUweCZE Jan 21, 2026
19d50ef
fix(address): format postal code and phone
KaiUweCZE Jan 21, 2026
85377b7
update pnpm lock
KaiUweCZE Jan 21, 2026
7f9d90c
Merge pull request #289 from NMIT-WR/fix/pr197-cleanup
KaiUweCZE Jan 21, 2026
ee254f6
fix: biome formatting
KaiUweCZE Jan 21, 2026
573210d
chore: fix biome linter
BleedingDev Jan 21, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ test-output

# MCP configuration
.mcp.json
.schaltwerk/

# Frontend demo test pages
.next/
Expand Down
22 changes: 22 additions & 0 deletions apps/n1/.env.example
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
NEXT_PUBLIC_MEDUSA_BACKEND_URL=
NEXT_PUBLIC_MEDUSA_PUBLISHABLE_KEY=
RESEND_API_KEY=
CONTACT_EMAIL=
RESEND_FROM_EMAIL=

NEXT_PUBLIC_MEILISEARCH_URL=
NEXT_PUBLIC_MEILISEARCH_API_KEY=

# Analytics - Meta Pixel (https://business.facebook.com/events_manager)
NEXT_PUBLIC_META_PIXEL_ID=

# Analytics - Google Ads (https://ads.google.com → Nástroje → Konverze)
NEXT_PUBLIC_GOOGLE_ADS_ID=

# Analytics - Heureka (https://sluzby.heureka.cz → Měření konverzí)
NEXT_PUBLIC_HEUREKA_API_KEY=

# Analytics - Leadhub (https://app.leadhub.co → Leadhub pixel)
NEXT_PUBLIC_LEADHUB_TRACKING_ID=

NEXT_PUBLIC_SITE_URL=
14 changes: 14 additions & 0 deletions apps/n1/AGENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# N1 App

## Critical Rules

- No barrel files or re-export-only `index.ts` files. Import from source files directly.
- Why: Improves traceability, reduces circular dependency risk, and supports Nx module boundary enforcement.
- Example: `import { formatDate } from '@/utils/date/format-date'`
- Always recheck everything before reporting done:
- Lint: `pnpm exec biome check apps/n1`
- Lint (workspace): `pnpm lint:nx`
- Typecheck: `pnpm exec tsc -p apps/n1/tsconfig.json --noEmit`
- Build: `pnpm -C apps/n1 build`
- UI build: `pnpm -C libs/ui build`
- UI storybook build: `pnpm -C libs/ui build:storybook`
164 changes: 164 additions & 0 deletions apps/n1/CLAUDE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
# N1 E-commerce Application

Next.js 16 e-commerce frontend for Medusa.js v2 backend.

## CRITICAL RULES

**ALWAYS:**
- Assume dev server running on `localhost:3000` - NEVER ask to start it
- Use spacing tokens `50-950` (NEVER `sm`/`md`/`lg`)
- Use semantic color tokens (NEVER `bg-gray-100`, `text-blue-500`)
- Read `local/docs/user/*.md` before cart/auth/checkout work

**NEVER:**
- Edit `package.json` manually - use `pnpm add <pkg>`
- Use `forwardRef` or `useCallback` (React 19)
- Create `tailwind.config.js` (Tailwind v4 uses CSS)
- Use arbitrary values like `p-[20px]` or `bg-[#fff]`
- Run `biome check --write .` - always specify files explicitly

---

## Tech Stack

- **Framework:** Next.js 16 + Turbopack
- **UI:** React 19 (ref as prop), Tailwind v4, react compiler
- **State:** @tanstack/react-query v5
- **Backend:** @medusajs/js-sdk
- **Components:** @libs/ui (atomic design)

---

## Commands

```bash
pnpm dev # Dev server (assume running on :3000)
pnpm build # Production build
bunx tsc --noEmit # Type check
bunx biome check --write <files> # Lint + format (NEVER use `.`)
pnpm add <pkg> # Add dependency
pnpm add -D <pkg> # Add dev dependency
```

---

## Token Quick Reference

### Spacing (ALWAYS 50-950)

```typescript
// ✅ CORRECT
className="p-400 gap-600 m-200"

// ❌ WRONG - DOES NOT EXIST
className="p-md gap-lg m-sm"
```

| Token | Value | Use |
|-------|-------|-----|
| `200` | 8px | Tight |
| `400` | 16px | Standard |
| `600` | 24px | Section |
| `800` | 40px | Large |

### Colors (Semantic only)

```typescript
// ✅ CORRECT
className="bg-primary text-fg-primary"
className="bg-surface border-border-secondary"

// ❌ WRONG - DOES NOT EXIST
className="bg-gray-100 text-blue-500"
```

| Type | Tokens |
|------|--------|
| Brand | `primary`, `secondary`, `tertiary` |
| Status | `success`, `warning`, `danger`, `info` |
| Text | `fg-primary`, `fg-secondary`, `fg-reverse` |
| Background | `base`, `surface`, `overlay` |
| Border | `border-primary`, `border-secondary` |

@./.claude/instructions/01-tokens.md

---

## Code Patterns

### React 19

```typescript
// ✅ ref as prop (no forwardRef)
function Button({ ref, onClick }: Props) {
return <button ref={ref} onClick={onClick} />
}
```

### Imports

```typescript
// UI Library
import { Button } from '@libs/ui/atoms/button'
import { Dialog } from '@libs/ui/molecules/dialog'

// Hooks
import { useCart } from '@/hooks/use-cart'
import { useAuth } from '@/hooks/use-auth'

// Services
import { getProducts } from '@/services/product-service'
```

@./.claude/instructions/02-code-patterns.md

---

## User Data System

**REQUIRED READING before working on user features:**

| Feature | Documentation |
|---------|---------------|
| **Start here** | `local/docs/user/index.md` |
| Cart operations | `local/docs/user/cart.md` |
| Checkout flow | `local/docs/user/checkout.md` |
| Auth (login/register) | `local/docs/user/auth.md` |
| Orders | `local/docs/user/orders.md` |
| Addresses | `local/docs/user/addresses.md` |
| Cache/prefetch | `local/docs/user/provider.md` |
| Error handling | `local/docs/user/utilities.md` |

**Key hooks:** `useCart`, `useAuth`, `useOrders`, `useAddresses`, `useCheckout`

---

## File Structure

```
src/
├── app/ # Next.js app router
├── components/ # App-specific components
├── hooks/ # React Query hooks
├── services/ # Medusa SDK services
├── lib/ # Utilities, config
└── tokens/ # Design tokens CSS
```

---

## DO / DON'T

| DO | DON'T |
|----|-------|
| `p-400`, `gap-600` | `p-md`, `gap-lg` |
| `bg-primary`, `text-fg-primary` | `bg-gray-100`, `text-blue-500` |
| Read `local/docs/user/*` first | Guess user data patterns |
| `pnpm add <pkg>` | Edit package.json |
| ref as prop (React 19) | forwardRef, useCallback |

---

**Token files:** `src/tokens/_n1-*.css`
**UI Library:** `../../libs/ui/CLAUDE.md`
**Last Updated:** 2025-01-25
13 changes: 13 additions & 0 deletions apps/n1/netlify.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[build]
base = "apps/n1"
command = "pnpm build"
publish = ".next"

[build.environment]
NODE_VERSION = "22"

[[plugins]]
package = "@netlify/plugin-nextjs"

[functions]
included_files = ["!node_modules/@swc/**", "!node_modules/@rspack/**"]
6 changes: 6 additions & 0 deletions apps/n1/next-env.d.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
import "./.next/types/routes.d.ts"

// NOTE: This file should not be edited
// see https://nextjs.org/docs/app/api-reference/config/typescript for more information.
80 changes: 80 additions & 0 deletions apps/n1/next.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
import type { NextConfig } from "next"

const nextConfig: NextConfig = {
reactStrictMode: true,
transpilePackages: ["@new-engine/ui", "@techsio/analytics"],
reactCompiler: true,
cacheComponents: true,
outputFileTracingExcludes: {
"*": [
"node_modules/@swc/core-linux-x64-gnu",
"node_modules/@swc/core-linux-x64-musl",
"node_modules/@esbuild",
"node_modules/@rspack",
"node_modules/webpack",
"node_modules/rollup",
"node_modules/terser",
"node_modules/uglify-js",
"node_modules/@zag-js",
"node_modules/puppeteer",
],
},
images: {
remotePatterns: [
{
protocol: "https",
hostname: "pub-adde8a563e2c43f7b6bc296d81c86358.r2.dev",
},
],
qualities: [40, 50, 60, 75, 90],
},

cacheLife: {
product: {
stale: 3600,
revalidate: 3600,
expire: 86_400,
},
},

experimental: {
typedEnv: true,
},

// Security headers
headers() {
return [
{
source: "/:path*",
headers: [
{
key: "X-Frame-Options",
value: "DENY",
},
{
key: "X-Content-Type-Options",
value: "nosniff",
},
{
key: "Referrer-Policy",
value: "origin-when-cross-origin",
},
{
key: "Permissions-Policy",
value: "camera=(), microphone=(), geolocation=(self)",
},
...(process.env.NODE_ENV === "production"
? [
{
key: "Strict-Transport-Security",
value: "max-age=31536000; includeSubDomains",
},
]
: []),
],
},
]
},
}

export default nextConfig
42 changes: 42 additions & 0 deletions apps/n1/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"name": "n1",
"version": "0.1.0",
"private": true,
"scripts": {
"dev": "next dev --turbopack",
"build": "next build --turbopack",
"start": "next start",
"lint": "biome check",
"format": "biome format --write",
"generate:categories": "node scripts/generate-categories.mjs",
"validate:token-usage": "node scripts/validate-token-usage.mjs"
},
"dependencies": {
"@medusajs/js-sdk": "^2.10.3",
"@medusajs/types": "^2.10.3",
"@tanstack/react-form": "^1.27.4",
"@tanstack/react-query": "^5.90.2",
"@techsio/analytics": "workspace:*",
"@techsio/ui-kit": "workspace:*",
"next": "16.0.7",
"react": "19.2.0",
"react-dom": "19.2.0",
"tailwind-variants": "^3.1.1"
},
"devDependencies": {
"@biomejs/biome": "^2.3.7",
"@iconify/tailwind4": "^1.0.6",
"@tailwindcss/postcss": "^4",
"@tanstack/react-query-devtools": "^5.90.2",
"@types/node": "^20",
"@types/react": "19.2.2",
"@types/react-dom": "19.2.1",
"babel-plugin-react-compiler": "^1.0.0",
"dotenv": "^16.4.7",
"postcss": "^8.5.6",
"postcss-import": "^16.1.1",
"tailwindcss": "^4",
"tailwindcss-animate": "^1.0.7",
"typescript": "^5.9.3"
}
}
8 changes: 8 additions & 0 deletions apps/n1/postcss.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
const config = {
plugins: {
"postcss-import": {},
"@tailwindcss/postcss": {},
},
}

export default config
Loading
Loading