From 8263fc9cbbc75992442860aa5dcf42bc8b3def16 Mon Sep 17 00:00:00 2001 From: Jeremy Gabriel <63984091+jeremyagabriel@users.noreply.github.com> Date: Wed, 26 Feb 2025 20:25:25 -0800 Subject: [PATCH] chore: separate constants in /lib into separate constants files / add default storefront api version --- app/components/Document/Document.tsx | 5 ++++- app/lib/constants.ts | 25 ------------------------- app/lib/constants/collection.ts | 3 +++ app/lib/constants/index.ts | 4 ++++ app/lib/constants/navigation.ts | 3 +++ app/lib/constants/product.ts | 5 +++++ app/lib/constants/store.ts | 15 +++++++++++++++ 7 files changed, 34 insertions(+), 26 deletions(-) delete mode 100644 app/lib/constants.ts create mode 100644 app/lib/constants/collection.ts create mode 100644 app/lib/constants/index.ts create mode 100644 app/lib/constants/navigation.ts create mode 100644 app/lib/constants/product.ts create mode 100644 app/lib/constants/store.ts diff --git a/app/components/Document/Document.tsx b/app/components/Document/Document.tsx index 0a76beb..8dea4cf 100644 --- a/app/components/Document/Document.tsx +++ b/app/components/Document/Document.tsx @@ -7,6 +7,7 @@ import {PreviewProvider} from '@pack/react'; import {ContextsProvider} from '~/contexts'; import {CART_FRAGMENT} from '~/data/graphql/storefront/cart'; import {Layout} from '~/components/Layout'; +import {DEFAULT_STOREFRONT_API_VERSION} from '~/lib/constants'; import {useLocale, useRootLoaderData} from '~/hooks'; import {Favicon} from './Favicon'; @@ -66,7 +67,9 @@ export function Document({children, title}: DocumentProps) { diff --git a/app/lib/constants.ts b/app/lib/constants.ts deleted file mode 100644 index 675f898..0000000 --- a/app/lib/constants.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type {AspectRatio, I18nLocale} from './types'; - -/* Ensure updating this ratio as needed. */ -/* Required format is 'width/height' */ -export const PRODUCT_IMAGE_ASPECT_RATIO: AspectRatio = - '3/4'; /* Ensure this is equivalent to product-image-aspect-ratio in app.css */ - -export const PROMOBAR_HEIGHT_MOBILE = 48; /* Ensure this number (px) is equivalent to --promobar-height-mobile in app.css */ -export const PROMOBAR_HEIGHT_DESKTOP = 48; /* Ensure this number (px) equivalent to --promobar-height-desktop in app.css */ - -export const DEFAULT_LOCALE: I18nLocale = Object.freeze({ - label: 'United States (USD $)', - language: 'EN', - country: 'US', - currency: 'USD', - pathPrefix: '', -}); - -export const COLOR_OPTION_NAME = 'Color' as const; - -export const PRICE_FILTER_ID = 'filter.v.price' as const; - -export const LOGGED_OUT_REDIRECT_TO = '/account/login' as const; - -export const LOGGED_IN_REDIRECT_TO = '/account/orders' as const; diff --git a/app/lib/constants/collection.ts b/app/lib/constants/collection.ts new file mode 100644 index 0000000..ba1e9a9 --- /dev/null +++ b/app/lib/constants/collection.ts @@ -0,0 +1,3 @@ +export const COLOR_OPTION_NAME = 'Color' as const; + +export const PRICE_FILTER_ID = 'filter.v.price' as const; diff --git a/app/lib/constants/index.ts b/app/lib/constants/index.ts new file mode 100644 index 0000000..a49ea12 --- /dev/null +++ b/app/lib/constants/index.ts @@ -0,0 +1,4 @@ +export * from './collection'; +export * from './navigation'; +export * from './product'; +export * from './store'; diff --git a/app/lib/constants/navigation.ts b/app/lib/constants/navigation.ts new file mode 100644 index 0000000..4f40442 --- /dev/null +++ b/app/lib/constants/navigation.ts @@ -0,0 +1,3 @@ +export const PROMOBAR_HEIGHT_MOBILE = 48; /* Ensure this number (px) is equivalent to --promobar-height-mobile in app.css */ + +export const PROMOBAR_HEIGHT_DESKTOP = 48; /* Ensure this number (px) equivalent to --promobar-height-desktop in app.css */ diff --git a/app/lib/constants/product.ts b/app/lib/constants/product.ts new file mode 100644 index 0000000..7be865c --- /dev/null +++ b/app/lib/constants/product.ts @@ -0,0 +1,5 @@ +import type {AspectRatio} from '../types'; + +/* Ensure updating this ratio as needed. Required format is 'width/height' */ +export const PRODUCT_IMAGE_ASPECT_RATIO: AspectRatio = + '3/4'; /* Ensure this is equivalent to product-image-aspect-ratio in app.css */ diff --git a/app/lib/constants/store.ts b/app/lib/constants/store.ts new file mode 100644 index 0000000..d12e6cb --- /dev/null +++ b/app/lib/constants/store.ts @@ -0,0 +1,15 @@ +import type {I18nLocale} from '../types'; + +export const DEFAULT_STOREFRONT_API_VERSION = '2025-01'; + +export const DEFAULT_LOCALE: I18nLocale = Object.freeze({ + label: 'United States (USD $)', + language: 'EN', + country: 'US', + currency: 'USD', + pathPrefix: '', +}); + +export const LOGGED_OUT_REDIRECT_TO = '/account/login' as const; + +export const LOGGED_IN_REDIRECT_TO = '/account/orders' as const;