Enhancements: - Introduced `wishlist.vue` for displaying and managing the wishlist. - Added guest cart and wishlist handling via cookies for unauthenticated users. - Implemented synchronization logic for wishlist and cart (`useOrderSync` and `useWishlistSync`) upon user login. - Updated `cart.vue` layout with a bulk 'add all to cart' button for wishlist items. - Enhanced `post.vue` prop handling for improved type safety. Fixes: - Fixed breadcrumbs console log removal in `useBreadcrumbs.ts`. - Corrected and unified translations in `en-gb.json` for cart and wishlist descriptions. - Fixed stale routes in footer (`terms-and-condition` -> `terms-and-conditions`, etc.). Extras: - Refactored composables `useWishlistOverwrite` and `useOrderOverwrite` for cookie-based fallback. - Applied code styling improvements, organized imports, and optimized API requests in Apollo plugin.
24 lines
933 B
TypeScript
24 lines
933 B
TypeScript
import { COOKIE_KEY_TEMPLATES } from '~/constants';
|
|
|
|
export default defineNuxtPlugin(() => {
|
|
const runtimeConfig = useRuntimeConfig();
|
|
const APP_NAME = runtimeConfig.public.schonProjectName as string;
|
|
const APP_NAME_KEY = APP_NAME.toLowerCase().replace(/\s+/g, '-');
|
|
|
|
return {
|
|
provide: {
|
|
appHelpers: {
|
|
APP_DOMAIN: runtimeConfig.public.schonBaseDomain,
|
|
APP_NAME,
|
|
APP_NAME_KEY,
|
|
COOKIES_LOCALE_KEY: COOKIE_KEY_TEMPLATES.LOCALE(APP_NAME_KEY),
|
|
COOKIES_REFRESH_TOKEN_KEY: COOKIE_KEY_TEMPLATES.REFRESH_TOKEN(APP_NAME_KEY),
|
|
COOKIES_ACCESS_TOKEN_KEY: COOKIE_KEY_TEMPLATES.ACCESS_TOKEN(APP_NAME_KEY),
|
|
COOKIES_WISHLIST_KEY: COOKIE_KEY_TEMPLATES.WISHLIST_TOKEN(APP_NAME_KEY),
|
|
COOKIES_CART_KEY: COOKIE_KEY_TEMPLATES.CART_TOKEN(APP_NAME_KEY),
|
|
COOKIES_PRODUCT_VIEW_KEY: COOKIE_KEY_TEMPLATES.PRODUCT_VIEW(APP_NAME_KEY),
|
|
COOKIES_THEME_KEY: COOKIE_KEY_TEMPLATES.THEME(APP_NAME_KEY),
|
|
},
|
|
},
|
|
};
|
|
});
|