schon/storefront/app/plugins/00.app-constants.ts
Alexandr SaVBaD Waltz c36135d78d feat(storefront): add wishlist and guest cart support with cookie persistence
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.
2026-02-28 17:39:17 +03:00

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),
},
},
};
});