import { localeStorageHelper } from "@/libs/helpers/locale-storage-helper"; import { storageManager } from "@/libs/storage-manager"; import { useAppStore } from "@/store/app-store/use-app-store"; export const AppFeatures = { flight: "flight", hotel: "hotel", transfer: "transfer", tour: "tour", rentACar: "rentacar", } as const; export type StrategyType = "B2C" | "Corporate" | "Otel"; export const useApp = () => { const { setAppData, data, isReady } = useAppStore(); function getAppFeatures() { return ( localeStorageHelper.get("app-features") ?? [ AppFeatures.flight, AppFeatures.hotel, AppFeatures.transfer, AppFeatures.tour, AppFeatures.rentACar, ] ); } // @DEPRECATED // function setStrategy(strategy: StrategyType) { // let strategyType: "B2B" | "B2C" | "OTEL" = "B2B"; // if (strategy === "payment-booking") { // strategyType = "B2C"; // } else if (strategy === "Otel") { // strategyType = "OTEL"; // } // cookieHelper.setStr("domain-type", strategyType); // storageManager.set("app", { // strategy, // }); // storageManager.delete("core-payment"); // storageManager.delete("core-summary"); // storageManager.delete("core-travel-planner"); // setAppStrategy(strategy); // setTimeout(() => { // window.location.reload(); // }, 100); // } function initialize() { const storagedData = storageManager.get("app"); if (storagedData) { setAppData(storagedData); } else { setAppData({ strategy: "B2C", }); } } return { strategy: data.strategy as StrategyType, features: getAppFeatures(), initialize, isReady, isB2E: data.strategy === "Corporate", isB2C: data.strategy === "B2C", isOtel: data.strategy === "Otel", }; };