Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
dfb2b65
feat: add product-details block
michnowak Dec 23, 2025
b252fdc
fix: update @o2s/blocks.product-details dependency version to wildcard
michnowak Dec 23, 2025
e06413d
refactor: remove equipment field from product details
michnowak Dec 29, 2025
bd048d9
feat: enhance product details block
michnowak Dec 29, 2025
0564f4b
feat: ProductCarousel component
michnowak Dec 29, 2025
322e9b2
feat: enhance ProductCarousel with description and action support
michnowak Dec 29, 2025
f87ef9e
feat: add ProductGallery component with thumbnail navigation
michnowak Dec 30, 2025
987213e
refactor: simplify ProductGallery component by removing hover state m…
michnowak Dec 31, 2025
e13e9ee
refactor: enhance ProductGallery component with improved state manage…
michnowak Dec 31, 2025
78e21d7
refactor: optimize lightbox handling in ProductGallery component with…
michnowak Dec 31, 2025
cc8d423
refactor: replace Carousel with ProductGallery in ProductDetails comp…
michnowak Jan 2, 2026
8574e3c
Merge branch 'feature/productCarousel-component' into feature/product…
michnowak Jan 2, 2026
a020034
feat: add recommended offers details to productDetails block
michnowak Jan 2, 2026
f774844
chore: update product-details block dependency version to latest
michnowak Jan 2, 2026
3876059
chore: update description for product-details block
michnowak Jan 2, 2026
6e68fd1
fix: correct typo in product-details block description and update ren…
michnowak Jan 2, 2026
592d318
fix: increase z-index for action button in ProductDetails component
michnowak Jan 2, 2026
c538dfd
refactor: update ProductDetails module to use dynamic registration an…
michnowak Jan 2, 2026
7770c90
refactor: simplify Typography usage in ProductDetails component
michnowak Jan 2, 2026
0823caa
refactor: enhance ProductDetailsBlockModule by integrating CMS service
michnowak Jan 7, 2026
39fc198
refactor: remove includePopularOffers from ProductDetails component
michnowak Jan 7, 2026
f509d22
refactor: rename hasPriority to shouldPreloadGallery in ProductGallery
michnowak Jan 7, 2026
29bc6e2
refactor: replace offerNumber with sku in ProductDetails
michnowak Jan 7, 2026
9cd6b2f
refactor: enhance product description
michnowak Jan 7, 2026
b32be7b
feat: add recommended products block with API integration and fronten…
michnowak Jan 8, 2026
a106ff1
refactor: update labels structure
michnowak Jan 8, 2026
babc810
refactor: remove unused slug prop and simplify excludeProductId
michnowak Jan 8, 2026
b731728
test: add productsService injection test to RecommendedProductsService
michnowak Jan 8, 2026
089c8ad
refactor: remove limit parameter from recommended products
michnowak Jan 8, 2026
dbdc20f
refactor: change badge and specification rendering to use list elements
michnowak Jan 9, 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 @@ -33,6 +33,7 @@ yarn-error.log*
.idea
.vscode
.cursor
agent-os

# Local history
.lh
Expand Down
2 changes: 2 additions & 0 deletions apps/api-harmonization/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,10 @@
"@o2s/blocks.orders-summary": "*",
"@o2s/blocks.payments-history": "*",
"@o2s/blocks.payments-summary": "*",
"@o2s/blocks.product-details": "*",
"@o2s/blocks.product-list": "*",
"@o2s/blocks.quick-links": "*",
"@o2s/blocks.recommended-products": "*",
"@o2s/blocks.service-details": "*",
"@o2s/blocks.service-list": "*",
"@o2s/blocks.surveyjs-form": "*",
Expand Down
4 changes: 4 additions & 0 deletions apps/api-harmonization/src/app.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,10 @@ import * as OrderList from '@o2s/blocks.order-list/api-harmonization';
import * as OrdersSummary from '@o2s/blocks.orders-summary/api-harmonization';
import * as PaymentsHistory from '@o2s/blocks.payments-history/api-harmonization';
import * as PaymentsSummary from '@o2s/blocks.payments-summary/api-harmonization';
import * as ProductDetails from '@o2s/blocks.product-details/api-harmonization';
import * as ProductList from '@o2s/blocks.product-list/api-harmonization';
import * as QuickLinks from '@o2s/blocks.quick-links/api-harmonization';
import * as RecommendedProducts from '@o2s/blocks.recommended-products/api-harmonization';
import * as ServiceDetails from '@o2s/blocks.service-details/api-harmonization';
import * as ServiceList from '@o2s/blocks.service-list/api-harmonization';
import * as SurveyJsForm from '@o2s/blocks.surveyjs-form/api-harmonization';
Expand Down Expand Up @@ -140,6 +142,8 @@ export const AuthModuleBaseModule = AuthModule.Module.register(AppConfig);
ProductList.Module.register(AppConfig),
NotificationSummary.Module.register(AppConfig),
TicketSummary.Module.register(AppConfig),
ProductDetails.Module.register(AppConfig),
RecommendedProducts.Module.register(AppConfig),
// BLOCK REGISTER
],
providers: [
Expand Down
4 changes: 4 additions & 0 deletions apps/api-harmonization/src/modules/page/page.model.ts
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,10 @@ import * as OrderList from '@o2s/blocks.order-list/api-harmonization';
import * as OrdersSummary from '@o2s/blocks.orders-summary/api-harmonization';
import * as PaymentsHistory from '@o2s/blocks.payments-history/api-harmonization';
import * as PaymentsSummary from '@o2s/blocks.payments-summary/api-harmonization';
import * as ProductDetails from '@o2s/blocks.product-details/api-harmonization';
import * as ProductList from '@o2s/blocks.product-list/api-harmonization';
import * as QuickLinks from '@o2s/blocks.quick-links/api-harmonization';
import * as RecommendedProducts from '@o2s/blocks.recommended-products/api-harmonization';
import * as ServiceDetails from '@o2s/blocks.service-details/api-harmonization';
import * as ServiceList from '@o2s/blocks.service-list/api-harmonization';
import * as Surveyjs from '@o2s/blocks.surveyjs-form/api-harmonization';
Expand Down Expand Up @@ -78,6 +80,8 @@ export class PageData {

export type Blocks =
// BLOCK REGISTER
| RecommendedProducts.Model.RecommendedProductsBlock['__typename']
| ProductDetails.Model.ProductDetailsBlock['__typename']
| ProductList.Model.ProductListBlock['__typename']
| TicketSummary.Model.TicketSummaryBlock['__typename']
| NotificationSummary.Model.NotificationSummaryBlock['__typename']
Expand Down
4 changes: 3 additions & 1 deletion apps/frontend/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,10 @@
"@o2s/blocks.orders-summary": "*",
"@o2s/blocks.payments-history": "*",
"@o2s/blocks.payments-summary": "*",
"@o2s/blocks.product-details": "*",
"@o2s/blocks.product-list": "*",
"@o2s/blocks.quick-links": "*",
"@o2s/blocks.recommended-products": "*",
"@o2s/blocks.service-details": "*",
"@o2s/blocks.service-list": "*",
"@o2s/blocks.surveyjs-form": "*",
Expand Down Expand Up @@ -92,4 +94,4 @@
"@types/react": "19.2.7",
"@types/react-dom": "19.2.3"
}
}
}
6 changes: 6 additions & 0 deletions apps/frontend/src/blocks/renderBlocks.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,10 @@ import * as OrderList from '@o2s/blocks.order-list/frontend';
import * as OrdersSummary from '@o2s/blocks.orders-summary/frontend';
import * as PaymentsHistory from '@o2s/blocks.payments-history/frontend';
import * as PaymentsSummary from '@o2s/blocks.payments-summary/frontend';
import * as ProductDetails from '@o2s/blocks.product-details/frontend';
import * as ProductList from '@o2s/blocks.product-list/frontend';
import * as QuickLinks from '@o2s/blocks.quick-links/frontend';
import * as RecommendedProducts from '@o2s/blocks.recommended-products/frontend';
import * as ServiceDetails from '@o2s/blocks.service-details/frontend';
import * as ServiceList from '@o2s/blocks.service-list/frontend';
import * as SurveyJsForm from '@o2s/blocks.surveyjs-form/frontend';
Expand Down Expand Up @@ -142,6 +144,10 @@ const renderBlock = (typename: string, blockProps: BlockProps) => {
return <NotificationSummary.Renderer {...blockProps} />;
case 'TicketSummaryBlock':
return <TicketSummary.Renderer {...blockProps} />;
case 'ProductDetailsBlock':
return <ProductDetails.Renderer {...blockProps} />;
case 'RecommendedProductsBlock':
return <RecommendedProducts.Renderer {...blockProps} />;
// BLOCK REGISTER
default:
return null;
Expand Down
111 changes: 111 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

57 changes: 57 additions & 0 deletions packages/blocks/product-details/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
# compiled output
/dist
/node_modules
/build

# Logs
logs
*.log
npm-debug.log*
pnpm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*

# OS
.DS_Store

# Tests
/coverage
/.nyc_output

# IDEs and editors
/.idea
.project
.classpath
.c9/
*.launch
.settings/
*.sublime-workspace

# IDE - VSCode
.vscode/*
!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json

# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local

# temp directory
.temp
.tmp

# Runtime data
pids
*.pid
*.seed
*.pid.lock

# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json

/tsconfig.tsbuildinfo
25 changes: 25 additions & 0 deletions packages/blocks/product-details/.prettierrc.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import apiConfig from "@o2s/prettier-config/api.mjs";
import frontendConfig from "@o2s/prettier-config/frontend.mjs";

/**
* @see https://prettier.io/docs/en/configuration.html
* @type {import("prettier").Config}
*/
const config = {
overrides: [
{
files: "./src/api-harmonization/**/*",
options: apiConfig,
},
{
files: "./src/frontend/**/*",
options: frontendConfig,
},
{
files: "./src/sdk/**/*",
options: frontendConfig,
},
],
};

export default config;
18 changes: 18 additions & 0 deletions packages/blocks/product-details/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import { config as apiConfig } from '@o2s/eslint-config/api';
import { config as frontendConfig } from '@o2s/eslint-config/frontend-block';
import { defineConfig } from 'eslint/config';

export default defineConfig([
{
files: ['src/api-harmonization/**/*'],
extends: [apiConfig],
},
{
files: ['src/frontend/**/*'],
extends: [frontendConfig],
},
{
files: ['src/sdk/**/*'],
extends: [frontendConfig],
},
]);
3 changes: 3 additions & 0 deletions packages/blocks/product-details/lint-staged.config.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import { config } from '@o2s/lint-staged-config/base';

export default config;
Loading
Loading