399 lines
16 KiB
JavaScript
399 lines
16 KiB
JavaScript
import { Routes, Route, useNavigate } from "react-router-dom";
|
|
|
|
import AppPage from "./Pages/appPage/AppPage.jsx";
|
|
import CompanyForm from "./Pages/company/companyForm.jsx";
|
|
import CompanyList from "./Pages/company/companyList.jsx";
|
|
import AdminTax from "./Pages/adminTax/adminTaxForm.jsx";
|
|
import BranchForm from "./Pages/branch/branchForm.jsx";
|
|
import BranchList from "./Pages/branch/branchList.jsx";
|
|
import ApplicationForm from "./Pages/application/applicationForm.jsx";
|
|
import ApplicationList from "./Pages/application/applicationList.jsx";
|
|
import CommonMaster from "./Pages/commonMaster/CommonMaster.jsx";
|
|
import ConfigTypeForm from "./Pages/configType/configtypeForm.jsx";
|
|
import ApplicationImageForm from "./Pages/applicationImage/applicationImageForm.jsx";
|
|
import AppPriceFeatureMapping from "./Pages/appPriceFeatureMapping/appPriceFeatureMappingList.jsx";
|
|
import AppPriceFeatureMappingForm from "./Pages/appPriceFeatureMapping/appPriceFeatureMappingForm.jsx";
|
|
import AppMenu from "./Pages/appMenu/appMenuList.jsx";
|
|
import AppMenuForm from "./Pages/appMenu/appMenuForm.jsx";
|
|
import Pricing from "./Pages/pricingType/pricingTypeList.jsx";
|
|
import PricingForm from "./Pages/pricingType/pricingTypeForm.jsx";
|
|
import CarouselForm from "./Pages/carousel/carouselForm.jsx";
|
|
import FeatureList from "./Pages/feature/featureList.jsx";
|
|
import FeatureForm from "./Pages/feature/featureForm.jsx";
|
|
import UserForm from "./Pages/user/userForm.jsx";
|
|
import UserList from "./Pages/user/userList.jsx";
|
|
import LandignPageLayout from "./Pages/LandingPage/landingPageLayout.jsx";
|
|
import Home from "./Pages/homeApp/home.jsx";
|
|
import PublicSignup from "../src/Pages/PublicSignup/Signup.jsx";
|
|
import PublicHome from "../src/Pages/publichome/HomePage.jsx";
|
|
import Signin from "../src/Pages/publicsignin/Signin.jsx";
|
|
import ModuleAccess from "../src/Pages/ModuleAccess/ModuleAccess.jsx";
|
|
import Application from "./Pages/applications/application.jsx";
|
|
import UserAccount from "./Pages/userAccount/userAccount.jsx";
|
|
import MessageTemplateForm from "./Pages/MessageTemplate/MessageTemplateForm.jsx";
|
|
import MessageTemplateList from "./Pages/MessageTemplate/MessageTemplateList.jsx";
|
|
import PaymentUPIDetailsForm from "./Pages/PaymentUPIDetails/PaymentUPIDetailsForm.jsx";
|
|
import PaymentUPIDetailsList from "./Pages/PaymentUPIDetails/PaymentUPIDetailsList.jsx";
|
|
import PdfPageCommon from "./Pages/paymentpdfPage/PaymentPdfCommon.jsx";
|
|
import PricingDetails from "./Pages/pricingTypeRestaurant/Pricing.jsx";
|
|
import InvoiceDetail from "../src/Pages/InvoiceDetail/InvoiceDetail";
|
|
import PaymentPage from "../src/Pages/PaymentMobilePage/PaymentPage";
|
|
import AppTemplate from "../src/Pages/themeTemplate/AppTemplate.jsx";
|
|
import Feature1 from "./Pages/themeTemplate/TemplateComps/Features/Features1.jsx";
|
|
import OverView2 from "../src/Pages/themeTemplate/TemplateComps/OverVIews/OverView2.jsx";
|
|
import Template from "./Pages/themeTemplate/Template.jsx";
|
|
import AllTemplates from "./Pages/themeTemplate/AllTemplates.jsx";
|
|
import AllTemplatesEdit from "./Pages/themeTemplate/AllTemplateEdit.jsx";
|
|
import PdfPage from "./Pages/paymentpdfPage/paymentpdfpage.jsx";
|
|
import PdfPageDownload from "./Pages/PdfDoc/PdfDocDownload.jsx";
|
|
import CurrencyForm from "./Pages/currency/currencyForm.jsx";
|
|
import ComingSoon from "./Pages/comingSoon.jsx";
|
|
import PaymentMethod from "./Pages/ccavenueCustom/paymentMethod.jsx";
|
|
import PaymentDetail from "./Pages/ccavenueCustom/paymentDetails.jsx";
|
|
import CustomPaymentGateway from "../src/Pages/InvoiceDetail/customPaymentGateway";
|
|
import PaymentHistory from "./Pages/Payment/PaymentHistory.jsx";
|
|
import FeatureAddon from "./Pages/FeaturesPricing/FeatureAddon.jsx";
|
|
import FeatureAddonForm from "./Pages/FeaturesPricing/FeatureAddonForm.jsx";
|
|
import FeatureInvoice from "./Pages/FeaturesPricing/FeatureInvoice.jsx";
|
|
import FeaturesPricing from "./Pages/FeaturesPricing/featurespricing.jsx";
|
|
import FeaturesPricingForm from "./Pages/FeaturesPricing/FeaturePriceForm.jsx";
|
|
import FailedPaymentHistory from "./Pages/Payment/FailedPaymentHistory.jsx";
|
|
import { PaymentGatewayConfigForm } from "./Pages/paymentGatewayConfig/PaymentGatewayConfigForm.jsx";
|
|
import PaymentGatewayConfigList from "./Pages/paymentGatewayConfig/PaymentGatewayConfigList.jsx";
|
|
import PaymentDeviceConfigList from "./Pages/paymentDeviceConfig/PaymentDeviceConfigList.jsx";
|
|
import PaymentDeviceConfigForm from "./Pages/paymentDeviceConfig/PaymentDeviceConfigForm.jsx";
|
|
import DeviceAllocationlist from "./Pages/kisokDevice/DeviceAllocationList.jsx";
|
|
import DeviceAllocationform from "./Pages/kisokDevice/DeviceAllocationForm.jsx";
|
|
import DeviceInformation from "./Pages/kisokDevice/DeviceInformation.jsx";
|
|
import { useEffect } from "react";
|
|
import {
|
|
checkSession,
|
|
GenerateLogout,
|
|
} from "./features/signInPage/signInPage.js";
|
|
import { useDispatch } from "react-redux";
|
|
import { clearSession, getSession } from "./Services/others.js";
|
|
import { PostToken } from "./features/publicHome/publicHome.js";
|
|
import LoyaltysettingList from "./Pages/LoyaltySetting/LoyaltysettingList.jsx";
|
|
import LoyaltysettingsForm from "./Pages/LoyaltySetting/LoyaltysettingsForm.jsx";
|
|
import ActivationkeyGeneration from "./Pages/ActivationkeyGeneration/ActivationkeyGeneration.jsx";
|
|
import FaqShow from "./Pages/themeTemplate/TemplateComps/Faq/FaqShow.jsx";
|
|
import SignIn from "./PozoApp/Components/SignIn.jsx";
|
|
import PostEditorPage from "../src/Pages/PostEditorPage.jsx";
|
|
|
|
const subDirectory = import.meta.env.ENV_BASE_URL;
|
|
const fieldData = [
|
|
{
|
|
FieldName: "Overview2Title",
|
|
FieldValue:
|
|
"POS App For Restaurant with & without GST fastest e-bill & normal Billing + KOT and Stock Management",
|
|
FieldAddData: "",
|
|
},
|
|
{
|
|
FieldName: "Overview2SubTitle",
|
|
FieldValue:
|
|
"Restaurant POS Smart Ordering via QR Code and Send Bill Via through SMS or Whatsapp very fast within min.",
|
|
FieldAddData: "",
|
|
},
|
|
{
|
|
FieldName: "Overview2ButtonText",
|
|
FieldValue: "Get Started",
|
|
FieldAddData: "",
|
|
},
|
|
{
|
|
FieldName: "Overview2AppLinkText",
|
|
FieldValue: "Download POZO Apps From",
|
|
FieldAddData: "",
|
|
},
|
|
{
|
|
FieldName: "Overview2PlayStoreLink",
|
|
FieldValue: "http://playstore.com",
|
|
FieldAddData: "",
|
|
},
|
|
{
|
|
FieldName: "Overview2AppStoreLink",
|
|
FieldValue: "http://appstore.com",
|
|
FieldAddData: "",
|
|
},
|
|
{
|
|
FieldName: "Overview2PosLink",
|
|
FieldValue: "http://posapp.com",
|
|
FieldAddData: "",
|
|
},
|
|
{
|
|
FieldName: "Overview2BannerImage",
|
|
FieldValue:
|
|
"https://saveme.live/paypre-image-api/upload?fileId=649bfe6906bfb6b6b99227ac.png",
|
|
FieldAddData: "",
|
|
},
|
|
{
|
|
FieldName: "Overview2BannerVideo",
|
|
FieldValue:
|
|
"http://saveme.live/paypre-image-api/upload?fileId=64f083a906bfb6b6b992341b.mp4",
|
|
FieldAddData: "",
|
|
},
|
|
];
|
|
const App = () => {
|
|
const navigate = useNavigate();
|
|
const dispatch = useDispatch();
|
|
|
|
// 🔑 Global token generation for direct URL access
|
|
useEffect(() => {
|
|
const ensureToken = async () => {
|
|
const existingToken = sessionStorage.getItem("auth");
|
|
|
|
if (!existingToken) {
|
|
try {
|
|
console.log("🔑 App: Generating global auth token...");
|
|
await dispatch(
|
|
PostToken({
|
|
username: "1000000001",
|
|
password: "1234",
|
|
})
|
|
).unwrap();
|
|
console.log("✅ App: Token generated successfully");
|
|
} catch (error) {
|
|
console.error("❌ App: Token generation failed:", error);
|
|
}
|
|
}
|
|
};
|
|
|
|
ensureToken();
|
|
sessionCheckFun();
|
|
}, [navigate, dispatch]);
|
|
|
|
const sessionCheckFun = async () => {
|
|
const UserId = getSession("UserId");
|
|
const SessionId = getSession("SessionId");
|
|
const res = await dispatch(checkSession({ UserId, SessionId })).unwrap();
|
|
if (res?.data?.statusCode === 1) {
|
|
if (res?.data?.response === "False") {
|
|
clearSession();
|
|
navigate(`${subDirectory}`);
|
|
}
|
|
}
|
|
};
|
|
return (
|
|
// <>
|
|
// <Routes>
|
|
// <Route />
|
|
// </Routes>
|
|
// </>
|
|
<Routes>
|
|
<Route path={`${subDirectory}`} element={<PublicHome />} />
|
|
<Route path={`${subDirectory}development`} element={<ComingSoon />} />
|
|
<Route
|
|
path={`${subDirectory}PostEditorPage`}
|
|
element={<PostEditorPage />}
|
|
/>
|
|
<Route path={`${subDirectory}:appName`} element={<Template />} />
|
|
<Route path={`${subDirectory}industries/:appName`} element={<Template />} />
|
|
<Route path="feature1" element={<Feature1 />} />
|
|
<Route path={`${subDirectory}pdf`} element={<PdfPage />} />
|
|
<Route
|
|
path={`${subDirectory}payment-page-download`}
|
|
element={<PdfPageDownload />}
|
|
/>
|
|
<Route path={`${subDirectory}public-signup`} element={<PublicSignup />} />
|
|
<Route path={`${subDirectory}signinOld`} element={<Signin />} />
|
|
<Route path={`${subDirectory}signin`} element={<SignIn />} />
|
|
<Route path={`${subDirectory}payment-pdf`} element={<PdfPageCommon />} />
|
|
<Route
|
|
path={`${subDirectory}pricing-details`}
|
|
element={<PricingDetails />}
|
|
/>
|
|
<Route
|
|
path={`${subDirectory}invoice-detail`}
|
|
element={<InvoiceDetail />}
|
|
/>
|
|
<Route path={`${subDirectory}payment-page`} element={<PaymentPage />} />
|
|
<Route
|
|
path={`${subDirectory}overview2`}
|
|
element={<OverView2 data={fieldData} />}
|
|
/>
|
|
<Route
|
|
path={`${subDirectory}FeatureInvoice`}
|
|
element={<FeatureInvoice />}
|
|
/>
|
|
{/* <Route path={`${subDirectory}customPayment`} element={<CustomPaymentGateway/>}/> */}
|
|
<Route path={`${subDirectory}Faq`} element={<FaqShow />} />
|
|
|
|
<Route
|
|
path={`${subDirectory}landing-page`}
|
|
element={<LandignPageLayout />}
|
|
>
|
|
<Route path={"home"} element={<Home />} />
|
|
<Route path={"apps"} element={<Application />} />
|
|
<Route path={"user-account"} element={<UserAccount />} />
|
|
<Route
|
|
path={"user-account-edit"}
|
|
element={<UserAccount status="edit" />}
|
|
/>
|
|
</Route>
|
|
<Route path={`${subDirectory}setting`} element={<AppPage />}>
|
|
<Route path="themes" element={<AppTemplate />} />
|
|
<Route
|
|
path="payment-gateway-config"
|
|
element={<PaymentGatewayConfigForm />}
|
|
/>
|
|
<Route
|
|
path="payment-gateway-configlist"
|
|
element={<PaymentGatewayConfigList />}
|
|
/>
|
|
<Route path="all-templates" element={<AllTemplates />} />
|
|
<Route path="all-templates/update" element={<AllTemplatesEdit />} />
|
|
<Route path="payment-device-config">
|
|
<Route index element={<PaymentDeviceConfigList />} />
|
|
<Route
|
|
path="new"
|
|
element={<PaymentDeviceConfigForm formType={"add"} />}
|
|
/>
|
|
<Route
|
|
path="update"
|
|
element={<PaymentDeviceConfigForm formType={"edit"} />}
|
|
/>
|
|
</Route>
|
|
<Route path="company-master">
|
|
<Route index element={<CompanyList />} />
|
|
<Route path="new" element={<CompanyForm formType={"add"} />} />
|
|
<Route path="update" element={<CompanyForm formType={"edit"} />} />
|
|
</Route>
|
|
<Route path="branch-master">
|
|
<Route index element={<BranchList />} />
|
|
<Route path="new" element={<BranchForm formType={"add"} />} />
|
|
<Route path="update" element={<BranchForm formType={"edit"} />} />
|
|
</Route>
|
|
<Route path="application-master">
|
|
<Route index element={<ApplicationList />} />
|
|
<Route path="new" element={<ApplicationForm formType={"add"} />} />
|
|
<Route
|
|
path="update"
|
|
element={<ApplicationForm formType={"edit"} />}
|
|
/>
|
|
</Route>
|
|
<Route path="app-menu">
|
|
<Route index element={<AppMenu />} />
|
|
<Route path="new" element={<AppMenuForm formType={"add"} />} />
|
|
<Route path="update" element={<AppMenuForm formType={"edit"} />} />
|
|
</Route>
|
|
<Route path="feature-mapping">
|
|
<Route index element={<AppPriceFeatureMapping />} />
|
|
<Route
|
|
path="new"
|
|
element={<AppPriceFeatureMappingForm formType={"add"} />}
|
|
/>
|
|
<Route
|
|
path="update"
|
|
element={<AppPriceFeatureMappingForm formType={"edit"} />}
|
|
/>
|
|
</Route>
|
|
<Route path="device-allocation">
|
|
<Route index element={<DeviceAllocationlist />} />
|
|
<Route
|
|
path="new"
|
|
element={<DeviceAllocationform formType={"add"} />}
|
|
/>
|
|
<Route
|
|
path="edit"
|
|
element={<DeviceAllocationform formType={"edit"} />}
|
|
/>
|
|
</Route>
|
|
<Route path="device-information" element={<DeviceInformation />} />
|
|
<Route path="feat-addon">
|
|
<Route index element={<FeatureAddon />} />
|
|
</Route>
|
|
|
|
<Route path="feat-addon-form">
|
|
<Route index element={<FeatureAddonForm />} />
|
|
</Route>
|
|
<Route path="pricing">
|
|
<Route index element={<Pricing />} />
|
|
<Route path="new" element={<PricingForm formType={"add"} />} />
|
|
<Route path="update" element={<Pricing formType={"edit"} />} />
|
|
</Route>
|
|
<Route path="feature-master">
|
|
<Route index element={<FeatureList />} />
|
|
<Route path="new" element={<FeatureForm formType={"add"} />} />
|
|
<Route path="update" element={<FeatureForm formType={"edit"} />} />
|
|
</Route>
|
|
<Route path="user-master">
|
|
<Route index element={<UserList />} />
|
|
<Route path="new" element={<UserForm formType={"add"} />} />
|
|
<Route path="update" element={<UserForm formType={"edit"} />} />
|
|
</Route>
|
|
<Route path="payment">
|
|
<Route path="payment-history" element={<PaymentHistory />} />
|
|
<Route
|
|
path="failed-payment-history"
|
|
element={<FailedPaymentHistory />}
|
|
/>
|
|
</Route>
|
|
<Route path="message-template">
|
|
<Route index element={<MessageTemplateList />} />
|
|
<Route
|
|
path="new"
|
|
element={<MessageTemplateForm formType={"add"} />}
|
|
/>
|
|
<Route
|
|
path="update"
|
|
element={<MessageTemplateForm formType={"edit"} />}
|
|
/>
|
|
</Route>
|
|
<Route path="PaymentUPIDetails">
|
|
<Route index element={<PaymentUPIDetailsList />} />
|
|
<Route
|
|
path="new"
|
|
element={<PaymentUPIDetailsForm formType={"add"} />}
|
|
/>
|
|
<Route
|
|
path="update"
|
|
element={<PaymentUPIDetailsForm formType={"edit"} />}
|
|
/>
|
|
</Route>
|
|
|
|
<Route path="featurepricing">
|
|
<Route index element={<FeaturesPricing />} />
|
|
{
|
|
<Route
|
|
path="new"
|
|
element={<FeaturesPricingForm formType={"add"} />}
|
|
/>
|
|
}
|
|
<Route
|
|
path="update"
|
|
element={<FeaturesPricingForm formType={"edit"} />}
|
|
/>
|
|
</Route>
|
|
<Route path="app-access" element={<ModuleAccess />} />
|
|
<Route path="config-master" element={<CommonMaster />} />
|
|
<Route path="config-type" element={<ConfigTypeForm />} />
|
|
<Route path="admin-tax" element={<AdminTax />} />
|
|
<Route path="application-image" element={<ApplicationImageForm />} />
|
|
<Route path="carousel" element={<CarouselForm />} />
|
|
<Route path="currency" element={<CurrencyForm />} />
|
|
<Route path="payment-data" element={<CustomPaymentGateway />} />
|
|
<Route path="payment-method" element={<PaymentMethod />} />
|
|
<Route path="payment-details" element={<PaymentDetail />} />
|
|
<Route
|
|
path="activationkey-generation"
|
|
element={<ActivationkeyGeneration />}
|
|
/>
|
|
|
|
<Route path="Referral-setting">
|
|
<Route index element={<LoyaltysettingList />} />
|
|
<Route
|
|
path="new"
|
|
element={<LoyaltysettingsForm formType={"add"} />}
|
|
/>
|
|
<Route
|
|
path="update"
|
|
element={<LoyaltysettingsForm formType={"edit"} />}
|
|
/>
|
|
</Route>
|
|
</Route>
|
|
<Route path={`${subDirectory}check`} element={<div>check</div>} />
|
|
</Routes>
|
|
);
|
|
};
|
|
|
|
export default App;
|