prettier fix

This commit is contained in:
Danel Kungla
2025-09-19 17:22:36 +03:00
parent efa94b3322
commit 0c2cfe6d18
509 changed files with 17988 additions and 9920 deletions

View File

@@ -1,14 +1,17 @@
import { cache } from 'react';
import { listProductTypes, listProducts } from "@lib/data/products";
import { listRegions } from '@lib/data/regions';
import { getAnalysisElementMedusaProductIds } from '@/utils/medusa-product';
import { listProductTypes, listProducts } from '@lib/data/products';
import { listRegions } from '@lib/data/regions';
import type { StoreProduct } from '@medusajs/types';
import { loadCurrentUserAccount } from './load-user-account';
import type { AccountWithParams } from '@kit/accounts/types/accounts';
import type { AnalysisPackageWithVariant } from '@kit/shared/components/select-analysis-package';
import PersonalCode from '~/lib/utils';
import { loadCurrentUserAccount } from './load-user-account';
async function countryCodesLoader() {
const countryCodes = await listRegions().then((regions) =>
regions?.map((r) => r.countries?.map((c) => c.iso_2)).flat(),
@@ -33,24 +36,25 @@ function userSpecificVariantLoader({
throw new Error('Personal code not found');
}
const { ageRange, gender: { value: gender } } = PersonalCode.parsePersonalCode(personalCode);
const {
ageRange,
gender: { value: gender },
} = PersonalCode.parsePersonalCode(personalCode);
return ({
product,
}: {
product: StoreProduct;
}) => {
return ({ product }: { product: StoreProduct }) => {
const variants = product.variants;
if (!variants) {
return null;
}
const variant = variants.find((v) => v.options?.every((o) => [ageRange, gender].includes(o.value)));
const variant = variants.find((v) =>
v.options?.every((o) => [ageRange, gender].includes(o.value)),
);
if (!variant) {
return null;
}
return variant;
}
};
}
async function analysisPackageElementsLoader({
@@ -60,30 +64,46 @@ async function analysisPackageElementsLoader({
analysisPackagesWithVariant: AnalysisPackageWithVariant[];
countryCode: string;
}) {
const analysisElementMedusaProductIds = getAnalysisElementMedusaProductIds(analysisPackagesWithVariant);
const analysisElementMedusaProductIds = getAnalysisElementMedusaProductIds(
analysisPackagesWithVariant,
);
if (analysisElementMedusaProductIds.length === 0) {
return [];
}
const { response: { products } } = await listProducts({
const {
response: { products },
} = await listProducts({
countryCode,
queryParams: {
id: analysisElementMedusaProductIds,
limit: 100,
order: "title",
order: 'title',
},
});
const standardPackage = analysisPackagesWithVariant.find(({ isStandard }) => isStandard);
const standardPlusPackage = analysisPackagesWithVariant.find(({ isStandardPlus }) => isStandardPlus);
const premiumPackage = analysisPackagesWithVariant.find(({ isPremium }) => isPremium);
const standardPackage = analysisPackagesWithVariant.find(
({ isStandard }) => isStandard,
);
const standardPlusPackage = analysisPackagesWithVariant.find(
({ isStandardPlus }) => isStandardPlus,
);
const premiumPackage = analysisPackagesWithVariant.find(
({ isPremium }) => isPremium,
);
if (!standardPackage || !standardPlusPackage || !premiumPackage) {
return [];
}
const standardPackageAnalyses = getAnalysisElementMedusaProductIds([standardPackage]);
const standardPlusPackageAnalyses = getAnalysisElementMedusaProductIds([standardPlusPackage]);
const premiumPackageAnalyses = getAnalysisElementMedusaProductIds([premiumPackage]);
const standardPackageAnalyses = getAnalysisElementMedusaProductIds([
standardPackage,
]);
const standardPlusPackageAnalyses = getAnalysisElementMedusaProductIds([
standardPlusPackage,
]);
const premiumPackageAnalyses = getAnalysisElementMedusaProductIds([
premiumPackage,
]);
return products.map(({ id, title, description }) => ({
id,
@@ -103,18 +123,20 @@ async function analysisPackagesWithVariantLoader({
countryCode: string;
}) {
const productTypes = await loadProductTypes();
const productType = productTypes.find(({ metadata }) => metadata?.handle === 'analysis-packages');
const productType = productTypes.find(
({ metadata }) => metadata?.handle === 'analysis-packages',
);
if (!productType) {
return null;
}
const analysisPackagesResponse = await listProducts({
countryCode,
queryParams: { limit: 100, "type_id[0]": productType.id },
queryParams: { limit: 100, 'type_id[0]': productType.id },
});
const getVariant = userSpecificVariantLoader({ account });
const analysisPackagesWithVariant = analysisPackagesResponse.response.products
.reduce((acc, product) => {
const analysisPackagesWithVariant =
analysisPackagesResponse.response.products.reduce((acc, product) => {
const variant = getVariant({ product });
if (!variant) {
return acc;
@@ -124,14 +146,17 @@ async function analysisPackagesWithVariantLoader({
{
variant,
variantId: variant.id,
nrOfAnalyses: getAnalysisElementMedusaProductIds([{ ...product, variant }]).length,
nrOfAnalyses: getAnalysisElementMedusaProductIds([
{ ...product, variant },
]).length,
price: variant.calculated_price?.calculated_amount ?? 0,
title: product.title,
subtitle: product.subtitle,
description: product.description,
metadata: product.metadata,
isStandard: product.metadata?.analysisPackageTier === 'standard',
isStandardPlus: product.metadata?.analysisPackageTier === 'standard-plus',
isStandardPlus:
product.metadata?.analysisPackageTier === 'standard-plus',
isPremium: product.metadata?.analysisPackageTier === 'premium',
},
];
@@ -149,13 +174,23 @@ async function analysisPackagesLoader() {
const countryCodes = await loadCountryCodes();
const countryCode = countryCodes[0]!;
const analysisPackagesWithVariant = await analysisPackagesWithVariantLoader({ account, countryCode });
const analysisPackagesWithVariant = await analysisPackagesWithVariantLoader({
account,
countryCode,
});
if (!analysisPackagesWithVariant) {
return { analysisPackageElements: [], analysisPackages: [], countryCode };
}
const analysisPackageElements = await analysisPackageElementsLoader({ analysisPackagesWithVariant, countryCode });
const analysisPackageElements = await analysisPackageElementsLoader({
analysisPackagesWithVariant,
countryCode,
});
return { analysisPackageElements, analysisPackages: analysisPackagesWithVariant, countryCode };
return {
analysisPackageElements,
analysisPackages: analysisPackagesWithVariant,
countryCode,
};
}
export const loadAnalysisPackages = cache(analysisPackagesLoader);