Skip to content

Commit

Permalink
fix: price
Browse files Browse the repository at this point in the history
  • Loading branch information
kris-liu-smile committed Apr 23, 2023
1 parent 8980f3b commit ca25cfc
Show file tree
Hide file tree
Showing 24 changed files with 310 additions and 70 deletions.
2 changes: 1 addition & 1 deletion apps/storefront/src/hooks/dom/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import {

import {
conversionProductsList,
} from '../../pages/shoppingListDetails/shared/config'
} from '../../utils/b3Product/shared/config'

import {
B3AddToQuoteTip,
Expand Down
2 changes: 1 addition & 1 deletion apps/storefront/src/pages/pdp/PDP.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ import CreateShoppingList from '../orderDetail/components/CreateShoppingList'

import {
conversionProductsList,
} from '../shoppingListDetails/shared/config'
} from '../../utils/b3Product/shared/config'

interface PDPProps {
setOpenPage: Dispatch<SetStateAction<OpenPageState>>,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import {

import {
getQuickAddRowFields,
} from '../../shoppingListDetails/shared/config'
} from '../../../utils/b3Product/shared/config'

import {
SimpleObject,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ import {

import {
conversionProductsList,
} from '../../shoppingListDetails/shared/config'
} from '../../../utils/b3Product/shared/config'

import {
OrderShoppingList,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ import QuickOrderCard from './QuickOrderCard'

import {
conversionProductsList,
} from '../../shoppingListDetails/shared/config'
} from '../../../utils/b3Product/shared/config'

import {
B3Sping,
Expand Down
2 changes: 1 addition & 1 deletion apps/storefront/src/pages/quote/QuoteDetail.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ import {
} from './shared/config'
import {
conversionProductsList,
} from '../shoppingListDetails/shared/config'
} from '../../utils/b3Product/shared/config'
import {
QuoteTermsAndConditions,
} from './components/QuoteTermsAndConditions'
Expand Down
2 changes: 1 addition & 1 deletion apps/storefront/src/pages/quote/QuoteDraft.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ import {
getProductOptionsFields,
conversionProductsList,
ListItemProps,
} from '../shoppingListDetails/shared/config'
} from '../../utils/b3Product/shared/config'

import {
getAccountFormFields,
Expand Down
2 changes: 1 addition & 1 deletion apps/storefront/src/pages/quote/components/AddToQuote.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import {

import {
conversionProductsList,
} from '../../shoppingListDetails/shared/config'
} from '../../../utils/b3Product/shared/config'

import {
SearchProduct,
Expand Down
2 changes: 1 addition & 1 deletion apps/storefront/src/pages/quote/components/QuoteTable.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ import {

import {
getProductOptionsFields,
} from '../../shoppingListDetails/shared/config'
} from '../../../utils/b3Product/shared/config'

interface ListItem {
[key: string]: string
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ import {

import {
getProductOptionsFields,
} from '../../shoppingListDetails/shared/config'
} from '../../../utils/b3Product/shared/config'

interface QuoteTableCardProps {
item: any,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,16 +45,16 @@ import {
import {
snackbar,
getDefaultCurrencyInfo,
getNewProductsList,
} from '@/utils'

import {
conversionProductsList,
ShoppingListInfoProps,
CustomerInfoProps,
ListItemProps,
SearchProps,
ProductsProps,
} from './shared/config'
} from '../../utils/b3Product/shared/config'

import {
ShoppingListDetailsContext,
Expand Down Expand Up @@ -149,7 +149,6 @@ const ShoppingListDetails = ({
const isReadForApprove = shoppingListInfo?.status === 40 || shoppingListInfo?.status === 20

const {
currency_code: currencyCode,
token: currencyToken,
} = getDefaultCurrencyInfo()

Expand All @@ -166,53 +165,6 @@ const ShoppingListDetails = ({
})
}, [id])

const handleGetProductsById = async (listProducts: ListItemProps[]) => {
if (listProducts.length > 0) {
const productIds: number[] = []
listProducts.forEach((item) => {
const {
node,
} = item
if (!productIds.includes(node.productId)) {
productIds.push(node.productId)
}
})
const getProducts = isB2BUser ? searchB2BProducts : searchBcProducts

try {
const {
productsSearch,
} = await getProducts({
productIds,
currencyCode,
companyId: companyInfoId,
})

const newProductsSearch = conversionProductsList(productsSearch)

listProducts.forEach((item) => {
const {
node,
} = item

const productInfo = newProductsSearch.find((search: CustomFieldItems) => {
const {
id: productId,
} = search

return node.productId === productId
})

node.productsSearch = productInfo || {}
})

return listProducts
} catch (err: any) {
snackbar.error(err)
}
}
}

const getShoppingListDetails = async (params: SearchProps) => {
const getSLDetail = isB2BUser ? getB2BShoppingListDetails : getBcShoppingListDetails
const infoKey = isB2BUser ? 'shoppingList' : 'customerShoppingList'
Expand All @@ -231,7 +183,9 @@ const ShoppingListDetails = ({
},
} = shoppingListDetailInfo

const listProducts = await handleGetProductsById(edges)
const listProducts = await getNewProductsList(edges, isB2BUser, companyInfoId)

console.log(listProducts, 'listProducts')

if (isB2BUser) setCustomerInfo(shoppingListDetailInfo.customerInfo)
setShoppingListInfo(shoppingListDetailInfo)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ import {
getProductOptionsFields,
Base64,
getOptionRequestData,
} from '../shared/config'
} from '../../../utils/b3Product/shared/config'

import {
searchB2BProducts,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ import {

import {
getQuickAddRowFields,
} from '../shared/config'
} from '../../../utils/b3Product/shared/config'

import {
SimpleObject,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ import {
ProductsProps,
addlineItems,
getProductOptionsFields,
} from '../shared/config'
} from '../../../utils/b3Product/shared/config'

interface successTipOptions{
message: string,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ import {

import {
conversionProductsList,
} from '../shared/config'
} from '../../../utils/b3Product/shared/config'

interface SearchProductProps {
updateList: () => void,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ import {

import {
getProductOptionsFields,
} from '../shared/config'
} from '../../../utils/b3Product/shared/config'

interface ShoppingDetailCardProps {
item: any,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import {
import {
ProductsProps,
addlineItems,
} from '../shared/config'
} from '../../../utils/b3Product/shared/config'
import {
B3LinkTipContent,
CustomButton,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ import ShoppingDetailCard from './ShoppingDetailCard'

import {
getProductOptionsFields,
} from '../shared/config'
} from '../../../utils/b3Product/shared/config'

interface ListItem {
[key: string]: string
Expand Down
1 change: 1 addition & 0 deletions apps/storefront/src/pages/shoppingLists/ShoppingLists.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -166,6 +166,7 @@ const shoppingLists = () => {
edges, totalCount,
},
} = await getShoppingLists(newParams)

return {
edges,
totalCount,
Expand Down
126 changes: 126 additions & 0 deletions apps/storefront/src/types/products.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,3 +50,129 @@ export interface ProductVariantSkuInfo{
variantId: string,
variantSku: string,
}

interface OptionValue {
id: number;
label: string;
option_id: number;
option_display_name: string;
}

interface Variant {
variant_id: number;
product_id: number;
sku: string;
option_values: OptionValue[];
calculated_price: number;
image_url: string;
has_price_list: boolean;
bulk_prices: any[]; // not sure about the type
purchasing_disabled: boolean;
cost_price: number;
inventory_level: number;
bc_calculated_price: {
as_entered: number;
tax_inclusive: number;
tax_exclusive: number;
entered_inclusive: boolean;
};
}

interface Modifier {
id: number;
display_name: string;
type: string;
required: boolean;
config: any; // not sure about the type
option_values: any[]; // not sure about the type
}

interface Option {
option_id: number;
display_name: string;
sort_order: number;
is_required: boolean;
}

interface OptionV3 {
id: number;
product_id: number;
name: string;
display_name: string;
type: string;
sort_order: number;
option_values: OptionValue[];
}

interface ALlOptionValue {
id: number;
label: string;
sort_order: number;
value_data: {
colors?: string[];
product_id?: number;
checked_value?: boolean;
} | null;
is_default: boolean;
adjusters?: {
price: {
adjuster: string;
adjuster_value: number;
} | null;
weight: {
adjuster: string;
adjuster_value: number;
} | null;
image_url: string;
purchasing_disabled: {
status: boolean;
message: string;
};
} | null;
}

export interface AllOptionProps {
id: number;
product_id?: number;
name: string;
display_name: string;
type: string;
sort_order: number;
option_values: ALlOptionValue[];
config: {
product_list_adjusts_inventory?: boolean;
product_list_adjusts_pricing?: boolean;
product_list_shipping_calc?: string;
default_value?: string;
text_characters_limited?: boolean;
text_min_length?: number;
text_max_length?: number;
checkbox_label?: string;
checked_by_default?: boolean;
} | null;
required: boolean;
isVariantOption?: boolean;
}

export interface Product {
id: number;
name: string;
sku: string;
costPrice: string;
channelId: number[],
inventoryLevel: number;
inventoryTracking: string;
availability: string;
orderQuantityMinimum: number;
orderQuantityMaximum: number;
variants: Variant[];
currencyCode: string;
imageUrl: string;
modifiers: Modifier[];
options: Option[];
optionsV3: OptionV3[];
allOptions: AllOptionProps
productUrl: string;
quantity: number;
[key:string]: any;
}
2 changes: 1 addition & 1 deletion apps/storefront/src/utils/b3AddToShoppingList.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {

import {
conversionProductsList,
} from '../pages/shoppingListDetails/shared/config'
} from './b3Product/shared/config'

export const handleGetCurrentProductInfo = async (productId: number | string) => {
const currencies = B3SStorage.get('currencies')
Expand Down
Loading

0 comments on commit ca25cfc

Please sign in to comment.