Refactored i18n configuration, replacing `DEFAULT_LOCALE` with `DEFAULT_LOCALE_FALLBACK` and enhancing environment-based locale validation. Improved cookie persistence for cart and wishlist, ensuring fallback handling for unauthenticated users. Enhancements: - Added `createProjectKey` utility for consistent project key generation. - Reworked cart and wishlist composables (`useOrderOverwrite`, `useWishlistOverwrite`) to decouple product identifier and handle cookies robustly. - Centralized `DEFAULT_LOCALE` logic for better maintainability. - Refined `useOrderSync` and `useWishlistSync` for clean synchronization across auth states. - Updated SCSS in hero and header styles for alignment corrections. Breaking Changes: `DEFAULT_LOCALE` constant removed; replaced with runtime config and fallback logic. Consumers must adapt to `DEFAULT_LOCALE_FALLBACK` and `$appHelpers.DEFAULT_LOCALE`.
41 lines
935 B
TypeScript
41 lines
935 B
TypeScript
import type { ApolloClient, NormalizedCacheObject } from '@apollo/client/core';
|
|
import type { ApolloError } from '@apollo/client/errors';
|
|
|
|
declare module '#app' {
|
|
interface NuxtApp {
|
|
$appHelpers?: {
|
|
APP_DOMAIN: string;
|
|
APP_NAME: string;
|
|
APP_NAME_KEY: string;
|
|
DEFAULT_LOCALE: string;
|
|
COOKIES_LOCALE_KEY: string;
|
|
COOKIES_REFRESH_TOKEN_KEY: string;
|
|
COOKIES_ACCESS_TOKEN_KEY: string;
|
|
COOKIES_PRODUCT_VIEW_KEY: string;
|
|
COOKIES_THEME_KEY: string;
|
|
};
|
|
$apollo: {
|
|
defaultClient: ApolloClient<NormalizedCacheObject>;
|
|
};
|
|
}
|
|
|
|
interface NuxtConfig {
|
|
apollo?: {
|
|
autoImports?: boolean;
|
|
clients?: {
|
|
default?: {
|
|
httpEndpoint: string;
|
|
connectToDevTools?: boolean;
|
|
authType?: string;
|
|
authHeader?: string;
|
|
tokenStorage?: 'cookie' | 'localStorage';
|
|
tokenName?: string;
|
|
};
|
|
};
|
|
};
|
|
}
|
|
|
|
interface RuntimeNuxtHooks {
|
|
'apollo:error': (error: ApolloError) => void;
|
|
}
|
|
}
|