import { renderToString } from "@vue/server-renderer";
import { createRouter, createMemoryHistory } from "vue-router";
import { createHead, renderHeadToString } from "@vueuse/head";
import { dangerouslySkipEscape, escapeInject } from "vike/server";
/* empty css                       */
/* empty css                       */
import { resolveComponent, useSSRContext, createApp as createApp$1, createSSRApp } from "vue";
import { createPinia } from "pinia";
import { ssrRenderComponent, ssrRenderAttrs } from "vue/server-renderer";
import { createI18n } from "vue-i18n";
/*! src/assets/main.scss [vike:pluginModuleBanner] */
/*! plugin-vue:export-helper [vike:pluginModuleBanner] */
const _export_sfc = (sfc, props) => {
  const target = sfc.__vccOpts || sfc;
  for (const [key, val] of props) {
    target[key] = val;
  }
  return target;
};
/*! src/App.vue [vike:pluginModuleBanner] */
const _sfc_main$1 = {};
function _sfc_ssrRender$1(_ctx, _push, _parent, _attrs) {
  const _component_router_view = resolveComponent("router-view");
  _push(ssrRenderComponent(_component_router_view, _attrs, null, _parent));
}
const _sfc_setup$1 = _sfc_main$1.setup;
_sfc_main$1.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("src/App.vue");
  return _sfc_setup$1 ? _sfc_setup$1(props, ctx) : void 0;
};
const App = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["ssrRender", _sfc_ssrRender$1]]);
/*! src/router/routes.js [vike:pluginModuleBanner] */
const routes = [
  {
    path: "/",
    redirect: "en"
  },
  {
    path: "/:lang(en|ar)",
    component: () => import("../chunks/chunk-DNtQBdtf.js"),
    children: [
      // {
      //   path: 'home',
      //   redirect: to => `/${to.params.lang}`
      // },
      {
        path: "",
        name: "home",
        component: () => import("../chunks/chunk-Bbwj_gsr.js"),
        meta: {
          seo: {
            title: { en: "Home", ar: "الرئيسية" },
            description: {
              en: "Welcome to ValuePlus — discover smarter value decisions.",
              ar: "مرحبًا بك في ValuePlus — اكتشف قرارات قيمة أفضل."
            }
          }
        }
      },
      {
        path: "sectors/:slug",
        name: "sectors-details",
        component: () => import("../chunks/chunk-Cxa5I9gj.js")
      },
      {
        path: "modules/:slug",
        name: "modules-details",
        component: () => import("../chunks/chunk-TRAhNsEg.js")
      },
      {
        path: "clients",
        name: "clients",
        component: () => import("../chunks/chunk-Ej14_Q_6.js"),
        meta: {
          seo: {
            title: { en: "Clients", ar: "العملاء" },
            description: {
              en: "Meet ValuePlus clients and see how we help teams achieve better outcomes.",
              ar: "تعرّف على عملاء ValuePlus وكيف ساعدناهم في تحقيق نتائج أفضل."
            }
          }
        }
      },
      {
        path: "blogs",
        name: "blogs",
        component: () => import("../chunks/chunk-D9ipzYrf.js"),
        meta: {
          seo: {
            title: { en: "Blogs", ar: "المدونات" },
            description: {
              en: "Read the latest blogs, insights, and announcements from ValuePlus.",
              ar: "اقرأ أحدث المدونات والرؤى والإعلانات من ValuePlus."
            }
          }
        }
      },
      {
        path: "blogs/:id",
        name: "blog-details",
        component: () => import("../chunks/chunk-BzalOMDx.js")
      },
      {
        path: "contact-us",
        name: "contact-us",
        component: () => import("../chunks/chunk-B-l3RF-2.js"),
        meta: {
          seo: {
            title: { en: "Contact Us", ar: "اتصل بنا" },
            description: {
              en: "Contact ValuePlus for partnerships, support, or general questions.",
              ar: "تواصل مع ValuePlus للشراكات أو الدعم أو الاستفسارات العامة."
            }
          }
        }
      },
      {
        path: "error-404",
        name: "error-404",
        component: () => import("../chunks/chunk-eUlkw_m7.js"),
        meta: {
          seo: {
            title: { en: "Page not found", ar: "الصفحة غير موجودة" },
            description: {
              en: "The page you are looking for does not exist.",
              ar: "الصفحة التي تبحث عنها غير موجودة."
            },
            robots: "noindex, follow"
          }
        }
      },
      {
        path: ":pathMatch(.*)*",
        redirect: (to) => `/${to.params.lang}/error-404`
      }
    ]
  },
  {
    path: "/:pathMatch(.*)*",
    redirect: (to) => {
      const [firstSegment] = to.path.split("/").filter(Boolean);
      const lang = ["en", "ar"].includes(firstSegment) ? firstSegment : "en";
      return `/${lang}/error-404`;
    }
  }
];
/*! src/router/index.js [vike:pluginModuleBanner] */
function createAppRouter({ history }) {
  return createRouter({
    history,
    scrollBehavior() {
      return { left: 0, top: 0 };
    },
    routes
  });
}
/*! src/i18n/i18nData.js [vike:pluginModuleBanner] */
const i18nData = {
  en: {
    "English": "العربية",
    "Home": "Home",
    "Read more": "Read more",
    "Sectors": "Sectors",
    "Modules": "Modules",
    "Clients": "Clients",
    "Contact Us": "Contact Us",
    "Blogs": "Blogs",
    "Request Offer": "Request Offer",
    "why do you need value+": "why do you need value+",
    "Certified by": "Certified by",
    "CUSTOMIZED CLOUD ERP MODULES": "CUSTOMIZED CLOUD ERP MODULES",
    "First Name": "First Name",
    "Last Name": "Last Name",
    "Full Name": "Full Name",
    "Email": "Email",
    "Business Sector": "Business Sector",
    "Company Size": "Company Size",
    "Phone": "Phone",
    "Company Name": "Company Name",
    "Country": "Country",
    "Region": "Region",
    "Message": "Message",
    "Type your message here...": "Type your message here...",
    "First Name is required": "First Name is required",
    "Last Name is required": "Last Name is required",
    "Full Name must be at least 3 characters": "Full Name must be at least 3 characters",
    "Please enter a valid email": "Please enter a valid email",
    "Business Sector is required": "Business Sector is required",
    "Company Size is required": "Company Size is required",
    "Country is required": "Country is required",
    "Region is required": "Region is required",
    "Please enter a valid phone number": "Please enter a valid phone number",
    "Company Name must be at least 3 characters": "Company Name must be at least 3 characters",
    "Message must be at least 5 characters": "Message must be at least 5 characters",
    "Send message": "Send message",
    "Join Now": "Join Now",
    "Why Choose US": "Why Choose US",
    "Our Clients": "Our Clients",
    "Partners of Success": "Partners of Success",
    "Advantages": "Advantages",
    "What our clients say": "What our clients say",
    "Improve Decision Making with Enterprise Resource Planning": "Improve Decision Making with Enterprise Resource Planning",
    "Search for articles": "Search for articles",
    "Recent Posts": "Recent Posts",
    "Explore More": "Explore More",
    "Load More": "Load More",
    "Contact US": "Contact US",
    "Any question or remarks? Just write us a message!": "Any question or remarks? Just write us a message!",
    "Select Subject?": "Select Subject?",
    "Sales": "Sales",
    "Technical support": "Technical support",
    "Partnerships": "Partnerships",
    "General Inquiry": "General Inquiry",
    "Subject is required": "Subject is required",
    "Phone Number": "Phone Number",
    "Contact Information": "Contact Information",
    "Add First Name": "Add First Name",
    "Add Last Name": "Add Last Name",
    "Add Email": "Add Email",
    "Add Phone Number": "Add Phone Number",
    "Write your message": "Write your message",
    "Send": "Send",
    "Frequently Asked Questions": "Frequently Asked Questions",
    "No data available": "No data available",
    "Price quote": "Price quote",
    "Sectors we serve": "Sectors we serve",
    "Page not found": "Page not found",
    "The page you are looking for might have been moved, deleted, or the link may be incorrect.": "The page you are looking for might have been moved, deleted, or the link may be incorrect.",
    "Back to Home": "Back to Home",
    "Explore Blogs": "Explore Blogs",
    "Need help?": "Need help?",
    "You can return to the homepage or contact our team if you need assistance finding the right page.": "You can return to the homepage or contact our team if you need assistance finding the right page."
  },
  ar: {
    "English": "English",
    "Home": "الرئيسية",
    "Read more": "قراءة المزيد",
    "Sectors": "القطاعات",
    "Modules": "البرامج",
    "Clients": "عملائنا",
    "Contact Us": "اتصل بنا",
    "Blogs": "المدونات",
    "Request Offer": "طلب عرض سعر",
    "why do you need value+": "مميزات فاليو بلس",
    "Certified by": "معتمد من",
    "CUSTOMIZED CLOUD ERP MODULES": "البرامج السحابية المخصصة",
    "First Name": "الاسم الأول",
    "Last Name": "الاسم الأخير",
    "Full Name": "الاسم بالكامل",
    "Email": "البريد الإلكتروني",
    "Business Sector": "القطاع الاقتصادي",
    "Company Size": "حجم الشركة",
    "Phone": "رقم الهاتف",
    "Company Name": "اسم الشركة",
    "Country": "الدولة",
    "Region": "المنطقة",
    "Message": "الرسالة",
    "Type your message here...": "اكتب رسالتك هنا...",
    "First Name is required": "الاسم الأول مطلوب",
    "Last Name is required": "الاسم الأخير مطلوب",
    "Full Name must be at least 3 characters": "الاسم بالكامل يجب أن يكون على الأقل 3 أحرف",
    "Please enter a valid email": "الرجاء إدخال بريد إلكتروني صحيح",
    "Business Sector is required": "القطاع الاقتصادي مطلوب",
    "Company Size is required": "حجم الشركة مطلوب",
    "Country is required": "الدولة مطلوبة",
    "Region is required": "المنطقة مطلوبة",
    "Please enter a valid phone number": "الرجاء إدخال رقم هاتف صحيح",
    "Company Name must be at least 3 characters": "اسم الشركة يجب أن يكون على الأقل 3 أحرف",
    "Message must be at least 5 characters": "الرسالة يجب أن تكون على الأقل 5 أحرف",
    "Send message": "إرسال الرسالة",
    "Join Now": "انضم الآن",
    "Why Choose US": "لماذا تختارنا",
    "Our Clients": "عملائنا",
    "Partners of Success": "شركاء النجاح",
    "Advantages": "المميزات",
    "What our clients say": "ماذا يقول عملائنا",
    "Improve Decision Making with Enterprise Resource Planning": "تحسين اتخاذ القرارات مع تخطيط موارد المؤسسات",
    "Search for articles": "البحث عن مقالات",
    "Recent Posts": "أحدث المقالات",
    "Explore More": "استكشف المزيد",
    "Load More": "تحميل المزيد",
    "Contact US": "اتصل بنا",
    "Any question or remarks? Just write us a message!": "أي سؤال أو تعليق؟ فقط اكتب لنا رسالة!",
    "Select Subject?": "اختر الموضوع؟",
    "Sales": "المبيعات",
    "Technical support": "الدعم الفني",
    "Partnerships": "الشراكات",
    "General Inquiry": "استفسار عام",
    "Subject is required": "الموضوع مطلوب",
    "Phone Number": "رقم الهاتف",
    "Contact Information": "معلومات الاتصال",
    "Add First Name": "أضف الاسم الأول",
    "Add Last Name": "أضف الاسم الأخير",
    "Add Email": "أضف البريد الإلكتروني",
    "Add Phone Number": "أضف رقم الهاتف",
    "Write your message": "اكتب رسالتك",
    "Send": "إرسال",
    "Frequently Asked Questions": "الأسئلة الشائعة",
    "No data available": "لا تتوفر بيانات",
    "Price quote": "عرض سعر",
    "Sectors we serve": "القطاعات التي نخدمها",
    "Page not found": "الصفحة غير موجودة",
    "The page you are looking for might have been moved, deleted, or the link may be incorrect.": "ربما تم نقل الصفحة التي تبحث عنها أو حذفها أو أن الرابط غير صحيح.",
    "Back to Home": "العودة إلى الرئيسية",
    "Explore Blogs": "استكشف المدونات",
    "Need help?": "هل تحتاج إلى مساعدة؟",
    "You can return to the homepage or contact our team if you need assistance finding the right page.": "يمكنك العودة إلى الصفحة الرئيسية أو التواصل مع فريقنا إذا كنت تحتاج إلى مساعدة في العثور على الصفحة المناسبة."
  }
};
/*! src/i18n/i18n.js [vike:pluginModuleBanner] */
function createI18nInstance() {
  return createI18n({
    locale: "en",
    fallbackLocale: "en",
    messages: i18nData
  });
}
/*! src/seo/seoHook.js [vike:pluginModuleBanner] */
const SITE = "https://valueerp.net";
const SUPPORTED = ["en", "ar"];
const DEFAULTS = {
  en: {
    siteName: "ValuePlus",
    titleBase: "ValuePlus",
    description: "ValuePlus helps you discover smarter value decisions across platforms.",
    dir: "ltr",
    ogLocale: "en_US"
  },
  ar: {
    siteName: "ValuePlus",
    titleBase: "ValuePlus",
    description: "ValuePlus يساعدك على اتخاذ قرارات أفضل من حيث القيمة عبر المنصات المختلفة.",
    dir: "rtl",
    ogLocale: "ar_AR"
  }
};
function getLang(to) {
  var _a;
  const lang = (_a = to.params) == null ? void 0 : _a.lang;
  return SUPPORTED.includes(lang) ? lang : "en";
}
function pickLang(value, lang) {
  if (!value) return "";
  if (typeof value === "string") return value;
  return value[lang] || value.en || "";
}
function abs(pathOrUrl) {
  if (!pathOrUrl) return SITE;
  if (pathOrUrl.startsWith("http")) return pathOrUrl;
  return `${SITE}${pathOrUrl.startsWith("/") ? "" : "/"}${pathOrUrl}`;
}
function trimTrailingSlash(url) {
  return url.endsWith("/") && url !== `${SITE}/` ? url.slice(0, -1) : url;
}
function installSeoHook(router, head) {
  let headEntry = null;
  const disposeEntry = () => {
    if (!headEntry) return;
    if (typeof headEntry === "function") headEntry();
    else if (typeof headEntry.dispose === "function") headEntry.dispose();
    headEntry = null;
  };
  const apply = (to) => {
    var _a;
    const lang = getLang(to);
    const defaults = DEFAULTS[lang] || DEFAULTS.en;
    const seo = ((_a = to.meta) == null ? void 0 : _a.seo) || {};
    const pageTitle = pickLang(seo.title, lang);
    const title = pageTitle ? `${pageTitle} | ${defaults.titleBase}` : defaults.titleBase;
    const description = pickLang(seo.description, lang) || defaults.description;
    const canonical = trimTrailingSlash(abs(router.resolve(to).fullPath));
    let hrefEn = `${SITE}/en/home`;
    let hrefAr = `${SITE}/ar/home`;
    if (to.name) {
      hrefEn = trimTrailingSlash(
        abs(router.resolve({ name: to.name, params: { ...to.params, lang: "en" }, query: to.query }).fullPath)
      );
      hrefAr = trimTrailingSlash(
        abs(router.resolve({ name: to.name, params: { ...to.params, lang: "ar" }, query: to.query }).fullPath)
      );
    }
    const ogImage = abs(seo.image || "/favicon.svg");
    const robots = seo.robots || "index, follow";
    const xDefault = hrefEn;
    disposeEntry();
    headEntry = head.push({
      htmlAttrs: { lang, dir: defaults.dir },
      title,
      link: [
        { rel: "canonical", href: canonical, key: "canonical" },
        { rel: "alternate", hreflang: "en", href: hrefEn, key: "alternate-en" },
        { rel: "alternate", hreflang: "ar", href: hrefAr, key: "alternate-ar" },
        { rel: "alternate", hreflang: "x-default", href: xDefault, key: "alternate-x-default" }
      ],
      meta: [
        { name: "robots", content: robots, key: "robots" },
        { name: "description", content: description, key: "description" },
        { itemprop: "name", content: defaults.siteName, key: "itemprop:name" },
        { itemprop: "description", content: description, key: "itemprop:description" },
        { itemprop: "image", content: ogImage, key: "itemprop:image" },
        { property: "og:url", content: canonical, key: "og:url" },
        { property: "og:type", content: "website", key: "og:type" },
        { property: "og:site_name", content: defaults.siteName, key: "og:site_name" },
        { property: "og:title", content: title, key: "og:title" },
        { property: "og:description", content: description, key: "og:description" },
        { property: "og:image", content: ogImage, key: "og:image" },
        { property: "og:locale", content: defaults.ogLocale, key: "og:locale" },
        { name: "twitter:card", content: "summary_large_image", key: "twitter:card" },
        { name: "twitter:title", content: title, key: "twitter:title" },
        { name: "twitter:description", content: description, key: "twitter:description" },
        { name: "twitter:image", content: ogImage, key: "twitter:image" }
      ]
    });
  };
  router.isReady().then(() => apply(router.currentRoute.value));
  router.afterEach((to) => apply(to));
}
/*! src/app.js [vike:pluginModuleBanner] */
function createApp({ history, isClient = false }) {
  const app = (isClient ? createApp$1 : createSSRApp)(App);
  const router = createAppRouter({ history });
  const i18n = createI18nInstance();
  const head = createHead();
  app.use(createPinia());
  app.use(router);
  app.use(i18n);
  app.use(head);
  installSeoHook(router, head);
  return { app, router, head };
}
/*! renderer/+onRenderHtml.js [vike:pluginModuleBanner] */
async function onRenderHtml(pageContext) {
  const { app, router, head } = createApp({
    history: createMemoryHistory()
  });
  await router.push(pageContext.urlOriginal);
  await router.isReady();
  const appHtml = await renderToString(app);
  const { headTags, htmlAttrs, bodyAttrs } = await renderHeadToString(head);
  const assetsHtml = pageContext.renderAssets ? pageContext.renderAssets() : "";
  return escapeInject`<!DOCTYPE html>
    <html${dangerouslySkipEscape(htmlAttrs)}>
      <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="icon" type="image/svg+xml" href="/favicon.svg">
        ${dangerouslySkipEscape(headTags)}
        ${dangerouslySkipEscape(assetsHtml)}
      </head>
      <body${dangerouslySkipEscape(bodyAttrs)}>
        <div id="app">${dangerouslySkipEscape(appHtml)}</div>
      </body>
    </html>`;
}
const import1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  onRenderHtml
}, Symbol.toStringTag, { value: "Module" }));
/*! pages/+Page.vue [vike:pluginModuleBanner] */
const _sfc_main = {};
function _sfc_ssrRender(_ctx, _push, _parent, _attrs) {
  _push(`<div${ssrRenderAttrs(_attrs)}></div>`);
}
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
  const ssrContext = useSSRContext();
  (ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/+Page.vue");
  return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const _Page = /* @__PURE__ */ _export_sfc(_sfc_main, [["ssrRender", _sfc_ssrRender]]);
const import2 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  default: _Page
}, Symbol.toStringTag, { value: "Module" }));
/*! virtual:vike:page-entry:server:/pages [vike:pluginModuleBanner] */
const configValuesSerialized = {
  ["isClientRuntimeLoaded"]: {
    type: "computed",
    definedAtData: null,
    valueSerialized: {
      type: "js-serialized",
      value: true
    }
  },
  ["onRenderHtml"]: {
    type: "standard",
    definedAtData: { "filePathToShowToUser": "/renderer/+onRenderHtml.js", "fileExportPathToShowToUser": [] },
    valueSerialized: {
      type: "plus-file",
      exportValues: import1
    }
  },
  ["Page"]: {
    type: "standard",
    definedAtData: { "filePathToShowToUser": "/pages/+Page.vue", "fileExportPathToShowToUser": [] },
    valueSerialized: {
      type: "plus-file",
      exportValues: import2
    }
  }
};
const pages = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
  __proto__: null,
  configValuesSerialized
}, Symbol.toStringTag, { value: "Module" }));
export {
  _export_sfc as _,
  configValuesSerialized,
  pages as p
};
